В этом разделе описывается, как получить доступ к интранету из контейнера (вне кластера в VPC), включая доступ intra-VPC и кросс-VPC доступ.
Производительность доступа к интранету из контейнера зависит от моделей сетей контейнеров кластера.
Сеть туннеля контейнера инкапсулирует сетевые пакеты данных через туннели на основе сети узла. Контейнер может получать доступ к другим ресурсам в том же VPC, пока узел может получить доступ к этим ресурсам. Если доступ не удаётся, проверьте, разрешает ли группа безопасности соседних ресурсов доступ с узла, где расположен контейнер.
В модели Cloud Native Network 2.0 контейнеру назначается IP-адрес из CIDR-блока VPC. CIDR-блок контейнера является подсетью VPC, где находится узел. Контейнер может естественно взаимодействовать с другими адресами в VPC. Если доступ не удаётся, проверьте, разрешает ли группа безопасности соседних ресурсов доступ из CIDR-блока контейнера.
Модель сети VPC использует маршруты VPC для пересылки трафика контейнера. CIDR-блок контейнера и VPC узла находятся в разных CIDR-блоках. Когда контейнер получает доступ к другим ресурсам в том же VPC, группы безопасности этих ресурсов должны разрешать трафик из CIDR-блока контейнера.
Предположим, 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
Настройте группу безопасности, чтобы разрешить доступ из 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, VPC‑пир — vpc-demo2). Добавьте CIDR‑блок контейнера в маршрут VPC‑пира.
После этой настройки вы сможете получить доступ к CIDR‑блоку контейнера 10.0.0.0/16 в vpc-demo2. При доступе обратите внимание на конфигурацию группы безопасности и включите настройку портов.
К облачным сервисам, которые взаимодействуют с CCE через интранет, относятся RDS, DCS, Kafka, ModelArts и RabbitMQ.
Помимо сетевых конфигураций, описанных в Intra-VPC Access и Cross-VPC Access, также необходимо проверить whether these cloud services allow external access. Например, экземпляр DCS Redis доступен только IP‑адресам из его trustlist. Как правило, эти облачные сервисы доступны IP‑адресам в той же VPC. Однако CIDR‑блок контейнера в модели сети VPC отличается от CIDR‑блока VPC. Поэтому необходимо добавить CIDR‑блок контейнера в trustlist.
Если из контейнера невозможно получить доступ к интранету, выполните следующие действия: