AWS NLB で Istio Ingress を構成する
AWS でネットワークロードバランサと Istio ingress を構成する方法について説明します。
この投稿では、AWS ネットワークロードバランサで Istio ingress を使用して構成するための手順を示します。
ネットワークロードバランサ (NLB) は、従来のロードバランサの代わりに使用できます。詳細については、さまざまな AWS loadbalancer
間の比較を参照してください。
前提条件
以下の手順には、Kubernetes 1.9.0 以上のクラスタが必要です。
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
ロードバランサを使用するには、AWS 固有のアノテーションを Istio インストールに追加する必要があります。これらの手順では、アノテーションを追加する方法を説明します。
ファイルを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