點擊上方"walkingcloud"關注,並選擇"星標"公眾號
Kubernetes 是一個可移植的、可擴展的開源平臺,用於管理容器化的工作負載和服務,可促進聲明式配置和自動化。
Kubernetes 擁有一個龐大且快速增長的生態系統。Kubernetes 的服務、支持和工具廣泛可用。
K8s的概念就不贅述了
(圖片可放大查看)
(圖片可放大查看)
CentOS7下快速搭建K8s集群實踐也可以參考之前文章
CentOS7環境下快速部署Kubernetes(k8s)集群
CentOS7下利用Rancher搭建K8s集群
具體步驟如下
1、基礎環境說明CentOS7.6伺服器4臺
6 CPU/4G Mem
192.168.198.200 master.walkingcloud.cn
192.168.198.201 node1.walkingcloud.cn
192.168.198.202 node2.walkingcloud.cn
192.168.198.203 node3.walkingcloud.cn
(圖片可放大查看)
2、使用腳本安裝docker-ce以及k8s所需的基礎組件rpm包上傳docker20.10_k8s1.20_localrpm.tar.gz和docker_k8s_init_v1.sh腳本到4臺伺服器
執行腳本sh docker_k8s_init_v1.sh
(圖片可放大查看)
docker_k8s_init_v1.sh腳本內容如下
#!/bin/bash
cat >> /etc/hosts << EOF
192.168.198.200 master.walkingcloud.cn
192.168.198.201 node1.walkingcloud.cn
192.168.198.202 node2.walkingcloud.cn
192.168.198.203 node3.walkingcloud.cn
EOF
echo "作業系統環境初始化-"
swapoff -a
#若需要永久關閉swap,需要在/etc/fstab中注釋掉swap分區一行
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
echo "net.bridge.bridge-nf-call-iptables = 1 ">>/etc/sysctl.d/k8s.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1 ">>/etc/sysctl.d/k8s.conf
sysctl --system
echo "docker-ce以及k8s本地rpm包解壓----"
tar -zxvf docker20.10_k8s1.20_localrpm.tar.gz -C /opt
echo "docker-ce以及kubelet,kubectl等基礎組件安裝-"
cd /opt/docker20.10_k8s1.20_localrpm
yum -y localinstall *.rpm
systemctl enable docker
systemctl start docker
docker version
systemctl enable kubelet
systemctl start kubelet
echo "docker-ce以及k8s aliyun鏡像源配置-"
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[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
yum clean all
yum makecache fast3、主節點進行初始化kubeadm initapiserver-advertise-address指定為主節點的IP:192.168.198.200
kubeadm init --apiserver-advertise-address=192.168.198.200 --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers --ignore-preflight-errors=Swap
(圖片可放大查看)
(圖片可放大查看)
4、master節點運行上一步的提示命令根據上一步的提示執行如下命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
(圖片可放大查看)
5、主節點安裝網絡flannel組件wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml
(圖片可放大查看)
6、節點依次加入集群其中token是主節點初始化kubeadm init完成時的提示
kubeadm join 192.168.198.200:6443 --token aunv86.6hnhiviy4wowycab \
> --discovery-token-ca-cert-hash sha256:33c612204e0ba85bfaa15ee07f4c30b8da209ab63df2521617c1b509c56a9fc8
(圖片可放大查看)
7、集群狀態檢查加入集群需要一點時間,如果節點狀態為notReady請等待幾分鐘
如果全部為ready就說明加入成功
kubectl get nodes
kubectl get pod --all-namespaces -o wide
(圖片可放大查看)
(圖片可放大查看)
公眾號後臺回復【k8s】獲取docker20.10_k8s1.20_localrpm.tar.gz和docker_k8s_init_v1.sh腳本文件
給小編加雞腿!😂