首页 » 翻译 » Kubernetes » 正文

Kubernetes系列翻译02 Kubernete架构

原文地址:http://kubernetes.io/v1.0/docs/design/architecture.html

一个正在运行的Kubernete云平台包括 节点代理(kubelet),和一个master(api,shedule等等),这些都是基于分布式存储解决方案的基础上,下图显示了Kubernetes的设计状态,虽然还有部分问题正在研究中(比如让kubelet在容器中自己运行还有让shedule 完全的可以插拔式运行)
architecture

Kubernetes 节点
当看到整体的架构之后,我们把整体分解成在工作节点上运行的服务和组成控制中心的服务,Kubernetes 节点包含运行容器以及接受中心控制的各种必要服务

每个节点都运行着Docker,这个是必须的,Docker负责镜像的下载及容器的加载

Kubelet
Kubelet控制着Pod以及Pod中的容器,以及容器的镜像,磁盘等信息

Kube-Proxy
每个节点都运行着一个简单的网络代理和一个负载均衡器,它的作用就是影射各种Kubernete API中的各种定义好的在节点上的服务,并且能够在后段作简单的TCP和UDP转发

服务的最终端是通过DNS或者环境变量找到的,变量指向Kube-proxy管理的端口

—————————————————————————–
The Kubernete Control plane
Kubernete控制中心被分割成一个一个的部分组成,现在所有的构成服务均在Master主机运行,但是可能会在将来改变以达到能够支持高可用集群,所有的构成服务协同工作,构成一个统一的控制中心

etcd
所有的持久化的Master状态都存储在一个etcd实例中,etcd提供了一个可靠的存储各种配置的解决方案,并且提供了监控支持,使得其他协同组件可以快速的了解各种变化

Kubernetes API server
Kubernetes API SERVER 承载了 Kubernete api,它被设定成为一个大杂烩,他的逻辑组成部分都在分散的部件或者插件中,它主要的功能是执行 重置 操作,验证,以及更新etcd中的内容(我擦,这个地方看了好几遍美看懂阿)

Scheduler

Scheduler的作用是通过api把pods和node进行绑定,pluggable是可插拔的,将来我们希望能够提供多个pluggable,甚至支持用户自己的pluggable

Kubernetes Controller Manager Server
所有其他的功能都是由Kubernetes Controller Manager Server来完成的,比如,Endpoints 的创建和更新是有Endpoints 控制器完成,节点的发现,管理,监控是由节点控制器完成的,这些都会慢慢的被分离出来,然后做成可插拔的服务

replicationcontroller 是一个在顶端的机制,并且计划将其作为一个通用的插件。

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)