一键安装文档 juejin.cn/post/707068…
参考文档 mp.weixin.qq.com/s/ySnENeuII…
Kubernetes集群组件运行模式
独立组件模式
- 除Add-ons以外,各关键组件以二进制方式部署于节点上,并运行为守护进程
- 各Add-ons以Pod形式运行
生成一堆证书 然后配置 难度大 后来诞生了kubeadm 自动化部署
静态Pod模式
- 控制平台各组件以静态Pod对象运行于Master主机之上
- kubelet和docker以二进制部署,运行为守护进程
- kube-proxy等则以Pod形式运行
- k8s.gcr.io --> registry.k8s.io
k8s组件 以pod的形式进行部署 需要在master节点上部署kubelet 和docker 这些镜像都是从registry.k8s.io拉取
什么是静态 Pod
“静态 Pod”非常特殊,它不受 Kubernetes 系统的管控,不与 apiserver、scheduler 发生关系,所以是“静态”的。
但既然它是 Pod,也必然会“跑”在容器运行时上,也会有 YAML 文件来描述它,而唯一能够管理它的 Kubernetes 组件也就只有在每个节点上运行的 kubelet 了。“静态 Pod”的 YAML 文件默认都存放在节点的 /etc/kubernetes/manifests 目录下,它是 Kubernetes 的专用目录
Kubernetes 的 4 个核心组件 apiserver、etcd、scheduler、controller-manager 原来都以静态 Pod 的形式存在的,这也是为什么它们能够先于 Kubernetes 集群启动的原因。
如果你有一些 DaemonSet 无法满足的特殊的需求,可以考虑使用静态 Pod,编写一个 YAML 文件放到这个目录里,节点的 kubelet 会定期检查目录里的文件,发现变化就会调用容器运行时创建或者删除静态 Pod
CNCF 云原生计算基金会
landscape.cncf.io/ 会员制 孵化 沙盒 毕业阶段
landscape.cncf.io/card-mode?c…
获取ks8的方式
- 使用发行版
- 使用托管服务 公有云
- 自主部署
常用的部署软件
minikube Kubeasz Rancher Kubernetes Engine (RKE)
kubeadm介绍
Kubernetes社区提供的集群构建工具
- 负责执行构建一个最小化可用集群并将其启动等必要的基本步骤
- Kubernetes集群全生命周期管理工具,可用于实现集群的部署、升级/降级及卸载等
- kubeadm仅关心如何初始化并拉起一个集群,其职责仅限于下图中背景着色的部分
控制平面高可用
堆叠etcd
apiserver 无状态服务 controller-manager 有状态服务 需要主备模式 scheduler 有状态服务 需要主备模式 etcd 分布式强一致数据库
外接 独立etcd集群
控制平面 2个 或者3个 因为控制节点controller-manager和scheduler 是通过抢占 分布式锁完成的不是用的raft协议 etcd需要3个 使用的是raft协议