1
resposta

[Sugestão] [Google Kubernetes Engine] Como acessar a aplicação externamente

Pessoal, para quem não conseguiu acessar a aplicação externamente, é necessário criar uma entrada no firewall do Google Cloud, permitindo a conexão externa.

Primeiro, verifique os serviços e qual porta o NodePort está utilizando:

$ kubectl get svc                
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP        44h
svc-pod-1    NodePort    10.96.5.20     <none>        80:30314/TCP   33m
svc-pod-2    ClusterIP   10.96.12.116   <none>        8080/TCP       13h

Na sequência, crie uma entrada no firewall do Google Cloud, utilizando o seguinte comando:

$ gcloud compute firewall-rules create svc-pod-1 --allow tcp:30314     
Creating firewall...⠹Created [https://www.googleapis.com/compute/v1/projects/kubernetes-363413/global/firewalls/svc-pod-1].               
Creating firewall...done.                                                                                                                 
NAME       NETWORK  DIRECTION  PRIORITY  ALLOW      DENY  DISABLED
svc-pod-1  default  INGRESS    1000      tcp:30314        False

Feito isso, você poderá acessar a aplicação através de qualquer endereço IP listado em "EXTERNAL-IP":NODE_PORT (no meu caso, 30314). Para obter a lista dos IPs que você poderá acessar, rode o comando:

% kubectl get nodes --output wide
NAME                                       STATUS   ROLES    AGE   VERSION            INTERNAL-IP   EXTERNAL-IP     OS-IMAGE                             KERNEL-VERSION   CONTAINER-RUNTIME
gke-cluster-1-default-pool-4358b71e   Ready    <none>   44h   v1.22.12-gke.300   10.186.0.4    34.118.81.158   Container-Optimized OS from Google   5.10.127+        containerd://1.5.13
gke-cluster-1-default-pool-4358b71e   Ready    <none>   44h   v1.22.12-gke.300   10.186.0.5    34.116.212.51   Container-Optimized OS from Google   5.10.127+        containerd://1.5.13
gke-cluster-1-default-pool-4358b71e   Ready    <none>   44h   v1.22.12-gke.300   10.186.0.6    34.118.63.86    Container-Optimized OS from Google   5.10.127+        containerd://1.5.13

A documentação sobre o procedimento que executei está disponível em:

https://cloud.google.com/kubernetes-engine/docs/how-to/exposing-apps#creating_a_service_of_type_nodeport

1 resposta

Oi, Gabriel. Tudo bem?

Parabéns e obrigado por compartilhar a informação. Bons estudos!