一段文字讲清楚Kubernetes的工作原理

我们用命令行kubectl run nginx --image=nginx 创建一个deployment之后稍等片刻,便能观察到自动生成了一个处于运行状态的pod。

一段文字讲清楚Kubernetes的工作原理_第1张图片

这背后其实Kubernetes帮我们做了很多事情。

本文会围绕这张图进行讲解。

一段文字讲清楚Kubernetes的工作原理_第2张图片

首先,我们在kubectl get pod命令后加上-v=9的参数,这个参数可以打印kubectl命令运行的明细。

首先看到kubectl从本地目录.kube里读取配置,最主要的目的是获得API服务器的url,然后通过HTTP的方式同API server进行通讯。

一段文字讲清楚Kubernetes的工作原理_第3张图片

由此可见,kubectl就是一个轻量级的命令行工具,把用户输入的指令简单投递给API server,本身不处理任何逻辑。

https://kubernetes.io/docs/reference/kubectl/overview/

一段文字讲清楚Kubernetes的工作原理_第4张图片

API服务器会把我们提交的资源存储到etcd上。etcd是一个分布式的key value存储实现,专门解决分布式系统或者集群部署的存储一致性问题。

etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader.

github地址:
https://github.com/etcd-io/etcd
应该是用go语言开发的:
一段文字讲清楚Kubernetes的工作原理_第5张图片

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
一段文字讲清楚Kubernetes的工作原理_第6张图片

你可能感兴趣的:(Kubernetes,Kubernetes)