Нужна помощь в запуске двух контейнеров ОС в одном модуле на kubernetes - PullRequest
0 голосов
/ 29 апреля 2020

Я все еще новичок в Кубернетесе. Я пытаюсь запустить контейнер ubuntu и контейнер linux kali в одном модуле на kubernetes. Мне также нужно, чтобы эти два контейнера были доступны из браузера. Мой подход сейчас заключается в использовании ubuntu и образа kali docker с установленным VN C.

Вот изображение docker, которое я пытаюсь использовать:

Вот файл YAML для создания модуля:

apiVersion: v1
kind: Pod
metadata:
  name: training
  labels:
    app: training
spec:
  containers:
    - name: kali
      image: jgamblin/kalibrowser-lxde
      ports:
        - containerPort: 6080
    - name: centos
      image: consol/centos-xfce-vnc
      ports:
        - containerPort: 5901

Вот в чем проблема. Когда я запускаю модуль с этими двумя контейнерами, проблема возникает только с контейнером Kali, поэтому он продолжает перезапускаться.

Могу ли я узнать, как этого добиться?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Вы можете добавить простую команду сна, которая будет выполняться внутри контейнера, чтобы он продолжал работать, например:

apiVersion: v1
kind: Pod
metadata:
  name: training
  labels:
    app: training
spec:
  containers:
    - name: kali
      image: jgamblin/kalibrowser-lxde
      ports:
        - containerPort: 6080
      command: ["bash", "-c"]
      args: ["sleep 500"]
    - name: centos
      image: consol/centos-xfce-vnc
      ports:
        - containerPort: 5901`

Таким образом, модуль будет в состоянии running:

kubectl get pod
NAME                            READY   STATUS    RESTARTS   AGE
training                        2/2     Running   0          81s
0 голосов
/ 29 апреля 2020

Изображение jgamblin / kalibrowser-lxde требует выделения tty (отображения).

Вы можете увидеть пример команды на странице docker hub.

Тогда вам следует разрешить ее в вашем манифесте Pod:

apiVersion: v1
kind: Pod
metadata:
  name: training
  labels:
    app: training
spec:
  containers:
    - name: kali
      image: jgamblin/kalibrowser-lxde
      ports:
        - containerPort: 6080
      tty: true
    - name: centos
      image: consol/centos-xfce-vnc
      ports:
        - containerPort: 5901

Поместить tty: true в кали контейнерная декларация.

...