Докер Kubernetes процесс внутри стручка - PullRequest
0 голосов
/ 27 июня 2018

У меня есть образ докера с CMD для запуска Java-приложения.

Это приложение развертывается в контейнере в kubernetes. Поскольку я развертываю его как образ докера, я ожидал, что он будет запущен как процесс докера. Итак, я только что вошел в модули и пытался " Docker PS ".

Но я был удивлен, что он работает как процесс Java, а не как процесс докера. Я могу видеть процесс по " ps -ef "

Я запутался, как это работает внутри? Не уверен, где можно получить более подробную информацию об этом. Любая ссылка или теория за этим пожалуйста ...

Спасибо

1 Ответ

0 голосов
/ 27 июня 2018

Как уже говорилось, Kubernetes использует докер для внутреннего развертывания контейнеров . Для более подробного объяснения рассмотрим кластер, который имеет 4 узла, 1 ведущий и 3 ведомых.

$ kubectl get nodes
NAME                           STATUS    ROLES     AGE       VERSION
******.mylabserver.com   Ready     master    13d       v1.10.5
******.mylabserver.com   Ready     <none>    13d       v1.10.5
******.mylabserver.com   Ready     <none>    13d       v1.10.5
******.mylabserver.com   Ready     <none>    13d       v1.10.5

Я развертываю модуль с образом док-станции nignx .

$ cat pod-nginx.yml 
apiVersion: v1
kind: Pod
metadata:
  name: alpine
  namespace: default
spec:
  containers:
  - name: alpine
    image: alpine
    command:
      - sleep
      - "3600"
    imagePullPolicy: IfNotPresent
  restartPolicy: Always

Вы можете получить статус модуля, как показано ниже:

$ kubectl get pods -o wide
NAME      READY     STATUS    RESTARTS   AGE       IP           NODE
alpine    1/1       Running   0          21s       10.244.3.4   ******.mylabserver.com

Kube-планировщик будет планировать модуль на одном из доступных узлов.

Теперь модуль развернут на сервере, где вы можете войти на этот конкретный сервер и найти информацию, которую вы ищете.

root@******:/home/user# docker ps
CONTAINER ID        IMAGE                                                                            COMMAND                  CREATED              STATUS         
     PORTS               NAMES
6486de4410ad        alpine@sha256:e1871801d30885a610511c867de0d6baca7ed4e6a2573d506bbec7fd3b03873f   "sleep 3600"             58 seconds ago       Up 57 seconds  
                         k8s_alpine_alpine_default_2e2b3016-79c8-11e8-aaab-

Запустите команду docker exec на этом сервере, чтобы увидеть процесс, выполняющийся внутри.

root@******:/home/user# docker exec -it 6486de4410ad /bin/sh
/ # ps -eaf
PID   USER     TIME   COMMAND
    1 root       0:00 sleep 3600
    7 root       0:00 /bin/sh
   11 root       0:00 ps -eaf
/ # 

https://kubernetes.io/docs/home/- это может дать вам больше информации о модулях и о том, как происходит развертывание с модулями / контейнерами.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...