3
respostas

Ambiente Windows 11 com Ubuntu instalado

Boa tarde!

Meu ambiente é um Windows 11, no qual instalei o Ubuntu 22.04.3 LTS, e dentro dele meu Docker (Docker Desktop estava muito lento, não tinha como, hehe).

Segue a versão do meu kubectl:

Client Version: v1.29.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.3

Segue a versão do meu minikube:

minikube version: v1.32.0
commit: 8220a6eb95f0a4d75f7f2d7b14cef975f050512d

Utilizo o driver docker para subir meu cluster em vez de utilizar Virtual Box.

Meu arquivo de configuração do pod:

apiVersion: v1
kind: Pod
metadata:
  name: pod-1
  labels:
    app: first-app
spec:
  containers:
    - name: container-pod-1
      image: nginx:latest
      ports:
        - containerPort: 80

Meu arquivo de configuração do serviço:

apiVersion: v1
kind: Service
metadata:
  name: svc-pod-1
spec:
  type: NodePort
  selector:
    app: first-app
  ports:
    - port: 9001
      targetPort: 80
      nodePort: 30000

Segui as aulas sem problemas até aqui, contudo, agora não consigo acessar meu serviço externamente.

Já tentei de várias formas:

  • localhost:9001
  • localhost:30000
  • 192.168.49.2:9001
  • 192.168.49.2:30000

Como fazer?

3 respostas

Olá, Daniel.

Tudo bem?

Em relação à sua dúvida, pelo que entendi, você está tentando acessar seu serviço externamente, mas não está conseguindo. Você mencionou que está usando o driver docker para subir seu cluster, ao invés do Virtual Box. Isso pode estar afetando a maneira como você acessa o serviço.

No caso do Windows, o Docker Desktop faz um bind automático do Docker Desktop para o localhost. Porém, como você está usando o Ubuntu dentro do Windows, essa configuração pode não estar funcionando da mesma maneira.

A porta que você deve usar para acessar o serviço é a que está definida no campo nodePort do seu arquivo de configuração do serviço, que no seu caso é 30000.

Então, a maneira correta de acessar o serviço seria através do IP do seu nó (node) na porta 30000. Para descobrir o IP do seu nó, você pode usar o comando kubectl get nodes -o wide, que vai mostrar uma lista dos seus nós junto com seus IPs.

No entanto, como você está usando o Ubuntu dentro do Windows, o IP que você deve usar pode ser diferente. Uma maneira de descobrir o IP correto seria usando o comando minikube ip, que vai retornar o IP do Minikube.

Então, tente acessar o serviço usando o IP retornado pelo comando minikube ip na porta 30000. Por exemplo, se o comando minikube ip retornar 192.168.49.2, você deve tentar acessar o serviço através do endereço 192.168.49.2:30000.

Espero ter ajudado. Qualquer coisa manda aqui de novo. Bons estudos.

Bom dia Renan!

Infelizmente não funciona. Aquele 192.168.49.2, que coloquei acima, já é o IP que tenho tanto na saída do comando kubectl get nodes -o wide quanto na saída do comando minikube ip.

Mesmo assim agradeço a tentativa.

Também estou com a mesma questão.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software