K8S基础
K8S基础架构
K8S解决的问题是什么?
k8s全景图
k8s Secret对象
声明式API
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。
k8s全景图
k8s会给pod绑定一个Service服务,而服务声明的IP地址始终不变,作为pod代理入口,从而代替pod对外暴露的一个固定的网络地址。
k8s Secret对象
如果两个不同的pod之间,不仅有访问关系,还要求在发起时加上授权信息,那么就需要用到Secret对象。在启动时,自动把Secret里的键值对的数据自动以Volume的方式挂载到内容器里。
声明式API
可以通过yaml文件进行编排,有很多优势。