Kubernetes 基础知识

学习 Kubernetes 基础知识。本模块涵盖集群访问 (Cluster Access)、理解 Pods、与 Pods 交互 (Interacting with Pods)、用于扩展的 Deployments、使用 Services 暴露应用 (Exposing Apps with Services)。您将通过实践操作实验 (hands-on labs) 和真实世界的挑战来掌握这些基本的 Linux 技能。

DevOps 工程师KubernetesDevOpsPython

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

简介

Kubernetes 将应用运维从管理单个容器,转变为声明资源并由集群持续协调实际状态。本实践课程会在本地 Kubernetes 集群中运行 Nginx 工作负载,帮助你建立这一核心思维方式。

你将直接使用 kubectl 和 YAML:验证集群访问、创建并检查 Pod、调试运行中的容器、用 Deployment 管理副本,以及通过 Service 转发流量。最终挑战要求你部署并暴露应用,执行滚动镜像更新,再通过回滚恢复稳定版本。

你将学到什么

  • 启动单节点 Minikube 集群,并验证当前 kubectl 上下文、控制平面和节点状态
  • 使用 YAML 定义并应用 Nginx Pod,解读其状态、就绪情况、详细信息和事件
  • 使用 kubectl logs、kubectl exec 和临时端口转发排查运行中的 Pod
  • 创建选择器与 Pod 标签一致的 Deployment,并观察由 ReplicaSet 管理的副本
  • 删除受管 Pod 来验证自愈能力,并将 Deployment 扩缩到新的副本数
  • 配置 NodePort Service、修正其选择器,并追踪从节点端口到 Nginx Pod 的流量路径
  • 在最终挑战中完成无状态应用的部署、暴露、更新、监控和回滚

本课程适合谁

本课程适合希望完成第一个 Kubernetes 实践工作流的 DevOps 学习者、开发者和 Linux 管理员。

前置要求: 能够使用 Linux 终端;了解容器和 YAML 会有帮助,但不是必需条件。

学习环境: 可通过浏览器访问的 Linux 终端,预装 Docker、kubectl、Minikube、nano 和 curl;实验通过 Docker 驱动运行本地单节点 Minikube 集群,无需云账户。

常见问题

课程使用真实 Kubernetes 集群,还是只模拟命令?

你会在本地单节点 Minikube 集群中操作真实 Kubernetes 资源。实验会创建 Pod、Deployment、ReplicaSet 和 Service,并使用 kubectl 检查其实时状态。

我会学到如何排查运行中的 Pod 吗?

会。你将读取容器日志,通过 kubectl exec 进入 Shell,检查镜像的操作系统信息,查看 Pod 事件,并通过端口转发测试 Nginx 端点。

课程会涉及生产云部署或高级 Kubernetes 管理吗?

不会。课程聚焦 Minikube 中的基础工作负载操作,不涵盖托管云集群、多节点管理、持久化存储、Ingress 控制器或生产安全。

最终挑战会验证什么?

你需要创建包含三个副本的 Nginx Deployment 和一个端口为 80 的 Service,将镜像从 nginx:1.19.0 更新到 nginx:1.19.1,监控发布过程,然后回滚,使 Deployment 最终重新使用稳定的 1.19.0 镜像。

教师

labby
Labby
Labby is the LabEx teacher.