Конфигурационный файл kubectl YAML, эквивалентный kubectl run -i --tty

Я использовал "kubectl run" с различными флагами для интерактивного запуска заданий, но недавно перерос то, что я могу делать с этими флагами, и перешел к использованию файлов конфигурации YAML для описания моих заданий.

Однако я не могу найти эквивалента флагов «-i» и «--tty» для прикрепления к создаваемому мной заданию.

Есть ли эквивалентная спецификация YAML для:

kubectl run myjob \
            -i \
            --tty \
            --image=grc.io/myproj/myimg:mytag \
            --restart=Never \
            --rm \
            -- \
            my_command

Или, может быть, это неправильный подход?


person garethw    schedule 01.06.2016    source источник


Ответы (1)


Я думаю, вы упомянули эти поля. https://github.com/kubernetes/kubernetes/blob/master/pkg/apis/core/types.go#L2081-L2088

Вы можете определить stdin и tty в файле yaml.

apiVersion: v1 
kind: Pod 
metadata: 
  name: test 
spec: 
  containers: 
    - name: test 
      image: test 
      stdin: true 
      tty: true 
person Lantao Liu    schedule 03.06.2016
comment
можете ли вы привести пример файла yaml, показывающий, как это сделать? Я считаю, что это не ясно из определений типов. - person Robert Bailey; 03.06.2016
comment
IIUC, просто добавьте stdin: true и tty: true в спецификацию вашего контейнера. Например: `` apiVersion: v1 kind: Pod metadata: name: test spec: container: - name: test image: test stdin: true tty: true `` Ой, я не могу писать что-то с несколькими строками в комментарии . Надеюсь, вы понимаете: P - person Lantao Liu; 06.06.2016
comment
Спасибо за указатель, Лантао. Однако в моем случае я собираюсь сделать это специально для работы. Если я помещу поля tty и stdin в спецификацию template для модулей внутри задания, они, похоже, не возымеют никакого эффекта. Я могу понять это по модели использования. - person garethw; 07.06.2016
comment
После дальнейших экспериментов tty и stdin не имеют того эффекта, на который я надеялся, даже в простых старых спецификациях Pod, как показано в примере Lantao (по крайней мере, на k8s 1.2.4, развернутом в настоящее время на GKE). - person garethw; 07.06.2016
comment
После создания модулей вы можете запустить nubectl/kubectl_attach.mof"> / a> прикрепить к контейнеру. - person Yu-Ju Hong; 08.06.2016
comment
tty и stdin - это просто эквивалентная конфигурация для -i и --tty. Однако, чтобы прикрепить капсулу, вам нужно сделать то, что упомянул @ Yu-JuHong. :) - person Lantao Liu; 09.06.2016
comment
Здесь имеет значение вложение. Когда вы делаете это в kubectl run, мы автоматически добавляем - person Tim Hockin; 01.09.2016
comment
как я могу запустить команду один раз с помощью kubectl-run, указав файл конфигурации yaml? - person holms; 18.09.2016
comment
Чтобы присоединиться к модулю, мне также пришлось предоставить -i и -t команде kubectl attach, поэтому полная команда была kubectl attach POD [ -c CONTAINER ] -i -t - Примечание: -c КОНТЕЙНЕР не является обязательным, если у вас только один контейнер - он будет просто по умолчанию. . - person XP84; 14.10.2018