Configuración del acceso dentro de la VPC
En esta sección se describe cómo acceder a una intranet desde un contenedor (fuera del clúster en una VPC), incluido el acceso dentro de VPC y el acceso entre VPC.
Acceso dentro de la VPC
El rendimiento de acceder a una intranet desde un contenedor varía según los modelos de red de contenedor de un clúster.
- Container tunnel network
La red de túneles de contenedor encapsula paquetes de datos de red con túneles basados en la red de nodos. Un contenedor puede acceder a otros recursos en la misma VPC siempre que el nodo pueda acceder a los recursos. Si el acceso falla, compruebe si el grupo de seguridad del recurso del par permite el acceso desde el nodo donde se encuentra el contenedor.
- VPC network
El modelo de red de VPC utiliza rutas de VPC para reenviar el tráfico de contenedor. El bloque CIDR de contenedor y el nodo de VPC no están en el mismo bloque CIDR. Cuando un contenedor accede a otros recursos en la misma VPC, haga clic en el grupo de seguridad del recurso del par debe permitir el acceso al bloque CIDR de contenedor.
Por ejemplo, el bloque CIDR donde reside el nodo de clúster es 192.168.10.0/24, y el bloque CIDR de contenedor es 172.16.0.0/16.
Hay un ECS cuya dirección IP es 192.168.10.52 en la VPC (fuera del clúster). El grupo de seguridad del ECS permite el acceso solo al bloque CIDR del nodo del clúster.
En este caso, si hace ping 192.168.10.52 desde contenedor, la operación de ping falla.
kubectl exec test01-6cbbf97b78-krj6h -it -- /bin/sh / # ping 192.168.10.25 PING 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
Configure el grupo de seguridad para permitir el acceso desde el bloque CIDR de contenedor 172.16.0.0/16.
En este caso, se puede hacer un ping 192.168.10.52 desde el contenedor.
$ kubectl exec test01-6cbbf97b78-krj6h -it -- /bin/sh / # ping 192.168.10.25 PING 192.168.10.25 (192.168.10.25): 56 data bytes 64 bytes from 192.168.10.25: seq=0 ttl=64 time=1.412 ms 64 bytes from 192.168.10.25: seq=1 ttl=64 time=1.400 ms 64 bytes from 192.168.10.25: seq=2 ttl=64 time=1.299 ms 64 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
Acceso entre VPC
El acceso entre VPC se implementa estableciendo una interconexión entre las VPC.
- En el modelo de red de túnel de contenedor, un contenedor puede acceder al par de las VPC solo cuando se habilita la comunicación entre la red de nodo y el par de las VPC.
- Cloud Native Network 2.0 es similar a la red de túneles de contenedor. Solo necesita habilitar la comunicación entre la subred donde se encuentra el contenedor y la VPC del mismo nivel.
- Cada red de VPC tiene un bloque CIDR de contenedor independiente. Además del bloque CIDR de VPC, el bloque CIDR de contenedor también necesita estar conectado.
Suponga que hay dos VPC.
- vpc-demo: Su bloque CIDR es 192.168.0.0/16, el clúster está en vpc-demo, y el bloque CIDR de contenedor es 10.0.0.0/16.
- vpc-demo2: Su bloque CIDR es 10.1.0.0/16.
Crear una interconexión llamada peering-demo (la VPC local es vpc-demo y la VPC del otro extremo es vpc-demo2). Agregue el bloque CIDR de contenedor a la ruta de la VPC del mismo nivel.
Después de esta configuración, puede acceder al bloque CIDR de contenedor 10.0.0.0/16 en vpc-demo2. Durante el acceso, preste atención a la configuración del grupo de seguridad y habilite la configuración del puerto.
Acceso a otros servicios en la nube
Los servicios comunes que se comunican con CCE con una intranet incluyen RDS, DCS, Kafka, RabbitMQ y ModelArts.
Además de las configuraciones de red descritas en Acceso dentro de la VPC y Acceso entre VPC también debe comprobar la opción si estos servicios en la nube permiten el acceso externo. Por ejemplo, la instancia de DCS Redis solo puede ser accedida por las direcciones IP en su lista blanca. En general, se puede acceder a estos servicios en la nube mediante direcciones IP en la misma VPC. Sin embargo, el bloque CIDR de contenedor en el modelo de red de VPC es diferente del bloque CIDR de la VPC. Por lo tanto, debe agregar el bloque CIDR de contenedor a la lista blanca.
¿Qué pasa si un contenedor no accede a una intranet?
Si no se puede acceder a una intranet desde un contenedor, realice las siguientes operaciones:
- Vea la regla de grupo de seguridad del servidor par para comprobar si el contenedor tiene permiso para acceder al servidor del otro extremo.
- El modelo de red de túnel de contenedor necesita permitir la dirección IP del nodo donde se encuentra el contenedor.
- El modelo de red VPC necesita permitir el bloque CIDR de contenedor.
- El modelo de Cloud Native Network 2.0 debe permitir la subred donde se encuentra el contenedor.
- Compruebe si se ha configurado una lista blanca para el servidor del otro extremo. Por ejemplo, la instancia de DCS Redis solo puede ser accedida por las direcciones IP en su lista blanca. Agregue los bloques CIDR de contenedor y de nodo a la lista blanca.
- Compruebe si el motor de contenedor está instalado en el servidor de otro extremo y si entra en conflicto con el bloque CIDR de contenedor en CCE. Si se produce un conflicto de red, el acceso falla.