草庐IT

k8smaster

全部标签

k8s中的PV和PVC

前言容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes中的Volume抽象就很好的解决了这些问题。Pod中的容器通过Pause容器共享Volume。一、存储卷方式1.1emptyDir存储卷当Pod被分配给节点时,首先创建emptyDir卷,并且只要该Pod在该节点上运行,该卷就会存在。正如卷的名字所述,它最初是空的。Pod中的容器可以读取和写入emptyDir卷中

k8s之list-watch机制、节点调度以及亲和性

一、list-watch机制1.1list-watch介绍Kubernetes是通过List-Watch的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过kubectl根据配置文件,向APIServer发送命令,在Node节点上面建立Pod和Container。APIServer经过API调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用。这里 需要ControllerManager、Scheduler和kubelet的协助才能完成整个部署过程。在Kubernetes中,所有部署的信息都会写到etcd中保存。实际上etcd在存储部署信息的时候

k8s之list-watch机制、节点调度以及亲和性

一、list-watch机制1.1list-watch介绍Kubernetes是通过List-Watch的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过kubectl根据配置文件,向APIServer发送命令,在Node节点上面建立Pod和Container。APIServer经过API调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用。这里 需要ControllerManager、Scheduler和kubelet的协助才能完成整个部署过程。在Kubernetes中,所有部署的信息都会写到etcd中保存。实际上etcd在存储部署信息的时候

k8s对外服务之Ingress

一、Ingress理论1.1Ingress简介service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。在Kubernetes中,Pod的IP地址和service的ClusterIP仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,Kubernetes目前提供了以下几种方案:●NodePort:将service暴露在节点网络上,NodePort背后就是Kube-Proxy,Kube-Proxy是

k8s对外服务之Ingress

一、Ingress理论1.1Ingress简介service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。在Kubernetes中,Pod的IP地址和service的ClusterIP仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,Kubernetes目前提供了以下几种方案:●NodePort:将service暴露在节点网络上,NodePort背后就是Kube-Proxy,Kube-Proxy是

k8s-安全机制

一、kubernetes安全机制apiserver是k8s集群的入口,默认有两个端口:本地端口8080:用于接收HTTP请求,不对外服务,非认证或授权的HTTP请求通过该端口访问APIServer安全端口6443:用于接收认证授权的HTTPS请求,对外服务。用户通过安全端口访问k8s的apiserver需要过三关:认证、授权、准入控制Authentication认证:用于识别用户身份,方式有:SSL证书,token,用户名+密码等Authorization授权:确认是否对资源具有相关的权限AdmissionControl准入控制:判断操作是否符合集群的要求 无论kubectl客户端命令或api

k8s-安全机制

一、kubernetes安全机制apiserver是k8s集群的入口,默认有两个端口:本地端口8080:用于接收HTTP请求,不对外服务,非认证或授权的HTTP请求通过该端口访问APIServer安全端口6443:用于接收认证授权的HTTPS请求,对外服务。用户通过安全端口访问k8s的apiserver需要过三关:认证、授权、准入控制Authentication认证:用于识别用户身份,方式有:SSL证书,token,用户名+密码等Authorization授权:确认是否对资源具有相关的权限AdmissionControl准入控制:判断操作是否符合集群的要求 无论kubectl客户端命令或api

K8S 性能优化 - K8S APIServer 调优

前言K8S性能优化系列文章,本文为第二篇:KubernetesAPIServer性能优化参数最佳实践。系列文章:《K8S性能优化-OSsysctl调优》参数一览kube-apiserver推荐优化的参数如下:--default-watch-cache-size:默认值100;用于List-Watch的缓存池;建议1000或更多;--delete-collection-workers:默认值1;用于提升namesapce清理速度,有利于多租户场景;建议10;--event-ttl:默认值1h0m0s;用于控制保留events的时长;集群events较多时建议30m,以避免etcd增长过快;--m

K8S 性能优化 - K8S APIServer 调优

前言K8S性能优化系列文章,本文为第二篇:KubernetesAPIServer性能优化参数最佳实践。系列文章:《K8S性能优化-OSsysctl调优》参数一览kube-apiserver推荐优化的参数如下:--default-watch-cache-size:默认值100;用于List-Watch的缓存池;建议1000或更多;--delete-collection-workers:默认值1;用于提升namesapce清理速度,有利于多租户场景;建议10;--event-ttl:默认值1h0m0s;用于控制保留events的时长;集群events较多时建议30m,以避免etcd增长过快;--m

k8s中HPA的工作原理是什么?

HPA=HorizontalPodAutoscaler 也就是k8s中的pod自动扩缩容的管理器,那么,HPA究竟是如何工作的? 下面的内容,就为你进行详细的讲解...... 上面的这张图,是HPA工作的整个流程。 概括来说,HPA主要是“检查,更新,再次检查”,这样的一个循环的流程。 HPA基本的工作流程如下: 1、HPA会持续的监控metricsserver,收集pod资源的使用数据2、基于收集的数据,HPA计算出需要多少副本实例3、做出决定是否需要修改应用实例数4、HPA对应用控制器,发起扩缩容操作,以达到需要的副本数 HPA会持续的监控、计算、决定、修改副本数,这样的过程。