【问题标题】:How to Update a K8s Deployment with More Replicas如何使用更多副本更新 K8s 部署
【发布时间】:2021-08-04 03:36:16
【问题描述】:

我使用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 集群需要更多 pod 来处理预期的流量高峰。

我应该怎么做?如果我查看kubectl help,我看到有一个edit 命令允许我编辑部署对象的配置,但这需要一个交互式编辑器。另外,我是 K8s 的新手,我不确定是否就地编辑部署并更新其副本数是否足以触发 正确 创建新 pod。如果我查看其他 kubectl 命令,我会发现还有一个 rolloutapplypatch 命令可以执行我想要的操作。

是否有一种规范接受的方式来做我想做的事,或者 K8s 是一种我只需要试验并希望最好的技术吗?

【问题讨论】:

  • 如果您有某种方法可以测量您正在处理的负载量,您还可以查看设置Horizontal Pod Autoscaler 以自动设置replicas: 字段。

标签: kubernetes kubectl linux-containers


【解决方案1】:

您可以通过两种方式做到这一点。 命令式 - 快速命令或 声明式 - 适用于将部署清单存储在 Git 中的生产环境。

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

kubectl scale deployment mage-di --replicas=2

声明方式,在你的 Yaml 文件中编辑这一行:

replicas: 2

然后将其应用到集群:

kubectl apply -f k8-deployment.yaml

另见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2021-06-30
    • 2022-01-17
    • 2020-12-14
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多