扩展Kubernetes集群

Kubernetes Cluster的Replication Controller中的Pod的自动重启显示了如果一个或多个现有Pod由于某种原因消失了,Kubernetes如何重新安排集群中的Pod。 这是一种常见的使用模式,也是Kubernetes的关键功能之一。

Replication Controller的另一种常见用法是扩展:

复制控制器通过简单地更新副本字段,可以轻松地手动或通过自动缩放控制代理来缩放副本的数量。

复制控制器#缩放

该博客将展示如何轻松扩展Kubernetes集群。

该博客中使用的所有代码都可以在kubernetes-java-sample中找到

启动Replication Controller并验证

  1. 以以下方式启动复制控制器:
    ./cluster/kubectl.sh create -f ~/workspaces/kubernetes-java-sample/wildfly-rc.yaml 
    replicationcontrollers/wildfly-rc
  2. 获取Pod的状态:
    ./cluster/kubectl.sh get -w po
    NAME      READY     STATUS    RESTARTS   AGE
    NAME               READY     STATUS    RESTARTS   AGE
    wildfly-rc-bgtkg   0/1       Pending   0          1s
    wildfly-rc-l8fqv   0/1       Pending   0         1s
    wildfly-rc-bgtkg   0/1       Pending   0         1s
    wildfly-rc-l8fqv   0/1       Pending   0         1s
    wildfly-rc-bgtkg   0/1       Pending   0         1s
    wildfly-rc-l8fqv   0/1       Pending   0         1s
    wildfly-rc-bgtkg   0/1       Running   0         1m
    wildfly-rc-l8fqv   0/1       Running   0         1m
    wildfly-rc-bgtkg   1/1       Running   0         1m
    wildfly-rc-l8fqv   1/1       Running   0         1m

    确保等待状态更改为“正在运行”。

    记下Pod的名称为 wildfly-rc-bgtkg”和 wildfly-rc-bgtkg”。

  3. 获取复制控制器的状态:
    ./cluster/kubectl.sh get rc
    CONTROLLER   CONTAINER(S)     IMAGE(S)        SELECTOR       REPLICAS
    wildfly-rc   wildfly-rc-pod   jboss/wildfly   name=wildfly   2

    如果有多个Replication Controller正在运行,则可以使用以下标签查询这一特定的控制器:

    ./cluster/kubectl.sh get rc -l name=wildfly
    CONTROLLER   CONTAINER(S)     IMAGE(S)        SELECTOR       REPLICAS
    wildfly-rc   wildfly-rc-pod   jboss/wildfly   name=wildfly   2

扩展Kubernetes集群

Replication Controller允许动态扩展和缩小Pod。

  1. 扩大Pod的数量:
    ./cluster/kubectl.sh scale --replicas=3 rc wildfly-rc
    scaled
  2. 可以在另一个外壳中看到Pod的状态:
    ./cluster/kubectl.sh get -w po
    NAME               READY     STATUS    RESTARTS   AGE
    wildfly-rc-k6pk2   1/1       Running   0          47s
    wildfly-rc-wez29   1/1       Running   0          47s
    NAME               READY     STATUS    RESTARTS   AGE
    wildfly-rc-aqaqn   0/1       Pending   0          0s
    wildfly-rc-aqaqn   0/1       Pending   0         0s
    wildfly-rc-aqaqn   0/1       Pending   0         0s
    wildfly-rc-aqaqn   0/1       Running   0         2s
    wildfly-rc-aqaqn   1/1       Running   0         11s

    注意,将创建一个名为wildfly-rc-aqaqn的新Pod。

向下扩展Kubernetes集群

  1. 缩小Pod的数量:
    ./cluster/kubectl.sh scale --replicas=1 rc wildfly-rc
    scaled
  2. 使用-w Pod的状态未正确更新( #11338 )。 但是Pod的状态可以正确地视为:
    ./cluster/kubectl.sh get po
    NAME               READY     STATUS    RESTARTS   AGE
    wildfly-rc-k6pk2   1/1       Running   0          9m

    请注意,现在只有一个Pod正在运行。

Kubernetes使用scale --replicas命令动态地上下scale --replicas

请享用!

翻译自: https://www.javacodegeeks.com/2015/07/scaling-kubernetes-cluster.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值