Kubernetes como puxar uma imagem de um registro privado

Kubernetes como puxar uma imagem de um registro privado

Os registros são de dois tipos: privado e público. Os registros públicos podem ser acessados ​​sem nenhuma credencial de login. No entanto, para acessar um registro privado, você precisa fornecer credenciais para fazer login. O ambiente de contêiner de Kubernetes funciona com imagens de contêineres e essas imagens são salvas em registro público ou privado. As imagens localizadas em um repositório público estão disponíveis para todos sem nenhuma proteção. No entanto, se você precisar acessar uma imagem localizada em um registro privado, precisará ter credenciais de login para acessar um registro privado. Este guia ensinará em detalhes todas as etapas sobre como puxar uma imagem de um registro privado.

Pré -requisitos:

O ambiente Kubernetes requer ferramentas básicas para permitir que você trabalhe nele. Portanto, certifique -se de que seu sistema já tenha as seguintes ferramentas instaladas e, se não o estiverem, faça -o antes de avançar neste documento:

  • Ubuntu 20.04 ou qualquer outra versão mais recente
  • Ferramenta de linha de comando kubectl
  • Cluster Minikube
  • Dois nós genéricos mínimos sem atuar como hosts de plano de controle
  • Ferramenta de linha de comando do Docker ou qualquer outro registro de contêiner
  • Docker ID ou qualquer outro registro de contêineres com credenciais de login

Supondo que você tenha preparado seu sistema instalando todos os pré -requisitos, vamos começar com o processo de extrair uma imagem de um registro privado.

Estamos usando um contêiner do Docker neste guia, então isso é projetado especificamente para fazer você aprender como você pode puxar uma imagem do registro privado de um docker.

Então, vamos iniciar este guia passo a passo que você pode seguir e aprender a puxar a imagem de um registro privado facilmente.

Etapa 1: Inicie o cluster Minikube

Como estamos usando o cluster Minikube, precisamos garantir que ele esteja no modo ativo. O cluster Minikube pode começar usando o seguinte comando:

kalsoom@kalsoom-virtualbox> Minikube Iniciar

Este comando permite que você inicie o cluster Minikube, onde você pode começar a executar seus comandos e aplicativos. Ao executar este comando 'start', você obterá uma saída semelhante à dada no instantâneo abaixo:

Etapa 2: verifique o contêiner do Docker

Como estamos usando o recipiente do Docker e estamos tentando acessar uma imagem localizada em um registro privado do Docker, precisamos fazer login nela. Precisamos fornecer o nome de login e a senha para o registro privado ter acesso completo ao registro. Agora, digite o seguinte comando na sua ferramenta de linha de comando e faça login no Hub do Docker:

kalsoom@kalsoom-virtualbox> Login do docker

Conforme mostrado na captura de tela acima, a ferramenta de linha de comando pede um nome de usuário e senha para fazer login no hub do docker com o Docker ID. Aqui, você pode fornecer as credenciais do seu Docker ID e ter acesso ao registro privado do ID associado.

Etapa 3: Acesse o arquivo JSON

Quando você faz login no hub do Docker com o Docker ID, a 'configuração.O arquivo de JSON é atualizado com o token de autorização. Isso acontece em resposta ao processo de login e ao token de autorização permite criar a chave secreta para acessar o registro privado do Docker. Digite o seguinte comando em sua ferramenta de linha de comando para obter o token de autorização da configuração.Arquivo JSON:

kalsoom@kalsoom-virtualbox> cat ~//.Docker/Config.JSON

Consulte a saída fornecida na captura de tela abaixo:

Etapa 4: Crie uma chave secreta

Uma chave secreta é importante para garantir acesso completamente seguro ao registro privado do Docker. Portanto, usaremos a chave de autorização para criar a chave secreta nas credenciais existentes. Isso nos permitirá puxar a imagem de um registro privado do Docker, já que Docker usa o segredo dos Kubernetes.io/DockerCongigjson. Agora, execute o seguinte comando em seu terminal e obtenha o segredo das credenciais existentes:

Kalsoom@kalsoom-virtualbox> kubectl Crie Regcred genérico secreto \

Basta copiar e colar as credenciais com o comando no terminal e obter o segredo do seu registro privado. Consulte a saída dada abaixo:

O comando anterior permite que você crie o segredo a partir da credencial existente, se desejar criar um segredo, fornecendo a credencial no tempo de execução. Além disso, você pode fazer isso executando o comando anexado abaixo:

> Kubectl Crie Docker-Registry Regcred -docker-Server = --Docker-Username = --Docker-Password = --docker-email =

Aqui, o parâmetro '-docker-server =' pega o nome do seu servidor, o parâmetro '-docker-username =' leva seu nome de usuário, o parâmetro '-docker-assassword =' ​​pega a senha e o '-docker- email = 'Parâmetro leva seu endereço de e -mail. Veja os dados de amostra fornecidos na captura de tela abaixo:

Isso criou um segredo chamado 'Regcred' usando a credencial que você forneceu na linha de comando.

Etapa 5: Inspeção de segredo

Agora que criamos o segredo para puxar a imagem do registro privado, precisamos inspecioná -la para verificar o que ele contém. Isso nos permitirá compreender o conteúdo do 'Regcred Secret. Execute o seguinte comando em seu terminal e veja o segredo Regcred:

> Kubectl Get Secret Regcred -Output = Yaml

Como o segredo regcred é armazenado no arquivo YAML, usando este comando, estamos tentando abrir o arquivo YAML que contém o segredo. Veja a saída fornecida abaixo:

Os dados são representados no formato Base64 e as credenciais são criptografadas com a técnica de criptografia Base64. Para entender o conteúdo do segredo regcred, precisamos ter o conteúdo em um formato legível. Portanto, descriptografaremos o segredo em um formato legível usando o seguinte comando:

> Kubectl Get Secret Regcred -Output = JsonPath = .dados.\.DockerConfigjson "| Base64 -Decodo

Consulte a saída fornecida abaixo e veja o segredo em um formato legível:

Etapa 6: Crie o arquivo de configuração

Agora, estamos prontos para puxar a imagem do registro privado. Então, estamos criando uma vagem que usará o segredo que criamos anteriormente para acessar a imagem. A definição de configuração do pod é mantida em um arquivo YAML. Crie um arquivo YAML usando o comando abaixo:

> nano privado.Yaml

Este comando criou um arquivo YAML, onde você pode armazenar a definição de configuração para criar o pod. Veja a mesma definição dada na captura de tela abaixo:

Etapa 7: Baixe o arquivo de configuração

Agora, faça o download do arquivo de configuração em seu sistema e salve -o usando o seguinte comando:

> Curl -l -o My-Private-Reg-Pod.yaml https: // k8s.IO/exemplos/pods/private-reg-POD.Yaml

Etapa 8: Crie o POD do arquivo de configuração

Agora, nosso arquivo de configuração está pronto para criar o pod que usará o segredo. O comando a seguir construirá o pod:

> kubectl Aplicar -f privado.Yaml

A vagem foi criada com sucesso. Então, vamos verificar se está funcionando corretamente usando o seguinte comando:

> KUBECTL Get POD Private-Reg

Conclusão

Aprendemos sobre os registros públicos e privados do Docker Hub e como acessar o repositório privado do Docker usando a credencial. Com a ajuda de um cenário simples, aprendemos a acessar o Docker Hub usando a credencial existente, além de fornecer credenciais no tempo de execução. E, finalmente, aprendemos a tirar uma imagem de um registro privado do hub do documento.