Configurar o registro de contêiner interno para o Red Hat OpenShift no Azure 4
O Red Hat OpenShift no Azure oferece um registro de imagem de contêiner integrado que agrega a capacidade de provisionamento automático de novos repositórios de imagem sob demanda. Isso fornece aos usuários uma localização interna para que as compilações de aplicativo enviem por push as imagens resultantes.
Neste artigo, você configurará o registro de imagem de contêiner interno para um cluster do Red Hat OpenShift 4 no Azure (ARO). Você aprenderá a:
- Autorizar uma identidade a acessar o Registro
- Acessar o registro de imagem de contêiner interno de dentro do cluster
- Acessar o registro de imagem de contêiner externo de dentro do cluster
Antes de começar
Este artigo pressupõe que você tenha um cluster ARO existente (confira Criar um cluster do Red Hat OpenShift no Azure 4). Se você quiser configurar a integração do Microsoft Entra, crie o cluster com o argumento --pull-secret
para az aro create
.
Observação
Configurar a autenticação do Microsoft Entra para o seu cluster é a maneira mais fácil de interagir com o registro interno de fora do cluster.
Depois de ter seu cluster, conecte-se ao cluster autenticando-se como o usuário kubeadmin
.
Configurar a autenticação para o Registro
Para que qualquer identidade (um usuário do cluster, usuário do Microsoft Entra ou ServiceAccount) acesse o registro interno, ela deve receber 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ê usará para se autenticar no cluster. Para OpenShift ServiceAccounts, formate o nome como system:serviceaccount:<project>:<name>
Acessar o Registro
Agora que você configurou a autenticação para o Registro, poderá interagir com ele:
De dentro do cluster
Se você precisar acessar o Registro de dentro do cluster (por exemplo, você está executando uma plataforma de CI/CD como Pods que efetuarão push/pull de imagens para o Registro), você poderá acessar o Registro por meio de seu Serviço ClusterIP no nome de domínio totalmente qualificado image-registry.openshift-image-registry.svc.cluster.local:5000
, que é acessível a todos os Pods dentro do cluster.
De fora do cluster
Se os fluxos de trabalho exigirem que você acesse o Registro interno de fora do cluster (por exemplo, você deseja efetuar push/pull de imagens do laptop do desenvolvedor, da plataforma de CI/CD externa e/ou de um cluster ARO diferente), será necessário 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óximas etapas
Agora que você configurou o registro de imagem de contêiner interno, você pode começar implantando um aplicativo no OpenShift. Para aplicativos Java, consulte Implantar um aplicativo Java com o Open Liberty/WebSphere Liberty em um cluster do Red Hat OpenShift 4 no Azure.