Kubernetes(简称K8S) 是Google开源的分布式的容器管理平台,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。本文主要介绍Kubernetes(K8s) Replication Controller(RC)。

1、Kubernetes Replication Controller(RC)

Replication Controller简称RC,它能够保证Pod持续运行,并且在任何时候都有指定数量的Pod副本,在此基础上提供一些高级特性,比如滚动升级和弹性伸缩。当需要确保指定数量的 pod 或至少一个 pod 正在运行时,会及时使用它。它具有开启或关闭指定数量的 pod 的能力。

2、RC常用操作

最好是使用Replication Controller(RC)来管理 pod 生命周期,而不是一次又一次地创建 pod。

1)配置文件

apiVersion: v1
kind: ReplicationController 
metadata:
   name: tomcat-rc 
spec:
   replicas: 3 
   template:
      metadata:
         name: Tomcat-ReplicationController
      labels:
         app: App
         component: neo4j
      spec:
         containers:
         - name: tomcat
         image: tomcat: 8.0
         ports:
            - containerPort: 8080

ReplicationController:Kind: ReplicationControllerReplicationController表示kubectl将使用yaml文件来创建Replication Controller(RC)。

namename: tomcat-rc将用于识别创建Replication Controller(RC)的名称。name: tomcat表示容器的名称定义为tomcat,pod中出现的容器是tomcat

replicasreplicas: 3 表示需要在pod生命周期的任何时间点维护一个pod的三个副本。

containerPortcontainerPort: 8080是确保集群中的所有节点(pod在pod中运行容器)都暴露在同一个端口8080上。

2)缩容Pod

kubectl scale replicationcontroller tomcat-rc --replicas=1
replicationcontroller "tomcat-rc" scaled
kubectl get pod -l name
kubectl get rc tomcat-rc

3)扩容Pod

kubectl scale replicationcontroller tomcat-rc --replicas=4
replicationcontroller "tomcat-rc" scaled
kubectl get pod -l name
kubectl get rc tomcat-rc

4)判断及修改副本数量

判断当前副本数是否为3个,如果是,则更改为1个副本:

kubectl scale rc tomcat-rc --current-replicas=3 --replicas=1

相关文档:

Kubernetes(K8s) kubectl get 常用命令

Kubernetes(K8s) kubectl describe常用命令

Kubernetes(K8s) kubectl create常用命令

Kubernetes(K8s) kubectl replace常用命令

Kubernetes(K8s) kubectl patch常用命令

Kubernetes(K8s) kubectl edit 常用命令

Kubernetes(K8s) kubectl delete 常用命令

Kubernetes(K8s) kubectl apply 常用命令

Kubernetes(K8s) kubectl logs 常用命令

推荐文档