天亿互联实战:三步搭建高可用Kubernetes集群架构
一、环境准备与架构规划
在天亿互联控制台创建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集群。