K8S 之 创建ReplicationController控制器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S 之 创建ReplicationController控制器相关的知识,希望对你有一定的参考价值。
一、使用ReplicationController的好处1、确保一个pod(或多个pod副本)持续运行,方法是在现有pod丢失时启动一个新的pod
2、集群节点发生故障时,它将为故障节点上运行的所有pod(即受ReplicationController控制的节点上的那些pod)创建替代副本。
3、它能轻松实现pod的水平伸缩,手动和自动都可以。
备注:ReplicationController 最终将被弃用,ReplicaSet代替,功能完全相同,而你通常不会直接创建它们,而是在创建更高层级的Deployment资源时创建。
apiVersion: v1
kind: ReplicationController
metadata:
name: kubia-rc #ReplicationController(RC)的名字
namespace: test
spec:
replicas: 3 #pod实例的目标数量
selector: #pod选择器决定了RC的操作对象
app: kubia
template: #创建新POD所用的pod模板
metadata:
labels:
app: kubia
spec:
containers:
- name: kubia
image: luksa/kubia
ports:
- containerPort: 8080
[root@test-nodes1 k8s-yaml-file]# kubectl get all -n test
NAME READY STATUS RESTARTS AGE
pod/kubia-rc-d2l6v 1/1 Running 0 2m11s
pod/kubia-rc-fmzjs 1/1 Running 0 2m11s
pod/kubia-rc-zdd28 1/1 Running 0 56s
NAME DESIRED CURRENT READY AGE
replicationcontroller/kubia-rc 3 3 3 2m11s
二、水平缩放pod
[root@test-nodes1 k8s-yaml-file]# kubectl scale rc kubia-rc --replicas=2 -n test
replicationcontroller/kubia-rc scaled
[root@test-nodes1 k8s-yaml-file]# kubectl get all -n test
NAME READY STATUS RESTARTS AGE
pod/kubia-rc-d2l6v 1/1 Running 0 23m
pod/kubia-rc-fmzjs 1/1 Running 0 23m
pod/kubia-rc-zdd28 1/1 Terminating 0 22m #已经终止
NAME DESIRED CURRENT READY AGE
replicationcontroller/kubia-rc 2 2 2 23m
或者可使用
[root@test-nodes1 k8s-yaml-file]# kubectl edit rc kubia-rc
三、创建ReplicaSet
apiVersion: apps/v1beta2 #不是v1版本API的一部分,但属于apps API组的v1beta2版本
kind: ReplicaSet
metadata:
name: kubia-rc #ReplicationController(RC)的名字
namespace: test
spec:
replicas: 3 #pod实例的目标数量
selector:
matchLabels: #这里使用了更简单的matchLabels选择器(只能用这个)
app: kubia
template: #创建新POD所用的pod模板
metadata:
labels:
app: kubia
spec:
containers:
- name: kubia
image: luksa/kubia
ports:
- containerPort: 8080
以上是关于K8S 之 创建ReplicationController控制器的主要内容,如果未能解决你的问题,请参考以下文章