实验准备

准备:四台虚拟机
servre9:仓库
server1:控制端
server2:受控端
server3:受控端

清理docker主机server1、2、3上的image、 service 、swarm
关闭selinux和iptables防火墙,swap分区

  • 在server1、2、3
swapoff -a
vim /etc/fstab #注释掉swap

在这里插入图片描述

vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://reg.westos.org"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}

重启docker

systemctl daemon-reload
systemctl restart docke

kubeadm的安装配置

在所有节点安装kubeadm安装包
从阿里云拉取所需镜像,这里因为我有准备好的镜像,可直接使用
若无,则需要创建yum源:

vim /etc/yum.repos.d/k8s.repo


[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0



yum install -y kubelet kubeadm kubectl
systemctl enable --now kubelet

再从阿里云中拉取

kubeadm config images list --image-repository registry.aliyuncs.com/google_containers
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers

在所有节点下载所有安装包:
在这里插入图片描述

  • systemctl enable --now kubelet.service 启动

在habor仓库新建k8s项目:
在这里插入图片描述

  • docker load -i k8s-1.21.3.tar
  • docker images | grep ^reg.westos.org/k8s | awk ‘{system("docker push “$1"”)}’ 上传所有镜像到habor仓库

在这里插入图片描述

  • 配置环境变量与kubectl补齐

  • 环境变量

export KUBECONFIG=/etc/kubernetes/admin.conf 
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
  • 补齐
echo "source <(kubectl completion bash)" >> ~/.bashrc
  • 初始化集群
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository reg.westos.org/k8s
  • kubectl apply -f kube-flannel.yml 运行配置文件

在这里插入图片描述

节点扩容

在受控端根据初始化集群返回的token加入集群
在其它节点;

kubeadm join 172.25.33.1:6443 --token bolpru.r5q88s0bi9ik9bm5 --discovery-token-ca-cert-hash sha256:f8d3ae639028cc19a313339605e1160b03698b2b7b7243e86b1be1701ff216b6

在这里插入图片描述

  • kubectl get node 在控制端查看集群节点工作状态

在这里插入图片描述

  • kubectl get pod -n kube-system

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