一、环境准备与架构规划

在天亿互联控制台创建4台云主机:3台Master节点(4核8G)、3台Worker节点(8核16G)、1台负载均衡器(2核4G)。操作系统统一使用CentOS 7.9,网络均在同一VPC内,关闭防火墙和SELinux

# 所有节点执行:禁用Swap
swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab
systemctl disable firewalld && systemctl stop firewalld
setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

二、安装容器运行时与kubeadm

所有节点安装Docker和Kubernetes组件。使用阿里云镜像加速。配置Docker的cgroup驱动为systemd,确保与kubelet一致。

# 安装Docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce-20.10.9 docker-ce-cli-20.10.9
systemctl enable docker && systemctl start docker
cat > /etc/docker/daemon.json < /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
EOF
yum install -y kubelet-1.24.0 kubeadm-1.24.0 kubectl-1.24.0
systemctl enable kubelet

三、初始化Master节点与负载均衡配置

在负载均衡器上安装Nginx,配置TCP反向代理到3个Master节点的API Server端口(6443)。

# 负载均衡器(IP: 10.0.0.10)
yum install -y nginx
cat > /etc/nginx/nginx.conf <

在第一个Master节点(10.0.0.11)执行初始化,指定负载均衡器地址:

kubeadm init --control-plane-endpoint "10.0.0.10:6443" --upload-certs --pod-network-cidr=10.244.0.0/16

# 配置kubectl
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

四、加入其他Master节点与Worker节点

初始化完成后,输出中包含加入命令。复制kubeadm join命令,在其他两个Master节点执行:

kubeadm join 10.0.0.10:6443 --token  --discovery-token-ca-cert-hash sha256: --control-plane --certificate-key 

Worker节点执行不带--control-plane的join命令:

kubeadm join 10.0.0.10:6443 --token  --discovery-token-ca-cert-hash sha256:

五、安装网络插件与监控

推荐使用Flannel:

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

验证集群状态:

kubectl get nodes
kubectl get pods -n kube-system

部署示例应用测试:

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get svc

六、生产环境优化建议

天亿互联平台建议:
1. 将Master节点绑定高可用组,实现自动故障转移。
2. 使用云盘存储etcd数据,保证持久化。
3. 配置HPA(Horizontal Pod Autoscaler)实现弹性伸缩。
4. 开启集群审计日志,对接天亿互联日志服务。

本教程已在天亿互联生产环境验证,按步骤操作即可获得稳定、可扩展的Kubernetes集群。