大数跨境

K8S系列第一期:Kubernetes常见组件介绍

K8S系列第一期:Kubernetes常见组件介绍 天旦Netis
2020-11-06
2
导读:Kubernetes是Google开源的容器集群管理系统。它是基于Docker构建的一个容器调度服务,提供资

Kubernetes是Google开源的容器集群管理系统它是基于Docker构建的一个容器调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件。由于Kubernetes基于docker容器的云平台,因此简写成k8s。




K8S功能套件


1、master:kubernetes的管理结点

2、apiserver:提供接口服务,用户通过apiserver管理整个容器集群平台。apiserver负责和etcd交互(其他组件不会直接操作etcd,只有apiserver这么做),整个kubernetes集群的所有交互都以API Server为核心。所有对集群进行的查询和管理都需通过api进行;所有模块之间并不会互相调用,而是通过和apiserver打交道完成自己的工作。apiserver提供的验证和授权保证了整个集群的安全。

3、scheduler:kubernetes调度服务

4、Replication Controllers:复制,保证pod的高可用。Replication Controller是Kubernetes系统中最强大的功能之一,它可以复制多个Pod副本。一个应用往往需要多个Pod进行支撑,并且需要保证其复制的副本数,即使副本所调度分配的宿主机出现异常,通过Replication Controller仍可以保证在其它宿主机使用同等数量的Pod。

5、minion:真正运行容器container的物理机。kubernets中需要很多minion机器用来提供运算。

6、container:容器,可以运行服务和程序

7、 Pod:在Kubernetes系统中,调度的最小颗粒不是单纯的容器,而是抽象成Pod。Pod是可以被创建、销毁、调度、管理的最小部署单元,它可以包括一个或一组容器。

8、Kube_proxy:代理做端口转发,相当于负载调度器。Proxy解决了同一宿主机相同服务端口冲突的问题,还提供了对外服务的能力,Proxy后端使用了随机、轮循8负载均衡算法。

9、etcd:etcd存储了kubernetes的配置信息,因此可以被看作是k8s的数据库。它存储着k8s容器云平台中所有节点、pods、网络等信息。etcd(daemon)同时是一个存储配置文件的后台服务。

10、Services : Services是Kubernetes的最外围单元。其通过虚拟一个访问IP及服务端口可以访问我们定义好的Pod资源。

11、Labels标签:Labels 是用于区分Pod、Service、Replication Controller的key/value 键值对。它仅用于对Pod、Service、Replication Controller之间的关系识别,但对这些单元进行操作时需要使用name标签。

12、 Deployment:Deployment是用于更新Pod的方法。你可以在Deployment对象中描述你所期望的理想状态(预期的运行状态),Deployment控制器会将现在的实际状态转换成期望状态。例如,将所有的webapp:v1.0.9升级成webapp:v1.1.0,只需创建一个Deployment,Kubernetes会按照Deployment自动进行升级。通过Deployment可以用来创建新的资源。

13、Kubelet命令:Kubelet和Kube-proxy都运行在minion节点上。Kube-proxy实现Kubernetes网络相关的内容,而Kubelet命令则管理Pod、Pod中的容器及容器的镜像和卷等信息。




各组件间的关系


1、Kubernetes架构是由一个master和多个minion组成,master通过api提供服务,接受kubectl的请求来调度管理整个集群。Kubectl是k8s平台的一个管理命令。

2、Replication controller定义了多个pod或者容器需要运行,如果当前集群中运行的pod或容器达不到配置的数量,replication controller会调度容器在多个minion上运行,保证集群中的pod数量。 

3、service则定义真实对外提供的服务,一个service会对应后端运行的多个container

4、Kubernetes是个管理平台,minion上的kube-proxy拥有提供真实服务公网的IP。客户端访问kubernetes中提供的服务,是直接访问到kube-proxy上的。

5、在Kubernetes中pod是一个基本单元,一个pod可以是提供相同功能的多个container,这些容器会被部署在同一个minion上。minion是运行Kubelet中容器的物理机。minion接受master的指令创建pod或者容器。


【声明】内容源于网络
0
0
天旦Netis
上海天旦网络科技发展有限公司是国际领先的业务与网络性能管理领域的软件产品企业,针对关键业务保障、交易分析、大数据采集和挖掘等方面提供专业的产品和解决方案。
内容 236
粉丝 0
天旦Netis 上海天旦网络科技发展有限公司是国际领先的业务与网络性能管理领域的软件产品企业,针对关键业务保障、交易分析、大数据采集和挖掘等方面提供专业的产品和解决方案。
总阅读0
粉丝0
内容236