Criar ReplicaSets
Aplica-se a: AKS no Azure Local 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 de 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 de 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 traz 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
o , 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 do 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
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