云服务器Linux环境下Kubernetes配置全攻略
随着云计算的普及,越来越多的企业选择在云服务器上部署Kubernetes集群。本文将详细介绍在Linux云服务器上配置Kubernetes的完整流程,包括环境准备、组件安装、集群初始化等关键步骤。
一、环境准备
1.1 服务器要求
建议配置:
- 至少2台云服务器(1主1从)
- 每台服务器2核CPU+4GB内存
- 操作系统:Ubuntu 20.04/CentOS 7+
- 网络互通,关闭防火墙或开放必要端口
1.2 基础环境配置
# 所有节点执行
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
二、安装必要组件
2.1 安装Docker
# Ubuntu系统
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
# CentOS系统
sudo yum install -y docker
sudo systemctl enable docker
sudo systemctl start docker
2.2 安装kubeadm/kubelet/kubectl
# 添加Kubernetes源
sudo apt-get update && sudo apt-get install -y apt-transport-https 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
三、初始化Kubernetes集群
3.1 主节点初始化
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
# 执行成功后显示的join命令需要保存
# 配置kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
3.2 安装网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
3.3 加入工作节点
在工作节点上执行主节点初始化时生成的join命令:
kubeadm join <主节点IP>:6443 --token --discovery-token-ca-cert-hash sha256:
四、验证集群状态
# 查看节点状态
kubectl get nodes
# 查看所有pod状态
kubectl get pods --all-namespaces
# 测试部署
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
五、常见问题解决
- 节点NotReady:检查网络插件是否安装成功
- 镜像拉取失败:配置国内镜像源或手动拉取镜像
- 端口冲突:检查6443、10250等端口是否被占用
- 证书过期:使用kubeadm certs renew命令更新证书
通过以上步骤,您已经成功在云服务器Linux环境中部署了Kubernetes集群。Kubernetes的强大功能可以帮助您轻松管理容器化应用,实现自动化部署、扩展和管理。建议在生产环境中考虑使用专业的Kubernetes发行版或托管服务,以获得更好的稳定性和技术支持。