tencent cloud

Tencent Kubernetes Engine

お知らせ・リリースノート
製品アップデート情報
製品リリース記録
製品の説明
製品の優位性
製品アーキテクチャ
ユースケース
製品機能
リージョンとアベイラビリティーゾーン
クイックスタート
初心者ガイド
標準クラスターのクイック作成
ビギナー向け事例
コンテナアプリケーションのクラウドへのデプロイ Check List
TKE標準クラスターガイド
テンセントクバネティスエンジン
クラスター管理
ネットワーク管理
ストレージ管理
Worker ノードの概要
Kubernetes Object Management
ワークロード
クラウドネイティブサービスガイド
Prometheus監視サービス
TKE Serverlessクラスターガイド
TKE登録クラスターガイド
実践チュートリアル
Serverlessクラスター
ネットワーク
ログ
監視
運用・保守
DevOps
オートスケーリング
よくあるご質問
クラスター類
TKE Serverlessクラスター
運用保守系
サービス類
イメージリポジトリ類
リモート端末類
ドキュメントTencent Kubernetes Engine

Ingress基本機能

フォーカスモード
フォントサイズ
最終更新日: 2023-05-06 19:41:07

概要

Ingressはクラスター内のServiceのルールの集合にアクセスすることを可能にします。転送ルールを設定することによって、さまざまなURLがクラスター内の異なるServiceにアクセスすることを実現します。 Ingressリソースを正常に動作させるために、クラスターはIngress-controllerを実行する必要があります。TKEサービスはクラスター内ではデフォルトでTencent Cloud Load Balancerに基づいて実現されるl7-lb-controllerを有効化し、HTTP、HTTPSをサポートします。同時にクラスター内でその他のIngressコントローラを自作することもサポートし、業務上のニーズに応じてさまざまなIngressタイプを選択することができます。

注意事項

Tencent Cloud Load Balancerインスタンスは2023年3月6日にアーキテクチャがアップグレードされます。アップグレード後、パブリックネットワークCLBはドメイン名の方式でサービスを提供します。VIPは業務リクエストに応じて動的に変化し、コンソールはVIPアドレスを表示しなくなります。ドメイン名型パブリックネットワークCLBリリースのお知らせをご参照ください。
新規登録したTencent Cloudユーザーはデフォルトでアップグレード後のドメイン名型CLBを使用します。
既存のユーザーは元のCLBを継続して使用することを選択でき、アップグレードの影響を受けません。CLBサービスをアップグレードする必要がある場合は、同時にTencent Cloud製品のCLBおよびTKEをアップグレードする必要があります。アップグレードしない場合、TKE内のすべてのパブリックネットワークタイプの Service/Ingressの同期は影響を受ける可能性があります。CLBのアップグレード操作の詳細については、ドメイン名型CLBアップグレードガイドをご参照ください。TKEがService/Ingressコンポーネントのバージョンをアップグレードするには、チケットを提出してお問い合わせください。
Ingress apiVersionのサポート状況:extensions/v1beta1およびnetworking.k8s.io/v1beta1 APIバージョンのIngressは、v1.22バージョンでは継続して提供しません。networking.k8s.io/v1 APIは、v1.19(TKEシナリオでは偶数バージョンのみサポートします。そのためTKEのv1.20からとなります)バージョンから使用開始できます。詳細情報については Kubernetesドキュメントをご参照ください。
コンテナ業務がCVM業務と1つのCLBを共用しないことを確認してください。
CLBコンソールでTKEが管理するCLBのリスナー、転送パス、証明書およびバックエンドにバインドされたサーバーの操作はサポートしていません。変更はTKEによって自動的に上書きされます。
既存のCLBを使用する場合:
CLBコンソールによって作成されたロードバランサのみ使用できます。TKEによって自動的に作成されたCLBの再利用はサポートしていません。
複数のIngressによるCLBの再利用はサポートしていません。
IngressおよびServiceによるCLBをの共用はサポートしていません。
Ingressを削除すると、CLBバインドを再利用するバックエンドクラウドサーバーはご自身でバインドを解除する必要があり、同時にtag tke-clusterId: cls-xxxxを保持し、ご自身でクリーンアップする必要があります。
デフォルトのCLBの転送ルールの制限は50個です。Ingressの転送ルールが50を超える場合、チケットを提出することによってCLBのクォータを増やすことができます。
IngressとCLBの間に設定された管理および同期はCLB IDを名前とするLoadBalancerResourceタイプのリソースオブジェクトです。このCRDにはいかなる操作もしないでください。そうしない場合、Ingressの無効化が発生しやすくなります。

Ingressコンソール操作ガイド

Ingressの作成

1. TKEコンソールにログインします。
2. 左側ナビゲーションバーで、クラスターをクリックしてクラスター管理ページに進みます。
3. Ingressを作成する必要があるクラスターIDをクリックし、Ingress作成待ちのクラスター管理ページに進みます。
4. サービス > Ingressを選択し、Ingress情報ページに進みます。
5. 新規作成をクリックし、「Ingressの新規作成」ページに進みます。下図のように表示されます。

6. 実際のニーズに応じて、Ingressパラメータを設定します。主なパラメータの情報は次のとおりです。
Ingress名称:カスタマイズします。
ネットワークタイプ:デフォルトは「パブリックネットワーク」です。実際のニーズに応じて選択します。
IPバージョン:IPv4およびIPv6 NAT64の2種類のバージョンを提供しています。実際のニーズに応じて選択します。
ロードバランサ:自動作成または既存のものを使用できます。
ネームスペース:実際のニーズに応じて選択します。
転送設定:「プロトコル」はデフォルトでHttpです。実際の状況に応じて選択してください。 プロトコルに“”Httpsを選択した場合、下図に示すとおり、サーバー証明書をバインドすることによってアクセスのセキュリティを保証する必要があります。


