云服务器如何配置Kubernetes集群?
手把手教你用云服务器搭建Kubernetes集群
Kubernetes作为当下最热门的容器编排工具,已经成为企业云原生转型的标配。本文将详细讲解如何在主流云服务器上从零开始搭建一个生产可用的Kubernetes集群,涵盖阿里云、腾讯云等常见平台的配置要点。
一、前期准备工作
在开始部署之前,需要做好以下准备工作:
1.1 云服务器选购建议
- 配置推荐:至少2核4G内存(Master节点建议4核8G)
- 系统选择:Ubuntu 20.04 LTS或CentOS 7.9
- 网络配置:确保所有节点在同一个VPC内互通
- 安全组设置:开放6443、2379-2380等K8s必要端口
1.2 基础环境配置
# 所有节点执行
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
二、使用kubeadm部署集群
2.1 安装容器运行时
以containerd为例:
# 安装containerd
sudo apt-get update && sudo apt-get install -y containerd
sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
2.2 安装kubeadm工具集
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl
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
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
2.3 初始化Master节点
sudo kubeadm init \
--pod-network-cidr=10.244.0.0/16 \
--apiserver-advertise-address=<您的内网IP> \
--image-repository registry.aliyuncs.com/google_containers
三、网络插件与节点加入
3.1 安装Calico网络插件
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
3.2 Worker节点加入集群
在Master节点初始化完成后,会输出加入命令:
kubeadm join 192.168.0.100:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:xxxxxxxx...
四、验证集群状态
kubectl get nodes
kubectl get pods -A
kubectl cluster-info
正常状态应显示所有节点为Ready,核心组件运行正常。
五、云平台特殊配置
5.1 阿里云注意事项
- 需要配置SLB暴露API Server
- 建议使用Terway网络插件替代Calico
- ECS需要绑定弹性公网IP
5.2 腾讯云特别配置
- 建议使用GlobalRouter网络模式
- 需要配置CLB作为入口
- CVM实例需放通安全组规则
最佳实践建议
- 生产环境建议使用3个Master节点实现高可用
- 重要组件如etcd应考虑使用SSD云盘
- 定期备份集群状态(etcd snapshot)
- 考虑使用Rancher或Kubesphere简化管理
通过以上步骤,您已经成功在云服务器上部署了Kubernetes集群。下一步可以开始部署您的业务应用,体验云原生带来的便利!