Создание наборов реплик

Область применения: AKS в Azure Stack HCI 22H2, AKS в Windows Server

В этой статье описывается создание, масштабирование и удаление наборов реплик в AKS, включенных Azure Arc. Наборы реплик используются для обеспечения стабильного набора реплика модулей pod в любой момент времени.

Общие сведения о наборах реплик

ReplicaSet — это процесс, который запускает несколько экземпляров модуля pod и сохраняет указанное количество модулей pod постоянными. Это гарантирует, что стабильный набор реплика модулей pod выполняется в любой момент времени, что гарантирует наличие указанного числа идентичных модулей pod.

При сбое модуля pod replicaSet выводит новый экземпляр pod и масштабируется, когда запущенные экземпляры достигают указанного числа. И наоборот, он масштабирует или удаляет объекты pod при создании экземпляра с той же меткой.

Создание набора реплик

kubectl create Используйте команды и kubectl apply для создания наборов реплик. В следующем примере создается набор ReplicaSet с помощью файла YAML:

kubectl apply –f nginx_replicaset.yaml

Функции файла конфигурации ReplicaSet отображаются в формате 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

После создания Набора реплик можно просмотреть состояние, выполнив следующую команду:

kubectl get rs

Вы можете удалить, но не удалить модуль pod, которым управляет ReplicaSet, изменив его метку с помощью kubectl edit команды . Например, при запуске kubectl edit pods 7677-69h5bможно изменить метку pod после открытия файла конфигурации.

Масштабирование набора реплик

Существует два способа изменить количество модулей pod, которыми управляет replicaSet.

  • Измените конфигурацию контроллера с помощью следующей команды:

    kubectl edit rs <ReplicaSet_NAME>
    
  • Непосредственно увеличьте или уменьшите число с помощью следующей команды:

kubectl scale –replicas=2 rs <ReplicaSet_NAME>

При изменении файла манифеста можно заменить существующую конфигурацию обновленной:

kubectl replace –f nginx_replicaset.yaml

Затем, чтобы просмотреть состояние набора реплик, выполните команду kubectl get rs <ReplicaSet_NAME>.

Автомасштабирование также является вариантом для replicaSets с использованием kubectl autoscale rs web –max=5. Автомасштабирование можно использовать для адаптации количества модулей pod в соответствии с нагрузкой на ЦП узла.

Удаление набора реплик

Как и в случае с другими объектами Kubernetes, такими как DaemonSets, вы можете удалить ReplicaSets с помощью kubectl delete команды . Например, можно использовать следующие команды:

  • Чтобы удалить Набор реплик, используя имя ReplicaSet, выполните следующую команду:

    kubectl delete rs <ReplicaSet_NAME>
    
  • Чтобы удалить Набор реплик, используя его имя файла, выполните следующую команду:

    kubectl delete –f nginx_replicaset.yaml
    
  • Предыдущие команды удаляют ReplicaSet и все модули pod, которыми он управляет. Если вы хотите удалить только ресурс ReplicaSet и оставить модули pod без владельца, необходимо удалить их вручную. Чтобы вручную удалить ReplicaSet, выполните следующую команду:

    kubectl delete rs <ReplicaSet_NAME> --cascade=false
    

Дальнейшие действия