我有几个正在运行的服务,需要保存Source才能正确执行身份验证。我使用Nginx作为我的侵入控制器在AKS中运行一个Kubernetes环境,并且在理解如何正确地实现这一点时遇到了问题。
我读过这个
还有这个
https://github.com/kubernetes/ingress-nginx/issues/1067
并阅读将这个service.spec.externalTrafficPolicy设置为本地应该解决我的问题,但是我很难理解我应该将它应用于哪个服务。听起来这几乎是需要添加到nginx部署中,它会影响所有的部署,这将是不可取的。
我的问题是,是否有一种方法可以将它应用到我的服务清单中,只适用于需要它的服务,而不是将它添加到所有东西中,或者使用Nginx注释或者为我正在部署的服务调整服务清单?
作为参考,这是我正在部署的“我的服务清单”,它是带舵的:
apiVersion: v1
kind: Service
metadata:
name: {{ template "service.fullname" . }}
labels:
app: {{ template "service.name" . }}
chart: {{ template "service.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
type: {{ .Values.service.type }}. #ClusterIP
ports:
- port: {{ .Values.service.port }}
targetPort: {{ .Values.service.targetPort }}
protocol: TCP
name: http
selector:
app: {{ template "service.name" . }}
release: {{ .Release.Name }}发布于 2022-06-03 10:11:39
显然,您需要将该设置添加到nginx ingress controller服务中,该服务具有type = LoadBalancer。
如果你想一想,就没有其他选择了。Nginx ingress controller是集群中的入口点,所以如果不将源IP地址保存在那里,就不可能将其保存在随后的服务中。
https://stackoverflow.com/questions/72479672
复制相似问题