ограничение команд в контейнере Kubernetes - PullRequest
2 голосов
/ 10 июля 2020

Я хочу создать контейнер с аргументами командной строки - строки 56 -F .

  1. option: Для этого я выполнил команду => k run app --image=lfccncf/arg-output --dry-run=client -o yaml > pod9.yaml

    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        run: app
      name: app
    spec:
      containers:
      - image: lfccncf/arg-output
        name: app
        args: ["--lines","56","F"]
    
  2. вариант: Вот второй вариант, как выполнить sh задачу. kubectl run app1 --image=lfccncf/arg-output --dry-run=client --command ["--lines 56 -F"] -o yaml > pod9.yaml

У меня есть такое ограничение: «При создании модуля вам не нужно указывать команду контейнера, только аргументы». Какой вариант верен с указанным ограничением?

1 Ответ

2 голосов
/ 10 июля 2020

Число 1, поскольку вы говорите, что вам не нужно указывать команду и предполагается, что она уже предварительно запечена в образ контейнера. --lines 56 -F являются аргументами, а не «командой».

Цитируется из документации :

Команда и аргументы, которые вы определяете в файле конфигурации, переопределяют команда по умолчанию и аргументы, предоставляемые образом контейнера. Если вы определяете аргументы, но не определяете команду, команда по умолчанию используется с вашими новыми аргументами.

Аналогичный рабочий подход будет:

$ kubectl run app1 --image=lfccncf/arg-output --dry-run=client -o yaml -- --lines 56 -F > pod9.yaml
...