Este documento descreve como escalonar cargas de trabalho sem estado em execução em um cluster do Kubernetes isolado do Google Distributed Cloud (GDC). É necessário escalonar os pods em execução nas cargas de trabalho sem estado à medida que os requisitos de carga de trabalho do contêiner evoluem.
Este documento é destinado a desenvolvedores do grupo de operadores de aplicativos responsáveis por gerenciar cargas de trabalho de aplicativos na organização. Para mais informações, consulte Públicos-alvo da documentação isolada do GDC.
Antes de começar
Para executar comandos em um cluster do Kubernetes, verifique se você tem os seguintes recursos:
Localize o nome do cluster do Kubernetes ou pergunte ao administrador da plataforma.
Faça login e gere o arquivo kubeconfig para o cluster do Kubernetes se você não tiver um.
Use o caminho kubeconfig do cluster do Kubernetes para substituir
KUBERNETES_CLUSTER_KUBECONFIGnestas instruções.
Para receber as permissões necessárias para escalonar cargas de trabalho sem estado, peça ao administrador do IAM da organização para conceder a você o papel de administrador do namespace (namespace-admin) no namespace do projeto.
Escalonar uma implantação
Aproveite a funcionalidade de escalonamento do Kubernetes para dimensionar adequadamente a quantidade de pods em execução na sua implantação.
Fazer o escalonamento automático dos pods de uma implantação
O Kubernetes oferece escalonamento automático para eliminar a necessidade de atualizar manualmente sua implantação quando a demanda evolui. Defina o escalonador automático horizontal de pods na sua implantação para ativar esse recurso:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
autoscale deployment DEPLOYMENT_NAME \
--cpu-percent=CPU_PERCENT \
--min=MIN_NUMBER_REPLICAS \
--max=MAX_NUMBER_REPLICAS
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster.NAMESPACE: o namespace do projeto.DEPLOYMENT_NAME: o nome da implantação em que fazer o escalonamento automático.CPU_PERCENT: a meta de uso médio da CPU a ser solicitada, representada como uma porcentagem, em todos os pods.MIN_NUMBER_REPLICAS: o limite inferior para o número de pods que o escalonador automático pode provisionar.MAX_NUMBER_REPLICAS: o limite superior para o número de pods que o escalonador automático pode provisionar.
Para verificar o status atual do escalonador automático horizontal de pods recém-criado, execute:
kubectl get hpa
O resultado será assim:
NAME REFERENCE TARGET MINPODS MAXPODS REPLICAS AGE
DEPLOYMENT_NAME Deployment/DEPLOYMENT_NAME/scale 0% / 50% 1 10 1 18s
Escalonar manualmente os pods de uma implantação
Se você preferir escalonar uma implantação manualmente, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
scale deployment DEPLOYMENT_NAME \
--replicas NUMBER_OF_REPLICAS
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster.NAMESPACE: o namespace do projeto.DEPLOYMENT_NAME: o nome da implantação em que fazer o escalonamento automático.DEPLOYMENT_NAME: o número desejado de objetosPodreplicados na implantação.