1kubernetes的特点组件功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1kubernetes的特点组件功能相关的知识,希望对你有一定的参考价值。

kubernetes

核心特点
1、kubernetes是以应用为中心的容器编排工具
2、面向平台的平台,支持强大的扩展能力。
容器编排
容器生命周期管理:容器创建、运行、监控、终止、为容器运行提供支撑(卷编排、网络编排)
容器关系管理:
超亲密关系:运行一个整体,kubernetes抽象出来的新概念pod
非超亲密关系:各自独立运行
通过Service互相发现和访问
Service需要DNS的支撑,为Service提供一个独立DNS域名格式的名称

从本质上来讲:kubernetes就是把应用构建成镜像以后,基于镜像以容器化的方式来运行应用、编排应用、来让应用之间能够正常通信、来管理应用之间关系的容器管理系统。

kubernetes做什么
一:来解决实现当用户需要运行一个容器的时候,kubernetes选择出来一个合适的节点,把应用
以容器化的方式运行在目标节点上,至于如何创建和启动容器,kubernetes是不管的,是由docker引擎来实现。
二:基于网络存储的方式,为可能运行在任意节点上的容器提供存储服务,kubernetes要知道哪些存储可用,要根据自己调度的目标结果驱动外部存储服务与节点联合起来为容器提供存储空间
三:容器可能运行在任何一个节点上,都可以加入同一网络中,得到同一个网段的地址。kubernetes既不创建容器、运行容器,也不负责维护网络,这些都需要管理员额外选定之后借助第三方组件来实现,但他们却又都接收kubernetes的指挥,指挥节点运行容器、指挥节点对接外部存储为容器提供存储、还能指挥节点对接虚拟网络方案API接口,为容器提供网络功能。
kubernetes集群的节点类型
由Master和Worker两类节点组成
Master:控制节点
Worker:工作节点
运行逻辑
Kubernetes将所有工作节点的资源集结在一起形成一台更加强大的“服务器”
计算和存储接口通过Master之上的API Server暴露
客户端通过API提交应用程序的运行请求,而后由Master通过调度算法将其自动指派至某特定的工作节点以
Pod对象的形式运行
Master会自动处理因工作节点的添加、故障或移除等变动对Pod的影响
kubernetes集群架构(系统组件:Master、Worker、插件)
Kubernetes属于典型的Server-Client形式的二层架构 

Master主要由API Server、Controller-Manager和Scheduler三个组件,以及一个用于集群状态存储的Etcd存储服务组成,它们构成整个集群
的控制平面

而每个Node节点则主要包含Kubelet、Kube Proxy及容器运行时(docker是最为常用的实现)三个组件,它们承载运行各类应用容器


Master的组件:

1、API Server:以API形式对外提供服务,服务器程序,监听在某个套接字上;
2、Scheduler:调度器,负责为那些未能绑定到某节点的Pod,挑选一个最适配的Worker来运行它;只会从API接收指令;

3、Controller-Manager:Controller的集合,由一组Kubernetes内置的Controller集结而成;
除调度之外的编排决策,几乎都由Controller负责形式,需要进行的决策有很多类型:相应的,控制器也存在很多类型
如: PV/PVC: Volume控制器、Deployment:编排无状态应用、StatefulSet:编排有状态应用

4、etcd:存储集群状态,Kubernetes所支持的数据模式,由API Server进行定义和抽象 使用json格式
被称为资源类型 --> 实例化之后的结果,称为资源对象,存储在etcd中

Worker的组件:

Kubelet:集群代理程序,负责控制平面事关Pod运行的各种决策
kube-proxy:与网络功能中的Service相关 两种工作模式:iptables ipvs
Kubelet、kube-proxy、kubectl都是API Server的客户端

插件组件:

Add-Ons:
有些附件是必选:ClusterDNS: CoreDNS
Network Plugin: flannel/calico
容器虚拟网络
kubernetes网络
节点网络:由管理员管理
Servise网络:由kubernetes自行管理,它会为每个service分配一个地址,而该ip地址只会存在于iptables、ipvs规则中
pod网络:虚拟网络,需要专用的解决方案实现,即第三方网络插件。如:flannel、caloco、cilium、...
kubernetes高可用方案:
1、使用专用的节点部署负载均衡器
需要专用节点
负载均衡器需要HA
2、在工作节点端实现
每个工作节点自行部署nginx/HAProxy
每个Nginx/HAProxy的上游都是三个API Server
每个工作的节点,当前节点要确保指向API Server主机名要解析至自己的IP
3、在Master节点上实现
每个Master部署Nginx/HAProxy
三个Master节点,需要keepalived漂移IP
每个工作的节点指向API Server主机名要解析至由keepalived漂移的VIP

以上是关于1kubernetes的特点组件功能的主要内容,如果未能解决你的问题,请参考以下文章

K8S-yaml配置文件详解

1kubernetes系统基础190622

01-集群环境及组件介绍

Kubernetes In Action :1Kubernetes介绍

Kubernetes In Action :1Kubernetes介绍

hbase的基本组件不包括