集群说明

host68 = 192.168.0.68
host93 = 192.168.0.93
host94 = 192.168.0.94
host95 = 192.168.0.95
#其中,host68为主节点,host93-95为从节点

准备工作(on all nodes)

主节点

sudo kubeadm  reset && sudo systemctl start kubelet
sudo kubeadm init --apiserver-advertise-address=192.168.0.68 --pod-network-cidr=10.244.0.0/16
#  --apiserver-advertise-address=192.168.0.68 指定节点间通信的网卡,单网卡情况可以省略。
# --pod-network-cidr=10.244.0.0/16 打算使用flannel网络

# 创建pod网络,选择flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml
# 根据官方参考问答检验是否创建成功,具体命令是`kubectl get pods --all-namespaces`

从节点

# 这三部主要是为了让从节点下拉google的k8s镜像
sudo kubeadm reset
sudo kubeadm init
sudo kubeadm reset

#再次保证kublet启动成功,也可以不运行,视情况而定
sudo kubeadm reset && sudo systemctl start kubelet

# --skip-preflight-checks选项主要是为了排除ip地址检查,这个好像是个bug,排除这个检查也可以成功添加从节点,故加上
sudo kubeadm join --token=81ff87.5216e73436b2308c 192.168.0.68:6443 --skip-preflight-checks

检查

[hadoop@host68 ~]$ kubectl get nodes
NAME      STATUS    AGE       VERSION
host68    Ready     5h        v1.7.2
host93    Ready     50m       v1.7.2
host94    Ready     4h        v1.7.2
host95    Ready     39m       v1.7.2

参考链接

官方安装文档