Кубернетский эквивалент 'docker run -it' - PullRequest
1 голос
/ 30 мая 2019

У меня есть один образ докера, и я использую следующую команду для его запуска.

docker run -it -p 1976:1976 --name demo demo.docker.cloud.com/demo/runtime:latest

Я хочу запустить то же самое в Kubernetes.Это мой текущий файл yaml.

apiVersion: v1
kind: Deployment
metadata:
  name: demo-deployment
  labels:
    app: demo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: demo
  template:
    metadata:
      labels:
        app: demo
    spec:
      containers:
      - name: demo
        image: demo.docker.cloud.com/demo/runtime:latest
        ports:
        - containerPort: 1976
        imagePullPolicy: Never

Этот файл yaml охватывает все, кроме флага "-it".Я не могу найти его эквивалент Kubernetes.Пожалуйста, помогите мне с этим.Спасибо

Ответы [ 2 ]

2 голосов
/ 30 мая 2019

Глядя на определение Контейнер в справочнике API , эквивалентные опции: stdin: true и tty: true.

(Ни одно из приложений, над которыми я работаю, никогда не нуждалось в этом; в документации для stdin: говорится о «чтениях из stdin в контейнере» и о типичных типах процессов серверного типа, которые вы запускаете в развертывании, не читать со стандартного ввода вообще.)

1 голос
/ 30 мая 2019

Я предполагаю, что вы пытаетесь подключить оболочку к вашему работающему контейнеру.Следуя инструкциям на https://kubernetes.io/docs/tasks/debug-application-cluster/get-shell-running-container/ - Вам потребуются следующие команды.Для apply указанной выше конфигурации:

Создайте модуль: kubectl apply -f ./demo-deployment.yaml

Убедитесь, что контейнер работает: kubectl get pod demo-deployment

Получите оболочку для работающего контейнера:kubectl exec -it demo-deployment -- /bin/bash

...