我使用 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
命令,我会发现还有一个 rollout
、apply
和 patch
命令可以执行我想要的操作。
是否有一种规范可接受的方式来做我想做的事,或者 K8s 是那种我只需要试验并希望最好的技术?
答案 0 :(得分:3)
您可以通过两种方式执行此操作。 命令式 - 一个快速命令 或者 声明式 - 适用于将部署清单存储在 Git 中的生产环境。
势在必行的方式:(这将与您在 yaml 文件中的内容有所不同)
kubectl scale deployment mage-di --replicas=2
声明方式,在您的 Yaml 文件中编辑这一行:
replicas: 2
然后将其应用到集群中:
kubectl apply -f k8-deployment.yaml
另见: