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

推薦する

#おすすめ# SharkTech: 30% 割引コード、1Gbps 専用帯域幅、ロサンゼルス サーバー、無料の DDoS 保護

Sharktech のロサンゼルス データ センターでは、いくつかの安価なサーバーを特別にプロモーシ...

注目すべき5つのクラウドネイティブテクノロジー

クラウドネイティブは文化でありトレンドです。これはクラウド コンピューティングの避けられない方向性で...

おすすめ: Vultr-October、新しい 15 ドルの VPS 割引コード (実際は 25 ドル)

Vultr は新しい割引コード TGIF15 をリリースしました。この割引コードを使用すると、15 ...

事例分析:企業ウェブサイトのターゲットキーワードの見つけ方

SEO ランキングが必要なウェブサイトの場合、ウェブサイトのキーワードの位置付けが初期段階で不正確で...

hostmybytes - アジア向けに最適化された KVM VPS、512M、年間 9 ドル、Windows 搭載

Hostmybytes は、今月中旬に OpenVZ ベースの仮想 VPS を超低価格で開始しました...

virpus: 年末に年間 VPS が 40% 割引、シアトル データ センターの Linux および Windows VPS は年間 20 ドルから

virpus さん、今年のブラックフライデーとサイバーマンデーは完璧に逃してしまいましたが、なぜか突...

新しいサイトのポジショニングとキーワードのマイニングについて話し合いましょう

ウェブサイトを構築することを決めたら、まずウェブサイトのポジショニングを検討し、そのポジショニングに...

タイガースニフの徹底分析:成功する製品はどのように作られるか

Huxiu は設立からまだ半年しか経っていないテクノロジーメディアのウェブサイトです。さまざまな角度...

「仮想化」(Intel VT および AMD SVM)に関するある程度の理解

[[282702]] 1. はじめに数日前、BIOS に入り、何気なくパラパラと見て、理解できない機...

適切なキーワード選択への道: 多様性、品質、橋渡し

キーワードの最適化は、ウェブマスターにとって常に関心事です。キーワードの最適化をうまく行うということ...

「2014年インターネット浄化」特別キャンペーンが始まり、オンライン文学界に動揺を引き起こし、いくつかの文学サイトがメンテナンスと修正を受けている。

A5ウェブマスターネットワークは4月13日、本日の新華網のトップニュースで、インターネット上のわいせ...

PaaS開発は2018年に転換点を迎えるかもしれない

過去 10 年間で、クラウド コンピューティングは初期から爆発的な成長を遂げました。 3 つのサービ...

マルチクラウド環境を展開するための4つのステップ

2017 年は企業によるクラウド コンピューティングの導入にとって大きな年であったことは間違いありま...

Meituan.com はフランチャイズ店を募集しています。地元の共同購入ウェブサイトの終焉は間近です。

今夜、偶然Pizhouフォーラムの投稿を見ました。求人の名称は「Meituan.com 邳州駅 月給...

WeChatマーケティングプロモーションを行うには?実用的な方法にはどのようなものがありますか?

WeChat マーケティングプロモーションで注意する必要があるいくつかの問題:最初のポイント: まず...