Como fazer upgrade do cluster do AI Platform Pipelines

O AI Platform Pipelines evita que você precise configurar o Kubeflow Pipelines com TensorFlow Extended no Google Kubernetes Engine. Para fazer upgrade do cluster do AI Platform Pipelines, é preciso remover o cluster atual e reinstalá-lo usando as mesmas configurações de armazenamento. Este guia descreve:

  • Como determinar qual método de armazenamento seu cluster usa.
  • Como coletar as informações necessárias para fazer o upgrade do cluster.
  • As etapas necessárias para fazer upgrade do cluster do AI Platform Pipelines para uma versão mais recente do Kubeflow Pipelines.
.

Como se preparar para fazer upgrade do cluster

O processo de upgrade do cluster do AI Platform Pipelines depende do método usado pelo cluster para armazenar artefatos e metadados do pipeline. Use as instruções a seguir para determinar onde o cluster de AI Platform Pipelines armazena esses artefatos e metadados.

  1. Abra o AI Platform Pipelines no console do Google Cloud.

    Acesse o AI Platform Pipelines

  2. Na linha do cluster do AI Platform Pipelines, anote os valores das colunas Nome, Cluster, Zona e Namespace. Essas informações serão usadas nas próximas etapas.

  3. Abra uma sessão do Cloud Shell.

    Abra o Cloud Shell

    O Cloud Shell é aberto em um frame na parte inferior do console do Google Cloud.

  4. Execute os comandos a seguir para configurar kubectl com acesso ao cluster do GKE e definir o contexto como o namespace em que o Kubeflow Pipelines foi instalado.

    gcloud container clusters get-credentials CLUSTER_NAME --zone=ZONE
    kubectl config set-context --current --namespace=NAMESPACE
    

    Substitua:

    • CLUSTER_NAME: o nome do cluster do GKE, que você anotou em uma etapa anterior.
    • ZONE: a zona em que cluster do GKE reside, que você anotou em uma etapa anterior.
    • NAMESPACE: o namespace em que o Kubeflow Pipelines foi instalado, que você anotou em uma etapa anterior.
  5. O AI Platform Pipelines armazena os artefatos e metadados do pipeline do cluster usando serviços de armazenamento gerenciado ou discos permanentes no cluster. Ao fazer upgrade do cluster, é necessário reinstalar o AI Platform Pipelines usando as mesmas configurações de armazenamento do cluster atual.

    Execute o comando a seguir no Cloud Shell para verificar se o cluster foi implantado com armazenamento no cluster.

    kubectl get pvc -o json | jq -r '.items[].metadata.name'
    

    Esse comando lista as declarações de volume permanente (PVC, na sigla em inglês) do cluster do Google Kubernetes Engine.

Como fazer upgrade de um cluster do AI Platform Pipelines que usa armazenamento gerenciado

