Modificar artefactos do sistema

Esta página descreve como modificar os artefactos do sistema no dispositivo isolado do Google Distributed Cloud (GDC).

Modifique artefactos do sistema no GDC para gerir e refinar a sua implementação,

Antes de começar

Para modificar artefactos do sistema, tem de obter acesso de diagnóstico e ter acesso às funções de identidade e acesso necessárias:

  • O acesso de diagnóstico é um modo de acesso privilegiado necessário para apoiar um cliente em segurança quando encontra um problema. Tem de criar um pedido para que este acesso seja concedido.
  • Depurador do Artifact Registry do sistema: tem acesso de leitura e escrita a todos os recursos do Harbor. Peça ao administrador de segurança para lhe conceder a função de cluster do depurador do Artifact Registry do sistema (sar-debugger).
  • O depurador do Secret harbor-system do Artifact Registry do sistema: tem acesso ao depurador no espaço de nomes harbor-system. Peça ao administrador de segurança que lhe conceda a função de depurador (sar-harbor-system-secret-debugger) do segredo harbor-system do registo de artefactos do sistema.

Carregue imagens de Docker

Para modificar artefactos do sistema, tem de carregar novas imagens do Docker. O método de carregamento depende de qual dos seguintes registos envia as suas imagens de contentores:

As secções seguintes mostram as instruções de carregamento para os dois tipos de registo.

Carregue a imagem do contentor na máquina de arranque

Para carregar imagens de contentores para o Artifact Registry na máquina de arranque, conclua os seguintes passos:

  1. Certifique-se de que tem a imagem Docker modificada com os problemas de interrupção corrigidos.

  2. Transfira a nova imagem para o nó de arranque no seu ambiente GDC.

  3. Inicie sessão no nó de arranque.

  4. Localize o endereço do Artifact Registry na máquina de arranque no momento do arranque e defina-o como a variável de ambiente REGISTRY_IP:

    REGISTRY=$(kubectl get harborcluster harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Obtenha a credencial para aceder ao Artifact Registry. Recupere a conta de administrador e a palavra-passe:

    ADMIN_PASS=$(kubectl -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  6. Inicie sessão no Artifact Registry:

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    É impressa uma mensagem Login Succeeded para validar um início de sessão bem-sucedido no Artifact Registry.

  7. Etiquete a nova imagem:

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Substitua o seguinte:

    • CONTAINER_IMAGE_URL: o URL da imagem do contentor local, como gcr.io/repository/image:tag.
    • PROJECT_NAME: o nome do projeto do Artifact Registry.
    • IMAGE_NAME: o nome da imagem do contentor.
    • TAG: a etiqueta de imagem do contentor.
  8. Envie a nova imagem para o Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Carregue a imagem do contentor para o cluster de infraestrutura da organização

Para carregar imagens de contentores para o Artifact Registry num cluster de infraestrutura da organização, conclua os seguintes passos:

  1. Certifique-se de que tem a imagem Docker modificada com os problemas de interrupção corrigidos.

  2. Transfira a nova imagem para um nó que tenha acesso de raiz com um ficheiro kubeconfig de raiz para o cluster de infraestrutura da organização no seu ambiente isolado.

  3. Exporte o caminho do cluster de infraestrutura da organização kubeconfig como uma variável de ambiente:

    export ORG_INFRA_KUBECONFIG=KUBECONFIG_FILE_PATH
    

    Substitua KUBECONFIG_FILE_PATH pelo caminho para o ficheiro kubeconfig.

  4. Localize o endereço do Artifact Registry no cluster e defina-o como a variável de ambiente REGISTRY_IP:

    REGISTRY=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG get harborcluster /
    harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Certifique-se de que o elemento REGISTRY_IP contém um URL válido, como 10.200.0.36:10443:

    echo ${REGISTRY_IP}
    
  6. Verifique se o certificado da autoridade de certificação (AC) existe:

    ls -al /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    

    Se o certificado não existir, crie-o e configure-o:

    mkdir -p /etc/docker/certs.d/${REGISTRY_IP}/
    
    chmod 755  /etc/docker/certs.d/${REGISTRY_IP}/
    
    echo $(kubectl get secret harbor-cert-secret -n istio-system -o jsonpath='{.data.ca\.crt}' --kubeconfig $ORG_INFRA_KUBECONFIG) | openssl base64 -A -d >  /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
    chmod 755 /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
  7. Obtenha a credencial para aceder ao Artifact Registry. Use o seguinte comando para obter a conta de administrador e a palavra-passe:

    ADMIN_PASS=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG \
        -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  8. Inicie sessão no Artifact Registry:

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    É impressa uma mensagem Login Succeeded para validar um início de sessão bem-sucedido no Artifact Registry.

  9. Etiquete a nova imagem:

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Substitua o seguinte:

    • CONTAINER_IMAGE_URL: o URL da imagem do contentor local, como gcr.io/repository/image:tag.
    • PROJECT_NAME: o nome do projeto do Artifact Registry.
    • IMAGE_NAME: o nome da imagem do contentor.
    • TAG: a etiqueta de imagem do contentor.
  10. Envie a nova imagem para o Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Modificar artefactos do sistema

Use os comandos gdcloud artifacts para modificar artefactos do sistema no GDC. Atualize, personalize e proteja a sua implementação através de ações como substituir pacotes de software, ajustar configurações e aplicar patches.

Realize as seguintes ações:

  • Faça a gestão dos pacotes apt.
  • Crie e extraia imagens de pacotes OCI.
  • Liste as versões disponíveis da imagem OCI raiz.
  • Aplique patches a pacotes existentes.
  • Extraia e envie pacotes OCI para e a partir de um registo.
  • Apresentar a estrutura de um pacote OCI.
  • Descompacte pacotes OCI.

Para mais informações, consulte gdcloud artifacts.