第 3 章 搭建你的练习环境
安装顺序与平台选择
首先安装并启动 Docker。macOS 与 Windows 常使用 Docker Desktop;Windows 需按其官方要求启用 WSL 2 等组件。Linux 可以安装 Docker Engine。Docker Desktop 的许可与平台要求请自行查看其官方说明。之后从官方安装页安装 kubectl 和 kind。
- Docker:Get Docker
- kubectl:安装工具
- kind:快速开始
在 macOS 中,已经安装 Homebrew 的读者可以执行以下命令安装后两个工具;Docker 需先按官网完成安装并启动。
brew install kubectl kind其他平台请使用上述官方页面中与你的操作系统、CPU 架构匹配的步骤。不要混用 Intel 与 ARM 下载包。请尽量让 kubectl 与集群版本一致;官方支持的 kubectl 偏差范围通常是相对 kube-apiserver 前后一个次版本,具体限制见文末版本偏差政策。
安装完成后检查:
docker version
kubectl version --client
kind versiondocker version 应同时显示客户端和服务端信息。若只有客户端信息并提示连接不到 daemon,先启动 Docker,或检查 Linux 上的服务与用户权限。不要通过对所有用户开放 Docker socket 来绕过权限问题。
创建本地集群
kind create cluster --name k8s-book --wait 120s
kubectl config current-context
kubectl --context kind-k8s-book get nodes创建完成后的上下文名应为 kind-k8s-book,节点最终应显示 Ready。首次创建要下载节点镜像,需要等待。若超过 120 秒,先看错误,不要连续创建多个同名集群。可以用 kind get clusters 查看已存在的集群,再运行 kind export logs --name k8s-book 导出日志辅助排查。
上下文(context)是 kubectl 使用的集群、用户及默认命名空间组合。它相当于你当前操作的目的地。之后每次练习前检查:
kubectl config use-context kind-k8s-book
kubectl config current-context创建独立命名空间
命名空间(Namespace)是同一集群里对资源进行逻辑分组的方式。先创建本书专用区域:
kubectl create namespace k8s-book
kubectl get namespaces若提示 AlreadyExists,说明已经创建,不必重复。全书在应用命令中显式写 -n k8s-book,帮助你看清资源所在的位置。命名空间本身不能代替完整的安全隔离机制。
完成标志:你能列出一个 Ready 节点,并能在命名空间列表中看到 k8s-book。如果这一步尚未完成,先解决环境问题再继续,后续所有实验都依赖它。