准备工作
-
关闭防火墙
sudo ufw disable
-
关闭系统swap
sudo swapoff -a
-
同时在每台机器的/etc/hosts配置如下
10.2.14.78 wangcf-k8s-m 10.2.14.79 wangcf-k8s-n1 10.2.14.80 wangcf-k8s-n2
安装docker
建议版本: docker-ce-18.0x
下载K8S 使用
$ apt-get update && apt-get install -y apt-transport-https
$ curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
$ cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
$ apt-get update
$ apt-get install -y kubelet kubeadm kubectl
初始化
sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.14.1 --pod-network-cidr=10.240.0.0/16
安装成功后执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
在安装完Master节点后,查看节点信息( kubectl get nodes
)会发现节点的状态为noready。journalctl -xeu kubelet
查看noready的原因发现network plugin is not ready: cni config uninitialized
是由于cni插件没有配置。其实这是由于还没有配置网络。
安装flannel网络配件
Pod 之间必须有一个网络来进行彼此通信
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
发现还是不好使,最后Google 使用
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
注意 运行完命令时,只是将flannel镜像pull到docker中,你还需要通过Kubectl get nodes
查看Pod的STATUS是否是Ready, flannel的启动需要几秒钟的时间
最后在使用ifconfig
看到cni 和flannel 网卡启动 他们的IP都是10.244.1.1 和
--pod-network-cidr=10.240.0.0/16
相对应即Pod网络
节点加入集群
在节点也需要安装kubelet kubeadm kubectl
加入集群
kubeadm join 172.31.161.220:6443 --token qe5v6b.wt2ik30vrqd4ugc7 --discovery-token-ca-cert-hash sha256:b014fc1f3cb71fb16e4f340c58a5e786e46559aed7074df4c9f8111261c9630c
网友评论