1
resposta

Load balancer do Minikube com Docker Local

Porque quando crio o load balancer ele fica no estado pendente e nunca termina:

[root@DESKTOP-VT7J5B9 bin]# kubectl get  services servico-aplicacao -o wide
NAME                TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE       SELECTOR
servico-aplicacao   LoadBalancer   10.106.248.145   <pending>     9090:32447/TCP   3m        app=arquitetura-server-config
1 resposta

O processo é mais complicado, isso porque o Minikube contém um Docker daemon integrado para rodar os containers. Para usar o Docker daemon do minikube, precisaríamos colocar no terminal:

eval $(minikube docker-env)

Agora que estamos usando o Docker daemon do Minikube podemos criar nossa imagem customizada. Por exemplo:

docker build -t minha-imagem:v1 .

No arquivo yaml de configuração do POD, coloque a imagem criada anteriormente, por exemplo "minha-imagem:v1". O Kubernetes por padrão irá tentar fazer o Download dessa imagem de um registro, é preciso desabilitar essa opção com imagePullPolicy: Never. Segue exemplo de um arquivo de configuração do POD:

apiVersion: v1
kind: Pod
metadata:
  name: aplicacao
spec:
  containers:
    - name: container-x
      imagePullPolicy: Never
      image: minha-imagem:v1
      ports:
        - containerPort: 80

Depois para voltar o docker daemon default:

1 - sudo usermod -aG docker $(whoami)

2 - Faça logout e login na máquina

3- sudo service docker start