kubernetes架构介绍

kubernetes简介

kubernetes,简称美丽,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效(强大),kubernetes提供了应用部署,规划,更新,维护的一种机制。

 kubernetes架构介绍

Kubelet是kubernetes中最主要的控制器,它是豆荚和节点API的主要实现者,Kubelet负责驱动容器执行层。在kubernetes中,应用容器彼此是隔离的,并且与运行其的主机也是隔离的,这是对应用进行独立解耦管理的关键点。

控制器经理:负责管理集群的各种资源,保证资源处于预期的状态。它由多种控制器组成,包括复制控制器,控制器端点。
名称空间控制器,Serviceaccounts控制器等等。
Etcd:负责保存k8集群的配置信息和各种资源的状态信息。当数据发生变化时,Etcd会快速的通知k8相关组件。第三方组件,它有可替换方案.Consul,饲养员
荚:k8集群的最小组成单位。一个豆荚内,可以运行一个或多个容器。大多数情况下,一个豆荚内只有一个集装箱容器。
弗兰纳:是k8集群网路方案,可以保证Pod的跨主机通信。第三方解决方案,也有替换方案。

查看应用在哪个节点
[root@master ~] # kubectl得到豆荚,所有名称空间

查看应用在哪个节点的详细信息
[root@master ~] # kubectl得到豆荚,所有名称空间宽- o

Kubeler:他是节点的代理(代理),当调度器确定某个节点上运行Pod之后,会将Pod的具体配置信息发送给该节点的Kubelet, Kubeler会根据这些信息创建和运行容器,并向主人报告运行状态。
Kube-proxy:负责将访问服务的TCP/UDP数据流转发到后端的容器。如果有多个副本,Kube-proxy会实现负载均衡。

运行一个例子:三台都导入httpd镜像导成码头工人镜像
创建一个部署资源对象.Pod控制器。
[root@master ~] # kubectl运行测试web -图像=httpd -副本=2
查看节点:
[root@master ~] # kubectl得到部署。
简写:
[root@master ~] # kubectl得到部署
 kubernetes架构介绍

[root@master ~] # kubectl得到pod
 kubernetes架构介绍

哪台见鬼掉重启kuelet:
[root@master ~] # systemctl重启kubelet
[root@master ~] # kubectl得到宽pod - o
 kubernetes架构介绍

删除节点:
[root@master ~] # kubectl删除pod test-web-5b56bdff65-j6g75
还是两个:这就是控制器的原因
 kubernetes架构介绍

分析各个组件的作用以及架构工作流程:
1) kubectl发送部署请求到API服务器
2) API服务器通知控制器经理创建一个部署资源
3)调度器执行调度任务,将两个副本舱分发到node01和node02上
4) node01和node02上的kubelet在各自节点上创建并运行豆荚。
补充:
1。应用的配置和当前的状态信息保存在etcd中,执行kubectl得到舱时API服务器会从etcd中读取这些数据。
2.法兰绒回味每个吊舱分配一个IP。但此时没有创建服务资源,目前kube-proxy还没有参与进来。

kubernetes架构介绍