k8s启动过程

k8s组件启动顺序

  • 第一步启动etcd,因为etcd是整个集群的核心,相当于mysql。
  • 第二步启动flannel(calico),flannel需要配置etcd的地址,才可以启动。
    -etcd-endpoints=${FLANNEL_ETCD}
    
  • 第三步,启动api-server。apiserver是所有资源对象访问接口,比如启动pod删除pod等。
  • 第四步,kubelet启动,kubelet启动依赖apiserver,如果apiserver没有启动,kubelet就会报6443连接错误。
  • 其他的scheduler、proxy、controller-manager类似,出问题看报错日志即可。

k8s的启动过程分析

  • k8s的启动由kubelet开始,kubelet是k8s集群中只能跑在docker外面的服务。
  • 1、master节点:
    先启动master上的kubelet,master上的kubelet启动etcd,kube-controller, kube-scheduler, kube-apiserver这些系统服务pods( 静态 Pod(Static Pod)由特定节点上的 kubelet 守护进程直接管理的 pod),这样k8s的master就启动成功了(可以看配置文件/etc/kubernetes)
  • 2、woker节点:
    k8s的worker nodes上的kubelet会根据记录的master地址(直接ip地址,不需要网络转发),和kube-apiserver联系,kube-apiserver会让每台机器上的kube-proxy、coredns等系统组件,最后启动etcd里面记录的跟踪组件(pod容器方式),最后k8s整个集群启动成功(可以看配置文件/etc/kubernetes)
posted @ 2023-05-23 14:34  嘸杺  阅读(189)  评论(0编辑  收藏  举报