Implantação Azul/Verde do OKE

Crie um pipeline de implantação usando a estratégia de release Azul e Verde para o Kubernetes Engine (OKE)

Pré-requisitos

Os pré-requisitos são os seguintes:

Observação

Para reduzir o namespace inativo ou stand-by após a implantação, mantenha pelo menos uma réplica para evitar problemas.

Para criar grupos dinâmicos e políticas para pipelines de implantação, consulte Políticas de Pipeline de Implantação. Para obter mais detalhes, consulte Políticas do Serviço IAM do DevOps.

Para acessar DevOps usando o Oracle Cloud Console, a API REST e o CLI, consulte Acessando DevOps.

    1. Abra o menu de navegação e clique em Serviços do Desenvolvedor. Em DevOps, clique em Projetos.
    2. Selecione um projeto e um pipeline de implantação.
    3. Para adicionar um estágio ao pipeline, clique no ícone + e selecione Adicionar estágio.
    4. Para o tipo de estágio, selecione Estratégia Azul/Verde e clique em Próximo.
    5. Selecione OKE para o tipo de implantação.
    6. Digite um nome e uma descrição para o estágio. A adição de uma descrição é opcional.
    7. Para Ambiente, selecione um ambiente de cluster existente.
    8. Informe namespaces existentes para Namespace A e Namespace B associados ao ambiente do OKE selecionado. Por exemplo, blue-env, green-env.

      Os namespaces são usados para definir os ambientes de implantação azul e verde no cluster do OKE.

    9. Clique em Selecionar Artefato e selecione um ou mais recursos de artefato no projeto do DevOps.

      O serviço DevOps executa uma aplicação do servidor Kubernetes dos artefatos de manifesto do Kubernetes na ordem em que eles aparecem na Console. Você também pode remover artefatos para selecionar outro ou reordenar a lista de artefatos. A remoção de um artefato no estágio de pipeline Não exclui o recurso de artefato do projeto. Para obter mais informações sobre aplicação do servidor Kubernetes, consulte Aplicação do Servidor.

    10. Informe o nome de entrada NGINX. Por exemplo, ingress-nginx.

      Este é o nome do recurso de entrada do aplicativo. O serviço DevOps altera a anotação neste recurso de entrada para realizar a estratégia de implantação. O nome de entrada NGINX deve ser definido no manifesto do Kubernetes.

    11. Clique em Próximo.
    12. Validar a execução de implantação. Para validar, uma função personalizada é adicionada ao pipeline. Selecione Executar uma lógica personalizada por meio de uma função e informe os seguintes valores:
      1. Digite um nome e uma descrição para o estágio. A adição de uma descrição é opcional.
      2. Para Ambiente, selecione uma função existente a ser chamada.

        O campo Nome de função somente leitura exibe a função chamada no pipeline.

      3. (Opcional) Para selecionar e adicionar artefatos ao estágio, clique em Selecionar Artefato.

        Selecione um recurso de artefato existente no projeto do DevOps. O artefato deve ser um tipo de arquivo genérico (universal). Os parâmetros no artefato devem estar no formato JSON e podem ter placeholders. Ao configurar o recurso de artefato do DevOps, selecione Permitir parametrização. Marcar essa caixa de seleção garante que os placeholders sejam substituídos pelo valor do argumento durante a implantação. Para obter mais informações, consulte Configurando Parâmetros.

        Este é um exemplo do conteúdo do artefato genérico para especificar dois parâmetros definidos pelo usuário e seus valores:
        • Parâmetros: test_name, app_version
        • Valores: {"test_name":"verify_production", "app_version":"${app_version}"}
      4. Para Modo de execução do estágio, selecione a execução assíncrona ou síncrona.

        Se você selecionar Executar assincronamente, o serviço chamará a função, mas sem aguardar a conclusão da função. Ao selecionar Executar de forma síncrona, o serviço chama a função e aguarda a conclusão da função.

      5. Selecione para desativar ou ativar a validação.

        Se a validação estiver ativada, o serviço verificará o valor de retorno da função. O valor de retorno é uma string literal UTF-8, true ou false. Se o valor de retorno for true, o estágio será marcado como Bem-sucedido; caso contrário, o estágio será marcado como Falha.

        Se a validação for desativada, o serviço Não verificará o valor de retorno.

        A validação só ocorrerá se você tiver selecionado a opção "Executar sincronicamente" para o modo de execução do estágio.

      6. (Opcional) Para adicionar tags ao pipeline, clique em Mostrar opções de tag. Tag é um sistema de metadados que permite organizar e rastrear os recursos de sua tenancy.

        Você pode selecionar um namespace de tag ou uma tag de formato livre foi adicionada. Informe a chave e o valor da tag correspondentes. Você pode adicionar várias tags.

      Observação

      Se você não quiser validar a execução da implantação, selecione Nenhum.
    13. Você pode ativar ou desativar uma aprovação manual para a implantação. Para ativar uma aprovação, informe os seguintes valores:
      1. Digite um nome e uma descrição para o estágio. A adição de uma descrição é opcional.
      2. Digite o número de aprovadores.
      3. (Opcional) Para adicionar tags ao pipeline, clique em Mostrar opções de tag. Tag é um sistema que permite organizar e rastrear os recursos da tenancy.

        Você pode selecionar um namespace de tag ou uma tag de formato livre foi adicionada. Informe a chave e o valor da tag correspondentes. Você pode adicionar várias tags.

    14. Para adicionar o estágio ao pipeline, clique em Adicionar.

      Uma janela modal é aberta exibindo o status de várias configurações de estágio que fazem parte da estratégia de implantação azul/verde do OKE. Elas podem incluir implantação azul/verde do OKE, função de chamada, aprovação e estágios de mudança de tráfego. Se a validação ainda não for bem-sucedida, você poderá verificar a mensagem de erro específica para cada estágio que falhou e executar uma ação corretiva.

      Se a validação for bem-sucedida, você poderá executar o pipeline de implantação ou adicionar mais estágios sequencialmente ou em paralelo ao pipeline, conforme necessário.

  • Para criar um estágio azul-verde do OKE, execute o comando create-deploy-oke-blue-green-stage :

    oci devops deploy-stage create-deploy-oke-blue-green-stage

    Parâmetros obrigatórios:

    • --blue-green-strategy
    • --kubernetes-manifest-artifact-ids
    • --oke-cluster-environment-id
    • --pipeline-id
    • --stage-predecessor-collection

    Para obter ajuda para este comando:

    oci devops deploy-stage create-oke-blue-green-stage -h

    Para criar um estágio de função de chamada, execute o comando create-invoke-function-stage :

    oci devops deploy-stage create-invoke-function-stage

    Parâmetros obrigatórios:

    • --function-environment-id
    • --is-async
    • --is-validation-enabled
    • --pipeline-id
    • --stage-predecessor-collection

    Para obter ajuda para este comando:

    oci devops deploy-stage create-invoke-function-stage -h

    Para criar um estágio de mudança de tráfego da carga do balanceador, execute o comando create-load-balancer-traffic-shift-stage :

    oci devops deploy-stage create-load-balancer-traffic-shift-stage

    Parâmetros obrigatórios:

    • --blue-backend-ips
    • --green-backend-ips
    • --load-balancer-config
    • --traffic-shift-target
    • --rollout-policy
    • --pipeline-id
    • --stage-predecessor-collection

    Para obter ajuda para este comando:

    oci devops deploy-stage create-load-balancer-traffic-shift-stage -h

    Para criar uma fase de aprovação manual, execute o comando create-manual-approval-stage :

    oci devops deploy-stage create-manual-approval-stage

    Parâmetros obrigatórios:

    • --approval-policy
    • --pipeline-id
    • --stage-predecessor-collection

    Para obter ajuda para este comando:

    oci devops deploy-stage create-manual-approval-stage -h

    Para obter todos os comandos para deploy-stage:

    oci devops deploy-stage -h
  • Para criar um estágio, use a operação CreateDeployStage . Dependendo dos estágios que você deseja adicionar ao pipeline, selecione os seguintes valores para o tipo de estágio:

    • Estágio de implantação azul/verde do Kubernetes Engine (OKE): OKE_BLUE_GREEN_DEPLOYMENT
    • OKE - estágio de mudança de tráfego azul/verde: OKE_BLUE_GREEN_TRAFFIC_SHIFT
    • Estágio de função de chamada: INVOKE_FUNCTION
    • Estágio de aprovação manual: MANUAL_APPROVAL