为什么在 alb.ingress.kubernetes.io/security-groups 注释中提供的安全组上尝试删除
Why delete is attempted on the security group provided in alb.ingress.kubernetes.io/security-groups annotation
我有一个 EKS 集群,我正在使用 aws-load-balancer-controller:v2.1.1。我正在使用下面的 aws alb ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-alb-ingress
namespace: myns
labels:
app: myns-alb-ingress
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/tags: Team=myteam
alb.ingress.kubernetes.io/group.name: my-apps
alb.ingress.kubernetes.io/certificate-arn: arn:xxx
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]'
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
还有一个安全组“sg-xxxxc91467c97bbb”,描述为“[k8s] Managed SecurityGroup for LoadBalancer”。
我在这个安全组中添加了一堆 IP 地址作为入站规则。现在每当我添加任何主机规则(路径/后端服务)并应用此入口时,此安全组的所有入站规则都会被删除并自动添加 0.0.0.0/0。
如何防止这种情况发生,以便保留入站规则?
我试过添加
alb.ingress.kubernetes.io/security-groups: sg-xxxxc91467c97bbb
到上面的注释,它保留了所有规则。但是在
的输出中
kubectl logs -n kube-system deployment.apps/aws-load-balancer-controller
我看到类似
的日志
{"level":"info","ts":1615287229.3065767,"logger":"controllers.ingress","msg":"deleting securityGroup","securityGroupID":"sg-xxxxc91467c97bbb"}
在入口描述中,我看到类似
的事件
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedDeployModel 5m2s (x9 over 20m) ingress Failed deploy model due to failed to delete securityGroup: timed out waiting for the condition
因此,如果我在注释中提供安全组,入站规则将保留,但有些东西会尝试删除我不想要的安全组本身。有什么建议吗?
我遇到过类似的问题,所以我创建了一个新的安全组 (sg-xxxxxxx042),其中包含所有必要的入站规则,并将其传递给注释,如下所示。
alb.ingress.kubernetes.io/security-groups: sg-xxxxxxx042
除此之外,我还需要向附加到 eks 工作节点(ec2 实例)的安全组添加一个入站规则
在我的例子中,安全组名称以附加到实例的 eks-remoteAccess-**** 开头。
我添加了以下入站规则
Alltraffic 所有所有自定义 sg-xxxxxxx042
我有一个 EKS 集群,我正在使用 aws-load-balancer-controller:v2.1.1。我正在使用下面的 aws alb ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-alb-ingress
namespace: myns
labels:
app: myns-alb-ingress
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/tags: Team=myteam
alb.ingress.kubernetes.io/group.name: my-apps
alb.ingress.kubernetes.io/certificate-arn: arn:xxx
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]'
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
还有一个安全组“sg-xxxxc91467c97bbb”,描述为“[k8s] Managed SecurityGroup for LoadBalancer”。
我在这个安全组中添加了一堆 IP 地址作为入站规则。现在每当我添加任何主机规则(路径/后端服务)并应用此入口时,此安全组的所有入站规则都会被删除并自动添加 0.0.0.0/0。
如何防止这种情况发生,以便保留入站规则?
我试过添加
alb.ingress.kubernetes.io/security-groups: sg-xxxxc91467c97bbb
到上面的注释,它保留了所有规则。但是在
的输出中kubectl logs -n kube-system deployment.apps/aws-load-balancer-controller
我看到类似
的日志{"level":"info","ts":1615287229.3065767,"logger":"controllers.ingress","msg":"deleting securityGroup","securityGroupID":"sg-xxxxc91467c97bbb"}
在入口描述中,我看到类似
的事件Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedDeployModel 5m2s (x9 over 20m) ingress Failed deploy model due to failed to delete securityGroup: timed out waiting for the condition
因此,如果我在注释中提供安全组,入站规则将保留,但有些东西会尝试删除我不想要的安全组本身。有什么建议吗?
我遇到过类似的问题,所以我创建了一个新的安全组 (sg-xxxxxxx042),其中包含所有必要的入站规则,并将其传递给注释,如下所示。
alb.ingress.kubernetes.io/security-groups: sg-xxxxxxx042
除此之外,我还需要向附加到 eks 工作节点(ec2 实例)的安全组添加一个入站规则
在我的例子中,安全组名称以附加到实例的 eks-remoteAccess-**** 开头。
我添加了以下入站规则
Alltraffic 所有所有自定义 sg-xxxxxxx042