Criar Conjuntos de Réplicas

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Este artigo descreve como criar, dimensionar e eliminar Conjuntos de Réplicas no AKS ativados pelo Azure Arc. Os ReplicaSets são utilizados para garantir que um conjunto estável de pods de réplica está em execução a qualquer momento.

Descrição geral de ReplicaSets

Um ReplicaSet é um processo que executa várias instâncias de um pod e mantém o número especificado de pods constante. Garante que um conjunto estável de pods de réplica está em execução a qualquer momento, o que garante um número especificado disponível de pods idênticos.

Quando um pod falha, um ReplicaSet apresenta uma nova instância do pod e aumenta verticalmente quando as instâncias em execução atingem um número especificado. Por outro lado, reduz verticalmente ou elimina pods quando é criada uma instância com a mesma etiqueta.

Criar um Conjunto de Réplicas

Utilize os kubectl create comandos e kubectl apply para criar ReplicaSets. O exemplo seguinte cria um ReplicaSet com um ficheiro YAML:

kubectl apply –f nginx_replicaset.yaml

As funcionalidades de um ficheiro de configuração ReplicaSet são apresentadas no formato YAML:

apiVersion: apps/v1  
kind: ReplicaSet  
metadata: 
      name: web
      labels: 
         env: dev
         role: web
spec:  
   replicas: 4
   selector: 
       matchlabels: 
       role: web
        template:
           metadata:
       labels:
           role: web
spec:  
      containers:  
           -name: nginx  
           image: nginx

Depois de criar um ReplicaSet, pode ver o estado ao executar o seguinte comando:

kubectl get rs

Pode remover, mas não eliminar, um pod que um ReplicaSet gere ao alterar a respetiva etiqueta com o kubectl edit comando . Por exemplo, se executar kubectl edit pods 7677-69h5b, pode alterar a etiqueta do pod assim que o ficheiro de configuração for aberto.

Dimensionar um Conjunto de Réplicas

Existem duas formas de alterar o número de pods que um ReplicaSet gere.

  • Edite a configuração do controlador com o seguinte comando:

    kubectl edit rs <ReplicaSet_NAME>
    
  • Aumente ou diminua diretamente o número com o seguinte comando:

kubectl scale –replicas=2 rs <ReplicaSet_NAME>

Quando edita um ficheiro de manifesto, pode substituir a configuração existente pela configuração atualizada:

kubectl replace –f nginx_replicaset.yaml

Em seguida, para ver o estado do ReplicaSet, execute kubectl get rs <ReplicaSet_NAME>.

O dimensionamento automático também é uma opção com ReplicaSets com kubectl autoscale rs web –max=5. Pode utilizar o dimensionamento automático para adaptar o número de pods de acordo com a carga da CPU de um nó.

Eliminar um Conjunto de Réplicas

Tal como acontece com outros objetos do Kubernetes, como DaemonSets, pode eliminar ReplicaSets com o kubectl delete comando . Por exemplo, pode utilizar os seguintes comandos:

  • Para eliminar um ReplicaSet com o nome ReplicaSet, execute o seguinte comando:

    kubectl delete rs <ReplicaSet_NAME>
    
  • Para eliminar um ReplicaSet com o respetivo nome de ficheiro, execute o seguinte comando:

    kubectl delete –f nginx_replicaset.yaml
    
  • Os comandos anteriores eliminam o ReplicaSet e todos os pods que gere. Se quiser eliminar apenas o recurso ReplicaSet e manter os pods sem um proprietário, tem de os eliminar manualmente. Para eliminar manualmente um ReplicaSet, execute o seguinte comando:

    kubectl delete rs <ReplicaSet_NAME> --cascade=false
    

Passos seguintes