K8S-概述

k8s是什么?

go语言开发的开源的跨主机的容器编排工具;全称是kubernetes;

k8s的组件:

在这里插入图片描述

master:

①kube-apiserver 所有服务统一的访问入口,无论对内还是对外;

②kube-controller-manager 资源控制中心,负责管理pod的资源对象和部署的控制器,确保资源在预期值;

③kube-scheduler 管理pod的资源调度,根据调度算法给pod放入合适的node中;

etcd:kubernetes的数据库,以键值对的形式将数据储存在分布式数据库中,只有apiserver有读写权限;

worker node:

④kubelet 管理和创建pod中的容器,和容器引擎交互,管理容器的生命周期。检测node的资源信息和pod的运行状态,发送给master的apiserver

⑤kube-proxy 是service的载体,是pod的网络代理,实现负载均衡和服务发现,同时监听service/endpoints的变化刷新负载均衡的策略

⑥容器引擎,运行容器的

控制器:

1、node controller 节点控制器,在节点发生故障时及时发现和响应;
2、replication controller 副本控制器,控制副本数达到客户的期望值;
3、endpoints controller 端点控制器,负载均衡和服务发现使用
4、service account & token controller 账户和令牌控制器,在创建命名空间时添加默认账户和api访问令牌
5、resourcequota controller 资源限制控制器
6、namespace controller 命名空间控制器,管理namespace的生命周期

K8S创建Pod的工作流程?

1、用户通过客户端发送创建pod的请求到master节点上的apiserver
2、apiserver会先把相关的请求信息写入到etcd中,再找controller-manager根据预设的资源模板创建pod清单
3、然后controller-manager会通过apiserver去找scheduler为新创建的pod选择最适合的Node节点
4、scheduler会通过调度算法的预选策略和优选策略筛选出最适合的Node节点
5、然后再通过apiserver找到对应的Node节点上的kubelet去创建和管理pod
6、kubelet会直接跟容器引擎交互来管理容器的生命周期
7、用户通过创建承载在kube-proxy上的service资源,写入相关的网络规则,实现对pod的服务发现和负载均衡

kubernetes的资源对象:

k8s可以进行增删改查的操作并持久化存储在etcd中,k8s可以根据etcd的预期值和现实中的资源情况进行自动控制和自动纠错;

①pod,是k8s最小/最简单的基本单位。
一个pod是一个集群中正在运行的进程。
pod中的容器(一个或多个)共享命名空间。
pod中的容器可以通过localhost互相访问,也可以进行挂载数据卷,不同的pod不可以。

②pod控制器,是pod启动的一种模板,保证pod按照客户的资源预期值启动。

③label标签 自带也可手动设置标签,便于分类管理资源。
键值对的方式,一个资源对象可以有多个label,一个label也可以给多个资源对象使用。可以被删除和添加

④label selector 标签选择器,根据标签筛选资源对象。

⑤service,每个pod会有一个单独的ip和端口,但是pod有生命周期,ip和端口会变化。
根据标签选择器去选择标签,就可以获取到变化的endpoints,刷新负载均衡了

⑥ingress,七层代理,service只可以四层,对外访问时使用,负责集群内外通讯。

控制器:

1、deployment 无状态应用部署,管理和控制pod和replicaset,管理他们的预期值不变。
相当于deployment是总包,replicaset是小包,干活的是pod,replicaset控制pod的数量,达到用户的预期值
在这里插入图片描述
2、daemonset,保证每个节点都有一个pod运行,可以根据节点的状态添加或删除pod
3、statefulset ,部署有状态应用
4、job:部署一次性任务的pod,pod执行完任务就会自动退出,只部署一次
5、cronjob:周期性的部署一次性任务的pod

资源配置信息:
Apiversion 每种资源对象在K8S中所使用的 api 接口版本
Kind 资源对象的类型
Matedate 资源对象的元数据,比如 资源名称name 命名空间namespace 标签label
Spec 资源对象的资源配置清单,比如 副本数 镜像名 数据卷 资源限制 标签选择器label selector
Status 资源对象当前的运行状态信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值