Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Registro de Contêiner do Azure (ACR) é um serviço de registro de contêiner gerenciado que você pode usar para armazenar imagens de contêiner privadas do Docker com funcionalidades empresariais, como replicação geográfica. Para acessar o ACR de um cluster, o cluster pode se autenticar com o ACR armazenando credenciais de entrada do Docker em um segredo do Kubernetes. Da mesma forma, um cluster pode usar um imagePullSecret na especificação de pod para se autenticar no registro ao efetuar pull da imagem. Neste artigo, você aprenderá a configurar um Registro de Contêiner do Azure com um cluster do Red Hat OpenShift do Azure para armazenar e efetuar pull de 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 do Red Hat OpenShift no Azure existente e tenha a CLI oc
instalada. Caso contrário, siga as instruções no tutorial Criar cluster.
Obter um segredo de pull
Você precisa de um segredo de extração do ACR para acessar o registro a partir do seu cluster.
Para obter suas credenciais do segredo de pull, você pode usar o portal do Azure ou a CLI do Azure.
Se estiver usando o portal do Azure, navegue até a instância do ACR e selecione Chaves de Acesso. Seu docker-username
é o nome do registro de contêiner, use password ou password2 para docker-password
.
Em vez disso, você pode usar a CLI do Azure para obter essas credenciais:
az acr credential show -n <your registry name>
Criar segredo do Kubernetes
Agora, usamos essas credenciais para criar um segredo do Kubernetes. Execute o seguinte comando com suas credenciais do 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 (Namespace do Kubernetes) 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 de 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 privado
Agora que conectamos o cluster ao ACR, vamos extrair uma imagem do ACR para criar um pod.
Comece com um podSpec e especifique o segredo que você criou como uma 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 o pod está em execução, execute este comando e aguarde até que o status seja Em execução:
$ oc get pods --watch
NAME READY STATUS RESTARTS AGE
hello-world 1/1 Running 0 30s
Próximas etapas
- Registro de Contêiner do Azure
- Início Rápido: criar um registro de contêiner privado usando a CLI do Azure