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