Ubuntu 部署 Kubernetes 所需工具清单
一 核心组件与用途
- kubeadm:集群引导与初始化工具,负责生成配置、拉取镜像、启动控制平面组件,并输出节点加入命令。
- kubelet:每个节点上运行的代理,负责 Pod 与容器生命周期管理、节点状态上报。
- kubectl:命令行客户端,用于与 API Server 交互、部署应用、查看资源与日志。
- 容器运行时(建议 Docker 或 containerd):实际运行容器的引擎;在 Ubuntu 上常用 Docker CE/containerd.io 作为运行时。
以上组件是 Ubuntu 上用 kubeadm 搭建集群的最小必备集。
二 系统级依赖与网络组件
- APT 与 HTTPS 传输工具:如 apt-transport-https、ca-certificates、curl、gnupg,用于添加 Kubernetes APT 仓库并安装软件包。
- 系统内核模块与网络参数:启用 br_netfilter,并设置桥接流量走 iptables(如 net.bridge.bridge-nf-call-iptables=1、net.bridge.bridge-nf-call-ip6tables=1),保证 Service/Pod 网络转发正常。
- 容器网络插件(CNI):集群初始化后必须安装,例如 Calico 或 Flannel,用于 Pod 跨节点通信。
- 可选加速与代理:如 Docker 镜像加速 registry-mirrors、APT 代理,用于国内环境加速拉取镜像与包。
三 常用可选工具
- kubeadm 镜像预拉取与替换:通过 kubeadm config images list 查看所需镜像,使用国内仓库(如 registry.cn-hangzhou.aliyuncs.com/google_containers)拉取并 docker tag 为 k8s.gcr.io/ 对应名称,解决墙内外镜像拉取问题。
- 命令行补全:为 kubectl 启用自动补全(如 bash/zsh 补全脚本),提升日常操作效率。
- Dashboard(Web 控制台):可视化查看与管理集群资源,部署后可通过 Service 暴露访问。
四 快速核对清单
| 类别 |
工具/配置 |
作用 |
是否必须 |
| 核心组件 |
kubeadm |
集群引导与初始化 |
是 |
| 核心组件 |
kubelet |
节点上运行容器与 Pod |
是 |
| 核心组件 |
kubectl |
与集群交互的 CLI |
是 |
| 运行时 |
Docker CE/containerd.io |
容器引擎 |
是 |
| 系统依赖 |
apt-transport-https、ca-certificates、curl、gnupg |
支持 HTTPS APT 源 |
是 |
| 系统配置 |
br_netfilter、iptables 桥接参数 |
启用跨网络转发 |
是 |
| 网络插件 |
Calico/Flannel |
Pod 跨节点网络 |
是 |
| 可选 |
镜像加速/代理 |
提升拉取速度 |
否 |
| 可选 |
kubeadm 镜像预拉取与 tag 替换 |
解决镜像不可达 |
否 |
| 可选 |
kubectl 自动补全 |
提升 CLI 效率 |
否 |
| 可选 |
Dashboard |
Web 管理界面 |
否 |