kubernetes核心实战(三)---|kubernetes核心实战(三)--- ReplicationController
5、ReplicationController
ReplicationController 确保在任何时候都有特定数量的 Pod 副本处于运行状态。换句话说,ReplicationController 确保一个 Pod 或一组同类的 Pod 总是可用的。
文章图片
ReplicationController 如何工作
当 Pod 数量过多时,ReplicationController 会终止多余的 Pod。当 Pod 数量太少时,ReplicationController 将会启动新的 Pod。与手动创建的 Pod 不同,由 ReplicationController 创建的 Pod 在失败、被删除或被终止时会被自动替换。例如,在中断性维护(如内核升级)之后,你的 Pod 会在节点上重新创建。因此,即使你的应用程序只需要一个 Pod,你也应该使用 ReplicationController 创建 Pod。ReplicationController 类似于进程管理器,但是 ReplicationController 不是监控单个节点上的单个进程,而是监控跨多个节点的多个 Pod。
【kubernetes核心实战(三)---|kubernetes核心实战(三)--- ReplicationController】在讨论中,ReplicationController 通常缩写为 "rc",并作为 kubectl 命令的快捷方式。
一个简单的示例是创建一个 ReplicationController 对象来可靠地无限期地运行 Pod 的一个实例。更复杂的用例是运行一个多副本服务(如 web 服务器)的若干相同副本。
示例:
[root@k8s-master-node1 ~/yaml/test]# vim rc.yaml
[root@k8s-master-node1 ~/yaml/test]# catrc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 3
selector:
app: nginx
template:
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
[root@k8s-master-node1 ~/yaml/test]#
创建
[root@k8s-master-node1 ~/yaml/test]# kubectl apply -f rc.yaml
replicationcontroller/nginx created
[root@k8s-master-node1 ~/yaml/test]#
查看pod
[root@k8s-master-node1 ~/yaml/test]# kubectl get pod
NAMEREADYSTATUSRESTARTSAGE
ingress-demo-app-694bf5d965-q4l7m1/1Running023h
ingress-demo-app-694bf5d965-v652j1/1Running023h
nfs-client-provisioner-dc5789f74-nnk771/1Running1 (8h ago)22h
nginx-87sxg1/1Running034s
nginx-kwrqn1/1Running034s
nginx-xk2t61/1Running034s
[root@k8s-master-node1 ~/yaml/test]#
查看rc
[root@k8s-master-node1 ~/yaml/test]# kubectl describe replicationcontrollers nginx
Name:nginx
Namespace:default
Selector:app=nginx
Labels:app=nginx
Annotations:
Replicas:3 current / 3 desired
Pods Status:3 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
Labels:app=nginx
Containers:
nginx:
Image:nginx
Port:80/TCP
Host Port:0/TCP
Environment:
Mounts:
Volumes:
Events:
TypeReasonAgeFromMessage
-------------------------
NormalSuccessfulCreate102sreplication-controllerCreated pod: nginx-xk2t6
NormalSuccessfulCreate102sreplication-controllerCreated pod: nginx-kwrqn
NormalSuccessfulCreate102sreplication-controllerCreated pod: nginx-87sxg
[root@k8s-master-node1 ~/yaml/test]#
文章图片
Linux运维交流社区
Linux运维交流社区,互联网新闻以及技术交流。
59篇原创内容
公众号
文章图片
https://blog.csdn.net/qq_3392...
https://my.oschina.net/u/3981543
https://www.zhihu.com/people/...
https://segmentfault.com/u/hp...
https://juejin.cn/user/331578...
https://space.bilibili.com/35...
https://cloud.tencent.com/dev...
知乎、CSDN、开源中国、思否、掘金、哔哩哔哩、腾讯云
本文使用 文章同步助手 同步
推荐阅读
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 《机器学习实战》高清中文版PDF英文版PDF+源代码下载
- 活跃社群的核心标准是什么()
- federation--kubernetes集群联邦的实现
- VueX--VUE核心插件
- --木木--|--木木-- 第二课作业#翼丰会(每日一淘6+1实战裂变被动引流# 6+1模式)
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- 2020-07-29《吴军·阅读与写作50讲》24实战才能转化效能
- 核心
- Python实战计划学习笔记(9)为大规模爬取准备