После применения следующего ResourceQuota
compute-resources
к моему кластеру GKE
apiVersion: v1
kind: ResourceQuota
metadata:
name: compute-resources
spec:
hard:
limits.cpu: "1"
limits.memory: 1Gi
и обновив Deployment
до
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-service
spec:
selector:
matchLabels:
app: my-service
tier: backend
track: stable
replicas: 2
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 50%
template:
metadata:
labels:
app: my-service
tier: backend
track: stable
spec:
containers:
- name: my-service
image: registry/namespace/my-service:latest
ports:
- name: http
containerPort: 8080
resources:
requests:
memory: "128Mi"
cpu: "125m"
limits:
memory: "256Mi"
cpu: "125m"
планирование не дает 100% попыток из-за pods "my-service-5bc4c68df6-4z8wp" is forbidden: failed quota: compute-resources: must specify limits.cpu,limits.memory
. Поскольку limits
и requests
указаны и они соответствуют пределу, я не вижу причин, по которым модули должны быть запрещены.
Как модуль ограничивает ресурсы в кубернетах принудительно, когда пакет превышает ограничения после создания пакетов? - это другой вопрос.
Я обновил свой кластер до 1.13.6-gke.0.
cpu: "1"
и воспроизвел проблему в отдельном пространстве имен. Есть ли у вас еще одна идея? - person Karl Richter   schedule 30.05.2019