在开始部署前,需完成以下基础准备工作,确保系统环境符合Kubernetes的要求:
sudo apt update && sudo apt upgrade -y 或 sudo yum update -y)。# 关闭防火墙
sudo systemctl stop firewalld && sudo systemctl disable firewalld
# 关闭SELinux(临时生效)
sudo setenforce 0
# 永久关闭SELinux(修改配置文件)
sudo sed -i 's/enforcing/disabled/' /etc/selinux/config
# 关闭Swap
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab
/etc/sysctl.conf,添加以下参数以优化网络性能:net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
生效配置:sudo sysctl --system。sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker && sudo systemctl start docker
# 配置Docker镜像加速(国内推荐)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://registry.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload && sudo systemctl restart docker
使用kubeadm工具可快速完成Kubernetes集群的部署,步骤如下:
sudo yum install -y kubeadm kubelet kubectl --nogpgcheck
sudo systemctl enable kubelet
sudo kubeadm init \
--apiserver-advertise-address=<Master节点IP> \
--pod-network-cidr=10.244.0.0/16 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.28.0
--apiserver-advertise-address:指定Master节点的访问IP;--pod-network-cidr:指定Pod网络的CIDR范围(需与后续网络插件兼容);--image-repository:使用国内镜像仓库加速镜像下载(避免网络问题)。mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubeadm join命令(包含Token和CA证书哈希)。在Worker节点上执行该命令即可加入集群:sudo kubeadm join <Master节点IP>:6443 --token <Token> --discovery-token-ca-cert-hash sha256:<Hash>
Kubernetes需要网络插件实现Pod之间的跨节点通信,推荐使用Calico(高性能、易配置):
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
部署完成后,检查网络插件状态:
kubectl get pods -n calico-system
若所有Pod状态为Running,则说明网络插件部署成功。
为提升部署效率和集群性能,需进行以下优化:
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf,设置--max-pods(每个节点最大Pod数,默认110,可根据节点资源调整);kubectl edit cm -n kube-system kube-proxy
# 修改mode为ipvs
mode: "ipvs"
重启kube-proxy使配置生效:kubectl rollout restart ds -n kube-system kube-proxy
部署完成后,通过以下命令验证集群是否正常运行:
# 查看Master节点状态
kubectl get nodes
# 查看集群组件状态
kubectl get componentstatuses
# 查看Pod状态
kubectl get pods -A
若所有节点状态为Ready、组件状态为Healthy、Pod状态为Running,则说明集群部署成功。
通过以上步骤,可在Linux上高效部署Kubernetes集群,并通过优化手段提升集群的性能和稳定性。部署过程中需注意版本兼容性(如Docker与Kubernetes的版本匹配)和网络安全(如配置RBAC、网络策略),确保集群的安全运行。