如何在 kubernetes 中传递参数?

How to pass arguments in kubernetes?

我正在使用以下命令 运行在我的本地机器上安装我的 docker 图像(根据提供的参数执行我的性能测试) like this

然而,satheeshpandianj/my-perf-app 是我的图像名称,其余的 (QA Commerce ListMarkets 1 5 Volvo) 是传递给此图像的参数 运行。我已经将此图片推送到 docker 中心。我想在 kubernetes 中 运行 这个 docker 图像。我写了如下部署 yaml 文件。

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
   app: perf
  name: perf
spec:
  replicas: 1
  selector:
   matchLabels:
    app: perf
  template:
   metadata:
     labels:
      app: perf
   spec:
     containers:
       image: docker.io/satheeshpandianj/my-perf-app
       name: perf
       args: ["QA", "Commerce", ListMarkets", 1, 5, "Volvo"]

当我执行“kubectl apply -f perf.yaml”时,我得到以下信息 error

有人可以帮我解决这个错误吗?或者请纠正我需要在我的 yaml 文件中进行哪些更改。提前致谢。

您收到此错误是因为 spec.containers 需要一个列表。 您必须将您的 yaml 更新为:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
   app: perf
  name: perf
spec:
  replicas: 1
  selector:
   matchLabels:
    app: perf
  template:
   metadata:
     labels:
      app: perf
   spec:
     containers:
     - image: docker.io/satheeshpandianj/my-perf-app
       name: perf
       args: ["QA", "Commerce", ListMarkets", 1, 5, "Volvo"]

是的,只缺少-