kubeadmin init 初始化集群的过程

这段信息是使用kubeadm init初始化Kubernetes集群时的关键流程日志,记录了从证书生成到核心组件启动的完整过程,各步骤解释如下:

1. 证书生成([certs] 阶段)

  • /etc/kubernetes/pki目录下生成集群所需的所有证书和密钥,包括:
    • 根证书(ca):集群所有证书的签发根证书。
    • apiserver证书:用于API Server对外提供服务,包含指定的DNS名称(如kubernetes.default.svc)和IP(如集群服务IP 10.10.0.1、节点IP 10.0.80.91等)。
    • apiserver-kubelet-client:API Server访问kubelet的客户端证书。
    • front-proxy相关证书:用于API Server与前端代理(如kube-proxy)的通信。
    • etcd相关证书:etcd数据库的根证书、服务端证书、节点间通信证书(peer)等,确保etcd集群安全通信。
    • sa密钥:用于ServiceAccount的签名密钥。

2. kubeconfig配置文件生成([kubeconfig] 阶段)

  • /etc/kubernetes目录下生成集群访问配置文件:
    • admin.conf:管理员(kubectl)访问集群的配置。
    • kubelet.conf:kubelet组件访问API Server的配置。
    • controller-manager.confscheduler.conf:控制器管理器、调度器组件的访问配置。
  • 这些文件包含认证信息(证书、密钥)和API Server地址,用于组件间身份验证。

3. kubelet启动配置([kubelet-start] 阶段)

  • 生成kubelet的环境变量文件(/var/lib/kubelet/kubeadm-flags.env)和配置文件(/var/lib/kubelet/config.yaml),定义kubelet的启动参数和运行规则。
  • 启动kubelet服务,作为节点上的核心组件,负责管理容器生命周期。

4. 控制平面组件部署([control-plane] 阶段)

  • /etc/kubernetes/manifests目录下创建静态Pod清单,部署控制平面核心组件:
    • kube-apiserver:集群的“入口”,提供REST API服务。
    • kube-controller-manager:运行各种控制器(如节点控制器、副本控制器)。
    • kube-scheduler:负责Pod的调度决策。
  • 同时部署etcd数据库(以静态Pod形式),存储集群所有状态数据。

5. 控制平面就绪检查([wait-control-plane] 阶段)

  • 等待kubelet启动控制平面组件(通过静态Pod清单),超时时间最长4分钟,此处75秒后所有组件就绪。

6. 集群配置存储与标记([upload-config] 等阶段)

  • 将初始化配置存储到kube-system命名空间的kubeadm-config ConfigMap中,供后续集群操作(如升级)使用。
  • 生成kubelet的集群级配置(kubelet-config-1.20 ConfigMap),统一管理节点上的kubelet配置。
  • 标记当前节点(master01)为控制平面节点,添加标签(node-role.kubernetes.io/master)和污点(NoSchedule,默认禁止普通Pod调度到控制平面)。

7. 节点加入配置([bootstrap-token] 阶段)

  • 生成临时引导令牌(gn84zk.cu95r4pj4o7mrpry),用于Worker节点加入集群时的临时认证。
  • 配置RBAC规则,允许引导令牌申请长期证书、自动批准节点证书签名请求(CSR)等。
  • 创建kube-public命名空间下的cluster-info ConfigMap,包含集群基本信息(如API Server地址、CA证书哈希),供新节点发现集群。

8. 核心插件部署([addons] 阶段)

  • 部署集群必需的插件:
    • CoreDNS:负责集群内部DNS解析,解析Service名称到集群IP。
    • kube-proxy:维护节点网络规则,实现Service的负载均衡和Pod网络通信。

总结

整个过程完成了Kubernetes集群的初始化,包括证书生成、组件部署、网络配置等核心步骤,最终得到一个包含控制平面(master01)、etcd数据库、核心插件的基础集群,可通过引导令牌添加Worker节点扩展集群。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容