
以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!
如果对您有帮助,烦请点赞、关注、转发!如果您有其他想要了解的,欢迎私信联系我~
基本介绍
前文【K8s】专题四(2):Kubernetes 控制器之 Deployment 中提到了副本集控制器 ReplicaSet,本文将对其展开介绍。
ReplicaSet 控制器是 Kubernetes 的一个 API 对象,它负责维护一组指定数量的 Pod 副本始终运行在 Kubernetes 集群中。当某个 Pod 副本因为故障而终止,ReplicaSet 会及时、自动创建新的 Pod 副本对其进行替换。
ReplicaSet 通常与 Deployment 一起使用,由 Deployment 控制器管理 ReplicaSet 的生命周期和更新。
工作原理
相关特性
资源清单(示例)
# replicaset.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: demo-replicaset
spec:
replicas: 3
selector:
matchLabels:
app: demo-replicaset
template:
metadata:
labels:
app: demo-replicaset
spec:
containers:
- name: demo-container
image: demo-image:latest
ports:
- containerPort: 80上述 replicaset.yaml 文件定义了一个名为 demo-replicaset 的 ReplicaSet 对象,该对象包括 3 个 Pod 副本,每个 Pod 包含一个名为 demo-container 的业务容器,业务容器使用 demo-image:latest 镜像,并指定监听端口为 80。
说明:可以通过以下命令查看 ReplicaSet 资源清单支持定义的内容
kubectl explain replicaset --recursive常用操作
1、创建 ReplicaSet
# 方式一:命令行
kubectl create replicaset demo-replicaset --image=demo-image:latest
# 方式二:资源清单
kubectl create -f replicaset.yaml
或
kubectl apply -f replicaset.yaml2、查看 ReplicaSet
# 查看实例列表
kubetcl get replicaset
# 查看详细信息
kubectl describe replicaset demo-replicaset3、删除 ReplicaSet
# 方式一:命令行
kubectl delete replicaset demo-replicaset
# 方式二:资源清单
kubectl delete -f replicaset.yaml4、副本伸缩
kubectl scale replicaset demo-replicaset --replicas=1