Контроллер репликации является одной из ключевых функций Kubernetes, которая отвечает за управление жизненным циклом модуля. Он отвечает за то, чтобы убедиться, что указанное количество реплик pod запущено в любой момент времени. Он используется во время, когда нужно убедиться, что работает указанное количество модулей или хотя бы один модуль. Он может поднимать или опускать указанное количество стручков.
Рекомендуется использовать контроллер репликации для управления жизненным циклом модуля, а не создавать модуль снова и снова.
apiVersion: v1 kind: ReplicationController --------------------------> 1 metadata: name: Tomcat-ReplicationController --------------------------> 2 spec: replicas: 3 ------------------------> 3 template: metadata: name: Tomcat-ReplicationController labels: app: App component: neo4j spec: containers: - name: Tomcat- -----------------------> 4 image: tomcat: 8.0 ports: - containerPort: 7474 ------------------------> 5
Подробности настройки
-
Вид: ReplicationController → В приведенном выше коде мы определили тип контроллера репликации, который сообщает kubectl, что файл yaml будет использоваться для создания контроллера репликации.
-
name: Tomcat-ReplicationController → Это помогает определить имя, под которым будет создан контроллер репликации. Если мы запустим kubctl, получим rc <Tomcat-ReplicationController>, он покажет детали контроллера репликации.
-
replicas: 3 → Это помогает контроллеру репликации понять, что ему необходимо поддерживать три реплики модуля в любой момент времени в его жизненном цикле.
-
name: Tomcat → В разделе спецификаций мы определили имя как tomcat, которое сообщит контроллеру репликации, что контейнер, присутствующий внутри модулей, является tomcat.
-
containerPort: 7474 → Помогает убедиться, что все узлы в кластере, в котором контейнер запускает контейнер внутри модуля, будут доступны на одном и том же порту 7474.
Вид: ReplicationController → В приведенном выше коде мы определили тип контроллера репликации, который сообщает kubectl, что файл yaml будет использоваться для создания контроллера репликации.
name: Tomcat-ReplicationController → Это помогает определить имя, под которым будет создан контроллер репликации. Если мы запустим kubctl, получим rc <Tomcat-ReplicationController>, он покажет детали контроллера репликации.
replicas: 3 → Это помогает контроллеру репликации понять, что ему необходимо поддерживать три реплики модуля в любой момент времени в его жизненном цикле.
name: Tomcat → В разделе спецификаций мы определили имя как tomcat, которое сообщит контроллеру репликации, что контейнер, присутствующий внутри модулей, является tomcat.
containerPort: 7474 → Помогает убедиться, что все узлы в кластере, в котором контейнер запускает контейнер внутри модуля, будут доступны на одном и том же порту 7474.
Здесь служба Kubernetes работает как балансировщик нагрузки для трех реплик Tomcat.