我正在尝试部署带有服务监视器的入口控制器,我使用的helm值文件看起来像这样:
controller:
replicaCount: 3
minAvailable: 1
config:
use-forwarded-headers: "true"
use-proxy-protocol: "true"
keep-alive: "3600"
service:
externalTrafficPolicy: Local
type: LoadBalancer
metrics:
enabled: true
serviceMonitor:
enabled: true
rbac:
create: true
serviceAccount:
create: true
name: nginx-ingress-serviceaccount当我使用提供的值文件运行helm模板时,服务监视器不可见。
helm template ingress-nginx/ingress-nginx --values values.yaml --version "4.0.5"有没有人有类似的问题?提前感谢您的回复。
发布于 2021-11-19 13:57:23
ServiceMonitor有3个条件需要填充,请确保您的群集和配置满足以下条件:https://github.com/kubernetes/ingress-nginx/blob/6299c39842c31ff1e17d72503003ca36e2976a9a/charts/ingress-nginx/templates/controller-servicemonitor.yaml#L1
您的集群应支持:monitoring.coreos.com oring.coreos.com/v1 API版本
如果使用不具备API条件的较旧图表版本,则可以使用当前values.yaml部署ServiceMonitor
helm template ingress-nginx/ingress-nginx --values values.yaml --version "3.15.2" | grep -i mon
# Source: ingress-nginx/templates/controller-servicemonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor另外,请注意:https://helm.sh/docs/helm/helm_template/
Render chart templates locally and display the output.
Any values that would normally be looked up or retrieved in-cluster will be faked locally. Additionally, none of the server-side testing of chart validity (e.g. whether an API is supported) is done.这意味着如果您在计算机上运行命令行,它将永远不会显示ServiceMonitor,除非您有一个支持monitoring.coreos.com/v1的本地k8s集群或者您也伪造了它:)如下所示
helm template ingress-nginx/ingress-nginx --values values.yaml --version "4.0.5" --api-versions "monitoring.coreos.com/v1" | grep -i mon
# Source: ingress-nginx/templates/controller-servicemonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitorhttps://stackoverflow.com/questions/70004178
复制相似问题