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:5000
de 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.