HTTP 502/404 с Grafana в Kubernetes, используя AGIC
Я пытаюсь развернуть Grafana в службе Azure Kubernetes (AKS) через Helm. Я использую диаграммы Helm, предоставленные Bitnami. Я следовал этому руководству Microsoft , чтобы настроить входной контроллер шлюза приложений.
Капсулы работают, и у меня естьClusterIP
служба перед ними:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-grafana ClusterIP 10.0.230.64 <none> 3000/TCP 29m
Выходkubectl describe svc
:
Name: my-grafana
Namespace: default
Labels: app.kubernetes.io/component=grafana
app.kubernetes.io/instance=my-grafana
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=grafana
helm.sh/chart=grafana-8.4.5
Annotations: meta.helm.sh/release-name: my-grafana
meta.helm.sh/release-namespace: default
service.beta.kubernetes.io/azure-load-balancer-internal: true
Selector: app.kubernetes.io/component=grafana,app.kubernetes.io/instance=my-grafana,app.kubernetes.io/name=grafana
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.0.168.200
IPs: 10.0.168.200
Port: http 3000/TCP
TargetPort: dashboard/TCP
Endpoints: 10.244.0.20:3000,10.244.0.21:3000
Session Affinity: None
Events: <none>
Далее я также определил входной порт, который автоматически настраивает шлюз приложений (AGW) с использованием AGIC (кластер AGW и AKS определены в одной группе ресурсов).
NAME CLASS HOSTS ADDRESS PORTS AGE
my-grafana <none> * 52.XXX.XXX.XXX 80 29m
Выходkubectl describe ing
:
Name: my-grafana
Labels: app.kubernetes.io/component=grafana
app.kubernetes.io/instance=my-grafana
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=grafana
helm.sh/chart=grafana-8.4.5
Namespace: default
Address: 52.XXX.XXX.XXX
Ingress Class: <none>
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
*
/* my-grafana:http (10.244.0.16:3000,10.244.0.17:3000)
Annotations: kubernetes.io/ingress.class: azure/application-gateway
meta.helm.sh/release-name: my-grafana
meta.helm.sh/release-namespace: default
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning PortResolutionError 31m (x2 over 32m) azure/application-gateway Code="ErrorServiceResolvedToInvalidPort" Message="service default/my-grafana and service port http was resolved to an invalid service-backend port 65536, defaulting to port 80"
Если я попытаюсь подключиться к внешнему адресу (общедоступный IP-адрес, прикрепленный к AGW), я получаю ошибку HTTP 502 с указанной выше конфигурацией.
Если я изменюсьhostname: "*"
кhostname: grafana.local
вvalues.yaml
вместо этого общедоступный IP-адрес теперь возвращает ошибку HTTP 404.
Когда я подключаюсь к одному из модулей, я могу подключиться к Grafana, используя IP-адрес кластера, а также каждый модуль по отдельности, через порт 3000.
Насколько я могу судить, проблема возникает между AGW и Ingress/Service, но я понятия не имею, что исследовать дальше. Любые подсказки будут очень признательны!