Server load Balancer (SLB) Ingressは、2023年2月28日に段階的に廃止されました。 したがって、Container Service for Kubernetes (ACK) Serverlessは、2023年2月28日以降、SLB Ingressのテクニカルサポートを提供しなくなりました。 SLB Ingressが廃止された後、ACKサーバーレスクラスターにSLB Ingressコントローラーをインストールまたは管理することはできません。 できるだけ早い機会にSLB IngressからALB Ingressに移行することを推奨します。 このトピックでは、SLB IngressからALB Ingressに移行する方法について説明します。
背景情報
SLBはレイヤー7で限定機能を提供します。 たとえば、SLBはHTTPの書き換え、リダイレクト、上書き、およびスロットリングをサポートしていません。 また、SLBインスタンスの仕様を手動で指定する必要があります。 したがって、SLB Ingressはトラフィックルーティングのサポートを制限します。 ALB Ingressは、Application Load Balancer (ALB) に基づいて、レイヤー7で改善されたトラフィックルーティング機能を提供します。
SLB Ingressと比較して、ALB IngressはヘッダーまたはCookieに基づく複雑なルーティングを処理し、自動証明書検出をサポートできます。 ALB Ingressは、HTTP、HTTPS、およびクイックUDPインターネット接続 (QUIC) プロトコルもサポートしており、クラウドネイティブアプリケーションのレイヤー7トラフィック分散の要件を満たしています。 ALBとSLBの比較の詳細については、SLBとは何ですか?
移行手順
移行例
この例では、エンドポイントをドメイン名demo. Ingress. vipにマップするSLB ingressを使用します。
ブラウザのアドレスバーにdemo.ingress.vipと入力し、Enterキーを押します。 nginxへようこそ! ページに表示されます。
ステップ1: ALB Ingressの作成
ALB Ingressコントローラをインストールします。 詳細については、「ALB Ingressコントローラーの管理」をご参照ください。
AlbConfigを作成します。
albconfig.yamlという名前のファイルを作成し、次の内容をファイルにコピーします。
apiVersion: alibabacloud.com/v1 kind: AlbConfig メタデータ: 名前: alb-demo spec: config: 名前: alb-test addressType: インターネット zoneMappings: -vSwitchId: vsw-wz9e2usil7e5an1xi **** -vSwitchId: vsw-wz92lvykqj1siwvif **** リスナー: - port: 80 プロトコル: HTTPzoneMappings: ALB Ingressによって使用されるvSwitchのID。 異なるゾーンに属するvSwitchを少なくとも2つ指定する必要があります。 指定するvSwitchは、クラスターと同じ仮想プライベートクラウド (VPC) に属している必要があります。
次のコマンドを実行して、AlbConfigを作成します。
kubectl apply -f albconfig.yaml次のコマンドを実行して、ALBインスタンスが作成されているかどうかを確認します。
kubectl get albconfig <AlbConfig name>期待される出力:
名ALBID DNSNAMEポート&プロトコルCERTID年齢 alb-デモalb-eeee6gtqbmrm19 **** alb-eeee6gtqbmrm19 **** .cn-shenzhen.alb.aliyuncs.com 27s
IngressClassを作成します。
ingressclass.yamlという名前のファイルを作成し、次のコンテンツをファイルにコピーします。
apiVersion: networking.k8s.io/v1 種類: IngressClass メタデータ: 名前: alb spec: コントローラー: ingress.k8s.alibabacloud/alb parameters: apiGroup: alibabacloud.com kind: AlbConfig 名前: alb-demoparameters.name: 使用するAlbConfigの名前。
次のコマンドを実行して、IngressClassを作成します。
kubectl apply -f ingressclass.yaml
ALB Ingressを作成します。
albingress.yamlという名前のファイルを作成し、次のコンテンツをファイルにコピーします。
apiVersion: networking.k8s.io/v1 kind: Ingress メタデータ: 名前: demo-ingress-alb namespace: デフォルト spec: ingressClassName: alb rules: -host: demo.ingress.vip http: paths: - backend: service: name: nginx port: number: 80 path: / pathType: プレフィックスname: 使用するIngressの名前。 名前はSLB Ingressの名前と同じにすることはできません。
ingressClassName: 使用するIngressClassの名前。
次のコマンドを実行して、ALB Ingressを作成します。
kubectl apply -f albingress.yaml次のコマンドを実行して、ALB Ingressのエンドポイントを照会します。
kubectl get ing期待される出力:
NAME CLASS HOSTS ADDRESS PORTS AGE demo-ingress slb demo.ingress.vip 120.79。**。demo-ingress-alb alb demo.ingress.vip alb-eeee6gtqbmrm1 **** .cn-shenzhen.alb.aliyuncs.com 80 10m 46sALB Ingressのエンドポイントはalb-eeee6gtqbmrm1 **** .cn-shenzhen.alb.aliyuncs.comです。
次のコマンドを実行して、ALB Ingressを使用してNGINXアプリケーションにアクセスします。
curl -H "ホスト: demo.ingress.vip" http:// alb-eeee6gtqbmrm1 **** .cn-shenzhen.alb.aliyuncs.com期待される出力:
<!DOCTYPE html> <html> <ヘッド> <title> nginxへようこそ!</title> <style> body { 幅: 35em; マージン: 0 auto; フォントファミリー: タホマ、ヴェルダナ、アリアル、サンセリフ。 } </style> ...............
ステップ2: ALB Ingressを使用してトラフィックを転送する
SLB ingressのエンドポイントをALB Ingressのエンドポイントに置き換えて、demo. Ingress. vipのDNSレコードを変更します。 このように、ALB Ingressはトラフィックを転送するために使用されます。
にログインします。Alibaba Could DNSコンソール.
On theドメイン名の解決ページで、ALB Ingressのドメイン名をクリックします。権限ドメイン名列を作成します。
On theDNS設定ページをクリックします。変更で、アクション列を作成します。
[DNSレコードの変更] パネルで、レコード値をALB Ingressのエンドポイントに設定します。この例では **** .cn-shenzhen.alb.aliyuncs.comをalb-eeee6gtqbmrm1します。 次に、[OK] をクリックします。
ブラウザのアドレスバーにdemo.ingress.vipと入力し、Enterキーを押します。

nginxへようこそ! ページに表示されます。 これは、ALB Ingressを使用してNGINXアプリケーションにアクセスできることを示しています。
ステップ3: SLB Ingressを削除する
SLB Ingressを削除します。
詳細ページの左側のナビゲーションウィンドウで、 を選択します。
[Ingress] ページの上部で、SLB Ingressが属する名前空間を選択します。 SLB Ingressを見つけ、[操作] 列で を選択します。
表示されるメッセージで、[OK] をクリックします。
SLB Ingressコントローラーのアンインストール
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
[アドオン] ページで、[その他] タブをクリックします。 SLB Ingress Controllerを見つけ、[アンインストール] をクリックします。
表示されるメッセージで、[OK] をクリックします。
よくある質問
SLB IngressからALB Ingressへのスムーズな移行はサポートされていますか?
SLB IngressはALB Ingressとは異なるため、SLB IngressからALB Ingressへのスムーズな移行はサポートされていません。