В настоящее время я создаю кластер Kubernetes для производственной среды. В моем кластере у меня есть 2 узла-пула, назовем их api-pool
и web-pool
В моем api-pool
у меня есть 2 узла с 4CPU и 15 ГБ ОЗУ каждый.
Я пытаюсь развернуть 8 реплик моего API в моем api-pool
, каждая реплика должна иметь 1CPU и 3,5 ГБ ОЗУ.
Мой 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
, но я хочу, чтобы эти модули были развернуты только на моем api-pool
.
Я пытался пометить свои узлы api-pool
, чтобы использовать селектор, который соответствует меткам, но он не работает, и я не уверен, что он должен работать таким образом.
Как я могу указать K8 для развертывания этих 8 реплик только в моих api-pool
?