获取数据

传递Pod元数据

创建Pod元数据方式为两种:容器的环境变量和downwardAPI卷

1)通过在Pod定义和状态中取的数据作为传递的值;


数据有以下类型:

1)Pod的名称、IP、标签、注解和所在的命名空间;

2)运行Pod的节点名称;

3)Pod运行所归属的服务账户名称;

4)每个容器请求的CPU和内存使用量;

5)每个容器可使用的CPU和内存限制;


如:通过环境变量和downwardAPI卷向容器传递Pod元数据
在这里插入图片描述
//容器中的环境变量同时包含容器本身相关信息的变量

环境变量

字段通过环境变量可传递Pod元数据(同时传递容器本身的数据)

1)数据通过给变量赋值的形式传递;

2)调用的字段必须是已经存在的字段,且含有数据;

3)传递的容器数据仅能是容器本身的;


创建容器含有Pod元数据的Pod格式(其他部分省略):

spec:
  containers:
  env:
  - name: 变量名1
    valueFrom:
      fieldRef:
        fieldPath: 承载Pod元数据的字段
  - name: 变量名2
    resourceFieldRef:
      resource:  承载容器元数据的字段
      divisor: 基数单位

(1)字段实际值除以基数单位,就是该变量通过环境变量实际值

1)若CPU资源的被设置为1,则代表整颗CPU计算能力都属于该容器


如:创建容器含有Pod元数据的Pod

1)编写Pod的YAML文件
在这里插入图片描述
在这里插入图片描述
//同时通过变量传递容器本身的数据

2)调用create命令生成Pod,并验证
在这里插入图片描述


如:续上,通过变量传递数据的概念图
在这里插入图片描述

DownwardAPI

DownwardAPI:通过挂载卷的方式传递Pod元数据(同时传递容器的数据)

1)将字段中数据存储在卷中指定的文件,再将卷挂载到容器;

2)且可传递同一Pod内的其他容器数据到指定容器;

3)当Pod数据被修改时,Kubernetes会自动更新存有相关数据的文件


创建容器含有downwardAPI卷的Pod格式(其他部分省略):

volumes:
 - name: 卷名
  downward:
    items:
    - path: “文件名”
      fieldRef:
        filedPaht:  承载Pod元数据的字段
    - path: “文件名”
      resourceFieldRef:
        containerName: 容器名
        resource: 承载容器元数据的字段
        divisor:基数单位

(1)默认在downwardAPI卷挂载的路径路径下创建指定文件名的文件;

1)文件用于存储字段的数据;


如:创建容器含有downwardAPI卷的Pod

1)编写Pod的YAML文件
在这里插入图片描述
在这里插入图片描述
2)调用create命令生成Pod,并验证
在这里插入图片描述

3)查看卷中的文件数据
在这里插入图片描述
//文件中标签和注解都以“名称=值”的格式存储,若包含多个值,则写在同一行,使用“\”进行分隔,“\”代表结尾


如:续上,通过downwardAPI卷传递数据的概念图
在这里插入图片描述

API服务器交互

API服务器信息

cluster-info命令:列出Kubernetes API服务器相关信息

格式:kubetctl cluster-info


如:在Master节点查看API服务器相关的信息
在这里插入图片描述


proxy命令:启动一个代理服务接受本机的HTTP请求,并转发至API服务器

指令格式:kubectl proxy 选项

选项含义
–port指定用于接受请求的端口 (默认为8001)

1)代理服务可同时处理身份认证;


如:Master节点启动代理服务
在这里插入图片描述
//默认会占用当前终端


通过服务代理后,就可通过curl命令查看API服务器中文件的信息

1)API服务器中的数据都被存储在各个文件中,可通过访问API服务器列出;


如:查看指定数据

1)列出API所含有的数据
在这里插入图片描述
2)查看/api/batch数据
在这里插入图片描述
3)查看指定资源类型的数据
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