从零开始:手把手教你搭建Kubernetes生产环境
Kubernetes作为容器编排的事实标准,已成为现代云原生架构的核心组件。本文将详细介绍在Linux服务器上部署生产级Kubernetes集群的完整流程,包含最新版本的最佳实践。
一、环境准备
1.1 硬件要求
- 控制节点:至少2核CPU,4GB内存,30GB磁盘
- 工作节点:根据业务需求配置,建议4核CPU起步
- 网络要求:节点间延迟<1ms,建议万兆网络
二、安装部署
2.1 基础环境配置
# 所有节点执行
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab
sudo modprobe br_netfilter
cat <
2.2 容器运行时安装
推荐使用containerd作为CRI运行时:
# 安装containerd
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 使用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
3.2 集群初始化
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
四、网络插件配置
推荐使用Flannel网络插件:
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
五、节点加入集群
在工作节点执行初始化时输出的join命令:
kubeadm join 192.168.1.100:6443 --token xxxxxx \
--discovery-token-ca-cert-hash sha256:xxxx
六、验证集群状态
kubectl get nodes
kubectl get pods -A
确保所有组件状态均为Running
最佳实践建议
- 生产环境建议使用3个或以上控制节点保证高可用
- 配置自动扩缩容(CA)应对流量波动
- 使用Rook+Ceph提供持久化存储方案
通过以上步骤,您已成功搭建了一个生产可用的Kubernetes集群。接下来可以开始部署您的应用服务了。
