AWS NLB で Istio Ingress を構成する

AWS でネットワークロードバランサと Istio ingress を構成する方法について説明します。

2018 年 4 月 20 日 | ジュリアン・セノン著

この投稿では、AWS ネットワークロードバランサで Istio ingress を使用して構成するための手順を示します。

ネットワークロードバランサ (NLB) は、従来のロードバランサの代わりに使用できます。詳細については、さまざまな AWS loadbalancer間の比較を参照してください。

前提条件

以下の手順には、Kubernetes 1.9.0 以上のクラスタが必要です。

IAM ポリシー

ネットワークロードバランサをプロビジョニングできるように、マスターロールにポリシーを適用する必要があります。

  1. AWS iamコンソールで、ポリシーをクリックし、新しいポリシーの作成をクリックします。

    Create a new policy
    新しいポリシーを作成します。
  2. jsonを選択します。

    Select json
    jsonを選択します。
  3. 以下のテキストをコピーして貼り付けます。

    {
        "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": "*"
            }
        ]
    }
    
  4. ポリシーの確認をクリックし、すべてのフィールドに入力して、ポリシーの作成をクリックします。

    Validate policy
    ポリシーの検証
  5. ロールをクリックし、マスターロールノードを選択して、ポリシーの添付をクリックします。

    Attach policy
    ポリシーを添付する
  6. ポリシーはマスターノードに添付されました。

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
この投稿を共有する