K8S基础架构
基础架构图如下所示,我们可以看到master 节点和Node节点。
Master节点是控制节点,由三个紧密协作的独立组件组合而成。其中,APIServer负责API服务;Controller Manager负责负责容器编排;Scheduler负责容器调度。
Node节点是计算节点,其中也有很多其他组件
(1)kubelet,主要负责同容器运行时打交道
(2)CRI,远程调用接口,定义了容器运行时的各项核心操作
(3)OCI,通过容器运行时规范同底层的Linux系统进行交互,即把CRI请求翻译成对Linux操作系统的调用(操作Linux的Cgroups和Namespace)
K8S解决的问题是什么?
对于大多数用户来说,k8s的主要作用是在一个给定的集群上把一个应用运行起来。更进一步说,k8s需要提供的是网关、水平拓展、监控、备份、灾难恢复等一系列运维能力。
并且在任务与任务之间的关系处理,才是作业编排和系统管理最困难的地方。
k8s对容器的访问进行了分类,首先总结出了一类非常常见的紧密交互的关系,在常规环境下,这些应用会被部署在同一台机子上面,这些容器会被划分为一个pod。