完整的 Kubernetes 课程 [免费] 🎉

2025-05-28

完整的 Kubernetes 课程 [免费] 🎉

Kubernetes,也称为 K8s,是一个开源容器编排平台,可自动执行部署和管理容器化应用程序时涉及的许多手动流程。

为什么我们需要 Kubernetes?🤔

学习 Docker 🐳之后,你就可以开始创建包含数十甚至数百个容器的非常复杂的应用程序,这些容器之间可以相互通信并以某种方式交互。
这些容器需要以分布式方式部署在多台服务器上。
因此,你可以想象,如果你必须手动管理这数百个容器而没有自动化,将会面临多么大的开销和工作量。🤦‍♀️

每次容器崩溃或它们之间的通信无法在多个服务器上进行时,您都必须干预并解决问题。

因此,如果有一个工具可以自动修复此类问题并恢复应用程序状态,那就太好了。这个工具就是容器编排工具。⭐️

Kubernetes是最流行的容器编排工具之一

Kubernetes 入门

在本课程中,我们将讲解 K8s 的用例,通过展示所有主要组件,你将了解 K8s 的实际工作原理以及如何使用它。此外,我们还将通过一个实际用例,在本地 K8s 集群中部署一个简单的应用程序设置,让你获得 K8s 的初步实践经验👩🏻‍💻,并进一步增强对这款工具的信心。

我们还将讨论更高级和更重要的概念,例如使用命名空间组织您的组件,如何使用 K8s Ingress 从外部访问您的应用程序,或如何使用卷在 K8s 中保存数据。

完整课程可在此处获取:🤓

▬▬▬▬▬▬ 课程概述 📚 ▬▬▬▬▬▬

🔥 1. Kubernetes 简介 - 什么是 Kubernetes 🔥

  • Kubernetes解决了哪些问题?
  • 容器编排工具提供哪些功能?

🔥 2. K8s 主要组件说明 🔥

K8s 拥有海量组件,但大多数情况下你只会使用其中的几个。本部分将逐步展示每个组件如何帮助你部署应用程序,以及每个组件的作用。

  • 节点和 Pod
  • 服务和入口
  • ConfigMap 和 Secret
  • Deployment 和 StatefulSet

🔥 3. Kubernetes 架构 🔥

在本部分中,您将了解构成 Kubernetes 集群的主节点和工作节点。

  • 工作节点
  • 主节点
  • API 服务器
  • 调度器
  • 控制器管理器
  • etcd——集群大脑

🔥 4. Minikube 和 kubectl - 本地设置 🔥

  • 什么是 Minikube?
  • 什么是 kubectl?K8s 命令行工具
  • 安装 minikube 和 kubectl
  • 创建并启动 Minikube 集群

🔥 5. 主要的 Kubectl 命令 🔥

  • 获取不同组件的状态
  • 创建 pod/部署
  • 抽象层
  • 更改 pod/deployment
  • 调试 pod
  • 删除 pod/部署
  • 通过应用配置文件进行 CRUD

🔥 6. K8s YAML 配置文件 🔥

在本部分中,您将学习 K8s 配置文件的语法和内容,它是创建和配置 Kubernetes 集群中组件的主要工具。

  • Kubernetes 配置文件的 3 个部分(元数据、规范、状态)
  • 配置文件的格式
  • Pod 蓝图(模板)
  • 将服务连接到部署和 pod(标签、选择器和端口)
  • 演示

🔥 7. 完整的演示项目 🔥

本部分并非在缺乏上下文的情况下单独创建每个组件,而是使用多个 Kubernetes 组件完成应用程序的设置。这是一个实践性很强的教程,它将指导您如何将不同的 Kubernetes 组件组合使用,让您对整个 Kubernetes 系统有一个大致的了解。

演示概述:

  • 创建 MongoDB Pod
  • 创建 MongoExpress Pod
  • 为数据库 URL 创建 ConfigMap
  • 为数据库凭证创建密钥
  • 创建 MongoDB 内部服务以连接到 Pod
  • 部署服务和配置图
  • 创建 MongoExpress 外部服务以从浏览器连接

🔥 8. 使用 K8s 命名空间组织你的组件 🔥

  • 什么是命名空间?
  • 4 个默认命名空间
  • 创建命名空间
  • 为什么要使用命名空间?4 个用例
  • 命名空间的特征
  • 在命名空间中创建组件
  • 更改活动命名空间

🔥 9. Kubernetes Ingress 解释 🔥

  • 什么是 Ingress?外部服务 vs. Ingress
  • 外部服务和入口的 YAML 配置文件示例
  • Ingress 的内部服务配置
  • 如何在集群中配置 Ingress?
  • 什么是 Ingress 控制器?
  • 集群运行的环境(云提供商或裸机)
  • 演示:在 Minikube 中配置 Ingress
  • Ingress 默认后端
  • 路由用例
  • 配置 TLS 证书

🔥 10. Helm - 包管理器 🔥

  • 包管理器和 Helm Charts
  • 模板引擎
  • Helm 的用例
  • Helm Chart 结构
  • 值注入模板文件
  • 发布管理 / Tiller(Helm 版本 2!)

🔥 11. 使用卷在 Kubernetes 中持久化数据 🔥

  • 持久存储的需求和存储要求
  • 持久卷(PV)
  • 本地卷类型与远程卷类型
  • 谁创建了 PV?何时创建?
  • 持久卷声明 (PVC)
  • 体积抽象级别

🔥 使用 StatefulSet 部署有状态应用 🔥

  • StatefulSet 是什么?无状态和有状态应用的区别
  • 有状态和无状态应用程序的部署
  • Deployment 与 StatefulSet
  • Pod 身份
  • 扩展数据库应用程序:Master Pod 和 Worker Pod
  • Pod 状态、Pod 标识符
  • 2 个 Pod 端点

🔥 Kubernetes 服务 🔥

  • K8s 中的服务是什么以及我们什么时候需要它?
  • ClusterIP 服务
  • 服务通信
  • 多端口服务
  • 无头服务
  • NodePort 服务
  • 负载均衡器服务

► 使用此代码可享受30% 折扣:UDEMY_NANA_NOV2020:Udemy 课程在此
Kubernetes 101紧凑且易于阅读的电子书包 🚀
这是一种快速查找某些内容或在工作中刷新知识并将其用作备忘单的便捷方法 😎

喜欢、分享并关注我😍以获取更多内容:

文章来源:https://dev.to/techworld_with_nana/full-kubernetes-course-free-24hp
PREV
Golang 初学者教程 [免费课程] 🎉 什么是 Go?💡 为什么开发 Go?它与其他编程语言有何不同?🧐 Go 语言的特点:在编写简单应用程序的同时学习语法和概念 👩‍💻
NEXT
完整的 Docker 课程 [免费]🎉🐳