我正在安全组注释中使用现有的sg。但是在通过入口创建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
答案 0 :(得分:0)
通过“ security-groups”注释指定现有的安全组没有问题(v1.1.2中的aws-alb-ingress-controller没有任何问题,您使用的是哪个?)。
在创建新的Ingress资源时,alb-ingress控制器的Pod中是否看到任何错误?
您可以使用以下命令*进行检查:
kubectl logs -n kube-system $(kubectl get po -n kube-system | egrep -o alb-ingress[a-zA-Z0-9-]+)
*您的情况可能有所不同,具体取决于部署到哪个名称空间的alb-ingress。
答案 1 :(得分:0)
注释的实际语法是 alb.ingress.kubernetes.io/security-groups:sg-xxxx,nameOfSg1,nameOfSg2
您需要创建一对SG。一个附加到ELB,另一个附加到运行Pod的工作程序节点。
如果将带有名称标签“ elb_sg”的sg-12345附加到ELB,并将“ worker_sg”附加到工作程序节点,则注释应为: alb.ingress.kubernetes.io/security-groups:sg-12345,elb_sg,worker_sg
别忘了将worker_sg上的入站添加到来自elb_sg的所有流量中。