Kubernetes(K8s)_07_获取数据
Kubernetes(K8s)容器获取集群元数据
获取数据
传递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)查看指定资源类型的数据
更多推荐
所有评论(0)