我是Kubernetes的新手.我尝试扩展我的豆荚.首先,我开始了3个豆荚:
./cluster/kubectl.sh run my-nginx --image=nginx --replicas=3 --port=80
Run Code Online (Sandbox Code Playgroud)
有3个豆荚.首先,我尝试使用复制控制器进行扩展/缩小,但这不存在.它现在似乎是一个replicaSet.
./cluster/kubectl.sh get rs
NAME DESIRED CURRENT AGE
my-nginx-2494149703 3 3 9h
Run Code Online (Sandbox Code Playgroud)
我试图更改我的replicaset中描述的副本数量:
./cluster/kubectl.sh scale --replicas=5 rs/my-nginx-2494149703
replicaset "my-nginx-2494149703" scaled
Run Code Online (Sandbox Code Playgroud)
但我仍然看到我的3个原始豆荚
./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
Run Code Online (Sandbox Code Playgroud)
我希望看到5个豆荚.
./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
Run Code Online (Sandbox Code Playgroud)
为什么不扩大规模?我是否还必须在部署中更改某些内容?
当我在扩展后描述我的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
Run Code Online (Sandbox Code Playgroud)
Har*_*ler 34
这对我有用
kubectl scale --replicas=<expected_replica_num> deployment <deployment_label_name>
Run Code Online (Sandbox Code Playgroud)
例子
# kubectl scale --replicas=3 deployment xyz
Run Code Online (Sandbox Code Playgroud)
Rob*_*ley 13
TL; DR:您需要直接扩展部署而不是副本集.
如果您尝试扩展副本集,那么这将(在很短的时间),有5新的计数,但部署控制器将看到副本集的当前计数为5,因为它知道,它应该如果是3,它会将其重置为3.通过手动修改为您创建的副本集,您正在与系统控制器进行战斗(这是不懈的,并且几乎总是比您长.).
AAT*_*RAN 12
kubectl run my-nginx --image=nginx --replicas=3 --port=80
这kubectl run
将创建一个部署或作业来管理创建的容器。
Deployment-->ReplicaSet-->Pod这就是 kubernetes 的工作方式。
如果您更改底层对象,则其更高级别的对象将撤消您的更改。您必须更改顶层对象。
Isu*_*nga 10
将其缩小到零,然后缩小到您需要的 pod 数量(猜它等于 3)
kubectl scale deployment <deployment-name> --replicas=0 -n <namespace>
kubectl scale deployment <deployment-name> --replicas=3 -n <namespace>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14298 次 |
最近记录: |