デフォルトでは、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の設定に使用できるアノテーションを示します。
注釈 | 説明 |
| 関連付ける既存のEIPを指定します。 |
| EIPを自動的に作成し、EIPをelasticコンテナインスタンスに関連付けるかどうかを指定します。 |
| EIPの最大帯域幅を指定します。 単位は、Mbit/s です。 既定値:5 |
| 使用するEIP帯域幅プランを指定します。 |
| EIPのラインタイプを指定します。 有効な値:
|
例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経由でサービスにアクセスするように証明書を設定する」をご参照ください。