Criar ReplicaSets

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

Este artigo descreve como criar, dimensionar e excluir ReplicaSets no AKS habilitado pelo Azure Arc. Os ReplicaSets são usados para garantir que um conjunto estável de pods réplica esteja em execução a qualquer momento.

Visã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. Ele garante que um conjunto estável de pods réplica esteja 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 abre uma nova instância do pod e aumenta quando as instâncias em execução atingem um número especificado. Por outro lado, ele reduz ou exclui pods quando uma instância com o mesmo rótulo é criada.

Criar um ReplicaSet

Use os kubectl create comandos e kubectl apply para criar ReplicaSets. O exemplo a seguir cria um ReplicaSet usando um arquivo YAML:

kubectl apply –f nginx_replicaset.yaml

Os recursos de um arquivo de configuração ReplicaSet são mostrados 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, você pode exibir o status executando o seguinte comando:

kubectl get rs

Você pode remover, mas não excluir, um pod que um ReplicaSet gerencia alterando seu rótulo usando o kubectl edit comando . Por exemplo, se você executar kubectl edit pods 7677-69h5b, poderá alterar o rótulo do pod assim que o arquivo de configuração for aberto.

Dimensionar um ReplicaSet

Há duas maneiras de alterar o número de pods que um ReplicaSet gerencia.

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

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

kubectl scale –replicas=2 rs <ReplicaSet_NAME>

Ao editar um arquivo de manifesto, você pode substituir a configuração existente pela atualizada:

kubectl replace –f nginx_replicaset.yaml

Em seguida, para exibir o status de seu ReplicaSet, execute kubectl get rs <ReplicaSet_NAME>.

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

Excluir um ReplicaSet

Assim como acontece com outros objetos kubernetes, como DaemonSets, você pode excluir ReplicaSets usando o kubectl delete comando . Por exemplo, você pode usar os seguintes comandos:

  • Para excluir um ReplicaSet usando o nome ReplicaSet, execute o seguinte comando:

    kubectl delete rs <ReplicaSet_NAME>
    
  • Para excluir um ReplicaSet usando seu nome de arquivo, execute o seguinte comando:

    kubectl delete –f nginx_replicaset.yaml
    
  • Os comandos anteriores excluem o ReplicaSet e todos os pods que ele gerencia. Se você quiser excluir apenas o recurso ReplicaSet e manter os pods sem um proprietário, será necessário excluí-los manualmente. Para excluir manualmente um ReplicaSet, execute o seguinte comando:

    kubectl delete rs <ReplicaSet_NAME> --cascade=false
    

Próximas etapas