Modificar artefatos do sistema

Nesta página, descrevemos como modificar os artefatos do sistema no appliance isolado do Google Distributed Cloud (GDC).

Modifique artefatos do sistema no GDC para gerenciar e refinar sua implantação.

Antes de começar

Para modificar artefatos do sistema, você precisa ter acesso de diagnóstico e aos papéis de identidade e acesso necessários:

  • O acesso de diagnóstico é um modo de acesso privilegiado necessário para oferecer suporte seguro a um cliente quando ele encontra um problema. Você precisa criar um tíquete para receber esse acesso.
  • Depurador do Artifact Registry do sistema: tem acesso de leitura e gravação a todos os recursos do Harbor. Peça ao administrador de segurança para conceder a você o papel de cluster do depurador do Artifact Registry do sistema (sar-debugger).
  • Debugger do secret harbor-system do Artifact Registry do sistema: tem acesso ao depurador no namespace harbor-system. Peça ao administrador de segurança para conceder a você o papel de depurador do secret harbor-system do Artifact Registry do sistema (sar-harbor-system-secret-debugger).

Fazer upload de imagens do Docker

Para modificar artefatos do sistema, faça upload de novas imagens do Docker. O método de upload depende de qual dos dois registros a seguir você envia as imagens de contêiner:

As seções a seguir mostram as instruções de upload para os dois tipos de registro.

Fazer upload da imagem do contêiner na máquina de bootstrap

Para fazer upload de imagens de contêiner para o Artifact Registry na máquina de bootstrap, siga estas etapas:

  1. Verifique se você tem a imagem do Docker modificada com os problemas graves corrigidos.

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

  3. Faça login no nó de bootstrap.

  4. Localize o endereço do Artifact Registry na máquina de bootstrap durante a inicialização e defina 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. Recupere a credencial para acessar o Artifact Registry. Recupere a conta e a senha de administrador:

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

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Uma mensagem Login Succeeded é impressa para verificar se o login no Artifact Registry foi feito com sucesso.

  7. Marque a nova imagem:

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

    Substitua:

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

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Fazer upload da imagem de contêiner para o cluster de infraestrutura da organização

Para fazer upload de imagens de contêiner no Artifact Registry em um cluster de infraestrutura da organização, siga estas etapas:

  1. Verifique se você tem a imagem do Docker modificada com os problemas graves corrigidos.

  2. Transfira a nova imagem para um nó com acesso root e um arquivo root kubeconfig para o cluster de infraestrutura da organização no 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 arquivo 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. Verifique se o REGISTRY_IP contém um URL válido, como 10.200.0.36:10443:

    echo ${REGISTRY_IP}
    
  6. Verifique se o certificado da autoridade certificadora (CA) existe:

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

    Se o certificado não existir, crie 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. Recupere a credencial para acessar o Artifact Registry. Use o comando a seguir para recuperar a conta e a senha de administrador:

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

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Uma mensagem Login Succeeded é impressa para verificar se o login no Artifact Registry foi feito com sucesso.

  9. Marque a nova imagem:

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

    Substitua:

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

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Modificar artefatos do sistema

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

Execute estas ações:

  • Gerenciar pacotes do apt.
  • Crie e extraia imagens de pacotes OCI.
  • Liste as versões disponíveis da imagem OCI raiz.
  • Adicione patch aos pacotes atuais.
  • Extrair e enviar pacotes do OCI de e para um registro.
  • Mostra a estrutura de um pacote do OCI.
  • Descompacte pacotes OCI.

Para ver mais informações, consulte gdcloud artifacts.