首页 文章

Kubernetes:如何扩展我的 beans 荚

提问于
浏览
3

我是Kubernetes的新手 . 我尝试扩展我的 beans 荚 . 首先,我开始了3个 beans 荚:

./cluster/kubectl.sh run my-nginx --image=nginx --replicas=3 --port=80

有3个 beans 荚 . 首先,我尝试使用复制控制器进行扩展/缩小,但这不存在 . 它现在似乎是一个replicaSet .

./cluster/kubectl.sh get rs
NAME                  DESIRED   CURRENT   AGE
my-nginx-2494149703   3         3         9h

我试图更改我的replicaset中描述的副本数量:

./cluster/kubectl.sh scale --replicas=5 rs/my-nginx-2494149703
replicaset "my-nginx-2494149703" scaled

但我仍然看到我的3个原始 beans 荚

./cluster/kubectl.sh get pods
NAME                        READY     STATUS    RESTARTS   AGE
my-nginx-2494149703-04xrd   1/1       Running   0          9h
my-nginx-2494149703-h3krk   1/1       Running   0          9h
my-nginx-2494149703-hnayu   1/1       Running   0          9h

我希望看到5个 beans 荚 .

./cluster/kubectl.sh describe rs/my-nginx-2494149703
Name:       my-nginx-2494149703
Namespace:  default
Image(s):   nginx
Selector:   pod-template-hash=2494149703,run=my-nginx
Labels:     pod-template-hash=2494149703
        run=my-nginx
Replicas:   3 current / 3 desired
Pods Status:    3 Running / 0 Waiting / 0 Succeeded / 0 Failed

为什么不扩大规模?我是否还必须在部署中更改某些内容?

当我在扩展后描述我的rs时,我看到类似的东西:(这里我尝试从一个正在运行的pod扩展到3个正在运行的pod) . 但它仍然是一个运行的pod . 其他2人立即开始杀死

34s       34s     1   {replicaset-controller }            Normal      SuccessfulCreate    Created pod: my-nginx-1908062973-lylsz
  34s       34s     1   {replicaset-controller }            Normal      SuccessfulCreate    Created pod: my-nginx-1908062973-5rv8u
  34s       34s     1   {replicaset-controller }            Normal      SuccessfulDelete    Deleted pod: my-nginx-1908062973-lylsz
  34s       34s     1   {replicaset-controller }            Normal      SuccessfulDelete    Deleted pod: my-nginx-1908062973-5rv8u

2 回答

  • 8

    TL; DR:您需要直接扩展部署而不是副本集 .

    如果您尝试扩展副本集,那么它将(在很短的时间内)具有新的计数5.但是部署控制器将看到副本集的当前计数是5并且因为它知道它是假定的如果是3,它会将其重置为3.通过手动修改为您创建的副本集,您正在与系统控制器进行战斗(这是不懈的,并且几乎总是比您长 . ) .

  • 0

    不知道这是否是最好的方式,因为我开始使用kubernetes,但我通过更新我的yaml文件来做到这一点

    # app.yaml
    apiVersion: apps/v1
    ...
    spec:
      replicas: <new value>
    

    并运行 $ kubectl scale -f app.yaml --replicas=<new value>

    您可以通过运行 $ kubectl get pods 来验证新的副本数量

    就我而言,我也有兴趣在谷歌 Cloud 上缩减我的虚拟机 . 我用 $ gcloud container clusters resize appName --size=1 --zone "my-zone" 做了这个

相关问题