如何在Linux云服务器上配置Kubernetes
常见问题
如何在Linux云服务器上配置Kubernetes
2025-04-07 19:00
从零开始:Linu
从零开始:Linux云服务器上配置Kubernetes全指南
Kubernetes作为容器编排的事实标准,已成为云计算领域不可或缺的工具。本文将手把手教你如何在主流Linux云服务器上部署生产级Kubernetes集群,涵盖从环境准备到集群验证的全流程。
环境准备
开始前请确保:
- 至少2台Ubuntu 20.04/22.04或CentOS 7/8云服务器
- 每台服务器2核CPU/4GB内存以上配置
- 所有节点间网络互通且时间同步
- root或sudo权限
推荐使用AWS EC2、阿里云ECS或腾讯云CVM等主流云服务商的最新LTS镜像。
分步安装指南
第一步:基础环境配置
# 所有节点执行
sudo swapoff -a
sed -i '/ swap / s/^/#/' /etc/fstab
# 设置hosts解析(示例)
echo "192.168.1.10 master
192.168.1.11 node1" | sudo tee -a /etc/hosts
第二步:安装容器运行时
推荐选择containerd:
# Ubuntu
sudo apt-get update
sudo apt-get install -y containerd
# CentOS
sudo yum install -y containerd.io
第三步:安装Kubernetes组件
# 添加K8s源
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
第四步:初始化Master节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
# 记下输出的join命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
第五步:安装网络插件
推荐使用Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
集群验证
执行以下命令验证集群状态:
kubectl get nodes
kubectl get pods --all-namespaces
正常情况应显示所有节点为Ready状态,且核心组件运行正常。
常见问题解决
- 节点NotReady
- 检查网络插件是否安装成功,查看kubelet日志:
journalctl -u kubelet
- 镜像拉取失败
- 配置国内镜像源:
sudo tee /etc/docker/daemon.json <
最佳实践建议
- 生产环境建议使用3个Master节点实现高可用
- 使用Terraform等工具实现基础设施即代码
- 配置RBAC权限控制和NetworkPolicy
- 定期备份etcd集群数据
通过本文指导,您已成功在Linux云服务器上搭建了Kubernetes集群。下一步可以探索Helm包管理、监控方案(Prometheus)和CI/CD集成等进阶主题。
从零开始:Linux云服务器上配置Kubernetes全指南
Kubernetes作为容器编排的事实标准,已成为云计算领域不可或缺的工具。本文将手把手教你如何在主流Linux云服务器上部署生产级Kubernetes集群,涵盖从环境准备到集群验证的全流程。
环境准备
开始前请确保:
- 至少2台Ubuntu 20.04/22.04或CentOS 7/8云服务器
- 每台服务器2核CPU/4GB内存以上配置
- 所有节点间网络互通且时间同步
- root或sudo权限
推荐使用AWS EC2、阿里云ECS或腾讯云CVM等主流云服务商的最新LTS镜像。
分步安装指南
第一步:基础环境配置
# 所有节点执行
sudo swapoff -a
sed -i '/ swap / s/^/#/' /etc/fstab
# 设置hosts解析(示例)
echo "192.168.1.10 master
192.168.1.11 node1" | sudo tee -a /etc/hosts
第二步:安装容器运行时
推荐选择containerd:
# Ubuntu
sudo apt-get update
sudo apt-get install -y containerd
# CentOS
sudo yum install -y containerd.io
第三步:安装Kubernetes组件
# 添加K8s源
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
第四步:初始化Master节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
# 记下输出的join命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
第五步:安装网络插件
推荐使用Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
集群验证
执行以下命令验证集群状态:
kubectl get nodes
kubectl get pods --all-namespaces
正常情况应显示所有节点为Ready状态,且核心组件运行正常。
常见问题解决
- 节点NotReady
- 检查网络插件是否安装成功,查看kubelet日志:
journalctl -u kubelet
- 镜像拉取失败
- 配置国内镜像源:
sudo tee /etc/docker/daemon.json <
最佳实践建议
- 生产环境建议使用3个Master节点实现高可用
- 使用Terraform等工具实现基础设施即代码
- 配置RBAC权限控制和NetworkPolicy
- 定期备份etcd集群数据
通过本文指导,您已成功在Linux云服务器上搭建了Kubernetes集群。下一步可以探索Helm包管理、监控方案(Prometheus)和CI/CD集成等进阶主题。
标签:
- Kubernetes
- Linux云服务器
- 容器编排
- 莱卡云
