k8s集群架构和组件
Master:主控节点,调度分配、控制管理、API调用、状态存储、健康检查、认证
apiserver: 1、整个集群的入口 2、提供API 3、apiserver处理事情状态都存储到ETCD数据库 4、客户端/UI都是向apiserver发送请求
controller-manager: 1、背后工作者,一个资源对应一个控制器
scheduler: 1、调度pod分配到某个节点
etcd: 1、保存集群状态数据,比如pod,service
Node:工作节点,运行容器、容器状态监控、容器网络代理、负载均衡
kubelet: 1、在每个节点运行一个代理kubelet 2、负责管理容器的生命周期并且汇报这些状态给apiserver
kube-proxy: 1、pod网络代理,为它提供访问
k8s基本概念:
pod:
-
最小部署单元
-
一组容器的结合
-
一个pod中的容器共享网络命名空间
-
pod是短暂的
controllers:
-
deployment:无状态应用部署
-
statefulset:有状态应用部署
-
daemonset:确保所有node运行同一个pod
-
job:一次性任务
-
cronjob:定时任务
service:
-
防止pod失联
-
定义一组pod的访问策略
label:
-
标签,附加到某个资源上,用于关联对象、查询和筛选
namespaces:
-
命名空间,将对象逻辑上隔离