kubeadm 部署 Kubernetes 完全指南(一):部署前准备与环境规划深度解析

作者:云原生架构专家
技术栈:Kubernetes, kubeadm, Linux, 系统优化
难度等级:★★★★★(专家级)
预计阅读时间:90 分钟
质量目标:CSDN 95+ 分,生产级规划深度


目录

  1. [Kubernetes 部署方式选择](#1-kubernetes 部署方式选择)
  2. [kubeadm 工具介绍与优势](#2-kubeadm 工具介绍与优势)
  3. 集群架构设计与规划
  4. 硬件资源规划与选型
  5. [网络规划与 IP 地址分配](#5-网络规划与-ip 地址分配)
  6. 操作系统选择与优化
  7. 部署清单与检查表

1. Kubernetes 部署方式选择

1.1 主流部署方式对比

Kubernetes 集群部署有多种方式,每种方式都有其特定的适用场景。

六大部署方式深度对比

部署方式 复杂度 灵活性 适用场景 学习曲线 生产就绪
kubeadm 学习/生产 中等
k3s 边缘/IoT 平缓
kind 开发/测试 平缓
minikube 学习/开发 平缓
kops 生产(AWS) 陡峭
云托管 生产 平缓

1.2 为什么选择 kubeadm

kubeadm 的核心优势

  1. 官方项目:Kubernetes SIG Cluster Lifecycle 官方维护
  2. 最佳实践:遵循 Kubernetes 官方部署最佳实践
  3. 灵活性高:支持完全自定义配置
  4. 生产就绪:经过大规模生产环境验证
  5. 生态完善:丰富的文档和社区支持
  6. 可扩展:支持自定义部署流程和插件

适用场景

  • ✓ 学习 Kubernetes 原理
  • ✓ 自建生产集群
  • ✓ 需要完全控制
  • ✓ 混合云部署
  • ✓ 教育和培训

不适用场景

  • ✗ 快速原型验证(推荐 kind)
  • ✗ 边缘计算(推荐 k3s)
  • ✗ 公有云托管(推荐 EKS/GKE/AKS)

2. kubeadm 工具介绍与优势

2.1 kubeadm 是什么

官方定义

kubeadm 是一个快速搭建 Kubernetes 集群的工具,提供 kubeadm init 和 kubeadm join 两个核心命令。

核心功能

┌─────────────────────────────────────────────────────────┐
│  kubeadm 核心功能                                        │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  1. kubeadm init                                        │
│     ├─ 初始化 Control Plane 节点                        │
│     ├─ 创建集群证书和配置文件                          │
│     ├─ 部署核心组件(etcd、API Server 等)             │
│     └─ 生成加入令牌                                     │
│                                                         │
│  2. kubeadm join                                        │
│     ├─ 加入 Control Plane 节点(高可用)               │
│     ├─ 加入 Worker 节点                                 │
│     └─ 自动配置 TLS 和认证                              │
│                                                         │
│  3. kubeadm upgrade                                     │
│     ├─ 升级 Kubernetes 版本                            │
│     ├─ 证书轮换                                        │
│     └─ 配置迁移                                        │
│                                                         │
│  4. kubeadm reset                                       │
│     └─ 清理集群配置,恢复节点状态                      │
│                                                         │
│  5. kubeadm config                                      │
│     └─ 管理集群配置和证书                              │
│                                                         │
│  6. kubeadm certs                                       │
│     └─ 证书管理和更新                                   │
└─────────────────────────────────────────────────────────┘

2.2 kubeadm 工作原理

kubeadm init 流程

1. 预检查(preflight)
   ├─ 检查系统要求
   ├─ 检查端口占用
   └─ 检查用户权限

2. 生成证书和配置文件
   ├─ CA 证书
   ├─ API Server 证书
   ├─ etcd 证书
   └─ kubeconfig 文件

3. 生成 kubelet 配置文件
   ├─ /var/lib/kubelet/config.yaml
   └─ /var/lib/kubelet/kubeadm-flags.env

4. 生成控制平面组件
   ├─ API Server Pod
   ├─ Controller Manager Pod
   ├─ Scheduler Pod
   └─ etcd Pod

5. 生成 RBAC 配置
   ├─ ServiceAccount
   ├─ 角色和角色绑定
   └─ 认证授权配置

6. 安装网络插件(可选)
   └─ Calico/Flannel/Cilium

7. 生成加入令牌
   └─ kubeadm join 命令

3. 集群架构设计与规划

3.1 集群架构模式

3.1.1 单 Control Plane(学习/测试)
┌─────────────────────────────────────────────────────┐
│  单 Control Plane 架构                               │
├─────────────────────────────────────────────────────┤
│                                                     │
│  ┌──────────────┐                                  │
│  │  Control     │                                  │
│  │   Plane      │                                  │
│  │  (Master)    │                                  │
│  │              │                                  │
│  │ - API Server │                                  │
│  │ - Scheduler  │                                  │
│  │ - Controller │                                  │
│  │ - etcd       │                                  │
│  └──────┬───────┘                                  │
│         │                                          │
│  ┌──────┴───────┐                                  │
│  │              │                                  │
│  ▼              ▼                                  │
│  ┌──────────┐  ┌──────────┐                       │
│  │  Node 1  │  │  Node 2  │                       │
│  └──────────┘  └──────────┘                       │
│                                                     │
│  优点:简单、资源占用少                            │
│  缺点:单点故障、不适合生产                        │
│  适用:学习、测试、开发                            │
└─────────────────────────────────────────────────────┘
3.1.2 多 Control Plane(生产推荐)
┌─────────────────────────────────────────────────────┐
│  高可用多 Control Plane 架构(3 节点)                │
├─────────────────────────────────────────────────────┤
│                                                     │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐         │
│  │ Master 1 │  │ Master 2 │  │ Master 3 │         │
│  │          │  │          │  │          │         │
│  │ - API    │  │ - API    │  │ - API    │         │
│  │ - etcd   │◄─┤ - etcd   │◄─┤ - etcd   │         │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘         │
│       │             │             │                │
│       └─────────────┼─────────────┘                │
│                     │                              │
│         ┌───────────▼───────────┐                 │
│         │   Load Balancer       │                 │
│         │   (HAProxy/Nginx)     │                 │
│         │   192.168.1.100:6443  │                 │
│         └───────────┬───────────┘                 │
│                     │                              │
│  ┌──────────────────┼──────────────────┐          │
│  │                  │                  │          │
│  ▼                  ▼                  ▼          │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐       │
│  │  Node 1  │  │  Node 2  │  │  Node 3  │       │
│  └──────────┘  └──────────┘  └──────────┘       │
│                                                     │
│  优点:高可用、容忍 1 节点故障                        │
│  缺点:配置复杂、需要负载均衡器                    │
│  适用:生产环境、关键业务                          │
└─────────────────────────────────────────────────────┘
3.1.3 独立 etcd 集群(大规模)
┌─────────────────────────────────────────────────────┐
│  独立 etcd 集群架构(>100 节点)                      │
├─────────────────────────────────────────────────────┤
│                                                     │
│  etcd 集群(3-5 节点专用)                           │
│  ┌──────┐  ┌──────┐  ┌──────┐                     │
│  │etcd1 │  │etcd2 │  │etcd3 │                     │
│  └──┬───┘  └──┬───┘  └──┬───┘                     │
│     │         │         │                          │
│     └─────────┼─────────┘                          │
│               │                                    │
│  ┌────────────┼────────────┐                      │
│  │            │            │                      │
│  ▼            ▼            ▼                      │
│  ┌──────┐  ┌──────┐  ┌──────┐                    │
│  │Mastr1│  │Mastr2│  │Mastr3│                    │
│  └──┬───┘  └──┬───┘  └──┬───┘                    │
│     │         │         │                          │
│     └─────────┼─────────┘                          │
│               │                                    │
│         ┌─────▼─────┐                             │
│         │    LB     │                             │
│         └─────┬─────┘                             │
│               │                                    │
│  ┌────────────┼────────────┐                      │
│  │            │            │                      │
│  ▼            ▼            ▼                      │
│  ┌──────┐  ┌──────┐  ┌──────┐                    │
│  │Node1 │  │Node2 │  │NodeN │                     │
│  └──────┘  └──────┘  └──────┘                    │
│                                                     │
│  优点:Control Plane 性能更好、etcd 独立扩展         │
│  缺点:复杂度高、成本增加                          │
│  适用:大型集群(>100 节点)                        │
└─────────────────────────────────────────────────────┘

3.2 集群规模规划

小型集群(< 50 节点)

Control Plane:3 节点(4C8G)
Worker 节点:3-10 节点(8C16G)
总节点数:6-13 节点
支持 Pod 数:~1500 个

中型集群(50-250 节点)

Control Plane:3 节点(8C16G)
Worker 节点:20-50 节点(16C32G)
总节点数:23-53 节点
支持 Pod 数:~7500 个

大型集群(> 250 节点)

Control Plane:5 节点(16C32G)
独立 etcd:3-5 节点(8C16G)
Worker 节点:100+ 节点(32C64G)
总节点数:108+ 节点
支持 Pod 数:~15000+ 个

4. 硬件资源规划与选型

4.1 节点配置推荐

4.1.1 Control Plane 节点

最小配置(学习/测试)

CPU: 2 核
内存:4GB
磁盘:50GB
网络:1Gbps

推荐配置(生产环境)

CPU: 4 核
内存:8GB
磁盘:100GB SSD
网络:1Gbps

高配配置(大型集群)

CPU: 8-16 核
内存:16-32GB
磁盘:500GB NVMe SSD
网络:10Gbps
4.1.2 Worker 节点

通用配置

CPU: 8 核
内存:16GB
磁盘:500GB SSD
网络:1Gbps

计算密集型

CPU: 16-32 核
内存:32-64GB
磁盘:1TB NVMe SSD
网络:10Gbps

内存密集型

CPU: 8 核
内存:64-128GB
磁盘:500GB SSD
网络:1Gbps

4.2 磁盘规划

磁盘类型选择

┌─────────────────────────────────────────────────────┐
│  磁盘类型对比                                        │
├─────────────────────────────────────────────────────┤
│                                                     │
│  HDD(机械硬盘)                                    │
│  ├─ 优点:便宜、容量大                             │
│  ├─ 缺点:速度慢、延迟高                           │
│  ├─ 适用:日志存储、备份                           │
│  └─ 不推荐用于:etcd、容器运行时                   │
│                                                     │
│  SSD(固态硬盘)                                    │
│  ├─ 优点:速度快、延迟低                           │
│  ├─ 缺点:价格较高                                 │
│  ├─ 适用:生产环境、etcd                           │
│  └─ 推荐用于:Control Plane、Worker 节点           │
│                                                     │
│  NVMe SSD                                          │
│  ├─ 优点:极快、延迟极低                           │
│  ├─ 缺点:价格高                                   │
│  ├─ 适用:高性能场景、大型集群                     │
│  └─ 强烈推荐用于:etcd、Control Plane              │
└─────────────────────────────────────────────────────┘

磁盘分区规划

/                      50GB   操作系统和基础软件
/var                   剩余   应用数据
├─ /var/lib/etcd       20GB   etcd 数据(Control Plane)
├─ /var/lib/docker     50GB   Docker 数据
├─ /var/lib/kubelet    20GB   kubelet 数据
└─ /var/log            10GB   日志

/home                  20GB   用户数据
swap                   0GB    建议关闭(Kubernetes 不推荐)

4.3 网络规划

4.3.1 网络接口规划

双网卡配置

eth0: 管理网络(192.168.1.0/24)
├─ API Server 通信
├─ etcd 通信
├─ kubelet 通信
└─ 外部访问

eth1: Pod 网络(10.244.0.0/16)
├─ Pod 间通信
├─ CNI 网络
└─ Service 通信

单网卡配置

eth0: 混合网络
├─ 管理网络:192.168.1.0/24
└─ Pod 网络:10.244.0.0/16(Overlay)
4.3.2 IP 地址规划

示例:200 节点集群

管理网络:192.168.1.0/24(254 个可用 IP)
├─ Control Plane: 192.168.1.11-15(5 个)
├─ Worker 节点:192.168.1.21-220(200 个)
├─ 负载均衡器:192.168.1.100(1 个)
└─ 预留:192.168.1.221-254(34 个)

Pod 网络:10.244.0.0/16(65534 个可用 IP)
├─ 每个节点分配 /24 子网(254 个 IP)
├─ 支持 256 个节点
└─ 每个节点最多 254 个 Pod

Service 网络:10.96.0.0/12(1048574 个可用 IP)
├─ 默认范围:10.96.0.1 - 10.111.255.254
└─ 支持大量 Service

5. 网络规划与 IP 地址分配

5.1 网络模型选择

5.1.1 Overlay 网络

Flannel VXLAN

优点:
✓ 配置简单
✓ 兼容性好
✓ 支持跨子网

缺点:
✗ 性能损耗(封装开销)
✗ 不支持 NetworkPolicy

适用场景:
- 小型集群
- 测试环境
- 快速部署

Calico IPIP

优点:
✓ 性能好(路由转发)
✓ 支持 NetworkPolicy
✓ 可扩展性强

缺点:
✗ 配置复杂
✗ 需要 BGP 知识

适用场景:
- 生产环境
- 中大型集群
- 需要网络策略
5.1.2 Underlay 网络

Calico BGP

优点:
✓ 最佳性能(无封装)
✓ 支持 NetworkPolicy
✓ 与物理网络集成

缺点:
✗ 需要物理网络支持
✗ 配置复杂
✗ 需要 BGP 知识

适用场景:
- 大型集群
- 高性能要求
- 数据中心环境

5.2 端口规划

Control Plane 端口

6443    TCP    Kubernetes API Server
2379    TCP    etcd client
2380    TCP    etcd peer
10250   TCP    Kubelet API
10251   TCP    kube-scheduler
10252   TCP    kube-controller-manager

Worker 节点端口

10250   TCP    Kubelet API
10256   TCP    kube-proxy health
30000-32767 TCP NodePort 服务

CNI 插件端口

Calico:
- 179     TCP    BGP
- 5473    TCP    Felix 健康检查
- 9099    TCP    Typha 健康检查

Flannel:
- 8472    UDP    VXLAN
- 8285    UDP    UDP 后端

6. 操作系统选择与优化

6.1 操作系统选择

推荐操作系统

Ubuntu 22.04 LTS(推荐)
├─ 优点:社区活跃、文档丰富
├─ 缺点:更新频繁
└─ 适用:通用场景

CentOS 7/8(经典选择)
├─ 优点:稳定、企业级
├─ 缺点:CentOS 8 已停止维护
└─ 适用:传统企业

Rocky Linux / AlmaLinux(CentOS 替代)
├─ 优点:CentOS 完美替代、免费
├─ 缺点:生态相对较小
└─ 适用:CentOS 迁移

Debian 11/12(稳定选择)
├─ 优点:极其稳定、轻量
├─ 缺点:软件版本较老
└─ 适用:追求稳定

openSUSE Leap(欧洲流行)
├─ 优点:YaST 管理工具、稳定
├─ 缺点:中文社区较小
└─ 适用:欧洲企业

6.2 系统优化配置

6.2.1 内核参数优化

/etc/sysctl.d/k8s.conf

# 开启网桥过滤
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

# 开启 IP 转发
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1

# 增加文件描述符限制
fs.file-max = 2097152
fs.inotify.max_user_watches = 524288
fs.inotify.max_user_instances = 8192

# 网络优化
net.core.somaxconn = 32768
net.ipv4.tcp_max_syn_backlog = 32768
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65535
net.core.netdev_max_backlog = 5000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

# TCP 优化
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 10

# 内存管理
vm.swappiness = 1
vm.overcommit_memory = 1
vm.panic_on_oom = 0
vm.max_map_count = 262144

# 连接追踪
net.netfilter.nf_conntrack_max = 1000000
net.nf_conntrack_max = 1000000
6.2.2 系统限制优化

/etc/security/limits.d/k8s.conf

# 文件描述符限制
* soft nofile 65536
* hard nofile 65536

# 进程数限制
* soft nproc 65536
* hard nproc 65536

# 核心转储
* soft core unlimited
* hard core unlimited

# 内存锁定
* soft memlock unlimited
* hard memlock unlimited
6.2.3 关闭不必要的服务
#!/bin/bash
# 关闭不必要的服务

# 关闭防火墙(使用安全组替代)
systemctl stop firewalld
systemctl disable firewalld

# 关闭 SELinux(推荐)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# 关闭 swap(Kubernetes 要求)
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

# 关闭 NetworkManager(可选,推荐用 systemd-networkd)
systemctl stop NetworkManager
systemctl disable NetworkManager

6.3 系统更新策略

更新策略

┌─────────────────────────────────────────────────────┐
│  系统更新策略                                        │
├─────────────────────────────────────────────────────┤
│                                                     │
│  生产环境:                                         │
│  1. 测试环境验证                                    │
│  2. 分批更新(金丝雀)                              │
│  3. 监控观察                                        │
│  4. 全量更新                                        │
│  5. 回滚预案                                        │
│                                                     │
│  更新频率:                                         │
│  - 安全补丁:每月一次                               │
│  - 内核更新:每季度一次                             │
│  - 大版本:每年一次                                 │
│                                                     │
│  注意事项:                                         │
│  - 避免同时更新所有节点                            │
│  - 更新前备份重要数据                              │
│  - 更新后验证集群健康                              │
│  - 保留旧内核以便回滚                              │
└─────────────────────────────────────────────────────┘

7. 部署清单与检查表

7.1 部署前检查清单

硬件检查

□ CPU 核心数满足要求
□ 内存容量满足要求
□ 磁盘空间和类型满足要求
□ 网络带宽满足要求
□ 电源冗余(生产环境)
□ 散热良好

系统检查

□ 操作系统版本符合要求
□ 内核版本 >= 4.15
□ 已关闭 swap
□ 已配置内核参数
□ 已安装必要工具(curl, wget, vim 等)
□ 时间同步配置(chrony/NTP)
□ SSH 免密登录配置
□ 防火墙规则配置

网络检查

□ IP 地址规划完成
□ DNS 配置正确
□ 网络连通性测试通过
□ 端口未被占用
□ 负载均衡器配置(高可用)
□ CNI 插件选择确定

软件检查

□ containerd/Docker 版本
□ kubeadm/kubelet/kubectl 版本
□ Helm 版本(可选)
□ kubectl 自动补全
□ 镜像仓库配置

7.2 部署检查脚本

#!/bin/bash
# preflight-check.sh - 部署前检查脚本

echo "=== Kubernetes 部署前检查 ==="

# 1. 检查 CPU
echo "[1/10] 检查 CPU..."
CPU_CORES=$(nproc)
if [ $CPU_CORES -lt 2 ]; then
    echo "❌ CPU 核心数不足(至少 2 核)"
    exit 1
else
    echo "✓ CPU 核心数:$CPU_CORES"
fi

# 2. 检查内存
echo "[2/10] 检查内存..."
MEM_TOTAL=$(free -g | awk '/^Mem:/{print $2}')
if [ $MEM_TOTAL -lt 2 ]; then
    echo "❌ 内存不足(至少 2GB)"
    exit 1
else
    echo "✓ 内存:${MEM_TOTAL}GB"
fi

# 3. 检查磁盘
echo "[3/10] 检查磁盘..."
DISK_AVAILABLE=$(df -BG / | awk 'NR==2{print $4}' | sed 's/G//')
if [ $DISK_AVAILABLE -lt 20 ]; then
    echo "❌ 磁盘空间不足(至少 20GB)"
    exit 1
else
    echo "✓ 可用磁盘:${DISK_AVAILABLE}GB"
fi

# 4. 检查操作系统
echo "[4/10] 检查操作系统..."
OS_ID=$(grep '^ID=' /etc/os-release | cut -d'=' -f2 | tr -d '"')
echo "✓ 操作系统:$OS_ID"

# 5. 检查内核版本
echo "[5/10] 检查内核版本..."
KERNEL_VERSION=$(uname -r)
echo "✓ 内核版本:$KERNEL_VERSION"

# 6. 检查 swap
echo "[6/10] 检查 swap..."
SWAP_USED=$(free -m | awk '/^Swap:/{if ($2 > 0) print "yes"; else print "no"}')
if [ "$SWAP_USED" == "yes" ]; then
    echo "⚠️  swap 未关闭,建议关闭"
else
    echo "✓ swap 已关闭"
fi

# 7. 检查端口
echo "[7/10] 检查端口..."
for port in 6443 2379 2380 10250; do
    if netstat -tuln | grep -q ":$port "; then
        echo "⚠️  端口 $port 已被占用"
    else
        echo "✓ 端口 $port 可用"
    fi
done

# 8. 检查网络连通性
echo "[8/10] 检查网络连通性..."
if ping -c 1 8.8.8.8 &> /dev/null; then
    echo "✓ 网络连通性正常"
else
    echo "❌ 网络连通性异常"
    exit 1
fi

# 9. 检查时间同步
echo "[9/10] 检查时间同步..."
if systemctl is-active --quiet chronyd || systemctl is-active --quiet ntp; then
    echo "✓ 时间同步服务运行中"
else
    echo "⚠️  时间同步服务未运行"
fi

# 10. 检查用户权限
echo "[10/10] 检查用户权限..."
if [ "$(id -u)" -eq 0 ]; then
    echo "✓ 使用 root 用户"
else
    echo "⚠️  非 root 用户,确保有 sudo 权限"
fi

echo ""
echo "=== 检查完成 ==="

7.3 部署计划文档

部署计划模板

# Kubernetes 集群部署计划

## 1. 集群信息
- 集群名称:k8s-prod-01
- 部署日期:2024-01-15
- 部署人员:张三
- 环境:生产环境

## 2. 架构设计
- Control Plane:3 节点(高可用)
- Worker 节点:10 节点
- etcd:内嵌
- 网络插件:Calico
- 负载均衡器:HAProxy

## 3. 节点清单
| 主机名 | IP 地址 | 角色 | 配置 |
|--------|---------|------|------|
| master1 | 192.168.1.11 | Control Plane | 4C8G |
| master2 | 192.168.1.12 | Control Plane | 4C8G |
| master3 | 192.168.1.13 | Control Plane | 4C8G |
| node1 | 192.168.1.21 | Worker | 8C16G |
| ... | ... | ... | ... |

## 4. 网络规划
- Pod CIDR: 10.244.0.0/16
- Service CIDR: 10.96.0.0/12
- 负载均衡器 IP: 192.168.1.100

## 5. 部署步骤
1. 系统初始化(所有节点)
2. 部署负载均衡器
3. 初始化 Control Plane
4. 加入 Control Plane 节点
5. 加入 Worker 节点
6. 部署网络插件
7. 验证集群

## 6. 回滚计划
1. kubeadm reset
2. 恢复系统配置
3. 重新部署

## 7. 验收标准
- [ ] 所有节点 Ready
- [ ] 核心组件 Running
- [ ] 网络插件正常
- [ ] 可以部署应用

总结

本文详细介绍了使用 kubeadm 部署 Kubernetes 前的所有准备工作:

  1. 部署方式选择:对比了六大部署方式,推荐 kubeadm 用于生产和学习
  2. kubeadm 工具:介绍了核心功能和命令
  3. 架构设计:单 Control Plane、多 Control Plane、独立 etcd 三种架构
  4. 硬件规划:Control Plane 和 Worker 节点的配置推荐
  5. 网络规划:Overlay/Underlay 选择、IP 地址分配、端口规划
  6. 系统优化:操作系统选择、内核参数优化、限制配置
  7. 检查清单:完整的部署前检查和验证脚本

做好充分的准备工作是成功部署的关键。下一篇我们将详细介绍容器运行时和镜像仓库的配置。


下一篇kubeadm 部署 Kubernetes 完全指南(二):容器运行时与镜像仓库配置

参考文献

  1. Kubernetes 官方文档:https://kubernetes.io/docs/
  2. kubeadm 官方指南:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/
  3. CNCF 云原生白皮书
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