Развертывание контейнера Docker в Kubernetes с использованием файла yaml - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь развернуть докер-контейнер в Kubernetes, используя файл YAML (локальная система).

Часть 1: Докер-контейнер (работает нормально)

  • Я могузапустите контейнер и вставьте его в докер-концентратор
  • Возможность доступа к приложению контейнера через браузер.

Часть 2: Kubernetes (не работает)

  • НаписалФайл deploy.yaml, который включает в себя и развертывание, и службу
  • Развертывание: успешно создается модуль
  • Служба: добавлена ​​служба и выполняется попытка доступа к приложению через браузер, но она не работает

    Ошибка: сайт не доступен

Докер:

  • Контейнер помещен в док-концентратор
    • имя:$ ID / tomcat-jenkins
    • версия: 3

Kubernetes:

  • deploy.yaml
    apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
    kind: Deployment
    metadata:
      name: jenkins
    spec:
      selector:
        matchLabels:
          app: tomcat
      replicas: 2 # tells deployment to run 2 pods matching the template
      template:
        metadata:
          labels:
            app: tomcat
        spec:
          containers:
          - name: tomcat-jenkins
            image: $DOCKER-ID/tomcat-jenkins:3
            ports:
            - containerPort: 80
    # Service
    apiVersion: v1
    kind: Service
    metadata:
      name: jenkins
    spec:
      selector:
        app: tomcat
      ports:
      - protocol: TCP
        port: 80
        targetPort: 80
        nodePort: 31011
      type: NodePort

Я не могу получить доступ к приложению после развертывания контейнера в модуле Kubenetes.

Я не удивленe содержит ли мой файл deploy.yaml некоторые синтаксические ошибки.

1 Ответ

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

Поскольку вы предоставляете услугу на NodePort , вы можете получить к ней доступ с помощью http://NodeIP:NodePort`.значение nodeport для вышеуказанного сервиса - 31011.

Вот подробное описание tutorail , которое объясняет доступ к сервису на k8s.

ClusterIP (по умолчанию)- Выставляет Сервис по внутреннему IP в кластере.Этот тип делает Сервис доступным только из кластера.

NodePort - Предоставляет Сервис на том же порту каждого выбранного Узла в кластере, используя NAT.Делает Сервис доступным снаружи кластера, используя:.Надстройка ClusterIP.

LoadBalancer - создает внешний балансировщик нагрузки в текущем облаке (если поддерживается) и назначает фиксированный внешний IP-адрес для службы.Суперсет NodePort

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