博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kubernetes(k8s)架构及核心概念
阅读量:5012 次
发布时间:2019-06-12

本文共 1250 字,大约阅读时间需要 4 分钟。

K8s基础原理

k8s中文社区:

k8s快速入门: http://www.dockone.io/article/932

简介

Kubernetes 简单的说就是一个容器集群编排工具

Kubernetes 是为生产环境而设计的容器调度管理系统,对于负载均衡、 服务发现、高可用、滚动升级、自动伸缩等容器云平台的功能要求有原生支持

一个K8s集群是由分布式存储(etcd)、服务节点(Minion, etcd现在称为Node)和控制节点(Master)构成的。所有的集群状态都保存在etcd中,Master节点上则运行集群的管理控制模块。Node节点是真正运行应用容器的主机节点,在每个Minion节点上都会运行一个Kubelet代理,控制该节点上的容器、镜像和存储卷等。

1. Master(管理节点)核心组件:

  • API-Server ---k8s系统对外接口,提供Restful API供客户端和其他组件调用,支持水平扩展
  • Scheduler  ---负责对资源进行调度,具体负责分配某个请求的Pod到某个节点上
  • Controller  ---对不同资源的管理器,维护集群的状态,包括故障检测、自动扩展、滚动更新等
  • Etcd           ---作为K/V数据库,存放集群状态和配置相关数据

                      

2. Node(工作节点)核心组件:

  • Kubelet --- 节点上最主要的工作代理,汇报节点状态并实现容器组的生命周期管理
  • Kube-proxy --- 代理对抽象应用地址的访问,负责配置正确的服务发现和负载均衡转发规则(通常利用iptables规则)
  • Container runtime --- 本地容器引擎 (标准仅支持docker(rkt,cri-o,frakti等其他类型的容器使用CRI封装好的外部命令))

3. Addons(可选组件):

  • DNS --- 记录启动的容器组和服务地址,为集群提供dns服务
  • CNI  --- 容器网络插件必选(Flannel,calio,...)
  • WebUI  --- web界面
  • ...

4. 资源类型:

基础资源:Pod / Service / Namespace / Volume

高级资源控制器(建立在基础资源之上):ReplicaSet / Deployment / Daemonset / statefulSet / Job

 

  • Client通过service-ip(cluster-ip)访问Service
  • Service通过Label(Label select)来关联到Pod
  • Service也有可能会被删除,所以Client还是要通过DNS解析获得service-ip
  • Pod  --- 容器运行所在地,也是k8s操作的最小单元。  同一个Pod内的容器默认时共享网络的,并且可以使用同一存储卷

5. Kubernetes Network

 

K8S的架构图:

 

K8S组件:

 

转载于:https://www.cnblogs.com/alamisu/p/10940741.html

你可能感兴趣的文章
c#访问存储过程
查看>>
Slickflow.NET 开源工作流引擎基础介绍(三) -- 基于HTML5/Bootstrap的Web流程设计器
查看>>
Node教程
查看>>
java将字段映射成另一个字段,关于 接口传参 字段不对应转换
查看>>
Redis
查看>>
字段和属性的区别
查看>>
HTTP(一)工作机制
查看>>
条形码扫描枪数据读取的问题
查看>>
$this->autoRender = false
查看>>
健壮的 Java 基准测试
查看>>
phpstorm查看类的继承关系
查看>>
git create clone(仓库)
查看>>
chmod修改文件权限的命令
查看>>
新博客牵至简书
查看>>
矩阵求逆
查看>>
在 Windows 8、Windows 10 桌面模式下的 .NET Framework 程序中,引用 Windows.Runtime 的 API。...
查看>>
2015 8月24号 工作计划与实行
查看>>
MVC AJAX
查看>>
Google Map API V3开发(6) 代码
查看>>
Kafka初入门简单配置与使用
查看>>