我正在使用security-groups
注释中的现有安全组。但是,在通过入口创建ALB时,它正在附加默认的SG。为什么它不附加我的注释中使用的现有SG。我正在使用alb-ingress-controller
。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: app-ingress
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: "instance"
alb.ingress.kubernetes.io/security-groups: sg-**********
alb.ingress.kubernetes.io/certificate-arn: arn
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80,"HTTPS": 443}]'
spec:
rules:
- host: host
http:
paths:
- path: /
backend:
serviceName: serviceName
servicePort: 80
注释的实际语法为alb.ingress.kubernetes.io/security-groups:sg-xxxx,nameofsg1,nameofsg2
您需要创建一对SG。一个附着在ELB上,另一个附着在Pods正在运行的工人节点上。
如果sg-12345带有名称标签'elb_sg'的sg-12345正在附加到elb和'worker_sg'正在附加到工作节点,则注释应为:alb.ingress.kubernetes.io/security-groups:sg-12345,elb_sg,worker_sg
不要忘记将worker_sg添加到来自elb_sg的所有流量。
我对通过'安全组'注释指定现有安全组没有任何问题(在v1.1.2中与AWS-Alb-ingress-Controller一起解决任何问题您使用哪一个?(。
在创建新的入口资源时,您是否在Alb-Ingrires控制器的POD中看到任何错误?
您可以使用以下命令*:
检查它kubectl logs -n kube-system $(kubectl get po -n kube-system | egrep -o alb-ingress[a-zA-Z0-9-]+)
*在您的情况下可能有所不同,具体取决于将命名空间alb-ingress部署到哪个。