从零开始学习Kubernetes的路线图(初级到高级)
作者:Sec-Labs | 发布时间:
项目地址
https://github.com/techiescamp/kubernetes-learning-path
https://devopscube.com/learn-kubernetes-complete-roadmap/
Kubernetes 学习路线图
🚀 CKA、CKAD、CKS 或 KCNA 考试有志者今天可以 在 https://kube.promo/devops 使用代码 DCUBEOFFER 节省 60 美元 。 这是 Linux 基金会的限时优惠。
先决条件
- 学习容器概念并开始使用 Docker 完整指南
- 了解分布式系统 博客
- 了解身份验证和授权 博客
- 了解键值存储 博客的基础知识
- 了解 REST API 博客的基础知识
- 学习 YAML 博客
- 了解服务发现 博客
- 学习网络基础知识
- L4 和 L7 层(OSI 层) 博客
- SSL/TLS 博客
- 网络代理基础知识 博客
- DNS 博客
- IPTables 视频
- 软件定义网络 (SDN) 博客
学习 Kubernetes 架构
下图显示了高级 kubernetes 架构以及外部服务如何连接到集群。

参考以下文档学习 Kubernetes 架构。
学习设置 Kuberntes 集群
作为 DevOps 工程师,全面了解每个组件和集群配置对于在生产环境中工作至关重要。 尽管部署 Kubernetes 集群的方法多种多样,但建议您从头开始学习如何设置多节点集群。 这使您能够获得有关高可用性、扩展和网络等概念的知识,并模拟真实世界的项目。
此外,掌握多节点集群的配置对于面试和建立对自己能力的信心也大有裨益。 以下是建立 Kubernetes 集群的推荐方式。
- Kubernetes 艰难之路 Github
- Kubeadm 集群设置 博客
- Minikube 开发集群 博客
- Kind开发集群 官方文档
- Vagrant 自动化集群 Github
用于启动集群的 1000 美元以上免费云积分
在云中启动大型集群的成本可能很高。 因此,利用可用的云学分来练习部署集群,就像您在处理真实项目一样。 所有云平台都提供托管 Kubernetes 服务。
- GKE -Google Cloud 300 美元免费积分 云平台
- EKS - AWS 300 美元免费 POC 积分 云平台
- DO Kubernetes - Digital Ocean – 200 美元的免费积分 云平台
- Linode Kubernetes Engine - Linode Cloud – 100 美元免费积分 云平台
- Vultr Kubernetes Engine - Vultr Cloud - 250 美元免费积分 云平台
了解 KubeConfig 文件
作为 DevOps 工程师,熟悉 Kubeconfig 文件很重要。 它对于为 CI/CD 系统设置集群身份验证、为开发人员提供集群访问等任务至关重要。
Kubeconfig 文件是一个 YAML 文件,它存储用于连接到 Kubernetes 集群的信息和凭证。 命令行工具(例如 kubectl 和其他客户端库)使用它来对集群进行身份验证并与其资源进行交互。
Kubeconfig 文件可用于存储多个集群和用户的信息,允许用户轻松地在不同的集群和上下文之间切换。 它是管理对 Kubernetes 集群的访问和交互的重要工具。
请参考以下文档详细了解 Kubeconfig 文件。
了解 Kubernetes 对象和资源
在 Kubernetes 中,对象是集群中的持久实体,代表系统的期望状态。 它由 Kubernetes API 服务器创建和管理,并存储在 etcd 键值存储中。 Kubernetes 对象的示例包括 pod、服务和部署。
这是 Pod 对象的示例
api版本:v1 种类:豆荚 元数据: 名称:nginx 规格: 容器: - 名称:nginx 图片:nginx:1.14.2 端口: -容器端口:80
资源是 Kubernetes API 公开的 Kubernetes 对象的表示。 它是客户端与集群中的对象进行交互和操作的一种方式。
资源是指用于访问对象的特定 API URL。 通常使用 GET、POST 和 DELETE 等 HTTP 动词通过 Kubernetes API 访问资源。 例如,该 /api/v1/pods 资源可用于检索 v1 Pod 对象的列表。 此外,可以从 /api/v1/namespaces//pods/ 资源中获取单个 v1 Pod 对象
了解 Pod 和相关资源
<--进行中-->
了解 Pod 相关对象
<--进行中-->
在 Kubernetes 上部署端到端应用程序
<--进行中-->
了解如何保护 Kubernetes 集群
<--进行中-->
了解 Kubernetes 操作符模式
<--进行中-->
了解重要的 Kubernetes 配置
<--进行中-->
学习 Kubernetes 最佳实践
<--进行中-->
学习 Kubernetes 日志记录和监控
<--进行中-->
学习 Kubernetes 生产最佳实践/学习
- 生产准备清单
- 了解 12 Factor Apps 官方指南
- 从 Kubernetes 失败案例中学习 博客列表
- 在生产日常视频 中调度 300,000 个 Kubernetes Pod
真实世界的 Kubernetes 案例研究
如果你没有真实世界的 Kubernetes 经验,最好阅读其他公司使用 kubernetes 的案例研究。
- Kubernetes 用户案例研究列表 官方案例研究
- OpenAI 如何将 Kubernetes 扩展到 7,500 个节点 博客
- 测试每个节点 500 个 Pod 博客
- Airbnb博客 上的动态 Kubernetes 集群扩展
学习 Kubernetes 模板工具
Helm 和 Kustomize 都是用于管理 Kubernetes 清单的工具。 它们在很多方面都很相似,但也有一些关键的区别。
Helm 是 Kubernetes 的包管理器,允许用户在 Kubernetes 集群上轻松安装、管理和升级应用程序。 它使用一个称为“图表”的概念,它是预先配置的 Kubernetes 资源集,可以轻松部署、升级和回滚。
另一方面,Kustomize 是一种允许用户自定义和配置现有 Kubernetes 清单的工具。 它使用一个称为“补丁”的概念,可以应用于现有清单以针对不同的环境和用例对其进行自定义。 与 Helm 不同,Kustomize 不包含对版本控制和回滚的内置支持,并且没有“包”或“存储库”的概念。
- 学习从头开始创建 Helm Chart 实践博客
16.Kubernetes部署工具(基于GitOps)
<--进行中-->