安装 kubeadm | Kubernetes集群的部署
在kubernetes的官网
在server2,3,4的/etc/sysctl.d/k8s.conf写入 ####调整内核参数
sysctl --system ####重新加载内核
在server2,3,4的/etc/docker/daemon.json中写入
{
"registry-mirrors": ["https://reg.westos.org"], ###该地址为server1docker仓库的地址(解析)
"exec-opts": ["native.cgroupdriver=systemd"],
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
在server2,3,4上
swapoff -a ####关闭swap分区,如果不关闭swap虚拟内存,pod可能会在swap上运行,大大降低工作效率。
注释/etc/fstab中的swap分区
在server2,3,4上编写软件仓库k8s.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
yum install kubelet kubeadm kubectl #####下载kubelet kubeadm kubectl
systemctl enable --now kubelet #####开启kubelet
在server2上(作为master端)
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers #########拉取镜像
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers
#######初始化集群并生成
kubeadm join 172.25.25.2:6443 --token 5orvov.jp67ffa0ab1zrc3w \
> .--discovery-token-ca-cert-hash sha256:fb3db86a209bb9695cb0bc5f82a9806f9306adf0c72ef331b44ba791a6710901
如果为root用户执行
export KUBECONFIG=/etc/kubernetes/admin.conf
echo "source <(kubectl completion bash)" >> ~/.bashrc ###添加环境变量
kubectl get node
kubectl get pod -n kube-system ###查看状态最上面两个没有ready
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
#######下载kube-flannel.yml
kubectl apply -f kube-flannel.yml #####应用资源清单kube-flannel.yml
kubectl get pod -n kube-system ####显示全部ready
开始扩容在server3,4上执行
kubeadm join 172.25.25.2:6443 --token 5orvov.jp67ffa0ab1zrc3w \
> .--discovery-token-ca-cert-hash sha256:fb3db86a209bb9695cb0bc5f82a9806f9306adf0c72ef331b44ba791a6710901
然后在server2(master)上 kubectl get node 发现server3,4已经添加
完成kubernetes的搭建server2为master端