Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Container Registry (ACR) é um serviço de registro de contêiner gerenciado que você pode usar para armazenar imagens de contêiner privadas do Docker com recursos corporativos, como replicação geográfica. Para acessar o ACR de um cluster, o cluster pode se autenticar com o ACR armazenando as credenciais de login do Docker em um segredo do Kubernetes. Da mesma forma, um cluster pode usar um imagePullSecret na especificação do pod para autenticar no registro ao extrair a imagem. Neste artigo, você aprenderá a configurar um Registro de Contêiner do Azure com um cluster do Azure Red Hat OpenShift para armazenar e extrair imagens de contêiner privadas do Docker.
Pré-requisitos
Este guia pressupõe que você tenha um Registro de Contêiner do Azure existente. Caso contrário, use o portal do Azure ou as instruções da CLI do Azure para criar um registro de contêiner.
Este artigo também pressupõe que você tenha um cluster existente do Azure Red Hat OpenShift e tenha a oc
CLI instalada. Caso contrário, siga as instruções no tutorial Criar cluster.
Obtenha um segredo puxado
Você precisa de um segredo de pull do ACR para aceder ao registo a partir do seu cluster.
Para obter suas credenciais de pull secret, você pode usar o portal do Azure ou a CLI do Azure.
Se estiver usando o portal do Azure, navegue até sua instância ACR e selecione Chaves de acesso. Seu docker-username
é o nome do seu registro de contêiner, use senha ou senha2 para docker-password
.
Em vez disso, você pode usar a CLI do Azure para obter estas credenciais:
az acr credential show -n <your registry name>
Crie o segredo do Kubernetes
Agora, usamos essas credenciais para criar um segredo do Kubernetes. Execute o seguinte comando com suas credenciais ACR:
oc create secret docker-registry \
--docker-server=<your registry name>.azurecr.io \
--docker-username=<your registry name> \
--docker-password=<password> \
--docker-email=unused \
acr-secret
Observação
Esse segredo é armazenado no projeto OpenShift atual (Kubernetes Namespace) e só será referenciado por pods criados nesse projeto. Consulte este documento para obter mais instruções sobre como criar um segredo de pull em todo o cluster.
Vincular o segredo à conta de serviço
Em seguida, vincule o segredo à conta de serviço usada pelo pod, para que o pod possa acessar o registro do contêiner. O nome da conta de serviço deve corresponder ao nome da conta de serviço usada pelo pod.
default
é a conta de serviço padrão:
oc secrets link default <pull_secret_name> --for=pull
Criar um pod usando uma imagem de registro privada
Agora que conectamos seu cluster ao seu ACR, vamos extrair uma imagem do seu ACR para criar um pod.
Comece com um podSpec e especifique o segredo que você criou como um imagePullSecret:
apiVersion: v1
kind: Pod
metadata:
name: hello-world
spec:
containers:
- name: hello-world
image: <your registry name>.azurecr.io/hello-world:v1
imagePullSecrets:
- name: acr-secret
Para testar se seu pod está funcionando, execute este comando e aguarde até que o status seja Running:
$ oc get pods --watch
NAME READY STATUS RESTARTS AGE
hello-world 1/1 Running 0 30s
Próximos passos
- Registo de Contentores Azure
- Guia de início rápido: criar um registro de contêiner privado usando a CLI do Azure