使用 AWS NLB 配置 Istio Ingress
介绍如何在 AWS 上使用网络负载均衡器配置 Istio Ingress。
本文提供使用和配置带有 AWS 网络负载均衡器 的 Istio Ingress 的说明。
网络负载均衡器 (NLB) 可用于替代经典负载均衡器。您可以查看不同 AWS loadbalancer
之间的 比较 以了解更多说明。
先决条件
以下说明需要 1.9.0 或更高版本 的 Kubernetes 集群。
IAM 策略
您需要在主角色上应用策略才能能够配置网络负载均衡器。
在 AWS
iam
控制台中,点击策略,然后点击创建新的策略创建一个新的策略 选择
json
选择 json 复制/粘贴下面的文本
{ "Version": "2012-10-17", "Statement": [ { "Sid": "kopsK8sNLBMasterPermsRestrictive", "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "elasticloadbalancing:AddTags", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DeleteListener", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancerPolicies", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:ModifyTargetGroup", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:SetLoadBalancerPoliciesOfListener" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeRegions" ], "Resource": "*" } ] }
点击审查策略,填写所有字段,然后点击创建策略
验证策略 点击角色,选择您的主节点角色,然后点击附加策略
附加策略 您的策略现在已附加到您的主节点。
生成 Istio 清单
要使用 AWS nlb
负载均衡器,需要向 Istio 安装添加特定于 AWS 的注释。这些说明解释了如何添加注释。
将其保存为文件 override.yaml
gateways:
istio-ingressgateway:
serviceAnnotations:
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
使用 Helm 生成清单
$ helm template install/kubernetes/helm/istio --namespace istio -f override.yaml > $HOME/istio.yaml