Kubernetes - Replication Controller
Replication Controller 是 Kubernetes 的核心功能之一,负责管理 pod 的生命周期。它确保在任何时间点都有指定的 pod 副本数运行。当需要确保指定数量的 pod 或至少一个 pod 正在运行时使用。它能够启动或缩减指定的 pod 数量。
使用 replication controller 管理 pod 生命周期是最佳实践,而不是反复创建 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
配置详情
Kind: ReplicationController → 在上面的代码中,我们将 kind 定义为 replication controller,这告诉 kubectl 该 yaml 文件将用于创建 replication controller。
name: Tomcat-ReplicationController → 这有助于识别 replication controller 的创建名称。如果运行 kubectl get rc < Tomcat-ReplicationController >,将显示 replication controller 的详细信息。
replicas: 3 → 这告诉 replication controller 在 pod 生命周期的任何时间点需要维护三个 pod 副本。
name: Tomcat → 在 spec 部分,我们将名称定义为 tomcat,这告诉 replication controller pod 内包含的 container 是 tomcat。
containerPort: 7474 → 它确保集群中运行 pod 的所有节点上,pod 内的 container 将在相同的端口 7474 上暴露。
在这里,Kubernetes service 作为三个 tomcat 副本的负载均衡器。