dex*_*ian 3 load-balancing kubernetes azure-aks
我有一个 AKS 集群以及一个单独的虚拟机。AKS 群集和 VM 位于同一 VNET(以及子网)中。
我使用以下 yaml 部署了一个 echo 服务器,我可以使用虚拟机中的 vnet ip 直接卷曲 pod。但是当尝试使用负载均衡器时,没有任何返回。真的不知道我错过了什么。任何帮助表示赞赏。
apiVersion: v1
kind: Service
metadata:
name: echo-server
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
type: LoadBalancer
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: echo-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: echo-deployment
spec:
replicas: 1
selector:
matchLabels:
app: echo-server
template:
metadata:
labels:
app: echo-server
spec:
containers:
- name: echo-server
image: ealen/echo-server
ports:
- name: http
containerPort: 8080
Run Code Online (Sandbox Code Playgroud)
我期望当从负载均衡器卷曲 vnet ip 时,收到与直接卷曲 pod ip 相同的响应
找到解决方案,我唯一需要做的就是将以下内容添加到服务声明中:
externalTrafficPolicy: 'Local'
Run Code Online (Sandbox Code Playgroud)
完整的yaml如下
apiVersion: v1
kind: Service
metadata:
name: echo-server
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
type: LoadBalancer
externalTrafficPolicy: 'Local'
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: echo-server
Run Code Online (Sandbox Code Playgroud)
之前它被设置为“集群”。
刚刚获得 azure 支持,似乎是一个特定的错误(它发生在较新版本的 AKS 中),在此发布相关链接: https: //github.com/kubernetes/ingress-nginx/issues/8501
归档时间: |
|
查看次数: |
3154 次 |
最近记录: |