我正在运行具有 ASM 功能的 GKE Autopilot 集群。
该集群用于开发环境,因此我希望曲线维护成本尽可能低。
因为启用
istio-injection
,集群中的每个pod都有istio-proxy
但是代理请求近300GiB磁盘甚至为pod设置(从get pod -o yaml
)请求1GiB左右。
kubectl get pod <pod-name> -o yaml
...
resources:
limits:
cpu: 250m
ephemeral-storage: 1324Mi
memory: 256Mi
requests:
cpu: 250m
ephemeral-storage: 1324Mi
memory: 256Mi
...
运行ASM需要近300GiB的磁盘请求吗?或者我可以减少这个吗?
[编辑于 2023-03-01]
要重现这一点,请使用 ASM 将下面的 yaml 部署到 GKE 集群。在这种情况下,default 命名空间必须被标记为使用
istio-injection
.
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-test
service: nginx-test
name: nginx-test
spec:
ports:
- name: http
port: 80
selector:
app: nginx-test
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx-test
name: nginx-test
spec:
replicas: 1
selector:
matchLabels:
app: nginx-test
template:
metadata:
labels:
app: nginx-test
annotations:
sidecar.istio.io/proxyCPU: 250m
sidecar.istio.io/proxyMemory: 256Mi
spec:
containers:
- image: nginx
imagePullPolicy: IfNotPresent
name: nginx-test
ports:
- containerPort: 80
如果您认为 300Gib 超过您开发所需的资源,那么您可以减少或限制请求资源。我可以在这里包含一个关于设置资源限制的文档作为参考。