エンタープライズ分散アプリケーションサービス (EDAS) は、Container Service for Kubernetes (ACK) を統合しているため、Kubernetesを使用してAlibaba Cloud上のコンテナ化されたアプリケーションを管理できます。 ACKコンソールでKubernetesクラスターを作成できます。 サードパーティのクラウドにデプロイされたKubernetesクラスターやデータセンターにデプロイされた自己管理型Kubernetesクラスターなどのハイブリッドクラウドクラスターの場合、ACKコンソールでクラスターを登録できます。 次に、クラスターをEDASにインポートして、クラスターにアプリケーションをデプロイできます。 EDASは、コンテナ化アプリケーションの高可用性管理を提供し、O&M効率を向上させるため、コンテナ化アプリケーションの開発と管理に集中できます。
EDASでのKubernetesクラスターの機能
EDASでは、ACKコンソールで作成したACK専用クラスター、ACK管理クラスター、ACKサーバーレス (ASK) クラスターをインポートできます。 3つのタイプのクラスター間の比較の詳細については、ACKとは何ですか?
EDASにインポートされるACK専用クラスターおよびACK管理クラスターは、EDASのACKクラスターに対応します。 EDASにインポートされるACKサーバーレスクラスタは、EDASのACKサーバーレスクラスタに対応します。
サードパーティのクラウドにデプロイされたKubernetesクラスターやデータセンターにデプロイされた自己管理型KubernetesクラスターなどのハイブリッドクラウドクラスターをEDASにインポートする前に、ACKコンソールでクラスターを登録する必要があります。 EDASにインポートされるハイブリッドクラウドクラスタは、EDASのACKクラスタに対応する。
ACKコンソールでハイブリッドクラウドクラスターを登録する方法の詳細については、「クラスター登録プロキシを作成し、データセンターにデプロイされているKubernetesクラスターを登録する」をご参照ください。
EDASで管理されるKubernetesクラスターには、自己管理Kubernetesクラスターよりも次の利点があります。
EDASは、クラウドネイティブのKubernetesに加えて、アプリケーションの観点から、オープンソースのマイクロサービスガバナンスとKubernetesアプリケーションの軽量O&Mを実装するためのアプリケーションホスティング機能を提供します。
アプリケーション中心の観点から、EDASは、デプロイやポッドなどのKubernetesネイティブのワークロードを管理し、ゾーン間のインスタンスの高可用性デプロイを提供します。
EDASは、トラフィック比率とリクエストパラメーターに基づいて、段階的リリースとカナリアリリースを提供します。 EDASは変更プロセス全体を監視するため、変更レコードを追跡可能にします。
EDASは主流のDevOpsシステムと統合して、企業が継続的統合 (CI) と継続的配信 (CD) を実装できるようにします。 このように、EDASは企業がコストを削減し、効率を向上させるのに役立ちます。
オープンソースのマイクロサービスシステムに加えて、過去5年間に市販されているSpring CloudおよびDubboフレームワークに基づいて構築したマイクロサービス指向のアプリケーションを、コードを変更することなくEDASに移行できます。 EDASは、すべてのアプリケーションフレームワークで次のマイクロサービスガバナンス機能をサポートしています。
アプリケーションリリース中の優雅なシャットダウンとストレステスト
アプリケーションランタイム中のサービス認証、スロットリングと劣化、および外れ値の排出
アプリケーションO&Mでのサービスクエリとテスト
Alibaba Cloudは、アプリケーション本番セキュリティの可観測性、カナリアリリース、ロールバックをサポートするというアイデアをサービスにパッケージ化しているため、本番セキュリティをすぐに実装できます。
監視可能性: アプリケーションの概要、リリース変更レコード、リリースレポートの自動生成に基づいて、複数のディメンションでのエンドツーエンドの監視が実装されます。
カナリアリリース: カナリアリリースは、トラフィック比率またはリクエストコンテンツポリシー設定に基づいてアプリケーションでサポートされています。
ロールバック: リリースプロセス中にワンクリックロールバックがサポートされ、実行中のアプリケーションは以前のバージョンにロールバックできます。
Kubernetesクラスターのワークフロー
アプリケーションをACKクラスターにデプロイするには、Container Service for Kubernetes (ACK) コンソールでACKクラスターを作成または登録し、そのクラスターをEDASコンソールにインポートする必要があります。 次に、インポートしたContainer Service for Kubernetes (ACK) クラスターのデプロイパッケージまたはイメージを使用して、アプリケーションをデプロイする必要があります。

