Huawei Cloud デプロイメントマニュアル
1 はじめに¶
1.1 本書の説明¶
本書では、主に Huawei Cloud 上でのデプロイを例に、リソース計画、設定から、Guance のデプロイ、実行までの完全な手順を説明します。
注意:
- 本書では、dataflux.cn をメインドメインの例として使用しています。実際のデプロイでは、対応するドメインに置き換えてください。
1.2 キーワード¶
| 用語 | 説明 |
|---|---|
| Launcher | Guance をデプロイ・インストールするための WEB アプリケーションです。Launcher サービスのガイド手順に従って、Guance のインストールとアップグレードを実行します。 |
| 運用操作マシン | kubectl がインストールされており、対象の Kubernetes クラスターと同じネットワーク上にある運用マシンです。 |
| インストール操作マシン | ブラウザから launcher サービスにアクセスし、Guance のガイド付きインストールを実行するマシンです。 |
| kubectl | Kubernetes のコマンドラインクライアントツールです。運用操作マシン にインストールします。 |
1.3 デプロイ手順のアーキテクチャ¶
2 リソース一覧¶
注意
1. 「最小構成」は POC シナリオのデプロイのみに適しており、機能検証のみを目的としています。本番環境としては使用できません。
2. 「推奨構成」は、InfluxDB が 15 万未満の時系列、Elasticsearch が 70 億未満のドキュメント数(ログ、トレース、リアルユーザーモニタリング(RUM)、イベントなどのドキュメント数の合計)のデータ量シナリオに適しています。
3. 本番デプロイでは、実際に取り込むデータ量に基づいて評価してください。取り込むデータ量が増えるほど、InfluxDB、Elasticsearch のストレージとスペック構成も高くする必要があります。
4. 自社構築の TDengine や OpenSearch を使用する場合は、CCE ノードプールに追加する必要があります。OpenSearch の自社構築ノードには、3 つのコーディネーターノード(4c8g)と 3 つのデータノード(8c32g)の合計 6 つのノードが必要です。
| リソース | スペック(最小構成) | スペック(推奨構成) | 数量 | 備考 |
|---|---|---|---|---|
| CCE | 標準マネージドクラスター版 | 標準マネージドクラスター版 | 1 | バージョン:1.23 |
| CCE ノードプール | 4C8G(システムディスク 80GB) | 8C16G(システムディスク 120GB) | 4 | Huawei Cloud CCE マネージドクラスターをデプロイします。 |
| 2C4G(システムディスク 80GB) | 4C8G(システムディスク 120GB) | 2 | Dataway をデプロイします。 | |
| NAT ゲートウェイ | 小型 NAT ゲートウェイ | 小型 NAT ゲートウェイ | 1 | CCE クラスターの外部ネットワークアクセスに使用します。 |
| ELB | 共有型 | 共有型 | 1 | Kubernetes Ingress の前段に配置します。 |
| RDS | 2C4G 50GB | 4C8G 100GB(アクティブ・スタンバイ) | 1 | MySQL 8.0 |
| Redis | 4G | 8G(標準マスター・スレーブ、デュアルレプリカ) | 1 | バージョン:6.0 |
| GuanceDB | 4C16G 300GB | 8C32G 500GB(クラスター版) | 2 | |
| Elasticsearch|OpenSearch | 4C16G 1T(シングルノード) | 16C64G 2T(3 ノード) | 1 | Elasticsearch バージョン:7.10.2 OpenSearch(自社構築)バージョン:2.3 |
| ドメイン | - | - | 1 | メインドメインは ICP 登録が必要です。1 つのメインドメインの下に 8 つのサブドメインが必要です。 |
| SSL 証明書 | ワイルドカードドメイン証明書 | ワイルドカードドメイン証明書 | 1 | - |
3 インフラストラクチャのデプロイ¶
3.1 デプロイの説明¶
RDS、Redis、Elasticsearch は、構成要件に従って作成し、同じリージョンの同じ VPC ネットワーク内に作成してください。
3.2 手順 1、2、3:CCE サービスの作成¶
3.2.1 手順 1:CCE クラスターの購入¶
公式サイトにアクセスし、ナビゲーションバーから プロダクト を選択し、コンテナ を選択して、クラウドコンテナエンジン CCE をクリックし、CCE クラスターの作成を選択します。
- 後述の RDS、ECS などのリソースと同じリージョンである必要があります。
- 主に、自身の状況に応じて クラスター規模 を選択し、後で worker ノード を作成します。
3.2.2 手順 2:worker ノードの設定¶
主に ECS のスペックと数量を選択します。スペックは構成一覧の要件に従って作成するか、実際の状況に応じて評価できますが、最小構成要件を下回ってはなりません。数は最低 3 台以上とし、データディスクは 100 GiB 以上を推奨します。
3.2.3 手順 3:プラグイン管理¶
everest と coredns のプラグインは、k8s クラスター購入時にデフォルトで作成されています。ここでは、さらに以下の 2 つのプラグインを追加インストールすることを推奨します。また、クラスターリソースを確保し、余分なコストを発生させないために、ICAgent プラグインは削除することを推奨します。
nginx-ingress プラグインのインストール
1)CPU およびメモリのリソース制限を設定します。
2)ロードバランサー ELB を作成します。
必要に応じて、専有型弹性ロードバランサーを選択することもできますが、本書では共有型を選択しています。注意:弹性公网 IP は、既存のものを使用することを推奨します。新規に作成する場合は、トラフィック課金で 300 Mbit/s 帯域幅の IP を作成してください。
- 専有型と共有型の違いについては、以下のリンクを参照してください。
https://support.huaweicloud.com/productdesc-elb/elb_pro_0004.html
3)nginx-ingress プラグインの nginx 転送に関する設定を行います。
# 以下の内容を追加します。
{
"allow-backend-server-header": "true",
"client-header-buffer-size": "32k",
"enable-underscores-in-headers": "true",
"forwarded-for-header": "X-Forwarded-For",
"generate-request-id": "true",
"ignore-invalid-headers": "true",
"keep-alive-requests": "100",
"large-client-header-buffers": "4 32k",
"proxy-body-size": "20m",
"proxy-connect-timeout": "20",
"reuse-port": "true",
"server-tokens": "false",
"ssl-protocols": "TLSv1 TLSv1.1 TLSv1.2 SSLv3",
"ssl-redirect": "false",
"use-gzip": "true",
"worker-cpu-affinity": "auto"
}
node-local-dns プラグインのインストール
- DNS Config インジェクション機能を有効にします。
注意
名前空間に node-local-dns-injection=enabled ラベルを追加する必要があります。これにより、DNS キャッシュ機能が使用可能になります。
ICAgent プラグインの削除(オプション)
AOM アプリケーション運用管理 を選択し、ICAgent プラグイン をアンインストールします。また、ログ超過時の継続収集とメトリクス収集のスイッチをオフにします。
3.4 手順 4:キャッシュサービス¶
- デフォルトの組み込みキャッシュサービスを使用することもできます。デフォルトの組み込みキャッシュサービスを使用しない場合は、以下の要件に従って Redis を設定してください。
- 分散キャッシュサービス(Redis バージョン)。
- Redis バージョン:6.0、標準マスター・スレーブアーキテクチャ、デュアルレプリカ対応。
- Redis パスワードを設定します。
- CCE が自動的に作成した ECS のプライベート IP を Redis のホワイトリストに追加します。
3.5 手順 5:GuanceDB for Metrics¶
3.6 手順 6:Elasticsearch¶
- 名称:クラウド検索サービス CSS
- バージョン:7.10.2
- セキュリティモードを有効にして、管理者アカウントとパスワードを設定できるようにします。
- CCE が自動的に作成した ECS のプライベート IP を Elasticsearch のホワイトリストに追加します。
3.7 手順 7:RDS¶
- 名称:クラウドデータベース RDS
- バージョン:8.0、標準アクティブ・スタンバイ版
- MySQL root ユーザーのパスワードを設定します。
- CCE が自動的に作成した ECS のプライベート IP を MySQL のホワイトリストに追加します。
4 kubectl のインストールと設定¶
4.1 kubectl のインストール¶
kubectl は Kubernetes のコマンドラインクライアントツールであり、このコマンドラインツールを使用してアプリケーションのデプロイ、クラスターリソースの確認や管理などを行うことができます。Launcher もこのコマンドラインツールに基づいてアプリケーションをデプロイします。具体的なインストール方法は、公式ドキュメントを参照してください。
また、クラスターをクリックして、kubectl をクリックして表示 することもできます。
4.2 kubeconfig の設定¶
パブリックアクセスとプライベートアクセスのどちらの kubeconfig を選択するかは、運用操作マシンがクラスターのプライベートネットワークと通信可能かどうかによって異なります。以下のユースケースに基づいてアクセス方式を決定してください。
5 インストールの開始¶
操作が完了したら、マニュアル インストールの開始 を参照してください。











