В этом разделе описывается, как получить доступ к интранету из контейнера (вне кластера в VPC), включая intra-VPC доступ и cross-VPC доступ.
Производительность доступа к интранету из контейнера зависит от моделей сетей контейнеров кластера.
Контейнерная туннельная сеть инкапсулирует сетевые пакеты данных через туннели на основе сети узла. Контейнер может получать доступ к другим ресурсам в том же VPC, пока узел может получить доступ к этим ресурсам. Если доступ не удаётся, проверьте, разрешает ли группа безопасности соседних ресурсов доступ с узла, где находится контейнер.
В модели Cloud Native Network 2.0 контейнеру назначается IP‑адрес из CIDR‑блока VPC. CIDR‑блок контейнера является подсетью VPC, где расположен узел. Контейнер может естественно взаимодействовать с другими адресами в VPC. Если доступ не удаётся, проверьте, разрешает ли группа безопасности соседних ресурсов доступ из CIDR‑блока контейнера.
Модель VPC network использует маршруты VPC для пересылки трафика контейнера. CIDR‑блок контейнера и VPC узла находятся в разных CIDR‑блоках. Когда контейнер получает доступ к другим ресурсам в том же VPC, группы безопасности этих ресурсов должны разрешать трафик из container CIDR block.
Предположим, что CIDR‑блок кластера — 192.168.10.0/24, а CIDR‑блок контейнера — 172.16.0.0/16.
В VPC (вне кластера) есть ECS с IP‑адресом 192.168.10.25. Правила группы безопасности ECS разрешают доступ только из CIDR‑блока кластера.
В этом случае 192.168.10.25 нельзя пропинговать из контейнера.
kubectl exec test01-6cbbf97b78-krj6h -it -- /bin/sh/ # ping 192.168.10.25PING 192.168.10.25 (192.168.10.25): 56 data bytes^C--- 192.168.10.25 ping statistics ---104 packets transmitted, 0 packets received, 100% packet loss
Настройте группу безопасности ECS, чтобы разрешить входящий трафик из Под CIDR 172.16.0.0/16.
В этом случае 192.168.10.25 можно пропинговать из контейнера.
$ kubectl exec test01-6cbbf97b78-krj6h -it -- /bin/sh/ # ping 192.168.10.25PING 192.168.10.25 (192.168.10.25): 56 data bytes64 bytes from 192.168.10.25: seq=0 ttl=64 time=1.412 ms64 bytes from 192.168.10.25: seq=1 ttl=64 time=1.400 ms64 bytes from 192.168.10.25: seq=2 ttl=64 time=1.299 ms64 bytes from 192.168.10.25: seq=3 ttl=64 time=1.283 ms^C--- 192.168.10.25 ping statistics ---4 packets transmitted, 4 packets received, 0% packet loss
Доступ между VPC реализуется путем создания соединения peering между VPC.
Предположим, что существует два VPC.
Создайте соединение peering с именем peering-demo (локальный VPC — vpc-demo, а peer VPC — vpc-demo2). Добавьте CIDR‑блок контейнера в маршрут peer VPC.
После этой конфигурации вы можете получить доступ к CIDR‑блоку контейнера 10.0.0.0/16 в vpc-demo2. При доступе обратите внимание на конфигурацию группы безопасности и включите настройку портов.
К облачным сервисам, которые взаимодействуют с CCE через интранет, относятся RDS, DCS, Kafka, RabbitMQ и ModelArts.
Помимо сетевых конфигураций, описанных в Intra-VPC Access и Cross-VPC Access, также необходимо проверить whether these cloud services allow external access. Например, экземпляр DCS Redis доступен только IP‑адресам из его списка доверенных (trustlist). Как правило, эти облачные сервисы доступны IP‑адресам в том же VPC. Однако CIDR‑блок контейнера в модели сети VPC отличается от CIDR‑блока VPC. Поэтому необходимо добавить CIDR‑блок контейнера в список доверенных.
Если из контейнера невозможно получить доступ к интранету, выполните следующие действия: