确保所有虚拟机都是启动状态
所有的虚拟机都保持启动运行的状态,接下来,完成hosts的主机绑定
# 主要是为了方便辩识机器
cat <<EOF >> /etc/hosts
10.0.0.3 kube-master
10.0.0.4 kube-node-1
10.0.0.5 kube-node-2
EOF
# 三台机器都分别执行上面的命令,保障hosts解析一致
确保无误
master 节点的初始化
在kube-master这台机器上执行 master 节点的初始化
# 仔细来分析下这条命令
# 首先初始化由kubeadm来执行
# --pod-network-cidr 这里是指定k8s网络插件设定的ip网段,怎么理解呢,就好像你购买了一台路由器,有的默认网段是192.168.1.1 ~ 254,有的是192.168.168.1 ~ 254
# 后面我们使用Flannel这个网络插件,然后现在,我们还没安装,但是,先填写网段,进行初始化后,再进行安装也不迟
# Flannel默认的 "Network": "10.244.0.0/16"
# --kubernetes-version 这里指定现在使用的版本就可以了
# --apiserver-advertise-address master节点服务器的IP地址,这个别填错了
kubeadm init --pod-network-cidr=10.244.0.0``/16` `--apiserver-advertise-address=10.0.0.3
# 这里注意,这里出错的几率非常之高,如果执行一半失败了,再重试,一定要执行reset
kubeadm reset
初始化成功后结果
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 10.0.0.3:6443 --token dyu1ju.ssfzzh9ksoqo3jgl \
--discovery-token-ca-cert-hash sha256:0ed36eccceb0bed637316ce54dbc1be08213050e87c6dd1bca3ece1b22297cf8
我们可以按照提示对.kube进行配置
# 然后通过kebectl 来管理节点
# 查看节点,目前只有master
kubectl get node
NAME STATUS ROLES AGE VERSION
kube-master NotReady master 5m1s v1.18.8