EDASでは、ACKクラスタを管理する手順は、ハイブリッドクラウドクラスタを管理する手順と同様である。 このトピックでは、ACKクラスターを使用して手順を説明します。
前提条件
Container Service for Kubernetes (ACK) コンソールでのKubernetesクラスターの作成
EDASでACKクラスターを使用するには、Container Service for Kubernetes (ACK) コンソールでマネージドKubernetesクラスターまたは専用Kubernetesクラスターを作成します。 詳細については、以下のトピックをご参照ください。
EDASでACK Serverlessクラスターを使用するには、Container Service for Kubernetes (ACK) コンソールでACK Serverlessクラスターを作成します。 詳細については、「ACKサーバーレスクラスターの作成」をご参照ください。
EDASコンソールへのKubernetesクラスターのインポート
デフォルトでは、ackクラスターをEDASコンソールでEDASにインポートするときに、ack-ahas-sentinel-pilot、ack-arms-pilot、およびACK-arms-prometheusコンポーネントがインストールされます。 ack-ahas-sentinel-pilotコンポーネントは、スロットリングと劣化のためのアプリケーション保護コンポーネントです。 ack-arms-pilotコンポーネントは、アプリケーションリアルタイム監視サービス (ARMS) コンポーネントです。 ack-arms-prometheusコンポーネントは、Prometheusモニタリングコンポーネントです。
Kubernetesクラスターをインポートする前に、EDASによって課される操作制限を理解しておくことをお勧めします。 詳細については、「Kubernetesクラスターのインポートに関する制約」をご参照ください。
にログインします。 EDASコンソール
左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーで、管理するマイクロサービス名前空間のリージョンを選択します。 [マイクロサービス名前空間] ドロップダウンリストから、ACKクラスターをインポートするマイクロサービス名前空間を選択します。 次に、[Container Service Kubernetesクラスターの同期] をクリックします。
インポートするACKクラスターを見つけて、[操作] 列の [インポート] をクリックします。
[Kubernetesクラスターのインポート] ダイアログボックスで、[マイクロサービス名前空間] ドロップダウンリストからマイクロサービス名前空間を選択し、必要に応じて [サービスメッシュ] をオンにし、[インポート] をクリックします。
説明マイクロサービス名前空間を作成していない場合、デフォルトのマイクロサービス名前空間が選択されます。
多言語アプリケーションをデプロイする必要がある場合は、[Service Mesh] をオンにします。
Service Meshをオンにすると、SLB. s1.small仕様の内部対応の2つのServer Load Balancer (slb) インスタンスがデフォルトで管理用に作成されます。 2つのSLBインスタンスのポート (ポート6443とポート15011) が公開されます。 詳細については、「ASMインスタンスの作成」トピックの「コンテキスト」セクションをご参照ください。
自動的に作成された2つのSLBインスタンスに対して課金されます。 課金の詳細については、「従量課金」をご参照ください。
Cluster Statusパラメーターの値がRunningで、Import Statusパラメーターの値がImportedの場合。 ACKクラスターの場合、ACKクラスターはEDASにインポートされます。
EDASコンソールでのKubernetesクラスターのインポートとクリーンアップのキャンセル
にログインします。 EDASコンソール
左側のナビゲーションウィンドウで、 または を選択します。
上部のナビゲーションバーで、クラスターが存在するリージョンを選択します。 [マイクロサービス名前空間] ドロップダウンリストから、クラスターが存在するマイクロサービス名前空間を選択します。 クラスターの [操作] 列で、[インポートのキャンセル] をクリックします。 [メモ] メッセージで、[OK] をクリックします。
[クラスターステータス] パラメーターの値が [実行中] の場合、クラスターを再度EDASにインポートしてアプリケーションを作成できます。
[クラスターステータス] パラメーターの値が [削除済み] の場合、[操作] 列の [クリア] をクリックして、EDASのクラスターリストからクラスターを削除できます。
説明クラスターの削除に関する操作とFAQの詳細については、「クラスターの削除」をご参照ください。
EDASコンソールでのKubernetesクラスターの表示
にログインします。 EDASコンソール
左側のナビゲーションウィンドウで、 または を選択します。
表示するクラスターのIDをクリックします。 [クラスターの詳細] ページが表示されます。
[クラスターの詳細] ページで、クラスターの詳細、ECS (Elastic Compute Service) インスタンス、デプロイ、およびアプリケーションを表示できます。
クラスター情報: このセクションには、クラスターID、csClusterId、クラスター名、マイクロサービス名空間、クラスタータイプ、VPC ID、ネットワークタイプ、クラスターステータス、および説明など、クラスターに関する基本情報が表示されます。
[クラスター情報] セクションの右上隅にある [詳細の表示] をクリックして、クラスターの詳細を表示します。
[クラスター情報] セクションで、右上隅の [編集] をクリックしてクラスターの説明を変更します。
ECSインスタンス: このセクションには、クラスター内のECSインスタンスとECSインスタンスの概要が表示されます。
Deployments: このセクションでは、EDASで変換および管理するサードパーティのプラットフォームでの自己管理型のデプロイが表示されます。
アプリケーション: このセクションには、クラスター内のアプリケーションが表示されます。 アプリケーション名、JDKバージョン、アプリケーション実行環境、インスタンスの総数、実行中のインスタンス数、所有者を表示できます。 アプリケーションの名前をクリックすると、アプリケーションの詳細ページに移動できます。
Kubernetesクラスターのインポートに関する制約
Kubernetesクラスターのセキュリティグループの設定に関する制約:
Kubernetesクラスター内のすべてのノードがクラスターのセキュリティグループに接続されているか、接続できることを確認する必要があります。 詳細については、「」をご参照ください。コンテナが互いに通信できないのはなぜですか?
セキュリティグループに対してACKで設定されているデフォルトのルールは削除できません。
Kubernetesクラスターでノードを設定する際の制約:
EDASの管理コンポーネントがクラスタ内で適切に実行されるようにするには、割り当て可能な十分なCPU、メモリ、およびポッドを確保する必要があります。
ACKがノードに設定する
Kubernetes WorkerRole-*RAMロールは削除できません。
KubernetesクラスターのAPI Server用のSLBインスタンスの設定に関する制約:
100.104.0.0/16内部アドレスからのアクセス要求をブロックすることはできません。
ACKによってSLBインスタンスに追加された組み込みラベルを削除することはできません。
SLBインスタンスでポート6443を再利用することはできません。
KubernetesクラスターでのHelmチャートの管理に関する制約:
EDASによってインストールされたahas-sentinel-pilot、arms-eventer、arms-pilot、arms-promコンポーネント、およびこれらのHelmチャートによってインストールされたすべてのリソースを削除することはできません。
オープンソースのoam-runtime、kuvela、keda、またはflaggerはインストールできません。
edas-oam-system名前空間内でKubernetesリソースを削除または変更することはできません。
ClusterRoleの管理に関する制約:
ACKコンソール、kubectl、またはサードパーティのツールを使用してedas-default-cluster-roleを削除または変更することはできません。
ClusterRoleBindingの管理に関する制約:
ACKコンソール、kubectl、またはサードパーティツールを使用して、edas-default-cluster-role-binding、edas-oam-cluster-role-binding、またはkeda-hpa-controller-external-metricsを削除または変更することはできません。
カスタムリソース定義 (CRD) およびカスタムリソース (CR) の管理に関する制約:
次のCRDまたはCRを直接管理することはできません。
alertproviders.flagger.app
applicationconfigurations.core.oam.de v
applications.oam-domain.alibabacloud.com
applicationscopes.core.oam.de v
autoscalings.edas.aliyun.oam.com
basecomponents.oam-domain.alibabacloud.com
canaries.flagger.app
componentschematics.core.oam.de v
crdreleases.clm.cloudnativeapp.io
dynamiclabels.extension.oam.de v
imagebuilders.edas.aliyun.oam.com
logcollectors.edas.aliyun.oam.com
meshtraits.edas.aliyun.oam.com
metrictemplates.flagger.app
mseruletraits.edas.aliyun.oam.com
packageversions.oam-domain.alibabacloud.com
rollouts.edas.aliyun.oam.com
scaledobjects.keda.k8s.io
scalingrules.oam-domain.alibabacloud.com
serviceregistrytraits.edas.aliyun.oam.com
servicetraits.edas.aliyun.oam.com
sources.clm.cloudnativeapp.io
traits.core.oam.de v
triggerauthentication. keda.k8s.io
workloadtypes.core.oam.de v
EDASによって作成されたe aliyunlogconfigs.log.alibabacloud.comリソースは変更できません。 リソースには
edas-domain: edas-admincodeラベルがあります。