
作者介绍了一个不错的pdf工具,可以用于PDF编辑、拆分、合并、对比工具
本篇文章是一个学习kubernetes的指导性文章,文章中会涉及你学习kubernetes过程中所需要掌握的大部分内容,本文持续更新。
如果您不熟悉Kubernetes,或者想要学习kubernetes,那么这篇文章会是一个不错的起点,文章中具体的内容细节点会跳转对应的文章,敬请期待。
这篇文章主要是用来引导了解基础知识,重点介绍 Kubernetes 对象以及您在 Kubernetes 实践中工作所需的基本工具。
主要涉及如下几点:
之前也有写过一篇完整的学习路线,可以作为参考:如何学习kubernetes(附完整路线图及资源)
顾名思义,Kubernetes 或 k8s 是由云原生计算基金会维护的基于容器的应用程序的开源编排和集群管理。
Kubernetes (k8s) 官网说:
Kubernetes 是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。
它将组成应用程序的容器分组到逻辑单元中,以便于管理和发现。Kubernetes 建立在 Google 15 年运行生产工作负载的经验之上,并结合了社区的最佳想法和实践。
简而言之,Kubernetes 使管理多个主机上的容器变得容易。此外,它还使使用声明性 YAML 文件进行容器部署变得如此简单。
从而可以指定容器的部署方式,Kubernetes 会通过读取 YAML 中提供的信息来处理它。
根据 Splunk 的 Kubernetes 状况报告,96% 的组织正在使用或评估 Kubernetes,目前有 560 万开发人员正在使用 kubernetes。此外,在过去 5 年中,集装箱生产使用量增加了 300% 以上。
当涉及到 Kubernetes 或容器编排器时,第一个问题是我们为什么需要它。让我们从两个例子来理解它。
假设有几个 Java 应用程序。
我们可以将其打包到容器中,并在包含 Docker 引擎或任何容器引擎的服务器上运行它。对于这种情况,没有复杂性。
使用 Dockerfile 将应用程序打包到 Docker 镜像中,并在主机上公开一个端口,让外部可以访问。
但问题在于它可能单点故障,因为它仅在单个服务器上运行。为了处理单点故障,我们需要一个有效的机制。
这就是为什么需要像 Kubernetes 这样的容器编排工具来按需扩展应用程序并承受单节点故障。
Kubernetes 有助于扩展应用程序、自我修复和滚动更新,使其非常适合运行容器。
现在,假设有一个由微服务(API、UI、用户管理、信用卡交易系统等)组成的大型应用程序。所有这些微服务组件都必须使用 REST API 或其他协议相互通信。
由于应用程序有许多组件或微服务,因此我们无法将所有服务部署在一个服务器或容器中。应用程序必须解耦,每个微服务都应该自行部署和扩展。这使得应用程序开发和部署更轻松、更快速。
在这种情况下,复杂性在于网络、共享文件系统、负载均衡和服务发现。这就是 Kubernetes 的用武之地。它有助于以可管理的方式编排复杂的流程。
使用 Kubernetes,您只需要担心应用程序的开发和部署。
所有繁重的工作,如网络、跨节点的服务到服务通信、负载均衡、服务发现、资源调度、可扩展性和高可用性,都由 Kubernetes 负责。
总的来说,Kubernetes 可以帮助您实现以下目标。
为了开始使用 Kubernetes,所有 Kubernetes 初学者的教程按顺序分类到不同的部分。这是一个不断更新的的全面实用 Kubernetes 学习指南列表。
注意:Kubernetes 是一个开源工具,功能会不断更新。指南可能使用了旧版本的 API 或工作流,但情况会发生变化。我尽量保持所有指南的更新。如果有的话,如遇到任何问题,请发表评论,以便了解更新并进行相应的更改。
本节提供关于 Kubernetes 架构、设计、开发集群设置指南、云平台上的集群设置指南以及 Kubernetes 集群自动化的初学者教程。
在本节中,将学习如何在本地工作站和云平台上设置类似生产的多节点 Kubernetes 集群和开发集群。
我强烈建议大家使用以下教程设置自托管集群。它将为 Kubernetes 组件如何与集群中涉及的关键配置进行交互打下坚实的基础。
8.如何在 Vagrant VM 上启动 Kubernetes 集群
使用 Kubernetes 集群时,kubectl 是与集互的重要命令。在本节中,我们将查看有效使用 kubectl 的教程。
在本节中,我们将学习使用 Kubernetes 原生工具和其他开源和 cncf 相关工具进行 Kubernetes 备份和恢复。
10.Etcd 备份和恢复:关于备份 etcd 和从备份中恢复它的详细指南
本节介绍有关 Kubernetes 原生资源的教程,如部署、Pod、Statefulset、RBAC、作业、入口等。
11.Kubernetes Pod 解释:通过实际示例解释基本对象 pod
12.Pod 生命周期解释:有关 Pod 生命周期阶段的详细指南
13.了解 init 容器:深入了解 init contianers
17.如何创建用于 API 访问的 Kubernetes 服务帐户
18.面向初学者的 Kubernetes Ingress 教程
19.如何使用 Nginx 控制器在 Kubernetes 上设置 Ingress
20.如何为 Kubernetes Ingress 配置 SSL/TLS
22.Kubernetes Pod PriorityClass 和 Preemption 解释
本节重点介绍如何使用 Prometheus、Grafana、Alert Manager 等工具进行 Kubernetes 监控和日志记录。我们还将介绍与特定云提供商相关的日志记录和监控指南。
24.如何在 Kubernetes 集群上设置 Prometheus 监控
25.在 Kubernetes 上设置 Prometheus Node Exporter
本部分介绍有关 Kubernetes 日志记录的端到端初学者教程列表。
29.Kubernetes 日志为初学者解释:本教程详细介绍了 Kubernetes 日志的底层概念和模式。
30.Kubernetes 上的 EFK 设置:解释 Kubernetes 上的 EFK 日志记录堆栈的分步指南。
31.在 Kubernetes 上设置 Grafana Loki
在本节中,我们将学习对 Kubernetes 对象(Pod、部署、有状态副本集、集群组件等)进行故障排除。
本节旨在介绍如何为 PostgreSQL、MongoDB 等数据库设置 Statefulsets 的教程。我们还将介绍 Kubernetes 数据库运算符,它们提供了额外的功能来管理 Kubernetes 上的数据库。
33.了解如何部署 PostgreSQL Statefulset 集群
在 Kubernetes 包管理下,您将了解 Helm 和 Kustomize 等工具。Helm 是一个模板工具,Kustomize 是一个覆盖引擎。这些是组织用于管理 Kubernetes 部署的标准工具。
在 Kubernetes CI/CD 下,您将学习使用常用的 CI/CD 工具(如 Jenkins)和高级 GitOps Operator(如 ArgoCD、FluxCD 等)。
40.在Kubernetes Pod 上设置 Jenkins 构建代理
41.使用 Kaniko 在 Kubernetes Pod 中构建 Docker 镜像
42.在 Kubernetes 上设置最新的 Nexus OSS
在本节中,您将学习如何使用推荐的开源密钥管理工具在 Kubernetes 中管理密钥。此外,我们还将介绍可以与 Kubernetes 集成的特定于云的秘密管理解决方案。
45.在 Kubernetes 中设置 Hashicorp Vault
在本节中,我们将了解 Kubernetes 安全指南。
如果您希望获得 Kubernetes 认证,以下认证指南将有所帮助。
47.CKA认证学习指南
以下是 Kubernetes 的一些最新更新。
Kubernetes v.1.30:Uwubernetes 已发布,具有 58 个新功能和改进功能。
Kubernetes v.28:Planternetes 已发布。它有 45 项增强功能。19 个已进入 Alpha 阶段,14 个已升级为
Beta 阶段,12 个已阶段阶段为 Stable。
Kubernetes v1.27 版本:Chill Vibes 已发布。它有 60 项增强功能。其中 13 人正在毕业到稳定。
Kubernetes v1.26:电气化已经发布。它有 37 项增强功能。
Kubernetes v1.25:Combiner 已发布。它有 40 项增强功能。
Kubernetes 1.24:Stargazer 已发布。此版本有 46 项增强功能。其中,13 个正在逐步升级到稳定版,14 个现有功能得到了改进,添加了 13 个新功能,6 个已弃用。
Dockershim 在 Kubernetes 1.24 发布时已弃用
Kubernetes 卷扩展现在是一个稳定的功能
Kubernetes 好学吗?
Kubernetes 是一个复杂的分布式系统,也是一个由 API 驱动的 DevOps 工具。如果您了解 API、YAML 和网络的基础知识,则可以轻松学习 Kubernetes。
如何开始学习 Kubernetes?
要开始学习 Kubernetes,您需要首先了解有关平台本身的更多信息。有许多在线平台可以帮助您开始学习。其中一些包括以下内容:
将继续将所有 Kubernetes 初学者教程添加到此列表中。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。