Windows 最小可用 Kubernetes 环境搭建手册

(以运行 Nginx 为例,初中级运维人员适用)


第一步:安装 Docker Desktop

操作:

  1. 访问 Docker 官网 下载安装包
  2. 双击安装,勾选 "Enable Hyper-V Windows Features"(自动启用虚拟化)
  3. 安装完成后重启电脑

为什么这么做?

Kubernetes 需要容器运行时环境(如 Docker),Hyper-V 提供虚拟机支持。Docker Desktop 是 Windows 上最简单的一键式容器管理工具。


第二步:启用 Kubernetes

操作:

  1. 打开 Docker Desktop,点击右上角 ⚙️ Settings
  2. 左侧选择 Kubernetes
  3. 勾选 "Enable Kubernetes",点击 Apply & Restart

为什么这么做?

Docker Desktop 内置了单节点 Kubernetes 集群功能,无需手动搭建。启用后会自动安装 kubectl(管理集群的命令行工具)。


第三步:验证集群状态

操作:
打开命令提示符(CMD)或 PowerShell,输入:

kubectl cluster-info
kubectl get nodes

正确结果:

Kubernetes control plane is running at https://kubernetes.docker.internal:6443
NAME             STATUS   ROLES           AGE   VERSION
docker-desktop   Ready    control-plane   1m    v1.28.2

为什么这么做?

确认 Kubernetes 控制平面(大脑)和工作节点(执行任务的机器)已正常运行。Ready 状态表示节点可以部署应用。


第四步:部署 Nginx 示例

操作:

  1. 创建部署文件 nginx-deploy.yaml(用记事本保存):
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-demo
spec:
  replicas: 1  # 启动1个副本
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx-container
        image: nginx:latest  # 使用官方Nginx镜像
        ports:
        - containerPort: 80  # 容器暴露80端口
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80      # 服务端口
      targetPort: 80 # 容器端口
  type: NodePort    # 允许外部访问

  1. 执行命令:
kubectl apply -f nginx-deploy.yaml

为什么这么做?

  • Deployment:定义如何运行 Nginx(如镜像版本、副本数量)
  • Service:为 Nginx 创建访问入口,NodePort 类型允许通过主机 IP 访问
  • 使用 YAML 文件是 Kubernetes 的标准配置方式,可重复使用

第五步:访问 Nginx

操作:

  1. 查询服务端口:
kubectl get service nginx-service

输出示例:

NAME            TYPE       PORT(S)        
nginx-service   NodePort   80:31234/TCP  # 31234是随机分配的外部端口

  1. 浏览器访问:
http://localhost:31234  # 看到 "Welcome to nginx!" 即成功

为什么这么做?

NodePort 服务将容器端口映射到主机的随机端口(30000-32767),通过 localhost 即可访问容器内的 Nginx。


第六步:管理应用

常用命令:

命令作用
kubectl get pods查看运行的 Nginx 容器
kubectl logs <pod名称>查看 Nginx 日志
kubectl delete -f nginx-deploy.yaml删除部署

关键概念解释(初中级友好版)

  1. 容器 (Container)

    类似轻量级虚拟机,打包了应用和运行环境(如 Nginx + 配置文件)。

  2. 节点 (Node)

    运行容器的"工人机器",本例中是你的 Windows 电脑。

  3. Deployment

    说明书,告诉 Kubernetes 如何创建和管理容器(如用哪个镜像、启动几个副本)。

  4. Service

    给容器分配一个固定"门牌号",即使容器重启,访问地址也不会变。

💡 为什么用 Kubernetes?
即使容器崩溃,Kubernetes 会自动重启它(类似手机 App 闪退后自动恢复),确保服务始终可用。

通过此手册,你已在本地搭建了一个最小 Kubernetes 集群,并成功运行了 Nginx!下一步可尝试部署更多应用(如 WordPress)。

更多推荐