如何使用更多副本更新 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 命令,我会看到还有一个 rolloutapplypatch 命令可能会执行我想要的操作。

是否有一种公认的方法来做我想做的事,或者 K8s 是那种我只需要试验并希望获得最好结果的技术?

您可以通过两种方式执行此操作。 imperative - 快速命令或 declarative - 适用于将部署清单存储在 Git.[= 中的生产环境15=]

命令式方式:(这将与您在 yaml 文件中的内容不同)

kubectl scale deployment mage-di --replicas=2

声明方式,在 Yaml 文件中编辑此行:

replicas: 2

然后将它应用到集群:

kubectl apply -f k8-deployment.yaml

另请参阅: