Kubernetes ベースの Nacos 高可用性クラスターを実行する方法

Kubernetes ベースの Nacos 高可用性クラスターを実行する方法

Nacos (Namings and Configuration Management) は、Alibaba のオープンソースの動的サービス検出、構成管理、およびサービス管理プラットフォームであり、クラウドネイティブ アプリケーションの構築を容易にします。

以下は、Nacos の主な機能と特徴の一部です。

  • サービス検出とサービスヘルスチェック: Nacos は、DNS と RPC に基づくサービス検出をサポートします。つまり、マイクロサービス アプリケーションは Nacos に自身を登録し、他のサービスを検出できるようになります。同時に、Nacos は登録されたサービスに対してヘルス チェックを実行し、サービスが利用可能であることを確認できます。
  • 動的構成サービス: マイクロサービス アーキテクチャでは、構成情報が頻繁に変更される可能性があります。 Nacos は、集中化された外部化された動的構成サービスを提供します。 Nacos では構成情報を動的に管理および変更できます。構成を使用するすべてのサービスにリアルタイムで通知され、再起動せずに新しい構成が適用されます。
  • ダイナミック DNS サービス: Nacos は DNS プロトコルに基づくサービス検出方法を提供し、クラスター間およびリージョン間のサービス検出要件をより適切にサポートできます。
  • サービスとメタデータの管理: Nacos は、統合されたサービス管理とメタデータ管理機能を提供します。 Nacos では、すべてのサービスの情報とステータス、およびサービスのメタデータ情報を管理できます。
  • 永続性のサポート: Nacos は MySQL データベースの永続性をサポートしており、登録サービスと構成情報のセキュリティを確保できます。
  • 統合と拡張が簡単: Nacos は豊富な API とプラグインを提供しており、他のシステムと簡単に統合でき、必要に応じて拡張することもできます。
  • 複数の環境をサポート: Nacos は、スタンドアロン環境、クラスター環境、Kubernetes や Docker などのクラウド環境で実行できます。一般的に、Nacos は、開発者がマイクロサービス アプリケーションをより適切に構築および管理するのに役立つ強力なサービス登録および構成管理プラットフォームです。

詳しいコンテンツはこちら:https://nacos.io/zh-cn/docs/architecture.html

Nacosデータベースを作成する

データベースのインストールと展開についてはここには書かれていません。

 # 下载初始化SQL文件$ wget https://raw.githubusercontent.com/alibaba/nacos/master/distribution/conf/mysql-schema.sql
 # 进去容器$ docker exec -it mysql bash # 进入数据库$ mysql -u root -pAdmin@1234 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.44 MySQL Community Server (GPL) Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> # 创建数据库mysql> create database nacos; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | nacos | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) # 初始化数据库mysql> use nacos; mysql> source mysql-schema.sql;

Nacos高可用性クラスタをインストールする

このケースでは、永続ストレージのデプロイメントとして MySQL を使用します。

 # 新建一个命名空间$ kubectl create ns dev # 拉取安装配置$ git clone https://github.com/nacos-group/nacos-k8s.git $ cd nacos-k8s/deploy/nacos

設定を変更します。

 # 修改数据库信息$ nacos-no-pvc-ingress.yaml ... apiVersion: v1 kind: ConfigMap metadata: name: nacos-cm data: mysql.host: "10.0.53.73" mysql.db.name: "nacos" mysql.port: "3306" mysql.user: "root" mysql.password: "Admin@1234" - name: NACOS_AUTH_ENABLE value: "true" - name: nacos.core.auth.server.identity.key value: "subM8MzvolJ+MWYVhgkOBC7EvkwOrYczDYOsAB/6KhA=" - name: nacos.core.auth.server.identity.value value: "7YlBYjd2HU+9DJpPRV4zcvvEkBqO8SxNpfJRDNqPH30=" - name: nacos.core.auth.plugin.nacos.token.secret.key value: "SecretKey012345678901234567890123456789012345678901234567890123456789" - name: NACOS_SERVERS value: "nacos-0.nacos-headless.dev.svc.cluster.local:8848 nacos-1.nacos-headless.dev.svc.cluster.local:8848 nacos-2.nacos-headless.dev.svc.cluster.local:8848" ...

