“command”字段用于定义容器启动时要执行的命令,并覆盖镜像中默认的启动命令。它的值是一个字符串列表类型,其中第一个元素视为命令名称,后续元素视为命令的参数。
“command”配置示例如下:
在上述配置中,容器启动时执行“echo Hello, World!”命令。
创建Pod资源:
[root@k8s-master ~]# kubectl apply -f pod-example1.yaml
查看Pod日志,将看到输出的“Hello, World!”,如下所示:
[root@k8s-master ~]# kubectl logs pod-example1 Hello, World!
当再次查看Pod对象时,你会发现Pod不断地重新启动,如下所示:
第4列“RESTARTS”记录了重启次数。这是正常现象,因为“centos:7”镜像是一个系统镜像,默认情况下,前台没有运行的进程,容器在启动后则会退出。因此,应用程序通常被放在前台启动,或者执行一个无限循环Shell语句,以保持运行而不退出,例如执行一个无限循环:
command: ["/bin/sh", "-c", "while true; do sleep 1; done"]
其中,“/bin/sh”是Shell解释器的可执行文件,“-c”是一个选项,用于指定要执行的命令,“while true; do sleep 1; done”是执行的具体命令。