一段文字讲清楚Kubernetes的工作原理
2019年02月18日 10:22:21 喜欢打酱油的老鸟 阅读数 82
2019-02-11 13:51:00
我们用命令行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语言开发的: