溫馨提示×

centos上如何部署k8s集群

小樊
52
2025-03-17 21:46:59
欄目: 智能運維

在CentOS上部署Kubernetes集群有多種方法,以下是使用kubeadm工具部署Kubernetes 1.21.9集群的詳細步驟:

前置準備

  1. 配置k8s外網
yumcat > /etc/yum.repos.d/k8s.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
  1. 安裝相關依賴工具
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 配置docker外網
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 重新載入yum repo
yum clean all && yum repolist
  1. 查看可安裝docker版本
yum list docker-ce --showduplicates | sort -r
  1. 安裝docker
yum install -y docker-ce docker-ce-cli containerd.io
  1. 啟動docker并設置開機啟動
mkdir ./docker-20.10
yum -y install --downloadonly docker-ce docker-ce-cli containerd.io docker-compose --downloaddir=./docker-20.10
tar czvf docker.tar.gz ./docker-20.10
systemctl start docker && systemctl enable docker
  1. 補全docker命令
yum -y install bash-completions
source /etc/profile.d/bash_completion.sh
  1. 設置docker鏡像加速
tee >> /etc/docker/daemon.json <<-'eof'
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {"max-size": "100m"},
  "storage-driver": "overlay2",
  "storage-opts": ["overlay2.override_kernel_check=true"],
  "registry-mirrors": ["https://s261s0nd.mirror.aliyuncs.com/"],
  "graph": "/data/docker"
}
eof
systemctl daemon-reload && systemctl restart docker
  1. 驗證docker版本
docker --version
  1. k8s版本查看
yum list kubelet --showduplicates | sort -r
  1. k8s所需文件下載
mkdir ./kube-1.21.14
yum -y install --downloadonly kubelet-1.21.14-0 kubeadm-1.21.14-0 kubectl-1.21.14-0 --downloaddir=./kube-1.21.14
  1. 將k8s下載目錄打成壓縮包
tar czvf kube.tar.gz ./kube-1.21.14
  1. docker鏡像下載
docker pull kube-apiserver:v1.21.9
docker pull kube-scheduler:v1.21.9

部署集群

  1. 環境初始化
  • 檢查操作系統版本:
cat /etc/redhat-release
  • 主機名解析:

編輯三臺服務器的 /etc/hosts 文件,添加以下內容:

192.168.109.100 master
192.168.109.101 node1
192.168.109.102 node2
  • 時間同步:

啟動 chronyd 服務:

systemctl start chronyd
systemctl enable chronyd

驗證時間:

date
  • 禁用iptables和firewalld服務:

關閉 firewalld 服務:

systemctl stop firewalld
systemctl disable firewalld

關閉 iptables 服務:

systemctl stop iptables
systemctl disable iptables
  • 禁用selinux:

編輯 /etc/selinux/config 文件:

SELINUX=disabled
  • 重啟服務器:
reboot
  1. 安裝Docker

切換鏡像源:

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

查看可用版本:

yum list docker-ce --showduplicates

安裝指定版本:

yum install --setopt=obsoletes=0 docker-ce-18.06.3.ce-3.el7 -y

創建配置文件:

mkdir /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"]
}
EOF

啟動服務:

systemctl enable docker && systemctl start docker
  1. 配置kubeadm、kubelet和kubectl

配置 kubeadm

kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.21.9 --service-cidr 10.96.0.0/12 --pod-network-cidr 10.244.0.0/16

配置 kubectl

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
  1. 加入Kubernetes Node

在Node1和Node2上執行:

kubeadm join 192.168.109.101:6443 --token wewlu1.93v83u0j7qripzwg --discovery-token-ca-cert-hash sha256:77a1a43956bd87688c2ac7fde942a1b6e69c31ae33384b8845af5a26c40703d3
  1. 安裝CNI網絡插件

選擇使用Calico CNI插件:

kubectl apply -f "https://docs.projectcalico.org/manifests/calico.yaml"

再次查看節點狀態,可以看見所有節點狀態已改變為Ready,所有pod也已經處于正常運行狀態。

以上步驟展示了如何在CentOS上使用kubeadm工具部署一個基本的Kubernetes集群。根據具體需求,您可能需要調整網絡配置、添加更多節點或選擇不同的CNI插件。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女