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. Este registro 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 4. Você aprenderá a:

  • 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 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.

Observação

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>

Observação

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 enviará / puxará imagens para o registro), você pode acessar o registro por meio 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 por push/pull imagens do laptop de um desenvolvedor, plataforma de CI/CD externa e/ou um cluster diferente), será necessário executar mais algumas etapas:

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, poderá encontrar o nome de domínio totalmente qualificado, roteável externamente, do registo.

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.