云容器引擎 CCE-容器如何访问VPC内部网络:VPC内访问

时间:2023-11-01 16:25:54

VPC内访问

根据集群容器网络模型不同,从容器访问内部网络有不同表现。

  • 容器隧道网络

    容器隧道网络在节点网络基础上通过隧道封装网络数据包,容器访问同VPC下其他资源时,只要节点能访问通,容器就能访问通。如果访问不通,需要确认对端资源的安全组配置是否能够允许容器所在节点访问。

  • 云原生网络2.0

    云原生网络2.0模型下,容器直接从VPC网段内分配IP地址,容器网段是节点所在VPC的子网,容器与VPC内其他地址天然能够互通。如果访问不通,需要确认对端资源的安全组配置是否能够允许容器网段访问。

  • VPC网络

    VPC网络使用了VPC路由功能来转发容器的流量,容器网段与节点VPC不在同一个网段,容器访问同VPC下其他资源时,需要对端资源的安全组能够允许容器网段访问

    例如集群节点所在网段为192.168.10.0/24,容器网段为172.16.0.0/16。

    VPC下(集群外)有一个地址为192.168.10.52的ECS,其安全组规则仅允许集群节点的IP网段访问。

    此时如果从容器中ping 192.168.10.52,会发现无法ping通。

    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

    在安全组放通容器网段172.16.0.0/16访问。

    此时再从容器中ping 192.168.10.52,会发现可以ping通。

    $ 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
support.huaweicloud.com/usermanual-cce/cce_10_0399.html