在CentOS上部署Kubernetes集群有多种方法,以下是使用kubeadm
工具部署Kubernetes 1.21.9集群的详细步骤:
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
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 clean all && yum repolist
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce docker-ce-cli containerd.io
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
yum -y install bash-completions
source /etc/profile.d/bash_completion.sh
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
docker --version
yum list kubelet --showduplicates | sort -r
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
tar czvf kube.tar.gz ./kube-1.21.14
docker pull kube-apiserver:v1.21.9
docker pull kube-scheduler:v1.21.9
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
关闭 firewalld
服务:
systemctl stop firewalld
systemctl disable firewalld
关闭 iptables
服务:
systemctl stop iptables
systemctl disable iptables
编辑 /etc/selinux/config
文件:
SELINUX=disabled
reboot
切换镜像源:
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
配置 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
在Node1和Node2上执行:
kubeadm join 192.168.109.101:6443 --token wewlu1.93v83u0j7qripzwg --discovery-token-ca-cert-hash sha256:77a1a43956bd87688c2ac7fde942a1b6e69c31ae33384b8845af5a26c40703d3
选择使用Calico CNI插件:
kubectl apply -f "https://docs.projectcalico.org/manifests/calico.yaml"
再次查看节点状态,可以看见所有节点状态已改变为Ready,所有pod也已经处于正常运行状态。
以上步骤展示了如何在CentOS上使用kubeadm
工具部署一个基本的Kubernetes集群。根据具体需求,您可能需要调整网络配置、添加更多节点或选择不同的CNI插件。