docker - составить перевод в кубернетес - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть docker -compose.yaml

version: '3.4'

services:

  mongodb:
    image: mongo:latest

  assets:
    image: gnaudio/jabra-xpress-assets:v4.0.7020

  frontend:
    image: gnaudio/jabra-xpress-frontend:v4.0.7314
    environment:
    - "ENDPOINT=http://¤HOST-NAME¤:85"
    ports:
    - "80:80"

  backend:
    image: gnaudio/jabra-xpress-api:v4.0.7313
    environment:
    - "ConnectionStrings:XpressDatabaseSqlServer=¤CONNSTRING¤"
    - "ConnectionStrings:MongoDb=mongodb://mongodb/raw"
    - "DefaultAnalyticsEndpoint=http://¤HOST-NAME¤:88/api/v1/Analytics"
    - "JDODownload=http://assets/"
    - "NetworkEndpoint=http://¤HOST-NAME¤:85/api/Xpress/Network/"
    - "SDK:fwURL_base=http://¤HOST-NAME¤:82"
    - "SDK:fsURL_base=http://¤HOST-NAME¤:82"
    ports:
    - "85:80"
    depends_on:
    - mongodb
    - assets
    - sdkbackend

  sdkbackend:
    image: gnaudio/jabra-xpress-sdkbackend:latest
    environment:
    - "Storage:SDKCopyUrl=http://¤HOST-NAME¤:82"
    ports:
    - "82:80"

  analytics:
    image: gnaudio/jabra-xpress-analytics:v4.0.7312
    environment:
    - "ConnectionStrings:MongodbServer=mongodb://mongodb/raw"
    ports:
    - "88:80"
    depends_on:
    - mongodb

  analytics-cron:
    image: gnaudio/jabra-xpress-analytics-cron:v4.0.7313
    environment:
    - "MONGODBCONNECTIONSTRING=mongodb://mongodb/raw"
    depends_on:
    - mongodb

Я знаю, что могу перевести это с kompose до kubernetes. Но что с частями "DefaultAnalyticsEndpoint = http: // ¤HOST-NAME¤: 88 / api / v1 / Analytics"?

По словам производителя Jabra, вы должны сделать это:

Замените ¤CONNSTRING string на строку соединения SQL. Замените ¤HOST-NAME¤ на имя хоста сервера.

Какое имя хоста мне нужно вставить туда? Я имею в виду, у меня есть 6 различных услуг и стручков. Как они могут общаться друг с другом?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2020

Как и в случае Docker (- Compose), Kubernetes включает в себя службу DNS, которая позволяет ссылаться, например, на Services (с заглавной буквы означает тип Kubernetes).

IIR C, Kompose создает службы и развертывания для Docker -Создание услуг. Как правило, вы будете ссылаться на услуги Kubernetes через тип Службы, и у вас должны быть Услуги, например, frontend, backend et c.

Итак, в ответ на ваш вопрос, в зависимости от того, какую Службу вы будете использовать. sh для справки, вы замените ${HOST_NAME} на одно из имен службы. Похоже, что DefaultAnalyticsEndpoint ссылается на Docker -Compose службу analytics. Это также должно быть сопоставлено со службой Kubernetes, которая называется analytics. IIU C, в обоих случаях (Docker -Compose и Kubernetes), HOST-NAME в DefaultAnalyticsEndpoint будет analytics.

Если вы ссылаетесь на Сервис из одного и того же Пространства имен, вы нужно только использовать название сервиса, например backend. Если вы ссылаетесь на Сервис из другого Пространства имен, вам нужно будет указать спецификатор Пространства имен, например, backend.${NAMESPACE}.cluster.local

См .:

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

Спасибо за быстрый ответ. Я создал маршрут, который относится к веб-сервису. Проблема заключается в том, что когда веб-служба пытается связаться с бэкэнд-службой, в браузере появляется следующая ошибка

Access to XMLHttpRequest at 'http://backend:85/api/UserManagement/NewCompany' from origin 'http://XXXX.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
polyfills.1430e9e37c917675a879.js:1 POST http://backend:85/api/UserManagement/NewCompany net::ERR_FAILED

Есть идеи, что это может быть?

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