启动命令(k8s的yaml设置容器启动时的命令及参数)

pod.spec.containers[0].command字段可以设置容器的启动命令。 pod.spec.containers[0].args字段可以设置容器的命令参数。 如果在yaml中配置了容器的命令或参数,那么镜像设置命令或参数将会...

pod.spec.containers[0].command字段可以设置容器的启动命令。

pod.spec.containers[0].args字段可以设置容器的命令参数。

如果在yaml中配置了容器的命令或参数,那么镜像设置命令或参数将会失效。

其使用方式有三种:直接使用、使用环境变量来设置参数和模拟shell。

直接使用

直接在command和args中编写命令和参数

1.编写command.yaml

apiVersion: v1kind: Podmetadata: name: command-demo labels: purpose: demonstrate-commandspec: containers: - name: command-demo-container image: debian command: ["printenv"] args: ["HOSTNAME", "KUBERNETES_PORT"] restartPolicy: OnFailure

2.执行yaml

$ kubectl apply -f command.yaml

3.获取日志

# 需要拉去镜像,稍等一会$ kubectl logs command-demo# 日志输出command-demotcp://10.96.0.1:443使用环境变量来设置参数

将参数写在环境变量之后,之后在args中引用。

k8s的ConfigMaps 与 Secrets也可以先引用到环境变量,之后在args中引用。

1.编写command.yaml

apiVersion: v1kind: Podmetadata: name: command-demo labels: purpose: demonstrate-commandspec: containers: - name: command-demo-container image: debian env: - name: MESSAGE value: "hello world" command: ["/bin/echo"] args: ["$(MESSAGE)"] restartPolicy: OnFailure

2.执行yaml

$ kubectl apply -f command.yaml

3.获取日志

# 需要拉去镜像,稍等一会$ kubectl logs command-demo# 日志输出hello world模拟shell

有时需要在shell脚本中运行命令。

1.编写command.yaml

apiVersion: v1kind: Podmetadata: name: command-demo labels: purpose: demonstrate-commandspec: containers: - name: command-demo-container image: debian command: ["/bin/sh"] args: ["-c", "while true; do echo hello; sleep 10;done"] restartPolicy: OnFailure

2.执行yaml

$ kubectl apply -f command.yaml

3.获取日志

# 需要拉去镜像,稍等一会$ kubectl logs command-demo# 日志输出hellohellohello

  • 发表于 2022-11-07 11:50:41
  • 阅读 ( 1377 )
  • 分类:科技

0 条评论

请先 登录 后评论
浏览:31
浏览:31

581 篇文章

你可能感兴趣的文章

相关问题