【问题标题】:When should I use commands or args in readinessProbes我什么时候应该在 readinessProbes 中使用命令或参数
【发布时间】:2022-01-19 02:12:29
【问题描述】:

我正在通过killer.sh.for CKAD 工作。我遇到了一个 pod 定义文件,它在就绪探针下有一个命令字段,容器执行另一个命令但使用 args。

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: pod6
  name: pod6
spec:
  containers:
  - args:
    - sh
    - -c
    - touch /tmp/ready && sleep 1d
    image: busybox:1.31.0
    name: pod6
    resources: {}
    readinessProbe:                             # add
      exec:                                     # add
        command:                                # add
        - sh                                    # add
        - -c                                    # add
        - cat /tmp/ready                        # add
      initialDelaySeconds: 5                    # add
      periodSeconds: 10                         # add
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

如果未使用就绪探测并且隐式创建了此 pod,则不会使用 args。

kubectl run pod6 --image=busybox:1.31.0 --dry-run=client --command -- sh -c "touch /tmp/ready && sleep 1d" > 6.yaml

输出 YAML 如下所示:

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: pod69
  name: pod69
spec:
  containers:
  - command:
    - sh
    - -c
    - touch /tmp/ready && sleep 1d
    image: busybox:1.31.9
    name: pod69
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always

为什么没有在 readinessProbe 和容器上都使用命令? 命令什么时候变成args? 有没有办法告诉?

我已阅读此文档:https://kubernetes.io/docs/tasks/inject-data-application/_print/ 但我仍然没有太多运气了解这种情况以及何时切换到 args。

【问题讨论】:

    标签: kubernetes kubernetes-pod readinessprobe


    【解决方案1】:

    您在 Kubernetes 中同时拥有 cmd + args 的原因是因为它为您提供了从您尝试运行的映像中覆盖默认 Commands + Args 的选项。 在您的特定情况下,busybox 图像没有任何带有图像的默认命令,因此在 Pod.yaml 文件中的 cmd 或 args 中指定启动命令基本上是相同的。 关于命令何时成为 args 的问题 - 它们不会,当使用您的图像启动容器时,它只是执行 cmd + args。如果 cmd 在(图像和 yaml 文件)中为空,则仅执行 args。

    here的话题可能会给你更多的解释

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 2021-09-07
      • 1970-01-01
      相关资源
      最近更新 更多