Use as instruções a seguir para fazer backup dos artefatos e metadados do cluster do AI Platform Pipelines e fazer o upgrade para uma versão mais recente do Kubeflow Pipelines.

  1. Ao fazer upgrade de um cluster do Kubeflow Pipelines, você precisa reutilizar a mesma configuração de armazenamento. Se o cluster foi implantado com o armazenamento gerenciado, use as instruções a seguir para encontrar os detalhes de configuração necessários para fazer upgrade do cluster.

    1. Execute o seguinte comando no Cloud Shell para receber o nome do bucket em que o cluster armazena artefatos do pipeline:

      kubectl get configmap workflow-controller-configmap -o json | \
      jq -r '.data.config | capture("bucket: '"'(?<name>.*?)'"'").name'
      
    2. Execute o comando a seguir no Cloud Shell para receber o nome da conexão da instância do Cloud SQL em que o cluster armazena metadados do pipeline.

      kubectl get deployments cloudsqlproxy -o json | \
      jq -r '.spec.template.spec.containers[].command[] | capture("instances=(?<name>.*)=").name'
      
    3. O Kubeflow Pipelines depende de dois bancos de dados MySQL. Execute o comando a seguir no Cloud Shell para receber o prefixo dos bancos de dados do cluster.

      kubectl get configmap metadata-mysql-configmap -o json | \
      jq -r '.data.MYSQL_DATABASE | capture("(?<prefix>.*?)_metadata").prefix'
      
    4. Você também precisa especificar o nome de usuário e a senha de uma conta do MySQL com o privilégio ALL, que o Kubeflow Pipelines poderá usar para se conectar à sua instância do Cloud SQL. Se você não souber qual conta de usuário do MySQL o cluster usa, use o Cloud SQL para criar um usuário do MySQL.

      Saiba mais sobre usuários do MySQL.

  2. Use o Cloud SQL para criar um backup dos bancos de dados MySQL do cluster do AI Platform Pipelines.

  3. Abra o AI Platform Pipelines no console do Google Cloud.

    Acesse o AI Platform Pipelines

  4. Use as instruções a seguir para excluir o cluster do AI Platform Pipelines. Para fazer upgrade do cluster do AI Platform Pipelines, reinstale o Kubeflow Pipelines com as mesmas configurações de armazenamento gerenciado.

    1. Marque a caixa de seleção do cluster do AI Platform Pipelines.

    2. Na barra de ferramentas do AI Platform Pipelines, clique em Excluir. A caixa de diálogo Excluir o Kubeflow Pipelines do cluster será exibida.

    3. Clique em Excluir. A exclusão do cluster do AI Platform Pipelines pode levar alguns minutos.

  5. Use as instruções a seguir para reinstalar o Kubeflow Pipelines.

    1. Na barra de ferramentas do AI Platform Pipelines, clique em Nova instância. Os pipelines do Kubeflow serão abertos no Google Cloud Marketplace.

    2. Clique em Configurar. Será aberto um formulário para que você configure a implantação do Kubeflow Pipelines.

    3. Selecione o Cluster para implantar o Kubeflow Pipelines. Esse cluster não precisa ser o mesmo cluster do GKE em que a instância anterior do AI Platform Pipelines foi implantada.

      Saiba como garantir a configuração correta do cluster do GKE para o AI Platform Pipelines.

    4. Na caixa Nome da instância do aplicativo, insira o nome que a instância anterior do Kubeflow Pipelines usou.

    5. Os namespaces são usados para gerenciar recursos em clusters grandes do GKE. Se você não planeja utilizar namespaces no cluster, selecione padrão na lista suspensa Namespace.

      Se você planeja usar namespaces no cluster do GKE, crie um namespace usando a lista suspensa Namespace. Para criar um namespace:

      1. Selecione Criar um namespace na lista suspensa Namespace. A caixa Novo nome do namespace será exibida.

      2. Digite o nome do namespace em Novo nome do namespace.

      Para saber mais sobre namespaces, leia uma postagem do blog sobre como organizar o Kubernetes com namespaces (em inglês).

    6. O armazenamento gerenciado permite armazenar os metadados e artefatos do pipeline de ML por meio do Cloud SQL e do Cloud Storage. Selecione Usar armazenamento gerenciado e forneça as seguintes informações:

      • Bucket do Cloud Storage para armazenamento de artefatos: especifique o nome do bucket que você encontrou em uma etapa anterior.

      • Nome da conexão da instância do Cloud SQL: especifique o nome de conexão da instância que você encontrou em uma etapa anterior.

      • Nome de usuário do banco de dados: especifique o nome de usuário do banco de dados que será usado pelo Kubeflow Pipelines ao se conectar à instância do MySQL. No momento, o usuário do banco de dados precisa ter privilégios ALL do MySQL para implantar o Kubeflow Pipelines com armazenamento gerenciado. Se você deixar esse campo em branco, o valor padrão será raiz.

        Saiba mais sobre usuários do MySQL.

      • Senha do banco de dados: especifique a senha do banco de dados que será usada pelo Kubeflow Pipelines ao se conectar à instância do MySQL. Se você deixar esse campo em branco, o Kubeflow Pipelines se conectará ao banco de dados sem fornecer uma senha, o que causa falhas quando o nome de usuário especificado exige senha.

      • Prefixo do nome do banco de dados: especifique o prefixo do nome do banco de dados que você encontrou em uma etapa anterior.

    7. Clique em Implantar. Essa etapa pode levar alguns minutos.

    8. Para acessar o painel de pipelines, abra o AI Platform Pipelines no console do Google Cloud.

      Acesse o AI Platform Pipelines

      Em seguida, clique em Abrir painel de pipelines para a instância do AI Platform Pipelines.

