如何入门 Kubernetes

本文将介绍一些学习 Kubernetes 的入门资源和文档。为了方便手机阅读,所有文档和资源都提供了二维码,这样扫描二维码就可以直接查看。

了解基本概念

首先推荐你花几分钟去看一下由微软贡献给 CNCF 的漫画《Phippy Goes to the Zoo》,跟着 Phippy 和她的侄女 Zee 到动物园中认识一下 Kubernetes 这个大家庭。

如何入门 Kubernetes_第1张图片

https://www.cncf.io/phippy

通过漫画对 Kubernetes 中的基本概念有了初步了解后,可以跟着官方文档中的交互式教程来实际操作,看一下它们到底是如何管理应用的,包括集群创建、应用部署、访问、扩展以及滚动更新等。这套教程使用 Katacoda 提供的环境,所以不需要本地的机器就可以在浏览器中进行操作。

如何入门 Kubernetes_第2张图片

https://kubernetes.io/docs/tutorials/kubernetes-basics

接下来是 Kubernetes 的文档,包括 Overview、Workloads、Services 等,进一步了解这些基本概念的细节。

如何入门 Kubernetes_第3张图片

https://kubernetes.io/docs/concepts/overview/what-is-kubernetes

最后,再跟着 Kubernetes 创始人 Brendan Burns 创建的系列视频(YouTube)进一步深入学习 Kubernetes 资源对象的工作原理。

如何入门 Kubernetes_第4张图片

http://aka.ms/k8sbasics

了解基本架构

熟悉了基本概念之后,可以继续 Kubernetes Architecture 部分,了解 Kubernetes 的基本架构,包括主要的组件:

如何入门 Kubernetes_第5张图片

https://kubernetes.io/docs/concepts/overview/components

以及 Master 与 Node 之间是如何通信的:

如何入门 Kubernetes_第6张图片

https://kubernetes.io/docs/concepts/architecture/master-node-communication

然后,跟着 kubeadm 和 Kubernetes The Hard Way 的教程,探索一下各个组件的配置方法以及通信原理。

如何入门 Kubernetes_第7张图片

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

如何入门 Kubernetes_第8张图片

https://github.com/kelseyhightower/kubernetes-the-hard-way

最后,再回到 Kubernetes 本身的设计上,了解 Kubernetes 的设计准则以及从 Borg、Omega 等借鉴的经验,也就是 Google 发表的两篇经典论文:

  • Large-scale cluster management at Google with Borg

  • Borg, Omega, and Kubernetes - Lessons learned from three container-management systems over a decade

如何入门 Kubernetes_第9张图片

https://ai.google/research/pubs/pub43438

如何入门 Kubernetes_第10张图片

https://queue.acm.org/detail.cfm?id=2898444

动手实践

动手实践阶段可以跟着 Katacoda 提供的一系列 Kubernetes 教程对集群部署和应用程序管理等进行实践操作。这个系列包括 17 种不同场景,在浏览器中就可以完成所有操作。

如何入门 Kubernetes_第11张图片

https://www.katacoda.com/courses/kubernetes

接着,根据 Kubernetes Getting Started 教程部署一套 Kubernetes 集群。这里你可以使用 minikube、kubeadm 等在本机或者虚拟机中搭建,也可以选择云平台提供的托管集群服务。这里最主要的目的是学习如何创建一套准生产环境可用的 Kubernetes 集群。

如何入门 Kubernetes_第12张图片

https://kubernetes.io/docs/setup/

集群准备好后,就可以进一步深入 Kubernetes 的核心功能,比如认证授权、调度、网络、存储、扩展等等。这些都在 Kubernetes 文档的 CONCEPTS 和 TASKS 模块中。

如何入门 Kubernetes_第13张图片

最佳实践

首先推荐 Brendan Burns 撰写的《Designing Distributed Systems》,学习如何基于 Kubernetes 设计分布式系统,特别是应用程序向 Kubernetes 迁移时应该遵循哪些设计理念。这是一本免费的电子书,可以直接到 Azure 网站上下载。

如何入门 Kubernetes_第14张图片

https://azure.microsoft.com/zh-cn/resources/designing-distributed-systems/

接下来就是在使用 Kubernetes 时的最佳实践。如果你使用了云平台,并且云平台提供了 Kubernetes 服务,那么该云平台的 Kubernetes 文档就是你应该首先参考的最佳实践。即使你没有使用该云平台,这些文档通常也是很不错的参考。比如,这儿是 AKS 的最佳实践文档,涵盖了大部分集群管理和开发人员应该遵循的最佳实践。

如何入门 Kubernetes_第15张图片

https://docs.microsoft.com/zh-cn/azure/aks/best-practices

再接着,对于企业级应用来说,安全是一个最核心的要素。如何保证 Kubernetes 集群以及其上应用程序的安全呢?推荐你去读一读 Liz Rice 和 Michael Hausenblas 撰写的 《Kubernetes Security》。

如何入门 Kubernetes_第16张图片

https://kubernetes-security.info

最后,Kubernetes 在落地实践过程之中会碰到哪些问题?如果碰到了问题,又该如何解决呢?《Kubernetes Failure Stories》就整理了最近几年 Kubernetes 真实场景中的故障案例,帮助你减少运行 Kubernetes 中的问题。

如何入门 Kubernetes_第17张图片

https://k8s.af/

你可能感兴趣的:(如何入门 Kubernetes)