Centos8部署Kubernetes1.23.1,使用calico网络插件

准备3台Centos8服务器

192.168.31.81 master
192.168.31.214 node1
192.168.31.206 node2

   分别修改hostname
hostnamectl set-hostname master.k8s.local
hostnamectl set-hostname node1.k8s.local
hostnamectl set-hostname node2.k8s.local
  分别配置别名
  vim /etc/hosts
192.168.31.81 master.k8s.local master
192.168.31.214 node1.k8s.local node1
192.168.31.206 node2.k8s.local node2
开始安装:

1.关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2.关闭selinux

setenforce 0

sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

reboot
3.关闭系统的 Swap
swapoff -a

  注释掉 SWAP 的自动挂载

vim /etc/fstab

/dev/mapper/cl-root       /                   xfs     defaults      0 0
/dev/mapper/cl-home       /home               xfs     defaults      0 0
# /dev/mapper/cl-swap     swap                swap    defaults      0 0
4.设置路由,  允许iptables检查桥接流量
cat <
5.安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum -y install docker-ce

systemctl enable docker && systemctl start docker

   因为kubernetes的默认驱动是 systemd, 而docker默认的是 cgroupfs

   所以要修改docker的驱动与kubernetes的一致

   参考:

   ​​​​​容器运行时 | Kubernetes

   配置 cgroup 驱动 | Kubernetes

sudo mkdir /etc/docker
cat <
6. 添加阿里kubernetes源
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
7.安装kubelet、kubeadm 和 kubectl
  在所有节点上安装指定版本 kubelet、kubeadm 和 kubectl
yum install -y kubectl-1.23.1 kubeadm-1.23.1 kubelet-1.23.1

systemctl enable kubelet && systemctl start kubelet
在所有节点执行1-7步
8.初始化Master节点
kubeadm init \
--kubernetes-version=v1.23.1 \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=192.168.0.0/16 \
--service-cidr=10.96.0.0/12 \
--apiserver-advertise-address=192.168.31.81 \
--ignore-preflight-errors=Swap
初始化成功会出现下面的信息
 
Your Kubernetes master 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:
Installing Addons | Kubernetes
You can now join any number of machines by running the following on each node
as root:
kubeadm join 192.168.31.81:6443 \
--token 7sl2tt.cjkwf3yqkr1s7vqd \
--discovery-token-ca-cert-hash sha256:947703ee30bef00882bd7fa9682857d9c152fecfa42ffbc86a83a4113757f79a \
--ignore-preflight-errors=Swap
​
  按照以上提示创建需要的文件夹
  执行下面命令,使kubectl可以自动补充
source <(kubectl completion bash)

9.执行以下命令安装 calico 部署网络插件

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  检查安装成功:
 
# 查看calico相关服务是否启动
kubectl get pods -n kube-system

# 查看 STATUS 是否为 Ready
kubectl get nodes
所有节点执行 kubeadm join 加入主节点,安装完毕

你可能感兴趣的:(Kubernetes,kubernetes,k8s,docker,linux)