Estoy aprendiendo sobre los servicios de GKE y he creado un GKE cluster con la siguiente información
$ gcloud container clusters list NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS mycluster us-east1-b 1.14.10-gke.27 35.XXX n1-standard-1 1.14.10-gke.27 3 RUNNING Creé mi propia VPC subnet con un rango inferior al que asigné al clúster.
IP address range : 10.7.0.0/24El motor de GKE asignó el siguiente intervalo de IP secundario
Secondary IP range gke-mycluster-pods-765b8f97 10.44.0.0/14 gke-mycluster-services-765b8f97 10.237.0.0/20Después de crear el clúster, la información del nodo es la siguiente:
$kubectl get nodes NAME STATUS ROLES AGE VERSION gke-mycluster-default-pool-c2ddd83e-km5k Ready <none> 21m v1.14.10-gke.27 gke-mycluster-default-pool-c2ddd83e-trrl Ready <none> 21m v1.14.10-gke.27 gke-mycluster-default-pool-c2ddd83e-x4w3 Ready <none> 21m v1.14.10-gke.27Mi implementación YAML es la siguiente, que crea un contenedor nginx:
apiVersion: apps/v1 kind: Deployment metadata: name: mywebapp-replicaset labels: app: mywebapp type: front-end spec: template: metadata: name: myngix-pod labels: app: mywebapp type: front-end spec: containers: - name: nginx image: nginx ports: - containerPort: 80 replicas: 3 selector: matchLabels: type: front-endA continuación se muestra la definición de mi servicio.
apiVersion: v1 kind: Service metadata: name: mywebapp-services labels: app: mywebapp type: front-end spec: type: LoadBalancer ports: - targetPort: 80 port: 80 selector: app: mywebapp type: front-endDespués de crear el servicio usando el comando kubectl, se ve así
$ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.237.0.1 <none> 443/TCP 23h mywebapp-services LoadBalancer 10.237.12.141 <pending> 80:31102/TCP 6s Ahora, si trato de acceder a la LoadBalancer IP de Gcloud shell de Gcloud, se está agotando el tiempo, ¿me estoy perdiendo algo?
$ curl http://10.237.12.141:80 curl: (7) Failed to connect to 10.237.12.141 port 80: Connection timed outLa dirección 10.xxx es una dirección IPv4 privada en su VPC. Cloud Shell no se está ejecutando en su VPC. Por lo tanto, la dirección no es accesible. Debe utilizar la IP externa.
Para obtener más información acerca de las direcciones IPv4 privadas:
También hay direcciones IPv6 privadas. Las VPC de Google Cloud no son compatibles con IPv6. Algunos servicios de Google Cloud, como los balanceadores de carga HTTP(S), admiten IPv6, pero estos recursos no forman parte de las VPC de su proyecto.
Las redes de VPC solo admiten tráfico de unidifusión IPv4. No admiten tráfico de difusión, multidifusión o IPv6 dentro de la red; Las VM en la red de VPC solo pueden enviar a destinos IPv4 y solo recibir tráfico de fuentes IPv4. Sin embargo, es posible crear una dirección IPv6 para un balanceador de carga global.