I have a local kind Kubernetes cluster with two workers nodes. I deployed a nginx ingress controller following the tutorial here: https://kind.sigs.k8s.io/docs/user/ingress/ and this yaml https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
I deployed the rest of the pods and services from the tutorial(using terraform), and I got the expected results(ingress is working).
I deployed the Prometheus and Grafana using Terraform and HELM
resource "helm_release" "kube-prometheus" {
name = "kube-prometheus-stack"
namespace = var.namespace
version = var.kube-version
repository = "https://prometheus-community.github.io/helm-charts"
chart = "kube-prometheus-stack"
}
After "terraform apply" I can access both services if I do port forwarding.
kubectl port-forward svc/kube-prometheus-stackr-prometheus 9090:9090 --namespace monitoring
However, when I try to expand the ingress and add the following Prometheus rules
path {
path = "/prometheus(/|$)(.*)"
backend {
service {
name = "kube-prometheus-stack-prometheus"
port {
number = 9090
}
}
}
path_type = "Prefix"
}
I get a a 503 error. The "describe service " output for the Prometheus service looks like this
Name: kube-prometheus-stack-prometheus
Namespace: monitoring
Labels: app=kube-prometheus-stack-prometheus
app.kubernetes.io/instance=kube-prometheus-stack
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/part-of=kube-prometheus-stack
app.kubernetes.io/version=36.2.0
chart=kube-prometheus-stack-36.2.0
heritage=Helm
release=kube-prometheus-stack
self-monitor=true
Annotations: meta.helm.sh/release-name: kube-prometheus-stack
meta.helm.sh/release-namespace: monitoring
Selector: app.kubernetes.io/name=prometheus,prometheus=kube-prometheus-stack-prometheus
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.96.228.85
IPs: 10.96.228.85
Port: http-web 9090/TCP
TargetPort: 9090/TCP
Endpoints: 10.244.1.5:9090
Session Affinity: None
Events: <none>
Thank you