我部署了一个AKS集群,并在监控命名空间中部署了Prometheus和Grafana。我还创建了一个入口规则,以在默认命名空间中访问这两个应用程序。为了访问这两个服务,我在默认命名空间中创建了服务作为外部名称。
kind: Service
apiVersion: v1
metadata:
name: prometheus-server-alb
namespace: monitoring
spec:
selector:
app: prometheus
ports:
- protocol: TCP
port: 9090
targetPort: 9090
---
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: monitoring
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: '3000'
spec:
selector:
app: grafana
ports:
- port: 3000
targetPort: 3000
---
kind: Service
apiVersion: v1
metadata:
name: grafana-ext
namespace: default
spec:
type: ExternalName
externalName: grafana.monitoring.svc.cluster.local
ports:
- port: 3000
targetPort: 3000
---
kind: Service
apiVersion: v1
metadata:
name: prometheus-ext
namespace: default
spec:
type: ExternalName
externalName: prometheus-server-alb.monitoring.svc.cluster.local
ports:
- port: 9090
targetPort: 9090
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sitecore-ingress
annotations:
kubernetes.io/ingress.class: azure/application-gateway
appgw.ingress.kubernetes.io/ssl-redirect: "true"
spec:
rules:
- host: grafana.test.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: grafana-ext
port:
number: 3000
- host: prometheus.test.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: prometheus-ext
port:
number: 9090
tls:
- secretName: monitoring-tls
hosts:
- prometheus.test.com
- grafana.test.com
我可以在默认名称空间内本地访问服务,还提供了所有必需的东西链接证书等。但我仍然无法访问它。它给了我“502坏网关错误”。
有人能帮我吗?提前谢谢你。
•我建议您在AKS部署yaml文件中添加以下注释,以防止将私有IP用于应用网关:-
kubernetes.io/ingress.class: azure/application-gateway
appgw.ingress.kubernetes.io/use-private-ip: "false"
上述注释以及您在访问Graffana和Prometheus监控命名空间时,通过应用程序网关本身访问AKS集群时,用于允许应用程序网关的SSL重定向的注释,肯定会帮助您克服“坏网关”错误。
•此外,除上述内容外,我将要求您检查是否为监控命名空间定义了就绪性或活性探测。据我所知,它没有启用,因此我请求您启用它们,然后检查状态。我还建议您检查配置的默认健康探测器是否能够访问监控命名空间。关于坏网关,您面临的错误也可能是由于健康探测器无法访问后端资源。当您设置应用程序网关时,默认情况下会通过“HTTPGet”方法自动配置健康探测器。
有关上述内容的更多详细信息,请参阅以下文档链接:-
https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-troubleshooting-502
任何关于直接远程访问(不使用ssh->kubectl代理来避免在Kubernetes节点上进行用户管理)的详细实用指南都将不胜感激。:) 更新: 只是想说清楚点。这是在前提部署中的裸机(没有GCE、AWZ、Azure或任何其他),而且有些环境将完全脱机(这将增加获得安装包的额外问题)。 因此,当我在Kubernetes上设置入口时,我无法创建将443重定向到6443的防火墙规则。似乎唯一的选择是创
我试着在谷歌上进行了多次搜索,但没有找到为什么ingress控制器的外部ip无法从浏览器中访问的任何原因。其简单的get请求没有任何身份验证或授权。 我按照本文将简单的入口控制器部署到服务。https://docs.microsoft.com/en-us/azure/aks/ingress-basic?tabs=azure-cli 此外,当我试图从CLI在ingress nginx控制器的外部IP
是否可以使用本地接口从war访问驻留在ear文件中的ejb 都部署在同一个应用服务器下。 ejb: 现在,在测试servlet(战争)中: 失败于: javax。命名。NameNotFoundException:试图在/app/webapp/FirstWebEJBTest/12292093中查找comp/env/FirstDemoEJB/Local时。; 但是远程查找可以很好地工作:
问题内容: 我有一个页面,该页面向中的URL 发出JSONP ajax请求(使用jQuery的功能)。我以为(阅读:假定),其中的资源可以在服务器端访问该域中设置的任何cookie,但事实并非如此? 专门执行ajax调用以访问特定的cookie,进行一些数据操作并返回以cookie值为键的丰富信息集。原始域无法直接访问cookie值,因此我认为ajax请求将保持我需要的状态。 我会忽略关于Cook
本页向您展示如何使用 kubectl port-forward 命令连接到运行在 Kubernetes 集群中的 Redis 服务器。这种类型的连接对于数据库调试很有帮助。 创建一个 Pod 来运行 Redis 服务器 创建一个 Pod: kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/redis-mas
我正在尝试使用入口公开部署,其中DeamonSet具有hostNetwork=true,这将允许我跳过额外的负载平衡器层,并直接在Kubernetes外部节点IP上公开我的服务。很遗憾,我无法从外部网络访问入口控制器。 我在GCP上运行库伯内特斯版本1.11.16-gke.2。 我将刷新群集设置为: 我运行部署: 然后我创建服务: 和入口资源: 我获取节点外部IP: 检查入口是否正在运行: 然后尝