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

版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.blog.csdn.net/article/details/86994200

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

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

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

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

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

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

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

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语言开发的:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券