基本概念
名词 | 含义 | 解释 |
pod | 一个宿主机中可以有多个pod(豌豆荚)是k8s中最小的运行单元,都会被分配一个ip;类似为一个docker中的一个容器 | |
pod控制器 | 监控pod的运行,其下可以运行多个 pod;如果其下的pod被删除,pod控制器会重新启动一个新的;两种kind,daemon set、deployments、 | |
name | 资源名称 | k8s中所有的所有功能被称为资源:资源的配置信息有:api版本(apiVersion)类别(kind),元数据(metadata),定义清单(spec),状态(status)等;而资源名称就在metadata中存储;同一名称空间下的资源名称唯一;k8s中一切皆资源 |
namespace | 名称空间 | 为了隔离k8s中的各种资源;将k8s内部的资源划分为虚拟集群组;默认的名称有default、kube-system、kube-public;查询k8s中特定的资源需要带上相应的名称空间 |
Label | 标签 | 资源和标签多对多关系;定义标签:key=value |
标签过滤器 | 过滤选择带有特定标签的资源 | 过滤方式有:等于、不等于、属于、不属于、存在 |
Service | 一组提供相同服务的pod对外提供的接口;仅提供流量调度 | 用于解决pod销毁,ip消失的问题;Request----->Ingress---->Service---->pod |
Ingress | OSI第七层的应用,对外暴露接口 | 调度不同业务域,不同URL访问路径的流量 |
secret资源 | 秘钥资源 | 分为3种,generate(通用,token)、docker_register(自定义json格式)、TLS |
组成
名词 | 含义 | 解释 |
配置存储中心 | etcd服务 | 存储集群中各个节点的元数据信息;类似一个非关系型数据库 |
master | 主控节点(一个宿主机) | 1. kebu-apiserver 2. kebu-controller-manager 3.kube-scheduler |
kebu-apiserver | k8s大脑 | 1. 提供了集群管理的REST-API接口(包括鉴权、数据校验和集群状态变更)2. 负责其他模块数据的交互,提供数据枢纽的功能; 3. 资源配额控制的入口 4.提供完备的资源安全机制 |
kebu-controller-manager | 控制及管理器 | 由一系列的控制器组成;通过apiserver来控制整个集群的状态并确保集群出于预期的状态下 |
kube-scheduler | 资源调度器 | 接受指令并调度pod到合适的节点上;预选策略和优选策略 |
node | 运算节点(一个宿主机) | 主要包括kube-let、kube-proxy |
kube-let | 节点大脑 | 1. 定时从某个地方获取pod的运行状态(那个容器、副本数、网络、存储配置等等)调用对应的容器平台接口到达这个状态;2. 定时汇报当前pod的状态给apiserver,以方便后续的调度 3. 定时清理容器和镜像资源,保证推出的容器不会占用太多资源 |
kebu-proxy | 每个节点上的网络代理;维护了一套虚拟集群网络 | 1. 建立了集群网络和pod网络的关系;三种流量调度模式,推荐使用ipvs(基于LVS) 2. 依据kebu-apiserver建立更新删除调度规则,并通知kebu-apiserver自己的变更 |
LVS | 内网映射到外网的一种方式 | 网络拓扑 客户端请求 -->vip服务–负载均衡–>真实服务器–>响应数据–直接–>客户端;优点:请求经过vip服务,响应直接返回给客户端,避免vip服务成为网络瓶颈 |