如何在云服务器上搭建Kubernetes集群?

常见问题

如何在云服务器上搭建Kubernetes集群?

2025-04-11 13:01


从零开始:云服务器

                                            

从零开始:云服务器上搭建Kubernetes集群完全指南

随着云原生技术的发展,Kubernetes已成为容器编排领域的事实标准。本文将手把手教您如何在主流云服务器上搭建一个生产可用的Kubernetes集群,涵盖AWS、阿里云和腾讯云三种平台的详细配置方法。

准备工作

  1. 至少2台云服务器(建议配置:2核CPU/4GB内存/50GB存储)
  2. 服务器操作系统推荐使用Ubuntu 20.04 LTS或CentOS 8
  3. 开通服务器的SSH访问权限
  4. 云平台账户具备创建虚拟机和网络配置的权限

通用安装步骤

1. 系统环境准备

# 关闭swap分区
sudo swapoff -a
sed -i '/ swap / s/^/#/' /etc/fstab

# 设置主机名
sudo hostnamectl set-hostname k8s-master

2. 安装Docker容器运行时

# Ubuntu系统
sudo apt-get update
sudo apt-get install -y docker.io

# CentOS系统
sudo yum install -y docker
sudo systemctl enable --now docker

3. 安装Kubernetes组件

# 添加Kubernetes源
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

# 安装kubelet、kubeadm和kubectl
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl

不同云平台的特殊配置

AWS EC2配置

  • 确保安全组开放6443端口
  • 使用IAM角色而非Access Key
  • 建议使用EBS作为持久卷存储

阿里云ECS配置

  • 配置专有网络VPC
  • 使用NAS作为共享存储方案
  • SLB负载均衡器对接

腾讯云CVM配置

  • 配置私有网络
  • 使用CBS块存储
  • CLB负载均衡器配置

初始化Kubernetes集群

# 在主节点执行
sudo kubeadm init --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 apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

添加工作节点

在初始化完成后,主节点会输出加入集群的命令,形如:

kubeadm join 192.168.0.100:6443 --token xxxx \
    --discovery-token-ca-cert-hash sha256:xxxx

在工作节点上执行此命令即可加入集群。

验证集群状态

# 查看节点状态
kubectl get nodes

# 查看所有Pod状态
kubectl get pods --all-namespaces

# 测试部署应用
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort

生产环境优化建议

  1. 配置持久化存储方案
  2. 设置Resource Quota资源配额
  3. 启用RBAC权限控制
  4. 配置监控告警系统
  5. 定期备份etcd数据

总结

通过本文的指导,您应该已经成功在云服务器上搭建了Kubernetes集群。Kubernetes的学习曲线虽然陡峭,但掌握它将大大提升您部署和管理容器化应用的能力。建议后续深入学习Ingress、Helm、Operator等进阶内容,构建完整的云原生技术栈。


标签:
  • Kubernetes
  • 云服务器
  • 集群搭建
  • 莱卡云