首页  

k8s的本质     所属分类 k8s 浏览量 77
一个“容器”,实际上是一个由Linux Namespace、Linux Cgroups和rootfs 构建出来的隔离环境
容器的静态视图 一组联合挂载在/var/lib/docker/aufs/mnt上的rootfs,称为 容器镜像  Container Image
容器的动态视图 一个由Namespace+Cgroups构成的隔离环境,称为 容器运行时 Container Runtime

容器分为两个部分 容器运行时 和 容器镜像 
集群管理项目(Yarn Mesos Swarm)擅长 把一个容器,按照某种规则,放置在某个最佳节点上运行起来,这种功能 称为 调度
k8s 擅长的,是按照用户的意愿和整个系统的规则,完全自动化地处理好容器之间地各种关系。这种功能就是 编排
k8s  容器编排工具


单一容器   容器集群
容器   容器云

k8s要解决的问题
把一个应用的容器镜像,在一个给定的集群上运行起来
提供路由网关、水平扩展、监控、备份、灾难恢复等一系列运维能力


Master节点
kube-apiserver
kube-scheduler   调度
kube-controller-manager 负责容器编排
整个集群的持久化数据,由kube-apiserver处理后保存在Etcd中

Node节点
kubelet,主要负责和容器运行时(比如Docker)交互
k8s  CRI 容器 OCI 操作系统内核
CRI(Container Runtime Interface),定义了容器运行时的各项核心操作数。
OCI 容器运行时规范同底层的 Linux 操作系统进行交互
把 CRI 请求翻译成对 Linux 操作系统的调用(操作 Linux Namespace 和 Cgroups 等)
kubelet  Device Plugin  管理 GPU 等宿主机物理设备 
kubelet  调用网络插件和存储插件为容器配置网络和持久化存储 CNI(Container Networking Interface)和 CSI(Container Storage Interface)

OCI  Open Container Initiative


k8s 核心功能

ingress  service  pod 
deployment  Pod多实例管理器
container 
cronjob   定时任务
job   一次性运行的Pod
HorizontalPodAutoscaler 自动水平扩展器
configMap  Secret
DaemonSet  每个宿主机上必须且只能运行一个副本的守护进程服务
statefulSet

数据库访问 需要Credential(数据库的用户名和密码)
Secret 对象,保存在Etcd里的键值对数据

编排对象  Pod Job CronJob等 
服务对象 ,比如Service、Secret、HorizontalPodAutoscaler 等 
声明式API  API对象(API Object)

上一篇     下一篇
java BIO NIO AIO 区别

jsoup 解析网页获取链接信息

基金所持停牌股票估值调整案例

1929年美国大萧条时期的若干现象

k8s容器编排基础概念

服务网格 Service Mesh 背景和概念