1. 进行一系列检查,以确定这台机器可以部署kubernetes。
2. 生成kubernetes对外提供服务所需要的各种证书可对应目录。
/etc/kubernetes/pki/*
3. 为其他组件生成访问 kube-apiserver 所需的配置文件。
ls /etc/kubernetes/
admin.conf controller-manager.conf kubelet.conf scheduler.conf
4. 为 Master 组件生成 Pod 配置文件。
ls /etc/kubernetes/manifests/*.yaml
kube-apiserver.yaml
kube-controller-manager.yaml
kube-scheduler.yaml
5. 生成 etcd 的 Pod YAML 文件。
ls /etc/kubernetes/manifests/*.yaml
kube-apiserver.yaml
kube-controller-manager.yaml
kube-scheduler.yaml
etcd.yaml
6. 一旦这些 YAML 文件出现在被 kubelet 监视的/etc/kubernetes/manifests/目录下,kubelet就会自动创建这些yaml文件定义的pod,即master组件的容器。master容器启动后,kubeadm会通过检查localhost:6443/healthz这个master组件的健康状态检查URL,等待master组件完全运行起来。
7. 为集群生成一个bootstrap token。
8. 将 ca.crt 等 Master 节点的重要信息,通过 ConfigMap的方式保存在etcd中,工后续部署node节点使用。
9. 最后一步是安装默认插件。kubernetes默认kube-proxy和DNS两个插件是必须安装的。