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

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

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

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

kubectl create Используйте команды и kubectl apply команды для создания наборов реплик. В приведенном ниже примере создается набор реплик с помощью 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, которым управляет Набор реплик, изменив метку с помощью kubectl edit команды. Например, при запуске kubectl edit pods 7677-69h5bможно изменить метку pod после открытия файла конфигурации.

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

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

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

kubectl edit rs <ReplicaSet_NAME>

Вы также можете напрямую увеличить или уменьшить число с помощью следующей команды:

kubectl scale –replicas=2 rs <ReplicaSet_NAME>

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

kubectl replace –f nginx_replicaset.yaml

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

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

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

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

kubectl delete rs <ReplicaSet_NAME>

Чтобы удалить набор реплик с помощью имени файла, выполните следующую команду:

kubectl delete –f nginx_replicaset.yaml

С помощью этих команд вы удаляете набор реплик и все управляемые им модули pod. Однако если вы хотите удалить только ресурс ReplicaSet, а затем сохранить модули pod без владельца, их необходимо удалить вручную. Чтобы вручную удалить набор реплик, выполните следующую команду:

kubectl delete rs <ReplicaSet_NAME> --cascade=false

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