すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Knative Serviceが実行されているEIPをelasticコンテナーインスタンスに関連付ける

最終更新日:Dec 14, 2024

デフォルトでは、elasticコンテナインスタンスにはプライベートIPアドレスのみが割り当てられます。 たとえば、インターネット経由でイメージをプルするなど、エラスティックコンテナインスタンスをインターネットに接続する場合は、注釈を追加して、新規または既存のエラスティックIPアドレス (EIP) をインスタンスに関連付けることができます。 帯域幅制限を指定したり、システムがEIPを作成するときにEIPの帯域幅プランを関連付けることもできます。

前提条件

Knativeがクラスターにデプロイされました。 詳細については、「」「Knativeのデプロイ」をご参照ください。

インターネットアクセスの有効化

次のいずれかの方法を使用して、エラスティックコンテナインスタンスのインターネットアクセスを有効にできます。

  • EIPをelasticコンテナインスタンスに関連付ける: EIPは、個別に購入して管理できるパブリックIPアドレスです。 EIPをインスタンスに関連付けることで、エラスティックコンテナインスタンスのインターネットアクセスを有効にできます。

  • EIPをNATゲートウェイに関連付ける: NATゲートウェイは、別途購入できるインターネットゲートウェイです。 EIPをNATゲートウェイに関連付けると、NATゲートウェイは、NATゲートウェイが属する仮想プライベートクラウド (VPC) に存在するすべてのエラスティックコンテナインスタンスにインターネットサービスを提供できます。

Knativeを使用すると、EIPをelasticコンテナインスタンスに関連付けることによってのみ、elasticコンテナインスタンスのインターネットアクセスを有効にできます。 エラスティックコンテナインスタンスのインターネットアクセスを有効にする方法の詳細については、「インターネットアクセスの有効化」をご参照ください。

アノテーションを使用してEIPをelasticコンテナインスタンスに関連付ける

アノテーションを使用して既存のEIPを関連付けるか、EIPを作成して、Knative ServiceがデプロイされているelasticコンテナーインスタンスにEIPを関連付けることができます。 次の表に、EIPの設定に使用できるアノテーションを示します。

注釈

説明

k8s.aliyun.com/eci-eip-instanceid

関連付ける既存のEIPを指定します。

k8s.aliyun.com/eci-with-eip

EIPを自動的に作成し、EIPをelasticコンテナインスタンスに関連付けるかどうかを指定します。

k8s.aliyun.com/eip-bandwidth

EIPの最大帯域幅を指定します。 単位は、Mbit/s です。 既定値:5

k8s.aliyun.com/eip-common-bandwidth-package-id

使用するEIP帯域幅プランを指定します。

k8s.aliyun.com/eip-isp

EIPのラインタイプを指定します。

有効な値:

  • BGP: BGP (マルチISP) ライン

  • BGP_PRO: BGP (マルチISP) プロライン

  • 例1: 既存のEIPの関連付け

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
    spec:
      template:
        metadata:
          labels:
            app: helloworld-go
          annotations:
            k8s.aliyun.com/eci-eip-instanceid: "eip-bp1q5n8cq4p7f6dzu****"    # Specify an existing EIP that you want to associate. 
        spec:
          containers:
            - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
  • 例2: EIPを作成して関連付け、EIPの帯域幅制限を指定する

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
    spec:
      template:
        metadata:
          labels:
            app: helloworld-go
          annotations:
            k8s.aliyun.com/eci-with-eip: "true"   # Create and associate an EIP. 
            k8s.aliyun.com/eip-bandwidth: "10"   # Specify the bandwidth limit of the EIP. 
        spec:
          containers:
            - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
  • 例3: EIPの作成と関連付け、およびEIP帯域幅プランのEIPへの関連付け

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
    spec:
      template:
        metadata:
          labels:
            app: helloworld-go
          annotations:
            k8s.aliyun.com/eci-with-eip: "true"   # Create and associate an EIP. 
            k8s.aliyun.com/eip-common-bandwidth-package-id: "cbwp-2zeukbj916scmj51m****"  # Associate an EIP bandwidth plan with the EIP. 
        spec:
          containers:
            - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56

関連ドキュメント

カスタムドメイン名を使用してHTTPS経由でサービスにアクセスするように証明書を設定する方法の詳細については、「HTTPS経由でサービスにアクセスするように証明書を設定する」をご参照ください。