【发布时间】:2020-03-19 01:14:51
【问题描述】:
我目前正在为生产环境创建一个 Kubernetes 集群。
在我的集群中,我有 2 个节点池,我们称它们为 api-pool 和 web-pool
在我的 api-pool 中,我有 2 个节点,每个节点具有 4CPU 和 15Gb 的 RAM。
我正在尝试在我的api-pool 中部署我的 api 的 8 个副本,每个副本应该有 1 个 CPU 和 3.5Gi 的 RAM。
我的 api.deployment.yaml 看起来像这样:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-dev
spec:
replicas: 8
selector:
matchLabels:
app: my-api
template:
metadata:
labels:
app: my-api
spec:
containers:
- name: api-docker
image: //MY_IMAGE
imagePullPolicy: Always
envFrom:
- configMapRef:
name: api-dev-env
- secretRef:
name: api-dev-secret
ports:
- containerPort: 80
resources:
requests:
cpu: "1"
memory: "3.5Gi"
但我的问题是 Kubernetes 正在我的 web-pool 和 api-pool 上的节点上部署 pod,但我希望这些 pod 仅部署在我的 api-pool 中。
我尝试标记 api-pool 的节点以使用与标签匹配的选择器,但它不起作用,我不确定它是否应该以这种方式工作。
我如何才能精确到 K8s 以仅在我的 api-pool 中部署这 8 个副本?
【问题讨论】:
标签: kubernetes deployment google-kubernetes-engine