注意: NACOS_SERVERS 構成で指定された名前空間は、Nacos によって展開された名前空間と一致している必要があります。

作成を実行します:

 $ kubectl apply -f nacos-pvc-nfs.yaml -n dev service/nacos-headless created configmap/nacos-cm created statefulset.apps/nacos created

ポッドのステータスを確認します。

 $ kubectl get pods -n dev NAME READY STATUS RESTARTS AGE nacos-0 1/1 Running 0 4m35s nacos-1 1/1 Running 0 4m19s nacos-2 1/1 Running 0 4m4s

アクセス検証

今回は、最も単純な転送ポートが公開およびアクセスのために転送されます (Ingress 経由で公開およびアクセスすることもできます)。

 $ kubectl port-forward -n dev nacos-0 8848:8848 --address 0.0.0.0

http://転送マシン IP:8848 デフォルトアカウント/パスワード: nacos/nacos:

クラスターのステータスを確認します。

これまでに、Nacos クラスターが展開されました。

SpringCloud マイクロサービス コンテナのデプロイメント: https://www.processon.com/view/link/656850b84b191f7e7e04d4f5

<<:  独自の ES クラスターをクラウドに移行するための完全なガイド

>>:  2024 年に統合データ ストレージを推進する 4 つの要因

推薦する

トップ SEO 戦略 - Google の 1 ページ目に目立つ

ジョン・ログネルド更新日: 2007 年 5 月 11 日午後 12:00 (東部標準時)翻訳:方林...

すでに Docker があるのに、なぜ Kubernetes が必要なのでしょうか?

諺にもあるように、「千人の読者の目には千のハムレットがある」。 Kubernetes にも同じことが...

Filezilla Server を使用して Windows Server 2008 上に FTP サーバーを構築する

ここでは、Filezilla サーバー ソフトウェアを使用して Windows Server 200...

微米昌テンセントWeiboのトラフィック収益化への道

現在、「3B戦争」が本格化しています。Qihoo 360社が率先してこの戦争を引き起こし、その目的は...

大規模分散ストレージシステム - 分散ファイルシステム

分散ファイルシステムは、分散ストレージシステム (キー値システム、テーブルシステム、データベースシス...

WeChat 電子商取引用語の完全ガイド: 区別が難しい WeChat の名前 11 個

[Ebrun Power Network News] WeChatは一連の「マイクロ」製品を生み出し...

パンデミックがクラウドコンピューティング投資に及ぼす10の影響

クラウド コンピューティング テクノロジーは、ゲームのルールを変えました。クラウド コンピューティン...

BAT の春節紅包のレビュー: To C から To B まで!

春節の連休が過ぎ、2019年の春節紅包戦も終わりを迎えました。今年のBAT紅包戦略を振り返ると、新た...

ランキング後もSEO最適化を継続する方法

最初の問題は、あなたのウェブサイトはランキングを持っていますが、キーワードが安定していないことです。...

raksmart: 香港データセンターサーバーの実際の評価データを共有し、raksmartサーバーがいかに優れているかを伝えます

raksmart はアメリカの老舗データセンターなので、raksmart 香港サーバーについて、また...

GPU クラウド サーバーを AI インフラストラクチャに統合するにはどうすればよいでしょうか?

GPU クラウド サーバーは、グラフィック プロセッシング ユニットを利用して高性能タスクを処理する...

terrahost: ノルウェー VPS、月額 0.92 ユーロ、256M メモリ/1 コア/30g NVMe/1T トラフィック

2006 年にノルウェーのオスロで設立された Terrahost は、独自のデータ センターを所有お...

Baidu Experienceの合格率を向上させる方法

新しいウェブサイトを構築したとき、その重さは非常に低いです。このとき、誰もがウェブサイトの重さを改善...