赞
踩
本次演示安装3节点k8s环境,无需多言,直接上操作步骤:
k8s部署前,首先需要准备好环境,除了1.4 步骤,其他步骤在所有(3个)节点上都要执行:
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
sed -ri 's/.*swap.*/#&/' /etc/fstab
swapoff -a
hostnamectl set-hostname <hostname>
<hostname> 为要设置的主机名
cat >> /etc/hosts << EOF
192.168.10.1 node1
192.168.10.2 node0
192.168.10.3 master
EOF
注意:3个服务器IP都要设置为静态IP,主要此操作只需在master节点执行
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
同步微软时间服务器时间
yum install ntpdate -y
ntpdate time.windows.com
安装k8s之前,得先安装docker,所有节点都要执行下面步骤:
具体安装步骤参考下面文章:
3个节点docker都安装成功后,开始安装k8s:
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
本次演示安装的k8s版本为 1.22.15
yum install -y kubelet-1.22.15 kubeadm-1.22.15 kubectl-1.22.15
systemctl enable kubelet
kubeadm init \
--apiserver-advertise-address=192.168.10.3 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.22.15 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all
注意:apiserver-advertise-address 除填写master节点IP地址;
初始化master之后,会输出一个join命令,先复制出来,node节点加入master会使用,如下图:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes
在所有工作节点执行在kubeadm init输出的kubeadm join命令,如下图:
当token过期或未保存时,可直接使用命令重新生成:
kubeadm token create --print-join-command
Calico 是一个纯三层的数据中心网络方案,是目前 Kubernetes 主流的网络方案。
只在 Master 节点执行:
wget https://docs.projectcalico.org/v3.24/manifests/calico.yaml --no-check-certificate
kubectl apply -f calico.yaml
kubectl get pods -n kube-system或者:
kubectl apply -f https://docs.projectcalico.org/v3.24/manifests/calico.yaml
kubectl get pods -n kube-system
注意:calico 版本是否支持当前k8s版本,calico v3.24版本支持k8s 1.22~1.25.
calico部署过程如下截图:
kubectl get pods --all-namespaces
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。