本小节主要来研究pod.spec.containers属性,这也是pod配置中最为关键的一项配置。
[root@k8s-master01 ~]# 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> # 资源限制和资源请求的设置
简单示例如下:
apiVersion: v1
kind: Pod
metadata:
name: pod-command
namespace: dev
spec:
containers:
- name: nginx
image: nginx:1.17.1
- name: busybox
image: busybox:1.30
command: ["/bin/sh","-c","touch /tmp/hello.txt;while true;do /bin/echo $(date +%T) >> /tmp/hello.txt; sleep 3; done;"]```
上面定义了一个比较简单Pod的配置,里面有两个容器:
- nginx

本文深入探讨了Kubernetes Pod的配置,特别是`spec.containers`属性,包括容器的定义、镜像、启动命令及参数、环境变量和资源限制。通过实例展示了如何设置多个容器、镜像拉取策略(Always、IfNotPresent、Never)以及如何在容器中设置环境变量。此外,还展示了如何通过`kubectl`命令创建和查看Pod的详细信息。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



