高可用 apiServer :https://kubernetes.io/docs/setup/independent/high-availability/

高可用 etcd: http://www.vservices.top/docs/automated/etcd

使用kubeadm 安装k8s

打印默认初始化配置文件
  1. kubeadm config print init-defaults --component-configs KubeProxyConfiguration

初始化配置文件

  1. apiVersion: kubeadm.k8s.io/v1beta1
  2. kind: InitConfiguration
  3. ---
  4. apiVersion: kubeadm.k8s.io/v1beta1
  5. clusterName: kubernetes
  6. controlPlaneEndpoint: "172.16.0.188:6443"
  7. etcd:
  8. external:
  9. endpoints:
  10. - "https://172.16.0.185:2379"
  11. - "https://172.16.0.186:2379"
  12. - "https://172.16.0.187:2379"
  13. caFile: /etc/kubernetes/pki/etcd/ca.pem
  14. certFile: /etc/kubernetes/pki/etcd/client.pem
  15. keyFile: /etc/kubernetes/pki/etcd/client-key.pem
  16. imageRepository: registry.aliyuncs.com/google_containers
  17. kind: ClusterConfiguration
  18. kubernetesVersion: v1.13.0
  19. networking:
  20. serviceSubnet: "172.25.0.0/16"
  21. podSubnet: "172.26.0.0/16"
  22. dnsDomain: "lianhang.jetair"
  23. apiServer:
  24. certSANs:
  25. - "172.16.0.185"
  26. - "172.16.0.186"
  27. - "172.16.0.187"
  28. - "172.16.0.188"
  29. - "kapi.lianhang.jetair"

拉取镜像

  1. kubeadm config images list
  2. kubeadm config images pull --config kubeadm-init.yaml

初始化

  1. kubeadm init --config kubeadmin-init.yaml

重置初始化

  1. kubeadm reset -f

多master集群加入命令

  1. scp -r /etc/kubernetes/pki root@xxx:/etc/kubernetes/ #拷贝证书文件
  2. kubeadm token create --print-join-command #获取加入集群命令并在后添加 --control-plane
  3. #如:
  4. # kubeadm join 172.16.0.183:6443 --token rnlt5o.pax7g54g6prdh5ye --discovery-token-ca-cert-hash sha256:52a0dada3a7e0fb4ae77c0b0161b4bf1446dbadde0ca7b302366d837a8184953 --control-plane
文档更新时间: 2021-04-20 17:19   作者:张尚