2017-01-24 2 views
0

2 VPC в:Kubernetes над несколькими VPC-х

Первичная VPC: 10.111.0.0/22 ​​

Первичный VPC подсети содержит 4 подсети:

10.111.0.0/25 
10.111.0.128/25 
10.111.1.0/25 
10.111.1.128/25 

Вторичный VPC: Kubernetes Minion VPC (172.16.0.0/20)

Дополнительные примечания: Первичная VPC & & Вторичный VPC использует VPC вглядываясь, чтобы обеспечить связь между 2 VPC в

выпуска: Можно ли отделить миньонов экземпляры/узлы/стручки и т.д. в их собственном VPC для того, чтобы сохранить сетевое пространство в первичной VPC. Если возможно, мне бы хотелось, чтобы конечные точки мастера и службы работали под основным vpc, чтобы они были напрямую маршрутизированы, не переходя через общедоступный Интернет, а также иметь узлы/контейнеры и т. Д. В своем собственном пространстве, не загромождая и без того небольшое пространство ip, которое мы имеем ,

PS: Основное адресное пространство VPC - это только/22 из-за ограничений наложения IP-адресов в основной корпоративной сети.

ответ

1

Как только вы определяете конечную точку обслуживания, доступную извне кластера k8s (независимо от того, используете ли вы параметр NodePort или LoadBalancer), k8s открывает служебный порт на каждом узле вашего кластера (также на основных узлах). Каждый узел в вашем кластере запускает прокси-сервер kube, который заботится о том, чтобы любой запрос на служебном порту перенаправлялся на работающий Pod, даже если этот Pod работает на совершенно другом узле в другом VPC (учитывая, что узел доступен через просвет, конечно). Кроме того, Pods запускаются в виртуальных сетях, которые не имеют ничего общего с вашей физической сетью ваших узлов - поэтому Pods не исчерпывают IP-адрес вашей сети, но число узлов в вашей VPC/сети. Итак, я думаю, вы должны просто ограничить количество узлов в VPC, которое имеет ограниченное пространство IP (вы можете просто разместить главные узлы там, где хотите) и поместить рабочие узлы в другой VPC.

О привязке узла к Pods: Вы можете назначить Pods конкретным рабочим узлам (см. here). Например, вы можете назначить все свои Pods рабочим узлам в одном VPC и маршрутизировать любой общий трафик на узлы другого VPC, который затем проксирует трафик на запущенный Pod, но это не решает проблему вашего IP-пространства на все.

Update:

Что касается конечных точек службы: При настройке сервиса, который доступен из-за пределы ваших K8S кластера главного узла первым выделяет порт, который с тех пор зарезервирован для этой службы. Этот порт затем открывается на каждом узле (главном и рабочем узлах) в вашем кластере. Порт управляется прокси-сервером kube, который, конечно же, также находится на каждом узле. Затем kube-proxy позаботится об остальном и проксирует входящий трафик с этого порта на запущенный блок для соответствующей службы, даже если этот модуль работает на совершенно другом узле (внутреннее k8s достигает этого с помощью некоторой магии iptables). Это означает, что вы можете отправить свой запрос на этот порт (теперь позвоните ему <service-port>) на любом узле вашего кластера. Конечной точкой вашего обслуживания является в основном <proto>://<any-worker-or-master-node-ip>:<service-port>.С помощью этого вы также можете легко настроить ELB и добавить все свои узлы в качестве экземпляров, поэтому у вас есть общая точка доступа, ориентированная на Интернет. Все это объясняется более подробно here.

+0

Итак, вы говорите, что создав мастер на основном vpc, я все еще могу настроить мои экземпляры миньонов для запуска под дополнительным vpc. Где создаются «конечные точки службы», они находятся на главных узлах или что-то еще? Я вижу упоминание о конечных точках службы, но не в том случае, если они являются фактическими экземплярами или только EIP прикреплены к мастеру? –

+0

Относительно разделения рабочих и главных узлов в разных VPC: до тех пор, пока узлы имеют маршруты друг к другу (что происходит, если вы просматриваете неперекрывающиеся VPC-коды), я не вижу причины, по которым он не должен работать , но я должен признать, что я никогда не пробовал это сам. – fishi

+0

Относительно конечных точек обслуживания: Не вписывался в раздел комментариев ... См. Обновленный ответ. – fishi