【以下的问题经过翻译处理】 Kubernetes 版本:1.23
大家好,
我有几个服务运行在 AWS EKS 中,并通过一个 Ingress(AWS 负载均衡器控制器)公开。我的 Ingress 文件如下:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]'
alb.ingress.kubernetes.io/certificate-arn: arn-of-certificate
alb.ingress.kubernetes.io/healthcheck-path: /healthcheck
alb.ingress.kubernetes.io/ssl-redirect: '443'
name: app-ingress
namespace: namespace
spec:
rules:
- host: my-domain.com
http:
paths:
- path: /app1
pathType: Prefix
backend:
service:
name: app1-service
port:
name: app1-port
- path: /app2
pathType: Prefix
backend:
service:
name: app2-service
port:
name: app2-port
- path: /app3
pathType: Prefix
backend:
service:
name: app3-service
port:
name: app3-port
...
tls:
- hosts:
- my-domain.com
一切都正常工作,但是我想,例如,使 app3 更加私密。我希望能够设置指定的 IP 地址才能访问该应用程序。我没有找到任何有用的信息。
例如,如果随机人员尝试访问 app1,他/她应该能够使用 https://my-domain.com/app1。 但是,如果他/她尝试使用https://my-domain.com/app3,并且他/她的 IP 地址未在允许的 IP 地址中,则将拒绝访问。
事实是,我想要为几个应用程序使用一个 ALB。
任何帮助都会很有用,比如一些链接或者应该寻找什么。我在想这是否可能?
或者唯一的解决方案是制作多个 ALB,然后对于 app3 更改网络配置以允许选择的 IP?