启动你的第一个 Kubernetes Pod

KubernetesKubernetesBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在这个挑战(Challenge)中,你将负责展示你在本地 Kubernetes 环境中部署一个基本 Web 服务的能力。你需要使用 Minikube(一个用于在本地运行 Kubernetes 的工具)创建和管理一个简单的 Pod。目标是测试你创建 Pod、验证其部署以及确保 Pod 运行正确的镜像并处于所需状态的技能。

这是一个挑战(Challenge),与实验(Lab)不同,你需要独立完成挑战任务,而不是按照实验的步骤学习。挑战通常有一点难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。根据历史数据,这是一个 初级 级别的挑战,通过率为 95.65%

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/TroubleshootingandDebuggingCommandsGroup(["Troubleshooting and Debugging Commands"]) kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/BasicCommandsGroup -.-> kubernetes/create("Create") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/describe("Describe") subgraph Lab Skills kubernetes/get -.-> lab-434769{{"启动你的第一个 Kubernetes Pod"}} kubernetes/create -.-> lab-434769{{"启动你的第一个 Kubernetes Pod"}} kubernetes/describe -.-> lab-434769{{"启动你的第一个 Kubernetes Pod"}} end

部署 Nginx Pod

作为一名新的云工程师,你被要求展示你在本地 Kubernetes 环境中部署基本 Web 服务的能力。这个挑战(Challenge)将测试你使用 Minikube 创建和管理简单 Pod 的技能。

任务

  • 使用 nginx:latest 镜像创建一个名为 web-server 的 Pod
  • 验证 Pod 是否在默认命名空间(namespace)中运行
  • 确保 Pod 已成功部署并准备好提供 Web 内容

要求

  • 使用 kubectl 创建 Pod
  • 将 Pod 命名为 web-server
  • 为 Pod 使用 nginx:latest 镜像
  • 在默认命名空间中部署 Pod
  • 确保 Pod 处于 Running 状态
  • ~/project 目录中工作

示例

成功部署 Pod 的示例:

NAME        READY   STATUS    RESTARTS   AGE
web-server  1/1     Running   0          30s

提示

  • 使用 minikube start 启动 Kubernetes 集群
  • 你可以通过两种方式创建 Pod:
    1. 使用带有 kubectl run 的命令式命令(研究所需的参数)
    2. 使用 YAML 文件:
      • 研究 Pod YAML 定义的基本结构
      • 记住包含 apiVersionkindmetadataspec 部分
      • 你的 Pod 名称应与要求中指定的名称完全一致
      • 考虑你需要包含哪些容器设置
  • 使用 kubectl get pods 检查 Pod 状态
  • 如果遇到问题,请使用 kubectl describe pod web-server 获取更多信息
  • 在创建 Pod 之前,请确保 Minikube 正在运行
✨ 查看解决方案并练习

总结

总而言之,这个挑战(Challenge)要求你使用 nginx:latest 镜像创建一个名为 web-server 的 Pod,然后验证该 Pod 是否在默认命名空间(namespace)中运行,并且处于 Running 状态。你需要使用 kubectl 命令来创建和管理 Pod,并确保它满足指定的要求。