ограничение команд в контейнере Kubernetes

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

  1. вариант: Для этого я выполнил команду => 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. вариант: Вот второй вариант, как выполнить задачу.kubectl run app1 --image=lfccncf/arg-output --dry-run=client --command ["--lines 56 -F"] -o yaml > pod9.yaml

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

1 ответ

Решение

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

Цитата из документов:

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

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

$ kubectl run app1 --image=lfccncf/arg-output --dry-run=client -o yaml -- --lines 56 -F > pod9.yaml
Другие вопросы по тегам