Aumente a capacidade de criação de certificados usando os pools de ACs

Esta página descreve como aumentar a taxa de criação de certificados usando um pool de autoridades certificadoras (AC). Para mais informações sobre os pools de ACs, consulte Visão geral dos pools de ACs.

Visão geral

A capacidade de processamento de criação de certificados é medida em consultas por segundo (QPS). Em uma mesh de serviço, a taxa de transferência de criação de certificados pode ser aproximada usando a seguinte fórmula:

THROUGHPUT = (ACTIVE_WORKLOADS × ROTATION_FREQUENCY) + NEW_WORKLOADS_PER_SECOND

Substitua:

  • ACTIVE_WORKLOADS: o número total de cargas de trabalho em execução em um determinado momento
  • ROTATION_FREQUENCY: a frequência em que os certificados são alternados por segundo
  • NEW_WORKLOADS_PER_SECOND: a taxa de criação de novas cargas de trabalho

Você pode encontrar os valores de ACTIVE_WORKLOADS e NEW_WORKLOADS_PER_SECOND nos painéis do Google Kubernetes Engine no console do Google Cloud. Para determinar a ROTATION_FREQUENCY de uma malha de serviço, consulte a documentação do produto da malha de serviço. O padrão de ROTATION_FREQUENCY para a Service Mesh do Cloud é uma vez a cada 12 horas, ou seja, 1/(12×60×60) ou 1/43200 quando convertido em frequência de rotação por segundo.

Exemplo

Considere o exemplo de um cluster relativamente estável com cargas de trabalho de longa duração e algumas cargas de trabalho efêmeras.

Nome da variável Valor Descrição
ACTIVE_WORKLOADS 10000 Espera-se que 10.000 cargas de trabalho estejam em execução a qualquer momento.
NEW_WORKLOADS_PER_SECOND 1 Uma nova carga de trabalho é criada a cada segundo.
ROTATION_FREQUENCY 1/43200 Os certificados são alternados a cada 12 horas.

A substituição desses valores na fórmula para calcular a taxa de criação de certificados resulta em um valor de QPS de 1,23.

Capacidade de processamento = (10.000 / 43.200) + 1 = 1,23 QPS

Um cluster diferente com cargas de trabalho mais temporárias e de vida útil mais curta pode ter um valor mais alto para NEW_WORKLOADS_PER_SECOND. Um valor alto de ROTATION_FREQUENCY torna o valor da fração (ACTIVE_WORKLOADS / ROTATION_FREQUENCY) muito pequeno, tornando NEW_WORKLOADS_PER_SECOND a variável mais importante na fórmula.

Antes de começar

Configure um pool de ACs no local necessário. Para conferir a lista completa de locais, consulte Locais.

Se você espera emitir certificados com uma capacidade consistentemente alta, recomendamos criar o pool de AC no nível de DevOps, que permite melhor desempenho e custos mais baixos. Há uma capacidade máxima para cada CA individual em um pool de ACs e uma capacidade máxima efetiva alcançável para qualquer projeto. Por exemplo, se a capacidade máxima do nível de DevOps for de 25 QPS para uma AC e 100 QPS para um projeto, será necessário criar 4 ACs no pool de ACs para alcançar uma capacidade efetiva total de até 100 QPS. Para números específicos de QPS e mais informações sobre cotas, consulte Cotas e limites.

Procedimento

  1. Crie CAs suficientes no pool de CAs para alcançar o QPS necessário. O número necessário de ACs é 4 para pools de ACs nos níveis DevOps e 15 para pools de ACs no nível Enterprise. O conjunto de instruções a seguir é para um pool de ACs no nível de DevOps:

    1. Para criar uma AC raiz com o nome root-1 no pool de ACs, use o comando gcloud a seguir.

       gcloud privateca roots create root-1 --pool POOL_NAME --subject="CN=root-1,O=google"
      

      O QPS total efetivo do pool de CA nessa fase é de 25 QPS. Para aumentar o QPS total do pool de CAs para 100 QPS, é necessário criar mais três CAs no pool.

    2. Para criar uma AC raiz com o nome root-2, use o comando gcloud a seguir.

        gcloud privateca roots create root-2 --pool POOL_NAME --subject="CN=root-2,O=google"
      
    3. Para criar uma AC raiz com o nome root-3, use o comando gcloud a seguir.

        gcloud privateca roots create root-3 --pool POOL_NAME --subject="CN=root-3,O=google"
      
    4. Para criar uma AC raiz com o nome root-4, use o comando gcloud a seguir.

        gcloud privateca roots create root-4 --pool POOL_NAME --subject="CN=root-4,O=google"
      

      Nesse estágio, o QPS total efetivo do seu pool de ACs é de 100 QPS.

  2. Enquanto as ACs estiverem no estado STAGED, crie e teste certificados. Depois disso, ative as ACs. Para saber como ativar as ACs, consulte Ativar uma AC. Para informações sobre como testar ACs, consulte Testar uma AC.

  3. Verifique a integridade do seu pool de ACs consultando relatórios de auditoria sobre o balanceamento de carga entre as ACs. O ideal é que haja uniformidade no número de certificados emitidos por cada AC.

    Use o Cloud Monitoring para monitorar as métricas de balanceamento de carga do seu pool de ACs, como o número de certificados emitidos por AC em um determinado período. Para mais informações, consulte Monitorar recursos usando o Cloud Monitoring.

A seguir