我是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 回答
TL; DR:您需要直接扩展部署而不是副本集 .
如果您尝试扩展副本集,那么它将(在很短的时间内)具有新的计数5.但是部署控制器将看到副本集的当前计数是5并且因为它知道它是假定的如果是3,它会将其重置为3.通过手动修改为您创建的副本集,您正在与系统控制器进行战斗(这是不懈的,并且几乎总是比您长 . ) .
不知道这是否是最好的方式,因为我开始使用kubernetes,但我通过更新我的yaml文件来做到这一点
并运行
$ kubectl scale -f app.yaml --replicas=<new value>
您可以通过运行
$ kubectl get pods
来验证新的副本数量就我而言,我也有兴趣在谷歌 Cloud 上缩减我的虚拟机 . 我用
$ gcloud container clusters resize appName --size=1 --zone "my-zone"
做了这个