Kubernetes - controlador de replicação
O controlador de replicação é um dos principais recursos do Kubernetes, responsável por gerenciar o ciclo de vida do pod. Ele é responsável por garantir que o número especificado de réplicas de pod estejam em execução a qualquer momento. É usado quando se quer ter certeza de que o número especificado de pod ou pelo menos um pod está em execução. Ele tem a capacidade de aumentar ou diminuir o número especificado de pod.
É uma prática recomendada usar o controlador de replicação para gerenciar o ciclo de vida do pod, em vez de criar um pod repetidamente.
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
Detalhes de configuração
Kind: ReplicationController → No código acima, definimos o tipo como controlador de replicação que informa ao kubectl que o yaml será usado para criar o controlador de replicação.
name: Tomcat-ReplicationController→ Isso ajuda a identificar o nome com o qual o controlador de replicação será criado. Se executarmos o kubctl, obtenharc < Tomcat-ReplicationController > ele mostrará os detalhes do controlador de replicação.
replicas: 3 → Isso ajuda o controlador de replicação a entender que precisa manter três réplicas de um pod em qualquer momento do ciclo de vida do pod.
name: Tomcat → Na seção de especificações, definimos o nome como tomcat, que dirá ao controlador de replicação que o contêiner presente dentro dos pods é tomcat.
containerPort: 7474 → Isso ajuda a garantir que todos os nós no cluster onde o pod está executando o contêiner dentro do pod sejam expostos na mesma porta 7474.
Aqui, o serviço Kubernetes está funcionando como um balanceador de carga para três réplicas do Tomcat.