
Tudo bem, estou tentando publicar uma imagem privada do Docker no Kubernetes e estou enfrentando alguns problemas estranhos.
Eu começo fazendo login no docker
docker login -u $DOCKER_USER -p $DOCKER_TOKEN
e isso irá armazenar minha senha em um arquivo de configuração para mim, então eu executo isso
kubectl create secret generic regcred --from-file=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson
Eu esperaria que isso pegasse o URL do config.json
arquivo, mas recebo este erro
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Então pensei que poderia também especificar o servidor
kubectl create secret generic regcred --from-file=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson --server=https://index.docker.io/v1/
Mas ainda sem sorte.
error: EOF
2020-01-12T19:45:39.7433187Z stdout P Please enter Username:
e como está sendo executado em um servidor de compilação, não consigo inserir o nome de usuário.
Então, o que estou perdendo aqui?
Responder1
kubectl create secret generic regcred --from-file=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson --server=https://index.docker.io/v1/
Você está combinando o --server=
argumento para kubectl
, que determina o servidor Kubernetes ao qual ele se conectará, com--docker-server=
Você vai querer usar o kubectl create secret docker-registry
comando fornecido (em vez do generic
tipo) porque o Secret
que é criado pela versão especializada énãoapenas o .docker/config.json
arquivo enviado para o cluster – eles são estruturalmente diferentes
Também:
A conexão com o servidor localhost:8080 foi recusada - você especificou o host ou porta correto?
é uma indicação absoluta de que você não tem um kubeconfig configurado corretamente, então você pode esquecer qualquer kubectl
comando fazendo algo razoável até corrigir o problema