首页  

k8s架构简介     所属分类 k8s 浏览量 729
Kubernetes K8S 
用于大规模运行分布式应用和服务的容器编排平台

k8s 集群的设计基于 3 个原则
安全  应遵循最新的安全最佳实践
易于使用  能通过一些简单的命令进行操作
可扩展  不应偏向于某一个提供商 通过配置文件进行自定义

k8s集群 两个部分  控制平面 与 计算节点

每个节点都运行由若干容器组成的容器集 POD

k8s集群组成

control plane 
  kube-apiserver  kube-scheduler kube-controller-manager etcd 
compute machines
  kubelet kube-proxy container-runtime(pod(containers))
persistant storage 
container registry

控制平面
Kubernetes API 是 Kubernetes 控制平面的前端,用于处理内部和外部请求
可通过 REST 调用、kubectl 命令行界面 或 其他命令行工具(例如 kubeadm)来访问 API

kube-scheduler
考虑容器集的资源需求(例如 CPU 或内存)以及集群的运行状况 ,将容器集安排到适当的计算节点


kube-controller-manager
控制器负责实际运行集群 控制器管理器则是将多个控制器功能合而为一
控制器用于查询调度程序,并确保有正确数量的容器集在运行
如果有容器集停止运行,另一个控制器会发现并做出响应。
控制器会将服务连接至容器集,以便让请求前往正确的端点
还有一些控制器用于创建帐户和 API 访问令牌。

etcd
配置数据以及有关集群状态的信息
etcd 采用分布式、容错设计,被视为集群的最终事实来源

节点
容器集是 Kubernetes 对象模型中最小、最简单的单元 ,它代表了应用的单个实例 
每个容器集都由一个容器(或一系列紧密耦合的容器)以及若干控制容器运行方式的选件组成
容器集可以连接至持久存储,以运行有状态应用

容器运行时引擎
比如 Docker
支持其他符合 OCI标准的运行时,例如 rkt 和 CRI-O

kubelet
每个计算节点中都包含一个 kubelet,这是一个与控制平面通信的微型应用
kublet 可确保容器在容器集内运行
当控制平面需要在节点中执行某个操作时,kubelet 就会执行该操作

kube-proxy
用于优化 Kubernetes 网络服务的网络代理
kube-proxy 负责处理集群内部或外部的网络通信  
依赖操作系统的数据包过滤层,或者自行转发流量


持久存储 容器镜像仓库 底层基础架构 物理机 虚拟机 公共云提供商 私有云和混合云环境

上一篇     下一篇
ElasticJob 简介

git 本地创建新分支并push

容器技术简介

k8s本地测试环境搭建工具

云原生技术发展历程

Make 命令简介