Aumente a capacidade de criação de certificados usando pools de CAs

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

Visão geral

A capacidade de criação de certificados é medida em consultas por segundo (QPS). Em um malha de serviço, a capacidade de processamento de criação de certificados pode ser aproximada usando o 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 com que os certificados são girados 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. A função ROTATION_FREQUENCY O padrão do Cloud Service Mesh é 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 poucas 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 ao mesmo tempo.
NEW_WORKLOADS_PER_SECOND 1 Uma nova carga de trabalho é criada por 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 = (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 na sua local necessário. Para conferir a lista completa de locais, consulte Locais.

Se você pretende emitir certificados com uma capacidade de processamento alta e consistente, nós recomendamos que você crie o pool de ACs no nível DevOps, o que permite o desempenho aprimorado e resulta em 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 obter números de QPS específicos e obter 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 é quatro para pools de CAs nos níveis de DevOps e 15 para os pools de CAs 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 efetivo do pool de CAs para 100 QPS, você precisa criar mais três CAs no pool.

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

        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"
      

      Nesta etapa, o QPS efetivo total do pool de ACs é de 100 QPS.

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

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

    É possível usar o Cloud Monitoring para monitorar as métricas de balanceamento de carga do 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