Partilhar via


Configurar o registro de contêiner interno para o Azure Red Hat OpenShift 4

O Azure Red Hat OpenShift fornece um registro de imagem de contêiner integrado que adiciona a capacidade de provisionar automaticamente novos repositórios de imagem sob demanda. Isso fornece aos usuários um local interno para suas compilações de aplicativos para enviar por push as imagens resultantes.

Neste artigo, você configurará o registro de imagem de contêiner interno para um cluster do Azure Red Hat OpenShift (ARO) 4. Saberá como:

  • Autorizar uma identidade para aceder ao registo
  • Acesse o registro de imagem de contêiner interno de dentro do cluster
  • Acesse o registro de imagem de contêiner interno de fora do cluster

Antes de começar

Este artigo pressupõe que você tenha um cluster ARO existente (consulte Criar um cluster do Azure Red Hat OpenShift 4). Se você quiser configurar a integração do Microsoft Entra, certifique-se de criar o cluster com o --pull-secret argumento para az aro create.

Nota

Configurar a autenticação do Microsoft Entra para seu cluster é a maneira mais fácil de interagir com o registro interno de fora do cluster.

Depois de ter o cluster, conecte-se ao cluster autenticando-se como o kubeadmin usuário.

Configurar a autenticação para o Registro

Para que qualquer identidade (um usuário de cluster, usuário do Microsoft Entra ou ServiceAccount) acesse o registro interno, devem ser concedidas permissões dentro do cluster:

Como kubeadmin, execute os seguintes comandos:

# Note: replace "<user>" with the identity you need to access the registry
oc policy add-role-to-user -n openshift-image-registry registry-viewer <user>
oc policy add-role-to-user -n openshift-image-registry registry-editor <user>

Nota

Para usuários de cluster e usuários do Microsoft Entra - este será o mesmo nome que você usa para autenticar no cluster. Para OpenShift ServiceAccounts, formate o nome como system:serviceaccount:<project>:<name>

Aceder ao registo

Agora que você configurou a autenticação para o registro, você pode interagir com ele:

De dentro do aglomerado

Se você precisar acessar o registro de dentro do cluster (por exemplo, você está executando uma plataforma CI/CD como Pods que irá empurrar/puxar imagens para o registro), você pode acessar o registro através de seu Serviço ClusterIP no nome image-registry.openshift-image-registry.svc.cluster.local:5000de domínio totalmente qualificado, que é acessível a todos os Pods dentro do cluster.

De fora do cluster

Se seus fluxos de trabalho exigirem que você acesse o registro interno de fora do cluster (por exemplo, você deseja enviar/extrair imagens de um laptop do desenvolvedor, plataforma de CI/CD externa e/ou um cluster ARO diferente), você precisará executar algumas etapas adicionais:

Como kubeadmin, execute os seguintes comandos para expor o registro interno fora do cluster por meio de uma rota:

oc patch config.imageregistry.operator.openshift.io/cluster --patch='{"spec":{"defaultRoute":true}}' --type=merge
oc patch config.imageregistry.operator.openshift.io/cluster --patch='[{"op": "add", "path": "/spec/disableRedirect", "value": true}]' --type=json

Em seguida, você pode encontrar o nome de domínio totalmente qualificado roteável externamente do registro:

Como kubeadmin, execute:

oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'

Próximos passos

Agora que você configurou o registro de imagem de contêiner interno, você pode começar implantando um aplicativo no OpenShift. Para aplicativos Java, confira Implementar um aplicativo Java com Open Liberty/WebSphere Liberty em um cluster do Azure Red Hat OpenShift 4.