一、高可用的两种架构
1.堆叠(Stacked) etcd 拓扑
每个管理节点上运行,etcd、kueb-apiserver、kube-scheduler和kube-controller-manager。
2.外部 etcd 拓扑
每个管理节点运行kueb-apiserver、kube-scheduler和kube-controller-manager。etcd集群在管理节点外部。
3.官网详细说明
二、前置条件
1.官网详细说明
三、配置
1.前置条件配置
git clone https://gitee.com/iweimingliang/k8s-node-init.git cd k8s-node-init # 管理节点 bash k8s_node_init.sh 192.168.1.2 master # 工作节点 bash k8s_node_init.sh 192.168.1.2 work
2.创建集群
kubeadm init --image-repository registry.aliyuncs.com/google_containers --control-plane-endpoint k8s.tok.fit --upload-certs --pod-network-cidr 10.244.0.0/16
3.配置网络模型
下载flannel.yml文件
文件地址:https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml
安装 Pod 网络后,使用 kubectl get pods --all-namespaces
在输出中检查 CoreDNS Pod 是否 Running
来确认其是否正常运行。 一旦 CoreDNS Pod 启用并运行,你就可以继续加入节点。
4.添加节点
4.1 添加管理节点
在管理节点执行
kubeadm join k8s.tok.fit:6443 --token ynj8r9.g9xmmbihz6pp0djc --discovery-token-ca-cert-hash sha256:9c5f00b89a20dc3de2d81ad905a8fdb9776f7699ee9b6a05c7cb82d05af63cc6 --control-plane --certificate-key 985cc3c10f81bcdeb0787e7f61ad10371e775a765352ccee6f2fa7b5f396b115
4.2 添加工作节点
在工作节点执行
kubeadm join k8s.tok.fit:6443 --token 234t6m.tuj9andbqfiy6mow --discovery-token-ca-cert-hash sha256:9c5f00b89a20dc3de2d81ad905a8fdb9776f7699ee9b6a05c7cb82d05af63cc6
5.查看集群
kubectl describe node