如何使用更多副本更新 K8s 部署
How to Update a K8s Deployment with More Replicas
我使用 kubectl create
命令创建了一个简单的 K8s 部署
kubectl create -f k8-deployment.yaml
我的 k8-deployment.yaml
文件看起来像这样
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: mage-di
name: mage-di
spec:
replicas: 1
selector:
matchLabels:
app: mage-di
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: mage-di
spec:
containers:
- image: astorm/mage-di
name: mage-di
imagePullPolicy: Never
resources: {}
status: {}
这会导致启动单个 pod。
我想告诉我的 k8 集群需要更多 pods 来处理预期的流量高峰。
我应该怎么做?如果我查看 kubectl help
,我看到有一个 edit
命令允许我编辑部署对象的配置,但这需要交互式编辑器。此外,我是 K8s 的新手,我不确定是否就地编辑部署并更新其副本计数是否足以触发新 pods 的 proper 创建。如果我查看其他 kubectl
命令,我会看到还有一个 rollout
、apply
和 patch
命令可能会执行我想要的操作。
是否有一种公认的方法来做我想做的事,或者 K8s 是那种我只需要试验并希望获得最好结果的技术?
您可以通过两种方式执行此操作。 imperative - 快速命令或 declarative - 适用于将部署清单存储在 Git.[= 中的生产环境15=]
命令式方式:(这将与您在 yaml 文件中的内容不同)
kubectl scale deployment mage-di --replicas=2
声明方式,在 Yaml 文件中编辑此行:
replicas: 2
然后将它应用到集群:
kubectl apply -f k8-deployment.yaml
另请参阅:
我使用 kubectl create
命令创建了一个简单的 K8s 部署
kubectl create -f k8-deployment.yaml
我的 k8-deployment.yaml
文件看起来像这样
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: mage-di
name: mage-di
spec:
replicas: 1
selector:
matchLabels:
app: mage-di
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: mage-di
spec:
containers:
- image: astorm/mage-di
name: mage-di
imagePullPolicy: Never
resources: {}
status: {}
这会导致启动单个 pod。
我想告诉我的 k8 集群需要更多 pods 来处理预期的流量高峰。
我应该怎么做?如果我查看 kubectl help
,我看到有一个 edit
命令允许我编辑部署对象的配置,但这需要交互式编辑器。此外,我是 K8s 的新手,我不确定是否就地编辑部署并更新其副本计数是否足以触发新 pods 的 proper 创建。如果我查看其他 kubectl
命令,我会看到还有一个 rollout
、apply
和 patch
命令可能会执行我想要的操作。
是否有一种公认的方法来做我想做的事,或者 K8s 是那种我只需要试验并希望获得最好结果的技术?
您可以通过两种方式执行此操作。 imperative - 快速命令或 declarative - 适用于将部署清单存储在 Git.[= 中的生产环境15=]
命令式方式:(这将与您在 yaml 文件中的内容不同)
kubectl scale deployment mage-di --replicas=2
声明方式,在 Yaml 文件中编辑此行:
replicas: 2
然后将它应用到集群:
kubectl apply -f k8-deployment.yaml
另请参阅: