Pod是Kubernetes创建或部署的最小单位。一个Pod封装一个或多个容器(container)、存储资源(volume)、一个独立的网络IP以及管理控制容器运行方式的策略选项。
Pod使用主要分为两种方式:
实际使用中很少直接创建Pod,而是使用Kubernetes中称为Controller的抽象层来管理Pod实例,例如Deployment和Job。Controller可以创建和管理多个Pod,提供副本管理、滚动升级和自愈能力。通常,Controller会使用PodTemplate来创建相应的Pod。
apiVersion:v1#Kubernetes的APIVersionkind:Pod#Kubernetes的资源类型metadata:name:nginx#Pod的名称spec:#Pod的具体规格(specification)containers:-image:nginx:alpine#使用的镜像为nginx:alpinename:container-0#容器的名称resources:#申请容器所需的资源,云容器实例中limits与requests的值必须相同limits:cpu:500m#0.5核memory:1024Mirequests:cpu:500m#0.5核memory:1024MiimagePullSecrets:#拉取镜像使用的证书,必须为imagepull-secret-name:imagepull-secret如上面YAML的注释,YAML描述文件主要为如下部分:
如果去查询Kubernetes的资源,您会看到还有一个status字段,status描述kubernetes资源的实际状态,创建时不需要配置。这个示例是一个最小集,其他参数定义后面会逐步介绍。
Pod定义好后就可以使用kubectl创建,如果上面YAML文件名称为nginx.yaml,则创建命令如下所示,-f表示使用文件方式创建。
您需要设置Pod的metadata.annotations中添加cri.cci.io/gpu-driver字段,指定使用哪个版本显卡驱动,取值如下:
如下示例创建一个容器规格为NVIDIAV10016Gx1,CPU4核,内存32GiB的Pod。
apiVersion:v1kind:Podmetadata:name:gpu-testannotations:cri.cci.io/gpu-driver:gpu-418.126#指定GPU显卡的驱动版本spec:containers:-image:tensorflow:latestname:container-0resources:limits:cpu:4000m#4核memory:32Ginvidia.com/gpu-tesla-v100-16GB:1#申请GPU资源,支持1、2、4、8,代表几块显卡requests:cpu:4000m#4核memory:32Ginvidia.com/gpu-tesla-v100-16GB:1imagePullSecrets:-name:imagepull-secretGPU加速型Pod提供了两种规格的显卡,其含义如下:
容器镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
Pod创建完成后,可以使用kubectlgetpods命令查询Pod的状态,如下所示。
$kubectlgetpods-n$namespace_nameNAMEREADYSTATUSRESTARTSAGEnginx1/1Running040s可以看到此处nginx这个Pod的状态为Running,表示正在运行;READY为1/1,表示这个Pod中有1个容器,其中1个容器的状态为Ready。
可以使用kubectlget命令查询具体Pod的配置信息,如下所示,-oyaml表示以YAML格式返回,还可以使用-ojson,以JSON格式返回。
$kubectlgetpodnginx-oyaml-n$namespace_name您还可以使用kubectldescribe命令查看Pod的详情。
Pod的停止与删除有多种方法,比如按名称删除,如下所示。
$kubectldeleteponginx-n$namespace_namepod"nginx"deleted同时删除多个Pod。
$kubectldeletepopod1pod2-n$namespace_name删除所有Pod。
在使用文档中是否遇到以下问题
意见反馈(选填)
请至少选择一项反馈信息并填写问题反馈
字符长度不能超过500
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨
多渠道服务支持
提供免费备案服务
云业务全流程支持
享无忧退订服务
优化改进建议
4000955988
950808
扫描二维码
华为云微博
华为云App
扫描下载华为云App
域名注册服务机构许可:黔D3-20230001代理域名注册服务机构:新网、西数