Как настроить этот внешний сервис для kubernetes? - PullRequest
0 голосов
/ 05 февраля 2019

У меня такая ситуация показана на чертеже.

Я бы хотел настроить модули kubernetes таким образом, чтобы они могли общаться с внешним док-контейнером «mysql», но я не знаю, как его настроить, особенно в отношении IP-адреса, чтобы сообщить им о подключении,Я не могу использовать «localhost», потому что он просто перенаправит обратно к вызывающему модулю, я не могу использовать 192.168.1.8, потому что оттуда порт не открывается.

Что такое IP Host DB в этомcase?

Спасибо за любые подсказки

+----------------------------------------------------------------------------------------------------------+
|                                                                                                          |
|                                          My Macbook Pro Laptop                                           |
|                                                                                                          |
|                                       Today's DHCP IP: 192.168.1.8                                       |
|                                                                         +-------------------------+      |
|                                                                         |                         |      |
|                                                                         |       K8s Cluster       |      |
|                                                                         |                         |      |
|                                                                         |                         |      |
|                                                                         |         K8s Pod         |      |
|                                                                         |    +---------------+    |      |
|                                                                         |    |  Docker       |    |      |
|                                                                         |    |  Container    |    |      |
|                                                                         |    | +-----------+ |    |      |
|                                                                    ???  |    | |           | |    |      |
|                                                                    <-----------+    Foo    | |    |      |
|                                    +-------------+                      |    | |  Program  | |    |      |
|                                    |  Docker     |                      |    | |           | |    |      |
|     +-----------------------+      |  container  | Listening            |    | +-----------+ |    |      |
|     |  Local Hard Disk      |      | +---------+ | Port                 |    +---------------+    |      |
|     | +------------------+  |      | |         | | 3306                 |                         |      |
|     | | /Users/foo/data  <------------- mysql  <------+                 |                         |      |
|     | |                  |  |      | |         | |                      |         K8s Pod         |      |
|     | +------------------+  |      | +---------+ |                      |    +---------------+    |      |
|     +-----------------------+      +-------------+                      |    |  Docker       |    |      |
|                                                                         |    |  Container    |    |      |
|                                                                         |    | +-----------+ |    |      |
|                                                                    ???  |    | |           | |    |      |
|                                                                    <-----------+    Bar    | |    |      |
|                                                                         |    | |  Program  | |    |      |
|                                                                         |    | |           | |    |      |
|                                                                         |    | +-----------+ |    |      |
|                                                                         |    +---------------+    |      |
|                                                                         |                         |      |
|                                                                         |                         |      |
|                                                                         +-------------------------+      |
|                                                                                                          |
|                                                                                                          |
+----------------------------------------------------------------------------------------------------------+

Примечание Из-за текущих ограничений системы kubernetes, доступных для MacOS, я не могу сохранить данные в локальномЖесткий диск (в место по моему выбору, которое я хочу указать) через kubernetes.Однако я могу сделать это с помощью Docker, так что это единственная конфигурация, которую я могу найти для достижения желаемой цели сохранения файлов базы данных после срока действия контейнеров / модулей

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

У меня нет OSX для его проверки, но это утверждение, похоже, не соответствует действительности - что нет способа сохранить данные в Kubernetes для OSX.Для этого вы можете просто создать постоянный том, который будет ресурсом в кластере, а затем добавить PersistentVolumeClaim:

PV - это ресурс в кластере, точно так же, как узел является ресурсом кластера.PV - это плагины томов, такие как Volumes, но имеют жизненный цикл, независимый от любого отдельного модуля, который использует PV.

PVC - это запрос на хранение пользователем.Это похоже на стручок.Блоки используют ресурсы узла, а PVC - ресурсы PV.Контейнеры могут запрашивать определенные уровни ресурсов (процессор и память).Заявки могут запрашивать определенный размер и режимы доступа (например, могут быть смонтированы один раз для чтения / записи или много раз только для чтения).

Вы можете найти объяснение здесь .А как здесь с пошаговой настройкой mySQL и в этом случае Wordpress.

Что касается вашей настройки, сначала попробуйте следовать официальной документации по запуску mySQL внутри кластера (при условии, что вы используете minikube, но если нет, не должно быть больших различий), если у вас ничего не получится, мы продолжим,Я уже начал пытаться подключиться изнутри кластера к контейнеру mysql снаружи (у меня Ubuntu 18.04 с minikube).

Кроме того, вы правы, вы не сможете получить к нему доступ на локальном хосте, потому что на самом деле Docker использует 172.17 (если я правильно помню), поэтому вы можете создать новый образ и указать IP-адрес хост-машины.с открытым портом.

0 голосов
/ 05 февраля 2019

Вы можете создать службу внешнего IP или внешнего имени с IP-адресом хоста db и вызывать эту службу из POD.

Также есть другие варианты: развернуть db как pod в кластере k8 с помощью службы без заголовка.

Просто из любопытства, почему вы развертываете db как контейнер, используя docker, если у вас есть кластер k8?

...