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 |