Docker+k8s 技术笔记
正文
核心组件
配置存储中心->etcd服务
存储集群的元数据信息,状态信息,非关系型数据库
主控(master)节点
kube-apiserver服务
#提供api接口,所有组件通过apiserver通信
kube-controller-manager服务
#由一系列控制器组成,管理 控制器 的控制器 监控集群状态 管理中心
kube-scheduler服务
#接受调度pod到合适的运算节点 预算策略 优选策略 从预算策略中寻找优选策略pod
运算(node)节点
kube-kubelet服务
#调用对应的容器接口,期望达到某种运行状态 定时汇报当前节点状态给apiserver,以供调度使用 容器和镜像的清理工作,保证节点上的镜像不会占满磁盘空间,退出的容器不会占用太多资源 为pod提供网络
kube-proxy服务
#核心服务 不直接给pod提供网络,提供虚拟网络
#三种流量调度方式 Userspace(废弃) Iptables(濒临废弃) Ipvs(推荐) lvs一种调度器写到linux内核
#负责建立或删除包括更新调度规则
网络详解
ps:个人理解
节点网络:宿主机网络 10.4.7.0/24 10.4.7.21 10.4.7.22 每位数 都可以包含独特的意思 区分业务 地址 环境
pod网络:从宿主机nat出来 docker0 映射出来 172.7.0.0/16 172.7.21.0/24 172.7.22.0/24
service网络:连接pod网络和service网络 虚拟网络 192.168.0.0/16
三个网段的虚拟集群私有网络
etcd 奇数个 优先选取响应快 延迟低的机器
CLI客户端
kubectl
核心附件
CNI网络插件->flannel/calico
服务发现用插件->coredns
服务暴露用插件->traefik
GUI管理插件->Dashboard
服务暴露用插件->traefik