Como fazer upgrade de um cluster do AI Platform Pipelines que usa o armazenamento no cluster

Use as instruções a seguir para fazer backup dos artefatos e metadados do cluster do AI Platform Pipelines e fazer o upgrade para uma versão mais recente do Kubeflow Pipelines.

  1. Faça backup dos metadados e do armazenamento de artefatos do seu cluster do AI Platform Pipelines. Com o armazenamento no cluster, os artefatos e metadados do pipeline são armazenados em discos permanentes do Compute Engine, que são anexados ao cluster do GKE como declarações de volume permanente.

    1. Para executar esta tarefa, é necessário ter as permissões:

      • compute.disks.create no projeto
      • compute.disks.useReadOnly no disco de origem

      Por exemplo, o papel roles/compute.storageAdmin fornece essas permissões. Saiba mais sobre como conceder permissões e papéis do Gerenciamento de identidade e acesso.

    2. Execute o seguinte comando no Cloud Shell para listar as PVCs do cluster e, quando apropriado, o nome do disco permanente do Compute Engine da PVC.

      kubectl get pv -o json | \
      jq -r '.items[] | .spec.claimRef.name + " -  disk name = " + .spec.gcePersistentDisk.pdName'
      

      Se o cluster usar armazenamento no cluster, esta lista deverá conter nomes de discos permanentes para as PVCs mysql-pv-claim e minio-pvc.

    3. Para fazer backup dos artefatos e metadados do pipeline, execute o comando a seguir no Cloud Shell para os discos permanentes mysql-pv-claim e minio-pvc.

      gcloud compute disks create target-disk-name --zone=ZONE --source-disk=source-disk-name
      

      Substitua:

      • target-disk-name: especifique um nome para o disco de backup.
      • ZONE: especifique a zona em que o cluster reside.
      • source-disk-name: especifique o nome do disco permanente que você quer fazer backup.

      Saiba mais sobre como clonar discos permanentes.

  2. Abra o AI Platform Pipelines no console do Google Cloud.

    Acesse o AI Platform Pipelines

  3. Use as instruções a seguir para excluir o cluster do AI Platform Pipelines sem excluir o cluster do GKE. Para fazer upgrade do cluster do AI Platform Pipelines, reinstale o Kubeflow Pipelines no mesmo cluster do GKE.

    1. Marque a caixa de seleção do cluster do AI Platform Pipelines.

    2. Na barra de ferramentas do AI Platform Pipelines, clique em Excluir. A caixa de diálogo Excluir o Kubeflow Pipelines do cluster será exibida.

    3. Clique em Excluir. A exclusão do cluster do AI Platform Pipelines pode levar alguns minutos.

  4. Use as instruções a seguir para reinstalar o Kubeflow Pipelines no seu cluster do GKE existente.

    1. Na barra de ferramentas do AI Platform Pipelines, clique em Nova instância. Os pipelines do Kubeflow serão abertos no Google Cloud Marketplace.

    2. Clique em Configurar. Será aberto um formulário para que você configure a implantação do Kubeflow Pipelines.

    3. Na lista suspensa Cluster, selecione o cluster em que a instância anterior do Kubeflow Pipelines foi implantada.

    4. Selecione o Namespace em que a instância anterior do Kubeflow Pipelines foi implantada.

    5. Na caixa Nome da instância do aplicativo, insira o nome que a instância anterior do Kubeflow Pipelines usou.

    6. Clique em Implantar. Essa etapa pode levar alguns minutos.

    7. Para acessar o painel de pipelines, abra o AI Platform Pipelines no console do Google Cloud.

      Acesse o AI Platform Pipelines

      Em seguida, clique em Abrir painel de pipelines para a instância do AI Platform Pipelines.

A seguir