クラウドネイティブ AI スイートは、クラスターのステータスを迅速に表示し、トレーニングジョブを送信できるシンプルな AI ダッシュボードと AI 開発者コンソールを提供します。ACK Edge クラスターへの Ingress コンポーネントのデプロイは、ACK Pro マネージドクラスターへのデプロイとは異なるため、ACK Edge クラスターでの AI スイートコンソールのデプロイプロセスも若干異なります。このトピックでは、ACK Edge クラスターに AI スイートコンソールをデプロイする方法について説明します。
前提条件
-
Kubernetes 1.18 以降を実行する ACK Edge クラスターが利用可能であること。詳細については、「クラスターの作成」をご参照ください。
-
csi-plugin および csi-provisioner コンポーネントがエッジクラスターにインストールされていること。詳細については、「コンポーネントの管理」をご参照ください。
ステップ 1: Nginx Ingress コントローラーのデプロイ
-
ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
-
クラスターリスト ページで、クラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 をクリックします。
-
Helm ページで デプロイ をクリックし、基本情報 のパラメーターを設定します。
パラメーター
値
アプリケーション名
ack-ingress-nginx-{node-pool-name}
名前空間
kube-system
ソース
デフォルト値は Marketplace です。
グラフ
-
ユースケース: すべて を選択します。
-
サポートされているアーキテクチャ: [amd64] を選択します。
-
検索ボックス: ack-ingress-nginx-v1 を検索します。
-
-
次へ をクリックします。 パラメーター ページで、パラメーターを設定し、OK をクリックします。
説明クラウド側のノードプールの ID を確認するには、ACK コンソールにログインします。左側のナビゲーションウィンドウで、 を選択し、ノードプールのリストを表示します。
-
nodeSelectorパラメーターに、クラウドノードプールのラベルを追加します:alibabacloud.com/nodepool-id: {node-pool-id}。説明nodeSelectorフィールドには、alibabacloud.com/nodepool-id: {node-pool-id}のみを保持してください。
-
ingressClassResourceパラメーターで、nameとcontrollerValueを設定します。説明同じ ACK Edge クラスターに ack-ingress-nginx-v1 を複数回デプロイする場合は、デプロイごとに
nameとcontrollerValueが一意であることを確認してください。推奨される命名規則は次のとおりです:-
name:ack-nginx-{node-pool-name}。 例:ack-nginx-edge-hangzhou。 -
controllerValue:"k8s.io/ack-ingress-nginx-{node-pool-name}"。 例:"k8s.io/ack-ingress-nginx-edge-hangzhou"。

-
-
[パラメーター] ページで、要件に基づいて Server Load Balancer (SLB) のタイプ (パブリックまたはプライベート) を選択し、それに応じて
externalとinternalの下のenabledの値を設定します。パブリックネットワーク上の SLB を選択した場合は、ドメイン名をパブリック IP アドレスに解決してください。プライベートネットワーク上の SLB を選択した場合は、アクセス可能で解決可能なプライベート IP アドレスを使用してください。service: # パブリックまたはプライベートネットワーク SLB を有効化 enabled: true external: # パブリックネットワーク SLB を有効化 enabled: true # パブリックネットワーク SLB のアノテーション # 注:以下のデフォルトのアノテーションを削除する場合は、null に設定してください。 annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "internet" ## (外部ロードバランサーに加えて) 内部ロードバランサーを追加で有効化します。 ## ロードバランサーを起動するにはアノテーションが必須です。クラウドサービスによって異なります。 internal: # プライベートネットワーク SLB を有効化 enabled: false # プライベートネットワーク SLB のアノテーション # 注:以下のデフォルトのアノテーションを削除する場合は、null に設定してください。 annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
-
ステップ 2: AI スイートコンソールのデプロイ
詳細な手順については、「クラウドネイティブ AI スイートのデプロイ」をご参照ください。インストール中に、以下の点にご注意ください。
-
クラウドの能力を最大限に活用するために、AI スイートコンソールのコンポーネントをクラウド側のノードにデプロイすることを推奨します。コンポーネントを特定のノードプールにスケジュールする場合は、対応するコンポーネントの Pod に
SelectorまたはAffinityを設定してください。 -
クラスターで自己管理データストアを使用する場合、AI スイートコンソールをデプロイする際に [ack-mysql] コンポーネントを選択してインストールする必要があります。このコンポーネントは、クラウド側のノードにデプロイする必要があります。
インストールが完了すると、コンソール用の 2 つの Ingress エントリが Ingress ページに追加されます。デプロイされた Nginx Ingress と同じ IngressClass を使用するように、
ingressClassName構成を追加する必要があります。-
左側のナビゲーションウィンドウで、 を選択します。 2 つの Ingress エントリのそれぞれについて、[操作] 列の [編集] [YAML] をクリックします。
-
ingressClassName構成を追加し、その値がステップ 1 のingressClassResource.nameと一致することを確認します。ingressClassNameフィールドをack-nginx-edge-hangzhouに変更します。次の YAML コードは例です:spec: ingressClassName: ack-nginx-edge-hangzhou rules: - host: asdfgasdfasfdasdfasdfasd http: paths: - backend: service: name: ack-ai-dashboard-admin-ui port: number: 80 path: / pathType: Prefix
-
-
デプロイ中に、パブリックドメイン名を使用してコンソールにアクセスする必要がある場合は、ドメイン名を Nginx Ingress ロードバランサーの IP アドレスに解決する必要があります。この IP アドレスを確認するには、左側のナビゲーションウィンドウで を選択します。サービスリストで、
LoadBalancerタイプのack-ingress-nginxに関連するサービスを見つけ、[外部 IP] 列でパブリック IP アドレスを確認します。
デプロイが完了したら、AI ダッシュボードにアクセスできます。詳細については、「AI ダッシュボードへのアクセス」をご参照ください。