Автоматический перезапуск модулей в контроллере репликации кластера Kubernetes показывает, как Kubernetes перепланирует модули в кластере, если один или несколько существующих модулей исчезают по какой-либо причине. Это распространенная модель использования и одна из ключевых особенностей Kubernetes.
Другой распространенный шаблон использования Replication Controller — масштабирование:
Контроллер репликации позволяет легко увеличивать или уменьшать количество реплик вручную или с помощью агента автоматического масштабирования, просто обновляя поле реплик.
Этот блог покажет, как кластер Kubernetes можно легко масштабировать вверх и вниз.
Весь код, используемый в этом блоге, доступен по адресу kubernetes-java-sample .
Запустите контроллер репликации и проверьте
- Запустите контроллер репликации как:
12
.
/cluster/kubectl
.sh create -f ~
/workspaces/kubernetes-java-sample/wildfly-rc
.yaml
replicationcontrollers
/wildfly-rc
- Получить статус стручков:
01020304050607080910111213
.
/cluster/kubectl
.sh get -w po
NAME READY STATUS RESTARTS AGE
NAME READY STATUS RESTARTS AGE
wildfly-rc-bgtkg 0
/1
Pending 0 1s
wildfly-rc-l8fqv 0
/1
Pending 0 1s
wildfly-rc-bgtkg 0
/1
Pending 0 1s
wildfly-rc-l8fqv 0
/1
Pending 0 1s
wildfly-rc-bgtkg 0
/1
Pending 0 1s
wildfly-rc-l8fqv 0
/1
Pending 0 1s
wildfly-rc-bgtkg 0
/1
Running 0 1m
wildfly-rc-l8fqv 0
/1
Running 0 1m
wildfly-rc-bgtkg 1
/1
Running 0 1m
wildfly-rc-l8fqv 1
/1
Running 0 1m
Обязательно дождитесь, пока статус изменится на «Запущено».
Запишите название стручков как
wildfly-rc-bgtkg »и
wildfly-гс-bgtkg».
- Получить статус контроллера репликации:
123
.
/cluster/kubectl
.sh get rc
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS
wildfly-rc wildfly-rc-pod jboss
/wildfly
name=wildfly 2
Если запущено несколько контроллеров репликации, вы можете запросить этот конкретный контроллер, используя метку:
123.
/cluster/kubectl
.sh get rc -l name=wildfly
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS
wildfly-rc wildfly-rc-pod jboss
/wildfly
name=wildfly 2
Масштабирование Kubernetes Cluster Up
Контроллер репликации позволяет динамически масштабировать модули вверх и вниз.
- Увеличьте количество стручков:
12
.
/cluster/kubectl
.sh scale --replicas=3 rc wildfly-rc
scaled
- Статус стручков можно увидеть в другой оболочке:
01020304050607080910
.
/cluster/kubectl
.sh get -w po
NAME READY STATUS RESTARTS AGE
wildfly-rc-k6pk2 1
/1
Running 0 47s
wildfly-rc-wez29 1
/1
Running 0 47s
NAME READY STATUS RESTARTS AGE
wildfly-rc-aqaqn 0
/1
Pending 0 0s
wildfly-rc-aqaqn 0
/1
Pending 0 0s
wildfly-rc-aqaqn 0
/1
Pending 0 0s
wildfly-rc-aqaqn 0
/1
Running 0 2s
wildfly-rc-aqaqn 1
/1
Running 0 11s
Обратите внимание, что создан новый Pod с именем
wildfly-rc-aqaqn
.
Чешуйчатый кластер Кубернетес
- Уменьшите количество стручков:
12
.
/cluster/kubectl
.sh scale --replicas=1 rc wildfly-rc
scaled
- Состояние модулей, использующих
-w
, не обновляется правильно ( # 11338 ). Но статус стручков можно правильно увидеть как:123.
/cluster/kubectl
.sh get po
NAME READY STATUS RESTARTS AGE
wildfly-rc-k6pk2 1
/1
Running 0 9m
Обратите внимание, что сейчас работает только один Pod.
Kubernetes динамически масштабирует стручки вверх и вниз, используя команду scale --replicas
.
- Весь код, используемый в этом блоге, доступен по адресу kubernetes-java-sample .
Наслаждайтесь!
Ссылка: | Масштабирование Kubernetes Cluster от нашего партнера JCG Аруна Гупты в Miles to go 2.0… блог. |