alb入口kubernetes安全组注释不起作用

时间:2019-06-25 10:43:54

标签: amazon-web-services kubernetes kubernetes-ingress aws-eks aws-application-load-balancer

我正在安全组注释中使用现有的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

2 个答案:

答案 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的所有流量中。