网站建设技术包括哪些,制作公众号的平台,企业邮箱在哪查看,网站被降权表现背景
k8s中pod是很重要的概念#xff0c;他是k8s调度的最小单位#xff0c;和我们以往的以docker容器为调度单位是不一样的#xff0c;那么为什么k8s会以pod为调度单位而不是以更小的docker容器为调度单位呢?
pod组件
pod是一个逻辑的概念#xff0c;其中可以包含多个d…背景
k8s中pod是很重要的概念他是k8s调度的最小单位和我们以往的以docker容器为调度单位是不一样的那么为什么k8s会以pod为调度单位而不是以更小的docker容器为调度单位呢?
pod组件
pod是一个逻辑的概念其中可以包含多个docker容器组成一个小的服务单元先来看一下pod的文件配置
kind: Pod --类型固定写pod
metadata :labels:- name: string --这个pod的label标识符供外部其他组件选择pod时使用的
spec:containers : --这个pod中运行的docker容器数组比如redis和http服务name : string --pod中比如运行的redis容器image : string --pod中比如运行的redis容器的镜像ports:containerPort: int --pod中比如运行的redis容器的端口号hostPort : int --pod中运行的redis容器对应的宿主机端口号
env: --pod中的环境变量列表name: stringvalue : stringk8s中pod是包含多个docker容器的一套套件比如他会包含一个redis容器日志采集容器的两个docker容器这两个容器可以组成一个小的服务单元而且本质上他们就是需要绑定在一起的服务单元不需要把他们两个分开调度所以在k8s看来他调度的单位变成了调度一个小的功能服务单元并且每个pod中都有一个特殊的Pause根容器这个pause根容器的作用是为了让这个pod中的所有docker容器都可以共享统一网络也就是pod中的所有容器拥有相同的ip地址相同的主机名对于外界来说和这个pod内的任何一个docker容器通信都是一样的ip地址。
pod这种设计就能让k8s在调度的时候是以服务单元为单位调度的这些pod里面的容器本来就是超亲密的关系本来就不适合分开调度到不同的宿主机上面所以k8s把他们捆绑起来一起调度很好的解决了这个问题