Путаница в отношении сети Kubernetes с внешним миром

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

Например: CREATE USER 'newuser'@'IP or HOSTNAME' IDENTIFIED BY 'user_password';

Какой должен быть IP? IP-адрес контейнера или IP-адрес хоста?

Есть ли способ, через который, если модуль создается в любом узле, но он может аутентифицироваться с помощью mysql?

Благодарю вас

1 ответ

Решение

При доступе к службам за пределами кластера kubernetes исходный IP-адрес будет обычным IP-адресом узла, на котором выполняется приложение. Таким образом, нет никакой разницы, запускаете ли вы приложение непосредственно на узле ("металле") или внутри контейнера. Kubernetes выберет соответствующий узел для планирования контейнера (модуля), поэтому это может измениться в течение всего жизненного цикла.

Если вы хотите повысить безопасность, вам следует изучить TLS с взаимной аутентификацией в дополнение к паролю. Исходный IP-адрес - не лучший способ действий для динамических сред, таких как облако или кубернет.

Другие вопросы по тегам