Linux服务器如何搭建Kubernetes集群?
常见问题
Linux服务器如何搭建Kubernetes集群?
2025-04-28 11:11
手把手教你用Lin
手把手教你用Linux服务器搭建Kubernetes集群
Kubernetes作为当下最流行的容器编排平台,正在重塑云原生应用的部署方式。本文将详细介绍如何在Linux服务器上从零开始搭建一个生产可用的Kubernetes集群,涵盖从环境准备到集群部署的全过程。
一、环境准备
1.1 硬件要求
- 至少3台Linux服务器(1个Master节点,2个Worker节点)
- 每台服务器建议配置:2核CPU/4GB内存/20GB存储
- 稳定的网络连接(建议内网互通)
1.2 软件要求
- 操作系统:Ubuntu 20.04 LTS或CentOS 7+
- Docker 19.03+
- Kubernetes 1.20+
- 禁用交换分区:
swapoff -a
二、安装必要组件
2.1 在所有节点安装Docker
# Ubuntu系统
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
# CentOS系统
sudo yum install -y docker
sudo systemctl enable docker
2.2 安装kubeadm/kubelet/kubectl
# 添加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
# 安装组件
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
# 配置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.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节点上执行该命令。
# 示例命令(具体token以实际生成为准)
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:12345...abcde
五、验证集群状态
# 查看节点状态
kubectl get nodes
# 查看所有Pod状态
kubectl get pods --all-namespaces
# 测试集群功能
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
六、常见问题排查
- 节点NotReady状态:检查网络插件是否安装成功
- 镜像拉取失败:配置国内镜像源或手动拉取镜像
- 证书过期:使用kubeadm certs renew命令更新证书
通过上述步骤,您已成功搭建了一个基础的Kubernetes集群。建议后续根据实际需求配置持久化存储、Ingress控制器和监控系统等组件,以构建完整的生产环境。
Kubernetes的学习曲线虽然陡峭,但掌握其核心概念和部署方法将大大提升您的云原生技术水平。
手把手教你用Linux服务器搭建Kubernetes集群
Kubernetes作为当下最流行的容器编排平台,正在重塑云原生应用的部署方式。本文将详细介绍如何在Linux服务器上从零开始搭建一个生产可用的Kubernetes集群,涵盖从环境准备到集群部署的全过程。
一、环境准备
1.1 硬件要求
- 至少3台Linux服务器(1个Master节点,2个Worker节点)
- 每台服务器建议配置:2核CPU/4GB内存/20GB存储
- 稳定的网络连接(建议内网互通)
1.2 软件要求
- 操作系统:Ubuntu 20.04 LTS或CentOS 7+
- Docker 19.03+
- Kubernetes 1.20+
- 禁用交换分区:
swapoff -a
二、安装必要组件
2.1 在所有节点安装Docker
# Ubuntu系统 sudo apt-get update sudo apt-get install -y docker.io sudo systemctl enable docker # CentOS系统 sudo yum install -y docker sudo systemctl enable docker2.2 安装kubeadm/kubelet/kubectl
# 添加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 # 安装组件 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 # 配置kubectl mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config3.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节点上执行该命令。# 示例命令(具体token以实际生成为准) kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:12345...abcde五、验证集群状态
# 查看节点状态 kubectl get nodes # 查看所有Pod状态 kubectl get pods --all-namespaces # 测试集群功能 kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --port=80 --type=NodePort六、常见问题排查
- 节点NotReady状态:检查网络插件是否安装成功
- 镜像拉取失败:配置国内镜像源或手动拉取镜像
- 证书过期:使用kubeadm certs renew命令更新证书
通过上述步骤,您已成功搭建了一个基础的Kubernetes集群。建议后续根据实际需求配置持久化存储、Ingress控制器和监控系统等组件,以构建完整的生产环境。
Kubernetes的学习曲线虽然陡峭,但掌握其核心概念和部署方法将大大提升您的云原生技术水平。
标签:
- Kubernetes
- Linux服务器
- 集群搭建
- 莱卡云