簡體   English   中英

無法通過 AKS 上的 Azure 流量管理器和 Nginx 入口訪問服務

[英]Unable to reach services via Azure Traffic Manager and Nginx Ingress on AKS

我在兩個不同的區域有兩個 AKS 集群作為主要和次要集群。 我想將 Azure 流量管理器用於主集群和輔助集群上的基於優先級的端點監控和故障轉移機制。 我有兩個服務:A 和 B 分別在相對路徑/service-a/service-b上路由。 I have nginx ingress controller on each cluster with PIP mapped to the custom host aks-primary.xyz.com and aks-secondary.xyz.com respectively.

這些服務可通過以下路徑訪問:

在主卡斯特上:

https://aks-primary.xyz.com/service-a

https://aks-primary.xyz.com/service-b

在輔助集群上:

https://aks-secondary.xyz.com/service-a

https://aks-secondary.xyz.com/service-b

我將主要和輔助主機aks-primary.xyz.comaks-secondary.xyz.com添加為 Azure 流量管理器中的端點,用於基於優先級的路由。 我添加了探測路徑/healthz和端口 443。我的端點在線。

我將 ATM FQDN my-atm.trafficmanager.net 的自定義域添加到 aks.xyz.com 我無法通過以下路徑訪問我的服務

https://aks.xyz.com/service-a

https://aks.xyz.com/service-b

請建議。

我解決了這個問題。

我在每個集群上添加了兩個主機的入口。

主機: aks-primary.xyz.comaks.xyz.com在集群 aks 主節點上。

主機:集群 aks 輔助服務器上的 aks-secondary.xyz.comaks.xyz.com

集群上的示例入口 ks 主要:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-with-atm
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
  - host: aks-primary.xyz.com
    http:
      paths:
      - backend:
          serviceName: service-a
          servicePort: 80
        path: /service-a
      - backend:
          serviceName: service-b
          servicePort: 80
        path: /service-b
  - host: aks.xyz.com
    http:
      paths:
      - backend:
          serviceName: service-a
          servicePort: 80
        path: /service-a
      - backend:
          serviceName: service-b
          servicePort: 80
        path: /service-b
  tls:
  - hosts:
    - aks-primary.xyz.com
    secretName: tls-secret-wildcard-for-xyz-com
  - hosts:
    - aks.xyz.com
    secretName: tls-secret-wildcard-for-xyz-com`

干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM