Я устанавливаю K3s на систему, которая предназначена для использования в качестве однояжевого кластера. В кластере есть услуги, которые должны быть доступны на хост -машине (то есть на машине, на которой установлен K3S), но не должен быть доступен извне машины. Например, служба может запустить кластер, который должен доступен на хосте, используя порт 31000 , но не должен быть доступен клиентом за пределами машины.
Однако, Когда я создаю сервис, K3S создает правило брандмауэра, которое открывает этот порт: < /p>
$ iptables --list | grep 31000
MARK tcp -- anywhere anywhere /* rule to ACCEPT traffic from all sources to dest pods selected by policy name:
namespace */ match-set KUBE-DST- dst tcp dpt:31000 MARK or 0x10000
< /code>
Моя цель состоит в том, чтобы создать сервис, чтобы она была достигла на хосте, но не за пределами хоста. Услуги, которые инициируют эти правила брандмауэра, имеют тип LoadBalancer
и nodeport .
Есть ли простой способ этого? /> Есть ли конфигурация, которую можно использовать, чтобы избежать создания этих правил брандмауэра? < /p>
Спасибо за вашу помощь. < /p>
Соображения < /h2>
Я доставляю систему (прибор) с артефактами на хосте и компонентами, работающими в кластере, который установлен на хосте. Это означает, что на хосте есть компоненты, которые нуждаются в доступе к службам, работающим в установленном кластере, но я не хочу создавать проблему безопасности, открывая порты на устройстве, которое не нужно открывать.
Я предположил, что K3s создал эти правила, чтобы службы, работающие на этом узле, могут быть достигнуты другими узлами в кластере, чтобы облегчить баланс нагрузки. Я не смог подтвердить, что это так, но если это правда, эта схема здесь не применяется, потому что я знаю, что этот узел является единственным узлом в кластере (поэтому не требуется внешних взаимодействий с другими узлами). < /li>
< /ul>
подходы < /h2>
Я попытался создать противодействующие правила брандмауэра, которые переопределяют эту конфигурацию , но есть две проблемы: (1) правила хрупкие, и было трудно переоценить правила, созданные K3S, и (2) это плохой подход, потому что это требует, чтобы я создавал новое правило каждый раз, когда новая услуга Добавлен и порт в правиле переопределяется, и служба должна соответствовать (правила легко и службы выпадают из синхронизации).
Я устанавливаю K3s на систему, которая предназначена для использования в качестве однояжевого кластера. В кластере есть услуги, которые должны быть доступны на хост -машине (то есть на машине, на которой установлен K3S), но не должен быть доступен извне машины. Например, служба может запустить кластер, который должен доступен на хосте, используя порт 31000 , но не должен быть доступен клиентом за пределами машины. Однако, Когда я создаю сервис, K3S создает правило брандмауэра, которое открывает этот порт: < /p> [code]$ iptables --list | grep 31000 MARK tcp -- anywhere anywhere /* rule to ACCEPT traffic from all sources to dest pods selected by policy name: namespace */ match-set KUBE-DST- dst tcp dpt:31000 MARK or 0x10000 < /code> Моя цель состоит в том, чтобы создать сервис, чтобы она была достигла на хосте, но не за пределами хоста. Услуги, которые инициируют эти правила брандмауэра, имеют тип LoadBalancer [/code] и nodeport . Есть ли простой способ этого? /> Есть ли конфигурация, которую можно использовать, чтобы избежать создания этих правил брандмауэра? < /p> Спасибо за вашу помощь. < /p> Соображения < /h2> [list] [*] Я доставляю систему (прибор) с артефактами на хосте и компонентами, работающими в кластере, который установлен на хосте. Это означает, что на хосте есть компоненты, которые нуждаются в доступе к службам, работающим в установленном кластере, но я не хочу создавать проблему безопасности, открывая порты на устройстве, которое не нужно открывать. [*] Я предположил, что K3s создал эти правила, чтобы службы, работающие на этом узле, могут быть достигнуты другими узлами в кластере, чтобы облегчить баланс нагрузки. Я не смог подтвердить, что это так, но если это правда, эта схема здесь не применяется, потому что я знаю, что этот узел является единственным узлом в кластере (поэтому не требуется внешних взаимодействий с другими узлами). < /li> < /ul> подходы < /h2>
Я попытался создать противодействующие правила брандмауэра, которые переопределяют эту конфигурацию , но есть две проблемы: (1) правила хрупкие, и было трудно переоценить правила, созданные K3S, и (2) это плохой подход, потому что это требует, чтобы я создавал новое правило каждый раз, когда новая услуга Добавлен и порт в правиле переопределяется, и служба должна соответствовать (правила легко и службы выпадают из синхронизации). [/list]