O que é um portão de recurso e por que ele existe?
Alguns clientes do Google Distributed Cloud (GDC) com isolamento físico precisam concluir um processo de acreditação para atender a um conjunto de requisitos de compliance. Esses clientes podem ter recursos específicos que precisam passar por uma análise de acreditação por terceiros antes de serem ativados para cargas de trabalho de produção.
Alguns recursos podem exigir vários lançamentos para serem finalizados e não devem ser expostos a todos os clientes até que estejam estáveis e prontos. No entanto, outros clientes podem querer trabalhar com o Google para fazer testes de prova de conceito com o recurso não lançado.
O GDC apresenta vários conceitos para manter recursos antes de estarem prontos:
Limite de nível de recurso de implantação (limite de implantação): define o nível mínimo a ser usado no universo. Isso é definido no momento do bootstrap.
Recurso
FeatureGate: define a configuração de nível superior que acompanha o nível de maturidade padrão por recurso. O recurso também monitora todas as substituições de recursos adicionadas pelo operador.Nível de recurso: rastreia o nível de maturidade em que um determinado recurso está definido. Um recurso é ativado quando é maior ou igual ao limite de implantação.
Os valores possíveis de nível de recurso em ordem crescente são: DEV, TEST, PREVIEW, PRODUCTION e ACCREDITED.
Por exemplo, se o limite de implantação for definido como PRODUCTION, os recursos definidos
com o nível ACCREDITED ou PRODUCTION serão ativados. Se o limite de implantação for definido como ACCREDITED, apenas os recursos com nível ACCREDITED serão ativados.
Os gates ou níveis de recursos não são iguais aos testes A/B que você pode encontrar em produtos de consumo. Os portões de recursos ficam ativados ou desativados para todo o universo do GDC. Eles são projetados para serem ativados após a conclusão da análise de acreditação e permanecerem ativados. Essa não é uma configuração para personalizar sua zona do GDC.
As implantações com requisitos de certificação precisam ter uma configuração FeatureGate
própria por organização,
que precisa corresponder ao que foi certificado para essa ou versões anteriores.
Uso no nível do recurso
Há três definições de recursos personalizados relacionadas à configuração de portões e níveis de recursos:
Stage: define o limite de implantação de um cluster. Armazena o limite mínimo de estágio de implantação, que é o que comparar com os feature gates para determinar a ativação de recursos.FeatureGate: armazena a etapa padrão de cada recurso e acompanha as substituições.SubcomponentOverride: usado pelo sistema de gate de recursos para substituir o estágio padrão de um recurso e ativá-lo na zona. Aparece em outros lugares e outros contextos.
O valor da etapa é o limite mínimo de implantação armazenado em cada cluster. Isso só pode ser definido durante a inicialização e nunca alterado depois. Todos os recursos com um valor de estágio igual ou maior são ativados. Há várias maneiras principais de o operador ativar ou desativar recursos. Nem todos são aplicáveis a cada flag de recurso.
- Definir a etapa no momento da inicialização: para mais informações, consulte a etapa para definir o limite da etapa do recurso para a implantação geral.
- Modificar um estágio de recurso usando a infraestrutura como código (IaC) no cluster de administrador raiz:
consulte
IAC-R0004
para detalhes sobre o fluxo de trabalho e a estrutura de diretórios. Você modifica um arquivo no diretório de um componente operacional. Por exemplo, para modificar o recurso
PGMigration, que é um recurso do componente operáveldbs, atualize o arquivoinfrastructure/zonal/zones/ZONE_NAME/root-admin/components/dbs/dbs-common-override.yaml. - Modificar um estágio de recurso usando IaC no cluster da organização:
dependendo do tipo de organização, o cluster é o de infraestrutura ou o de administrador da organização. Consulte
IAC-R0004
para detalhes sobre o fluxo de trabalho e a estrutura de diretórios. Você modifica um arquivo no diretório de um
componente operacional. Por exemplo, para modificar o recurso
PGMigration, que é um recurso do componente operáveldbs, atualize o arquivoinfrastructure/zonal/zones/ZONE_NAME/ORG_NAME/components/dbs/dbs-sub-override.yaml. - Upgrade do GDC: por lançamento, o valor padrão do estágio por recurso pode mudar com base em novas avaliações de maturidade. Os valores padrão não afetam as substituições já definidas na IaC para um determinado recurso.
Os portões de recursos são semelhantes a uma atualização. Nenhuma imagem ou versão muda, mas é efetivamente a etapa final de um upgrade para ativar os recursos adicionados em um upgrade anterior. A ativação desse recurso pode ocorrer semanas ou meses após o upgrade inicial, dependendo de quanto tempo leva o credenciamento. Continue fazendo upgrades regularmente para incluir correções e patches enquanto o credenciamento estiver em andamento.
Quando os recursos são substituídos, por exemplo, seguindo o processo de IaC, o GDC aciona um reconciliador para reiniciar todos os pods que dependem do recurso. Isso precisa ser feito durante uma janela de manutenção, já que algumas mudanças podem exigir inatividade.
Alguns recursos têm um runbook de manual de serviço que descreve quando ele precisa ser ativado e o que procurar depois que a substituição for aplicada. Isso pode ser para casos que exigem mais do que uma reinicialização do pod ou precisam ser realizados depois que outros recursos são ativados.
Você pode encontrar esses runbooks de recursos no manual de serviço anexado ao componente operacional relevante.
A lista de flags de recursos ativas está disponível na documentação de Estágios de recursos.