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 つの要因

推薦する

ウェブマスターツールのクエリに関する6つの大きな誤解を数えてみましょう

ウェブマスターは皆、便利だから、またはデータが優れていると思って虚栄心を満たすために、ウェブサイトの...

コンテナが攻撃されたときの対処方法: インシデント対応計画

翻訳者 |趙青棠校正:孫淑娟コンテナは、コード、構成ファイル、ライブラリ、システム ツールなど、あら...

Inspurは、ビジネスからITまでのラストマイルをつなぐ最高のaPaaSソリューションを提供します

PaaS(Platform-as-a- Service )とは、アプリケーションサービスの運用・開...

射撃場:企業に安全計画のチャンスをもう一度与える

[51CTO.comからのオリジナル記事] サイバーセキュリティ教育業界の先駆者として、北京永鑫志成...

瑞康製薬とアマゾン ウェブ サービスが戦略的協力協定を締結し、医薬品流通業界のデジタル変革のベンチマークを構築

アマゾン ウェブ サービスは、国内医薬品流通業界の大手企業である瑞康製薬と戦略的協力契約を締結したと...

ウェブサイトはスタートラインで勝利:新しいウェブサイト記事の外部リンクを公開

さて、小猫は今日もウェブサイトの「スタートラインで勝つ」コラムを更新します。このコラムは小猫テレビが...

racknerdはどうですか? racknerd の Seattle AMD Ryzen9 3900X+DDR4+NVMe シリーズ VPS の簡単なレビュー

racknerdはどうですか? racknerdは良いですか? Hostcat は、公式のものを除い...

B2Bウェブサイトを最適化する方法についてのアイデア

インターネット産業の急速な発展に伴い、国内の産業プラットフォームはますます増加し、ますます専門化して...

sonicfast: 英国 VPS-100G 高防御、年間 18 ユーロ、512M メモリ/1 コア/5gNVMe/1T トラフィック

Sonicfast は 2017 年後半に設立されました。公式電話番号によると、イタリアにあります。...

Baidu の大量攻撃でホームページがブロックされた場合の対処方法

今日、「Cat's Claw」という友人が、彼のウェブサイトのタイトルが悪意を持って改ざんさ...

優れたデータ:58元、4Gメモリ/ 4コア/ 130g SSD / 8M帯域幅、オプションの十堰/武漢/香港/韓国/米国、200Gbpsの高防御保護

現在、Youpin Data は国慶節 + 中秋節スーパープロモーションを開催しています。クラウドサ...

クラウドコンピューティングが医療業界にもたらす変化

クラウド コンピューティングは医療分野に大きく進出し、患者ケアの提供に革命をもたらし、業界全体を変革...

タイトルを変更してウェブサイトの権威を失うことを恐れないでください

月収10万元の起業の夢を実現するミニプログラム起業支援プラン多くの人が、ウェブサイトのタイトル変更に...

時折ホットワードが200のIPを呼び込み、企業ウェブサイトの直帰率に大きな打撃を与えた

人気の単語を検索することでもたらされるトラフィックがかなり大きいことは、誰もが知っていると思います。...