k8s的本质
所属分类 k8s
浏览量 573
一个“容器”,实际上是一个由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)
上一篇
下一篇
BIO NIO AIO 区别
jsoup 解析网页获取链接信息
基金所持停牌股票估值调整案例
1929年美国大萧条时期的若干现象
k8s容器编排基础概念
服务网格 Service Mesh 背景和概念