大数跨境
0
0

Kubernetes Replica Set

Kubernetes Replica Set 开发运维devops
2025-11-10
3
导读:Kubernetes Replica Set

由于Replication Controller与Kubernetes代码中的模块Replication Controller同名,同时这个词也无法准确表述它的本意,所以在Kubernetes1.2时,它就升级成另一个新的概念---Replica Set,官方解释为"下一代的RC"

它与RC当前存在的唯一区别是:Replica Sets支持基于集合的Label selector(Set-based selector基于集合的标签选择器),而RC只支持基于等式的Label Selector(equality-based selector基于等式),这使得Replica Set的功能更强

matchExpressions 是一个pod的选择器条件的list 。

selector:  matchLabels:    tier: frontend  matchExpressions:    - {key: tier, operator: In, values: [frontend]}

kubectl命令行工具适用于RC的绝大部分命令都同样适用于Replica Set,当前我们很少的单独是哦那个Replica Set,它主要被Deployment这个更高层的资源对象所使用,从而形成一整套Pod创建、删除、更新的编排机制。当我们使用Deployment时,无须关心它是如何创建和维护Replica Set的,这一切都是自动发生的。

RC(Replica Set)功能

1.在大多数情况下,我们定义一个RC实现Pod的创建过程及副本数量的自动控制 

2.RC里包括完整的Pod定义模板 

3.RC通过Label Selector机制实现对Pod副本的自动控制。 

4.通过改变RC里的Pod副本数量,可以实现Pod的扩容或缩容功能 

5.通过改变RC里的Pod目标中的镜像版本,可以实现Pod的滚动升级功能


 示例:

root@test222:/soft/k8s_yaml# cat nginx.yaml apiVersion: apps/v1kind: Deploymentmetadata:  name: nginx-test  namespace: default  labels:    app: nginx-testspec:  replicas: 2  selector:    matchLabels:      app: nginx-test  template:    metadata:      labels:        app: nginx-test    spec:      containers:      - name: nginx        image: nginx:stable-alpine        imagePullPolicy: IfNotPresent        ports:        - containerPort: 80
root@test222:/soft/k8s_yaml# kubectl get rsNAME                                DESIRED   CURRENT   READY   AGEnfs-client-provisioner-67b65f686f   0         0         0       18hnfs-client-provisioner-6c5d4cdbd8   1         1         1       17hnginx-test-775cc8c4f6               2         2         2       2d18h




【声明】内容源于网络
0
0
开发运维devops
10+老运维,devops相关文档精华。
内容 96
粉丝 0
开发运维devops 10+老运维,devops相关文档精华。
总阅读210
粉丝0
内容96