xone

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

查询pod属性

[root@test-k8s-master1 ~]# kubectl explain pod

在kubernetes中基本所有资源的一级属性都是一样的,主要包括5部分:

  • apiVersion 版本,由kubernetes内部定义,版本号必须可以用 kubectl api-versions 查询到
  • kind 类型,由kubernetes内部定义,版本号必须可以用 kubectl api-resources 查询到
  • metadata
  • spec
  • status
  • containers <[]Object> 容器列表,用于定义容器的详细信息
  • nodeName 根据nodeName的值将pod调度到指定的Node节点上
  • nodeSelector <map[]> 根据NodeSelector中定义的信息选择将该Pod调度到包含这些label的Node上
  • hostNetwork 是否使用主机网络模式,默认为false,如果设置为true,表示使用宿主机网络
  • volumes <[]Object> 存储卷,用于定义Pod上面挂载的存储信息
  • restartPolicy 重启策略,表示Pod在遇到故障的时候的处理策略

Pod配置

本小结来研究pod.spec.containers属性,这也是pod配置中最为关键的一项配置。


[root@test-k8s-master1 ~]# kubectl explain pod.spec.containers
KIND:     Pod
VERSION:  v1
RESOURCE: containers <[]Object>
FIELDS:
   name	<string>          # 容器名称
   image	<string>  # 容器需要的镜像地址
   imagePullPolicy	<string>  # 镜像拉取策略
   command	<[]string> # 容器的启动命令列表,如不指定,使用打包时使用的启动命令
   args         <[]string> # 容器的启动命令需要的参数列表
   env	<[]Object>         # 容器环境变量的配置
   ports	<[]Object>    # 容器需要暴露的端口号列表
   resources	<Object>      # 资源限制和资源请求的设置

基本配置

创建pod-base.yaml文件,内容如下:

apiVersion: v1
kind: Pod
metadata:
  name: pod-base
  namespace: dev
  labels:
    user: zzm
spec:
  containers:
  - name: nginx
    image: nginx:1.17.1
  - name: busybox
    image: busybox:1.30

上面定义了一个比较简单Pod的配置,里面有两个容器:

  • nginx: 用1.17.1版本的nginx镜像创建,(nginx是一个轻量级web容器)
  • busybox: 用1.30版本的busybox镜像创建,(busybox是一个小巧的linux命令集合)
#创建pod
[root@dev-k8s-master1 ~]# kubectl apply -f pod-base.yaml
pod/pod-base created

posted on 2022-02-25 16:06  周小百  阅读(31)  评论(0编辑  收藏  举报