詳細については、 SSL証明書形式の要件および形式変換の説明をご参照ください。
転送設定:実際のニーズに応じて設定します。
7. Ingressの作成をクリックすると、作成が完了します。

Ingressの更新

YAMLの更新

1. TKEコンソールにログインします。
2. 左側ナビゲーションバーで、クラスターをクリックし、クラスター管理ページに進みます。
3. YAMLを更新する必要があるクラスターIDをクリックし、更新待ちのYAMLのクラスター管理ページに進みます。
4. サービス > Ingressを選択し、Ingress情報ページに進みます。下図のように表示されます。

5. YAMLを更新する必要があるIngressの行で、YAMLの編集をクリックし、Ingressの更新ページに進みます。
6. 「Ingressの更新」ページで、YAMLを編集し、完了をクリックすると、YAMLの更新が完了します。

転送ルールを更新する

1. クラスター管理ページで、YAMLを更新する必要があるクラスターIDをクリックし、更新待ちのYAMLのクラスター管理ページに進みます。
2. サービス > Ingressを選択し、Ingress情報ページに進みます。下図のように表示されます。

3. ルールを更新する必要がある Ingressの行で、転送設定の更新をクリックし、転送設定の更新ページに進みます。下図のように表示されます。

4. 実際のニーズに応じて、転送設定を変更し、転送設定の更新をクリックすると、更新が完了します。

KubectlによるIngress操作ガイド

YAMLの例

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: qcloud ## 選択可能な値:qcloud(CLBタイプingress), nginx(nginx-ingress),traefik
## kubernetes.io/ingress.existLbId: lb-xxxxxxxx ##既存のロードバランサを使用してパブリックネットワーク/プライベートネットワークアクセスを作成するIngressを指定する
## kubernetes.io/ingress.subnetId: subnet-xxxxxxxx ##CLBタイプのプライベートネットワークを作成する場合、ingresshこのannotationを指定する必要があります
name: my-ingress
namespace: default
spec:
rules:
- host: localhost
http:
paths:
- backend:
serviceName: non-service
servicePort: 65535
path: /
kind:Ingressを識別するリソースタイプ。
metadata:Ingressの名称、Labelなどの基本情報です。
metadata.annotations:Ingressの追加説明。このパラメータによってTencent Cloud TKEの追加の拡張機能を設定できます。
spec.rules:Ingressの転送ルール。このルールを設定するとシンプルルーティングサービス、ドメイン名に基づくシンプルファンアウトルーティング、シンプルルーティングのデフォルトドメイン名、安全なルーティングサービスの設定などを実現することができます。

annotations: 既存のロードバランサを使用してパブリックネットワーク/プライベートネットワークアクセスを作成するIngressを指定する

既存のアプリケーション型CLBがアイドル状態で、TKEに作成されたngressを提供して使用するか、クラスター内で同じCLBを使用することが想定される場合、以下のannotationsによって設定します。
説明
注意事項を理解してから使用を開始してください。
metadata:
annotations:
kubernetes.io/ingress.existLbId: lb-6swtxxxx

annotations:CLBタイプのプライベートネットワークIngressを作成する

プライベートネットワークCLBを使用する必要がある場合、以下によってannotationsを設定します。
metadata:
annotations:
kubernetes.io/ingress.subnetId: subnet-xxxxxxxx

説明事項

使用するのがIP帯域幅パッケージアカウントの場合、パブリックネットワークアクセス方式のサービスを作成する時に、以下の2つのannotations項目を指定する必要があります。
kubernetes.io/ingress.internetChargeTypeパブリックネットワークの帯域幅課金方式。選択可能な値は以下のとおりです。
TRAFFIC_POSTPAID_BY_HOUR(使用トラフィックに応じて課金)
BANDWIDTH_POSTPAID_BY_HOUR(帯域幅課金)
kubernetes.io/ingress.internetMaxBandwidthOut 帯域幅上限です。範囲:[1,2000] Mbps。 例:
metadata:
annotations:
kubernetes.io/ingress.internetChargeType: TRAFFIC_POSTPAID_BY_HOUR
kubernetes.io/ingress.internetMaxBandwidthOut: "10"
IP帯域幅パッケージの詳しい情報については、 ドキュメントBandwidth Package製品のカテゴリーを、ぜひご参照ください。

Ingressの作成

1. YAMLの例を参考に、 Ingress YAMLファイルを準備します。
2. Kubectlをインストールし、クラスターを接続します。操作の詳細については、Kubectlによってクラスターに接続するをご参照ください。
3. 以下のコマンドを実行し、Ingress YAMLファイルを作成します。
kubectl create -f Ingress YAMLファイル名称
例えば、ファイル名がmy-ingress.yamlのIngress YAMLファイルを作成するには、以下のコマンドを実行します。
kubectl create -f my-ingress.yaml
4. 次のコマンドを実行して、変更が成功したかどうかをチェックします。
kubectl get ingress
下記のような情報が返された場合は、作成が成功したことを示しています。
NAME HOSTS ADDRESS PORTS AGE
clb-ingress localhost 80 21s

Ingressの更新

方法1

次のコマンドを実行して、Ingressを更新します。
kubectl edit ingress/[name]

方法2

1. 手動で古いIngressを削除します。
2. 以下のコマンドを実行し、Ingressを再度作成します。
kubectl create/apply


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック