(Kubernetes + Minikube) não pode obter a imagem do docker do registro local
Eu tenho o docker de configuração na minha máquina e também o minikube que possui o docker, então provavelmente tenho duas instâncias do docker em execução em uma VM diferente
Eu construo uma imagem e identifico-a e, em seguida, envia-a para o registro local e ela é enviada com êxito. Também posso retirá-la do registro e também quando executo o curl para obter a lista de tags que obtive resultado, e aqui está o que fiz
1- docker build -t 127.0.0.1:5000/eliza/console:0.0.1 .
2- docker run -d -p 5000:5000 --name registry registry:2
3- docker tag a3703d02a199 127.0.0.1:5000/eliza/console:0.0.1
4- docker push 127.0.0.1:5000/eliza/console:0.0.1
5- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
todas as etapas acima estão funcionando bem, sem problemas.
Meu problema é quando executo o minikube e tento acessar esta imagem no registro local dentro dele
Então, quando eu executo os próximos comandos
1- sudo minikube start --insecure-registry 127.0.0.1:5000
2- eval $(minikube docker-env)
3- minikube ssh
4- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
na última etapa (ponto 4), me deu a próxima mensagem
curl: (7) Falha ao conectar-se à porta 127.0.0.1 5000: Conexão recusada
Para que eu possa acessar o registro de imagens da minha máquina, mas não do minikube, é claro que isso causa problemas ao implantar essa imagem usando o Kubernetes no minikube e fazer com que a implantação falhe por não conseguir se conectar aohttp://127.0.0.1:5000
Você pode me ajudar a configurar o minikube para ver meu registro local, para que meu problema seja resolvido e eu possa implantar imagem no minikube usando o kubernetes com êxito?
ATUALIZAR
Estou usando este arquivo yaml (eu o nomeei)ConsolePre.yaml) para implantar minha imagem usando o kubernetes
apiVersion: v1
kind: Service
metadata:
name: tripbru-console
labels:
app: tripbru-console
spec:
ports:
- port: 9080
targetPort: 9080
nodePort: 30181
selector:
app: tripbru-console
tier: frontend
type: NodePort
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: tripbru-console
labels:
app: tripbru-console
spec:
strategy:
type: Recreate
template:
metadata:
labels:
app: tripbru-console
tier: frontend
spec:
containers:
- image: docker.local:5000/eliza/console:0.0.1
name: tripbru-console
ports:
- containerPort: 9080
name: tripbru-console
e quando eu executo o próximo comando para aplicar as alterações
sudo kubectl apply -f /PATH_TO_YAML_FILE/ConsolePre.yaml
o resultado é
NAME READY STATUS RESTARTS AGE
po/tripbru-console-1655054400-x3g87 0/1 ErrImagePull 0 1m
e quando eu corro o comando de descrição
O sudo kubectl descreve o pod tripbru-console-1655054400-x3g87
eu encontrei a próxima mensagem no resultado da descrição
Resposta de erro do daemon: {"message": "Gethttps: //docker.local: 5000 / v1 / _ping: disque tcp: looker docker.local em 10.0.2.3:53: leia udp 10.0.2.15:57792-\u003e10.0.2.3:53: tempo limite de entrada e saída "}
e eu configureidocker.local xxx.xxx.xx.4 no minikube / etc / hosts, então eu não sei de onde 10.0.2.3:53 e 10.0.2.15:57792 vêm.
Então, como posso resolver esse problema também.
Obrigado :)