Кубернетес: внутрикластерная изоляция приложений
Я экспериментировал с k8s
/kops
/aws
люкс.
Пока что дела идут довольно хорошо (за исключением проблемы при обновлении кластера через kops
)
Я хочу иметь возможность использовать мои существующие ресурсы / кластер и развернуть 2 варианта моего приложения (т.е. production
а также testing
) в том же кластере.
Я хотел бы быть на безопасной стороне и максимально увеличить изоляцию между k8s
ресурсы этих двух развертываний.
Определенно там происходит в разных пространствах имен.
Из какого-то расследования я узнал, что мне нужно также подать заявку NetworkPolicy
предотвращатьnamespace
связь; однако применяя NetworkPolicy
ресурсам требуется поддерживающее сетевое решение (в настоящее время используется kubenet
по умолчанию kops
который не)
Какое решение / плагин выбрать?
Просто хочу (по крайней мере, на данный момент) уровень изоляции, описанный выше, который, я полагаю, может быть достигнут через NetworkPolicy
даже если есть общее CIDR
для всех модулей (просто хочу сказать, что нужно просто простейшее сетевое решение, которое бы достигло этого, ничего более сложного с несколькими CIDRs
так далее).
В идеале я хотел бы иметь возможность просто использовать NetworkPolicy
ресурс для некоторых namespace
-основан (namespaceSelector
) а также pod
-основан (podSelector
) правила входа и все тут (?)
1 ответ
В моих кластерах kops я использую сетевое соединение (также я предоставляю их как частную топологию, которая исключает kubenet
тем не мение). Таким образом, мое первое предложение должно было бы пойти с другой сетью, переплетение и ситцевость, являющиеся первыми, которые приходят мне на ум.
Кроме того, вы можете захотеть взглянуть на решение для сервисной сетки, такое как Istio, которое также может использовать NetworkPolicies (некоторые чтения политики istio)