从零开始:Linux云服务器上配置Kubernetes完整指南
在云原生时代,Kubernetes已成为容器编排的事实标准。本文将手把手教您在Linux云服务器上部署生产级Kubernetes集群,涵盖从环境准备到集群验证的全过程。
一、环境准备
1.1 服务器要求
- 至少2台云服务器(1个Master节点,1个Worker节点)
- 推荐配置:2核CPU/4GB内存/20GB磁盘
- 操作系统:Ubuntu 20.04 LTS或CentOS 7+
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
二、安装容器运行时
推荐使用containerd作为容器运行时:
# Ubuntu安装示例
sudo apt-get update
sudo apt-get install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
三、安装Kubernetes组件
3.1 添加Kubernetes仓库
# 添加GPG密钥
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg \
https://packages.cloud.google.com/apt/doc/apt-key.gpg
# 添加APT仓库
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] \
https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
3.2 安装kubeadm/kubelet/kubectl
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
四、初始化Master节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 \
--apiserver-advertise-address=
# 配置kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
4.1 安装网络插件(Flannel示例)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
五、加入Worker节点
在Master节点上获取加入命令:
kubeadm token create --print-join-command
在Worker节点上执行生成的命令:
sudo kubeadm join :6443 --token \
--discovery-token-ca-cert-hash sha256:
六、验证集群状态
kubectl get nodes
kubectl get pods --all-namespaces
kubectl cluster-info
常见问题解决:
- 节点NotReady:检查网络插件是否安装成功
- 证书过期:使用
kubeadm certs renew命令 - 资源不足:适当调整节点配置
最佳实践建议
- 生产环境建议使用3个Master节点实现高可用
- 配置持久化存储方案(如NFS/CEPH)
- 启用RBAC和网络策略增强安全性
- 定期备份etcd数据
通过以上步骤,您已成功在Linux云服务器上部署了Kubernetes集群。下一步可以尝试部署第一个应用或配置CI/CD流水线。
