Replication Controller

Replication Controller (контроллер репликации) помогает запускать несколько экземпляров приложения в кластере, обеспечивая высокую доступность. Он гарантирует, что заданное количество реплик будет всегда работать. Когда кол-во пользователей увеличивается, мы увеличиваем кол-во Pod, он еще и помогает распределять нагрузку между узлами.

Контроллер репликаций — создание rc-definition.yml

Структура файла:

apiVersion: v1
kind: ReplicationController
metadata:
name: myapp-rc
labels:
app: myapp
type: front-end
spec:
template:
metadata:
name: nginx
labels:
app: myapp
type: front-end
spec:
containers:
— name: nginx-container
image: nginx
replicas: 3

Сохраните файл и выполните команду:
kubectl create -f rc-definition.yml
Будет создан контроллер репликации и он создаст 3 копии модуля.

kubectl get replicationcontroller

Покажет список репликаций, их текущее кол-во и количество готовых реплик.

kubectl get pods

Выведет список созданных Pod и их статус.

Replica Set — набор реплик, новый рекомендуемый способ настройки репликаций.

Структура файла replicaset-definition.yml

apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: myapp-replicaset
labels:
app: myapp
type: front-end
spec:
template:
metadata:
name: nginx
labels:
app: myapp
type: front-end
spec:
containers:
— name: nginx-container
image: nginx
replicas: 3
selector:
matchLabels:
type: front-end

Для создания ReplicaSet (набор реплик) нужно выполнить команду:

kubectl create -f replicaset-definition.yml

Набор реплик — процесс отслеживающий Pod, и в случае сбоя — развертывает новые. Он поддерживает желаемое кол-во Pod.

Варианты увеличения кол-ва реплик:

  1. Изменить файл replicaset-definition.yml указал большее кол-во replicas и затем выполнить команду kubectl replace -f replicaset-definition.yml
  2. kubectl scale —replicas=6 -f replicaset-definition.yml

Удаление ReplicaSet (набора реплик):

kubectl delete replicaset myapp-replicaset

Поделиться ссылкой: