您好,登錄后才能下訂單哦!
這篇文章給大家介紹ReplicaSet是什么意思,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
ReplicaSet
與ReplicationController
類似,它也用于管理一類Pod對象,保證Pod副本數(shù)量始終維持在期望值。
一個簡單的ReplicaSet
配置如下所示:
apiVersion: apps/v1 kind: ReplicaSet metadata: name: replicaset-runs-pod spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.19.0
該ReplicaSet
配置確保集群中始終運行3個擁有app: nginx
標簽的Pod副本,如果副本數(shù)量不足3個,則使用Pod模版spec.template
創(chuàng)建Pod,如果副本數(shù)量多于3個,則刪除多余的副本。
ReplicaSet
配置中最核心的三個要素如下:
spec.selector
用于查找集群中存在的Pod;
spec.replicas
用于指定期望的Pod副本數(shù);
spec.template
用于指定Pod模版,當(dāng)副本數(shù)不足時將使用該模版創(chuàng)建新的Pod。
ReplicationController
和ReplicaSet
都屬于Pod控制器,其設(shè)計初衷幾乎完全相同,都是確保指定類型的Pod副本數(shù)維持在期望值,ReplicationController
出現(xiàn)時間比ReplicaSet
要早,那么為什么已經(jīng)有了ReplicationController
的情況下,還要再設(shè)計一個ReplicaSet
呢?二者到底有什么區(qū)別呢?
二者的主要區(qū)別在于標簽選擇器,ReplicaSet
擁有更先進的標簽選擇器,ReplicationController
只支持舊式的標簽選擇器,而ReplicaSet
不僅支持舊式選擇器,還支持新式選擇器。
ReplicationController
支持的選擇器稱為Equality-based
選擇器,即基于等值的選擇器:
Selector map[string]string
ReplicaSet
不僅支持Equality-based
選擇器,還支持Set-based
選擇器,即基于集合的選擇器:
type LabelSelector struct { MatchLabels map[string]string MatchExpressions []LabelSelectorRequirement }
ReplicationController
特性演進到V1時還沒有支持Set-based
選擇器,而Kubernetes又希望推出一款支持Set-based
選擇器的Pod控制器,為了不破壞API兼容性,不得已才推出了ReplicaSet
控制器來替代ReplicationController
。
關(guān)于ReplicaSet是什么意思就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。