Em diversos cenários, é necessário usar imagens de um repositório privado para implantar aplicações. Este tópico descreve como usar o Alibaba Cloud Container Registry para criar um repositório de imagens privado e, em seguida, criar uma aplicação que utilize esse repositório.
Crie um repositório de imagens privado
Se esta for a primeira vez que você usa o Alibaba Cloud Container Registry, uma janela Tips será exibida solicitando a definição de uma senha de logon do Registry. Clique em Activate Now e siga as instruções na tela para definir a senha de logon do Registry.
Faça logon no Container Registry console.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique na instância da Personal Edition que deseja gerenciar.
Na página de gerenciamento da instância pessoal, escolha .
Na página Repositories, no canto superior esquerdo, selecione Create Repository.
No assistente de Repository, defina Namespaces, Repository Name, Summary e Repository Type. Neste exemplo, selecione repositório de imagens privado. Em seguida, clique em Next.
-
No assistente de Code Source, defina Code Source como Local Repository e clique em Create Repository.
NotaNa lista de repositórios de imagens, clique no nome do repositório de destino. Na página Basic Information, acesse a aba Guide para visualizar as instruções de uso deste repositório de imagens privado.
-
Execute o comando a seguir para fazer logon no repositório de imagens.
NotaSe você estiver usando uma conta Alibaba Cloud, o nome da sua conta Alibaba Cloud será o nome de usuário de logon do repositório de imagens.
Caso esteja usando um usuário do Resource Access Management (RAM), remova o sufixo .onaliyun.com do nome da sua conta de usuário RAM para obter o nome de usuário de logon do repositório de imagens. Por exemplo, se o seu usuário RAM for 123@1880770869021234.onaliyun.com, o nome de usuário de logon do repositório de imagens será 123@1880770869021234.
sudo docker login --username=<image repository logon username> registry.cn-<region where your personal instance resides>.aliyuncs.comInsira sua senha de logon quando solicitado. Se a saída exibir
login succeeded, o logon foi bem-sucedido. -
Execute o comando a seguir para visualizar o id da imagem.
docker images -
Execute o comando a seguir para aplicar uma tag à imagem.
sudo docker tag <image ID> registry.cn-hangzhou.aliyuncs.com/<namespace name>/<image repository name>:[image version] -
Execute o comando a seguir para enviar a imagem ao repositório.
sudo docker push registry.cn-hangzhou.aliyuncs.com/<namespace name>/<image repository name>:[image version]Saída esperada:
The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/XXX/tomcat-private] 9072c7b03a1b: Pushed f9701cf47c58: Pushed 365c8156ff79: Pushed 2de08d97c2ed: Pushed 6b09c39b2b33: Pushed 4172ffa172a6: Pushed 1dccf0da88f3: Pushed d2070b14033b: Pushed 63dcf81c7ca7: Pushed ce6466f43b11: Pushed 719d45669b35: Pushed 3b10514a95be: Pushed V1: digest: sha256:cded14cf64697961078aedfdf870e704a52270188c8194b6f70c778a8289**** size: 2836Na página de detalhes do repositório de imagens, no painel de navegação à esquerda, clique em Tags. Verifique se a imagem foi carregada com sucesso e visualize suas informações de versão.
Crie um secret do tipo credencial de logon de repositório de imagens privado
Para baixar imagens de um repositório privado, é obrigatório usar um secret do tipo Private Repository Logon Secret.
Faça logon no Container Service Management Console.
No painel de navegação à esquerda, clique em Cluster.
Na página Cluster List, clique no nome do cluster de destino ou em Details na coluna Actions.
No painel de navegação à esquerda da página de gerenciamento do cluster, escolha .
Na página Secrets, no canto superior direito, clique em Create.
-
Na página Create, configure os parâmetros e clique em Confirm.
Parâmetro
Descrição
Name
Nome do secret.
Type
Tipo de secret:
-
Opaque: Tipo de secret de uso geral. Insira uma chave e um valor. O valor deve estar codificado em Base64.
-
Credencial de logon de repositório de imagens privado: Armazena as informações de autenticação necessárias para baixar imagens de um repositório privado. Insira o endereço do repositório de imagens, o nome de usuário e a senha.
NotaO nome de usuário e a senha correspondem ao nome completo da sua conta Alibaba Cloud e à senha definida durante a ativação do serviço. É possível alterar a senha na página Access Credentials.
-
Certificado tls: O tls é um mecanismo usado para verificação de identidade.
-
Cert: Insira as informações do certificado tls.
-
Key: Insira as informações da chave privada tls.
-
Você será redirecionado de volta à página Secrets. O secret recém-criado estará visível na lista.
-
Também é possível criar um secret do tipo Private Repository Logon Secret via linha de comando. Para mais informações, consulte Obter o KubeConfig do cluster e conectar-se ao cluster usando kubectl.
Crie uma aplicação usando um repositório de imagens privado
Faça logon no Container Service Management Console.
No painel de navegação à esquerda, clique em Cluster.
Na página Cluster List, clique no nome do cluster de destino ou em Details na coluna Actions.
No painel de navegação à esquerda da página de gerenciamento do cluster, escolha .
-
Na página Deployments, no canto superior direito, clique em Create from YAML.
NotaAlternativamente, clique em Create from Image para criar uma aplicação. Para mais detalhes, consulte Criar uma aplicação usando um secret de imagem.
-
Defina Sample Template como Custom e copie o conteúdo YAML a seguir no campo .
apiVersion: apps/v1 kind: Deployment metadata: name: private-image namespace: default labels: app: private-image spec: replicas: 1 selector: matchLabels: app: private-image template: metadata: labels: app: private-image spec: containers: - name: private-image image: registry.cn-hangzhou.aliyuncs.com/namespace-name/tomcat-private:latest ports: - containerPort: 8080 imagePullSecrets: - name: regsecret -
Clique em Create.
Retorne à lista de Deployments e visualize a aplicação criada com o repositório de imagens privado.
Para mais informações, consulte a documentação oficial do Kubernetes Using a private registry.