Kubernetes 环境、版本与学习实验
Kubernetes 版本与环境准备
版本基线与核对方法
核对日期:2026-08-12(Asia/Shanghai)。
| 项目 | 核对结果 | 官方依据 |
|---|---|---|
| 最新稳定补丁版 | v1.36.3,发布于 2026-07-23(UTC) | stable.txt、v1.36.3 Release |
| 最新稳定次要版 | 1.36,代号 Haru,1.36.0 发布于 2026-04-22 | v1.36 发布公告 |
| 上游维护分支 | 1.36、1.35、1.34 | 版本偏差策略 |
| 各分支最新补丁 | 1.36.3、1.35.7、1.34.10 | stable-1.36.txt、stable-1.35.txt、stable-1.34.txt |
| 下一次要版状态 | v1.37.0-rc.0 是预发布候选版,不能当作稳定生产版 | GitHub Releases |
Kubernetes 发布页可能受页面生成或缓存影响而晚于 dl.k8s.io 和 GitHub Release 标签。核对“此刻最新补丁”时,使用以下实时端点并交叉检查 GitHub Release:
curl -L --fail --silent https://dl.k8s.io/release/stable.txt
curl -L --fail --silent https://dl.k8s.io/release/stable-1.36.txt补丁版本会持续变化。文档中的 v1.36.3 是核对日快照,安装或升级前必须重新执行上述命令并阅读对应 CHANGELOG-1.36。
版本号和支持周期
版本格式为 v主版本.次要版本.补丁版本:
- 次要版本约每年发布三次,可能包含功能、弃用和 API 变化。
- 补丁版本通常每月发布,包含兼容的缺陷与安全修复。
- Kubernetes 1.19 及之后的发布分支通常获得约一年补丁支持;以补丁发布页的实际 EOL 日期为准。
- EOL 版本不再收到常规安全修复,不应继续用于生产。
版本偏差规则
以 API Server 1.36 为例,上游策略允许:
| 组件 | 支持范围 | 关键限制 |
|---|---|---|
| HA kube-apiserver | 1.36、1.35 | 最新与最旧实例最多差一个次要版本 |
| kubelet | 1.36~1.33 | 不得新于 API Server,最多旧三个次要版本 |
| kube-proxy | 1.36~1.33 | 不得新于 API Server,并受同节点 kubelet 约束 |
| controller-manager / scheduler / cloud-controller | 1.36、1.35 | 不得新于所连接 API Server,期望与其同次要版 |
| kubectl | 1.37、1.36、1.35 | 与任一 API Server 最多相差一个次要版本 |
发行版和托管服务可能有更严格规则。升级不能跳过次要版本,顺序详见升级与维护。
安装 kubectl
下面展示 Linux amd64 的下载和校验形式,未执行。先取得目标集群版本,并按偏差表选受支持客户端;不要无条件取 stable.txt 的最新版连接旧集群。其他架构替换 amd64。
KUBECTL_VERSION='v<已核对兼容的完整版本号>' # 替换后再执行,例如与目标服务端同次要版
curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl"
curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client --output=yaml也可以使用操作系统包管理器,但应按照官方安装指南配置 pkgs.k8s.io 仓库并锁定合适次要版。
Shell 补全和别名
# Bash
source <(kubectl completion bash)
alias k=kubectl
complete -o default -F __start_kubectl k
# Zsh
source <(kubectl completion zsh)
alias k=kubectl
compdef k=kubectl不要在团队脚本中使用个人别名;脚本写完整的 kubectl。
kubeconfig 与上下文
默认配置是 $KUBECONFIG 指定的文件列表,未设置时为 $HOME/.kube/config。kubeconfig 可能含客户端证书、令牌和可执行认证插件,按密钥文件保护:
chmod 600 "$HOME/.kube/config"
kubectl config get-contexts
kubectl config current-context
kubectl config view --minify --raw=false
kubectl cluster-info切换上下文和默认命名空间:
kubectl config use-context staging-admin
kubectl config set-context --current --namespace=demo
kubectl config view --minify -o jsonpath='{..namespace}{"\n"}'不可信 kubeconfig
kubeconfig 的 exec 认证插件可以执行本机程序。不要运行来源不明的 kubeconfig;先人工检查 users[].user.exec、auth-provider、证书路径和 API 地址。不要把含凭据的 --raw 输出粘贴到工单或聊天。
合并多个配置时,在仅本人可访问的目录生成扁平副本,再替换正式文件。先设置 umask,避免生成后才 chmod 留下权限窗口:
umask 077
KUBECONFIG="$HOME/.kube/config:$HOME/Downloads/team-cluster.yaml" \
kubectl config view --flatten > /tmp/kubeconfig-merged.yaml
chmod 600 /tmp/kubeconfig-merged.yaml
KUBECONFIG=/tmp/kubeconfig-merged.yaml kubectl config get-contexts验证无误后由人工安全移动;不要把 /tmp 中的凭据长期保留。
连接前检查清单
kubectl version
kubectl cluster-info
kubectl get --raw='/readyz?verbose'
kubectl auth whoami
kubectl auth can-i list pods --all-namespaces
kubectl get namespaceskubectl version同时显示客户端和服务端;关注次要版本偏差。/readyz需要相应非资源 URL 权限,403 不等于集群故障。kubectl auth whoami展示服务器识别的用户名和组。- 先确认自己是否有权限,再执行写操作。
本地学习集群选择
| 工具 | 特点 | 适用场景 |
|---|---|---|
| kind | 使用容器创建多节点集群,适合 CI | API、控制器、网络和升级实验 |
| minikube | 驱动与插件丰富 | 单机学习、Ingress/存储实验 |
| k3d/k3s | 轻量、启动快,但发行版有差异 | 边缘场景和快速验证 |
| kubeadm | 接近自建生产流程 | 集群生命周期和节点运维学习 |
本知识库不把任何本地工具当作生产安装方案。生产优先使用组织批准的托管服务或经过审计的集群生命周期工具,并核对其版本支持矩阵。
v1.36 重点概览
v1.36 包含 70 项增强,其中 18 项进入 Stable。与生产运维关系较大的变化包括:
- 可变 CSI 节点卷挂载上限、外部 ServiceAccount 令牌签名、用户命名空间、OCI Image Volume、MutatingAdmissionPolicy 等进入 Stable。
- 设备资源健康状态、部分 DRA 能力、组件
/statusz和/flagz、混合版本代理等进入 Beta。 - v1.36.3 修复了 kubelet 内存泄漏、Server-Side Apply 回归、DRA 调度和 kubeadm etcd learner 等问题;使用 1.36 时应优先采用最新补丁而非 1.36.0。
这些功能是否可用还受 Feature Gate、运行时、CSI/CNI 驱动和云平台约束。不要仅凭版本号在生产启用 Alpha/Beta 功能。
Kubernetes 桌面实验学习链接
以下保留原资料的历史版本范围。
学习网址
- https://github.com/gotok8s/k8s-docker-desktop-for-mac
- https://github.com/maguowei/k8s-docker-desktop-for-mac
- https://edu.aliyun.com/roadmap/cloudnative#all
继续阅读
- 命令
- 故障排查
- 故障排查