Kubernetes - Replica Sets
Replica Set 确保应该运行多少个 pod 的副本。它可以被视为 replication controller 的替代品。Replica Set 和 replication controller 的主要区别在于,replication controller 只支持基于相等性的 selector,而 Replica Set 支持基于集合的 selector。
apiVersion: extensions/v1beta1 --------------------->1
kind: ReplicaSet --------------------------> 2
metadata:
name: Tomcat-ReplicaSet
spec:
replicas: 3
selector:
matchLables:
tier: Backend ------------------> 3
matchExpression:
{ key: tier, operation: In, values: [Backend]} --------------> 4
template:
metadata:
lables:
app: Tomcat-ReplicaSet
tier: Backend
labels:
app: App
component: neo4j
spec:
containers:
- name: Tomcat
image: tomcat: 8.0
ports:
- containerPort: 7474
配置详情
apiVersion: extensions/v1beta1 → 在上面的代码中,API 版本是 Kubernetes 的高级 beta 版本,它支持 Replica Set 的概念。
kind: ReplicaSet → 我们将 kind 定义为 Replica Set,这有助于 kubectl 理解该文件用于创建 Replica Set。
tier: Backend → 我们将标签 tier 定义为 backend,这会创建一个匹配的 selector。
{key: tier, operation: In, values: [Backend]} → 这将帮助 matchExpression 理解我们定义的匹配条件,以及在操作中由 matchlabel 用于查找细节。
使用 kubectl 运行上述文件,并根据 yaml 文件中提供的定义创建后端 Replica Set。
