kubernetes AKS-AGIC设置在应用网络策略后出现502错误

4ktjp1zp  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(94)

我已经在不同的命名空间中部署了两个应用程序,我不希望部署在一个命名空间中的pod与另一个命名空间中的pod交互。我已经应用了网络策略,但是在应用程序之后,后端在应用程序网关上显示为不健康,我得到了502错误,如果我删除策略,我就能够到达应用程序,后端在应用程序网关上是健康的。
我正在使用Azure CNI

kind: NetworkPolicy 
apiVersion: networking.k8s.io/v1 
metadata: 
   app: app1 
    namespace: development 
  spec: 
    podSelector: 
      matchLabels: 
    ingress: []

我需要在策略中允许某些命名空间或pod吗??

sirbozc5

sirbozc51#

要解决502错误,请尝试在网络策略中允许以下Pod:

  • 创建一个名为**backend-policy.yaml**的文件,如下所示,并将以下脚本粘贴到清单中。由于 ingress 下没有定义规则,因此拒绝所有进入pod的流量。
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: backend-policy
  namespace: development
spec:
  podSelector:
    matchLabels:
      app: yourwebapp
      role: backend
  ingress: []

*使用以下命令应用网络策略

kubectl apply -f backend-policy.yaml

如果仍然无法解决502错误,请尝试以下解决方法:

  • 尝试 * 检查与Azure应用程序网关关联的NSG *。确保与后端的通信未被阻塞。
  • 请务必在 BackendHttpSetting 中配置端口。
  • 确保配置的端口是打开的,检查是否有任何 * 防火墙规则 * 阻止流量,并禁用它们。

参考文献:
https://learn.microsoft.com/en-us/azure/aks/use-network-policies#create-and-apply-a-network-policy
Azure应用程序网关- Azure应用程序网关|Microsoft Windows 2008
redirect - Ingress gives 502 error - Stack Overflow

相关问题