Kubesphere は nacos クラスターをインストールします

目次

序文 

1. 事前環境

2、設定ファイルを編集します

2.nacosサービスを作成する

 3. エクストラネット アクセスを作成する



序文 

k8s kubeshere installstanacos 2.0.3、


1. 事前環境

nacos クラスター バージョンでは、データ ソースとして mysql が必要です。したがって、k8s に mysql データベースをインストールし、データベース テーブルを構築する必要があります。参照する

クラスターの展開手順 (nacos.io)


2、設定ファイルを編集します

kubeshere の構成センターに入ります。

新しい構成 application.properties を作成します。構成された値は、コピーされた nacos client/conf ディレクトリ内の application.properties です。

#
# Copyright 1999-2021 Alibaba Group Holding Ltd.
#
# Apache ライセンス バージョン 2.0 (「ライセンス」) に基づいてライセンスされています。
# ライセンスに準拠する場合を除き、このファイルを使用することはできません。# ライセンスのコピーは、 # # http://www.apache.org/licenses/LICENSE-2.0
で入手できます。# # 適用される法律で要求されたり、書面による同意がない限り、ライセンスに基づいて配布されるソフトウェア # は「現状のまま」で配布され、# 明示的か黙示的かを問わず、いかなる種類の保証や条件も付与されません。#ライセンスに基づく許可と制限を規定する特定の言語については、 # ライセンスを参照してください。#








#*************** Spring Boot 関連の構成 ***************#
### デフォルトの Web コンテキスト パス:
server.servlet.contextPath=/nacos
### デフォルトの Web サーバー ポート:
server.port=8848

#*************** ネットワーク関連の構成 ****************#
###cluster.conf で Nacos サーバー アドレスに IP よりホスト名を優先する場合:
# nacos.inetutils.prefer-hostname-over-ip=false

### ローカルサーバーの IP を指定します:
# nacos.inetutils.ip-address=


#*************** 構成モジュール関連の構成 ***************#
### MySQL をデータソースとして使用する場合:
 spring.datasource.platform=mysql

### DB の数:
 db.num=1

### DB の接続 URL:
 db.url.0=jdbc:mysql://mysql-4ijiwm-headless.mall-swarm:3306/mall_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password。 0
 =
 マネージャー

### 接続プール設定: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2

#*************** ネーミングモジュール関連の設定 ***************#
### データディスパッチタスクの実行期間 (ミリ秒): v2.1.X では削除され、nacos.core.protocol.distro.data.sync.layMs に置き換えられます
# nacos.naming.distro.taskDispatchPeriod=200

### バッチ同期タスクのデータ数: v2.1.X では削除されます。非推奨
# nacos.naming.distro.batchSyncKeyCount=1000

### 同期タスクが失敗した場合の再試行遅延 (ミリ秒単位): v2.1.X では削除され、nacos.core.protocol.distro.data.sync.retryDelayMs に置き換えられます
# nacos.naming.distro.syncRetryDelay=5000

### データウォームアップを有効にする場合。false に設定すると、サーバーはローカル データの準備なしでリクエストを受け入れます:
# nacos.naming.data.warmup=true

### インスタンスの自動有効期限を有効にすると、インスタンスのヘルスチェックのようなものになります:
# nacos.naming.expireInstance=true

### は削除され、`nacos.naming.clean` プロパティに置き換えられます
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000

### 2.0.0 で追加
### 空のサービスをクリーンアップする間隔 (単位: ミリ秒)。
# nacos.naming.clean.empty-service.interval=60000

### 空のサービスをクリーンアップするための期限切れ時間 (単位: ミリ秒)。
# nacos.naming.clean.empty-service.expired-time=60000

### 期限切れのメタデータを消去する間隔 (単位: ミリ秒)。
# nacos.naming.clean.expired-metadata.interval=5000

### メタデータを消去する期限切れ時間 (単位: ミリ秒)。
# nacos.naming.clean.expired-metadata.expired-time=60000

### サービス変更からプッシュタスクが実行されるまでの遅延時間 (単位: ミリ秒)。
# nacos.naming.push.pushTaskDelay=500

### プッシュタスク実行のタイムアウト (単位: ミリ秒)。
# nacos.naming.push.pushTaskTimeout=5000

### 失敗したプッシュタスクを再試行するための遅延時間 (単位: ミリ秒)。
# nacos.naming.push.pushTaskRetryDelay=1000

### 2.0.3 以降
### 非アクティブなクライアントの有効期限切れ時間 (単位: ミリ秒)。
# nacos.naming.client.expired.time=180000

#*************** CMDB モジュール関連の設定 ***************#
### 外部 CMDB をダンプする間隔 (秒):
# nacos.cmdb.dumpTaskInterval=3600

### データ変更イベントのポーリング間隔 (秒単位):
# nacos.cmdb.eventTaskInterval=10

### ラベルをロードする間隔 (秒):
# nacos.cmdb.labelTask​​Interval=300

### データ読み込みタスクをオンにする場合:
# nacos.cmdb.loadDataAtStart=false


#*************** メトリクス関連の設定 ***************#
### prometheus のメトリクス
#management.endpoints.web.exposure.include=*

### エラスティック検索のメトリクス
Management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200

###流入メトリクス
.metrics.export.influx.compressed = true




#*************** アクセスログ関連の設定 ***************#
### アクセスログを有効にする場合:
server.tomcat.accesslog.enabled=true

### アクセス ログ パターン:
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i

### アクセスログのディレクトリ:
server.tomcat.basedir=

#*************** アクセス制御関連の構成 ***************#
### Spring Security を有効にする場合、このオプションは 1.2.0 で非推奨になります:
#spring.security.enabled=false

### 認証の無視 URL は 1.2.0 で非推奨になりました:
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/** 、/v1/console/health/**、/actuator/**、/v1/console/server/**

### 使用する認証システム。現在サポートされているのは「nacos」と「ldap」のみです:
nacos.core.auth.system.type=nacos

### 認証システムをオンにする場合:
nacos.core.auth.enabled=false

### nacos.core.auth.system.type=ldap、{0} がプレースホルダーの場合に機能し、ログイン ユーザー名を置き換えます
# nacos.core.auth.ldap.url=ldap://localhost:389
# nacos.core.auth.ldap.userdn=cn={0},ou=user,dc=company,dc=com

### トークンの有効期限 (秒単位):
nacos.core.auth.default.token.expire.seconds=18000

### デフォルトのトークン:
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

### 認証情報のキャッシュをオン/オフにします。このスイッチをオンにすると、認証情報の更新に 15 秒の遅延が発生します。
nacos.core.auth.caching.enabled=true

### 1.4.1 以降、古いバージョンからのアップグレードの場合にのみ、ユーザー エージェント: nacos-server のホワイト認証をオン/オフにします。
nacos.core.auth.enable.userAgentAuthWhite=false

### 1.4.1 以降、nacos.core.auth.enabled=true および nacos.core.auth.enable.userAgentAuthWhite=false の場合に動作しました。
### 2 つのプロパティは認証用のホワイト リストであり、他のサーバーからのリクエストを識別するために使用されます。
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security

#*************** Istio 関連の構成 ****************#
### MCP サーバーをオンにする場合:
nacos.istio.mcp.server.enabled=false

#*************** コア関連の構成 ***************#

### WorkerID を手動で設定します
# nacos.core.snowflake.worker-id=

### メンバーメタデータ
# nacos.core.member.meta.site=
# nacos.core.member.meta.adweight=
# nacos.core.member.meta.weight=

### MemberLookup
### Addressing pattern category, If set, the priority is highest
# nacos.core.member.lookup.type=[file,address-server]
## Set the cluster list with a configuration file or command-line argument
# nacos.member.list=192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
## for AddressServerMemberLookup
# Maximum number of retries to query the address server upon initialization
# nacos.core.address-server.retry=5
## Server domain name address of [address-server] mode
# address.server.domain=jmenv.tbsite.net
## Server port of [address-server] mode
# address.server.port=8080
## Request address of [address-server] mode
# address.server.url=/nacos/serverlist

#*************** JRaft 関連の設定****************#

### Raft クラスター選択タイムアウトを設定します。デフォルト値は 5 秒です。
# nacos.core.protocol.raft.data.election_timeout_ms=5000
### Raft スナップショットが定期的に実行される時間を設定します。デフォルトは 30 分です。 #
nacos.core.protocol.raft.data.snapshot_interval_secs=30
### raft 内部ワーカースレッド
# nacos.core.protocol.raft.data .core_thread_num=8
### raft ビジネス リクエストの処理に必要なスレッドの数
# nacos.core.protocol.raft.data.cli_service_thread_num=4
### raft の線形読み取り戦略。安全な線形読み取りがデフォルトで使用されます。つまり、リーダーの在職期間はハートビートによって確認されます。
# nacos.core.protocol.raft.data.read_index_type=ReadOnlySafe
### rpc リクエストのタイムアウト、デフォルトは 5 秒
# nacos.core.protocol.raft.data.rpc_request_timeout_ms=5000

#*************** ディストリビューション関連の構成 ***************#

### ディストリビューション データの同期遅延時間。同期タスクが遅延すると、タスクは同じデータ キーに対してマージされます。デフォルトは 1 秒です。
# nacos.core.protocol.distro.data.sync.layMs=1000

### 1 つの同期データのディストリビューション データ同期タイムアウト、デフォルトは 3 秒です。
# nacos.core.protocol.distro.data.sync.timeoutMs=3000

### データの同期が失敗またはタイムアウトした場合のディストリビューション データ同期の再試行遅延時間。DelayMs と同じ動作、デフォルトは 3 秒です。
# nacos.core.protocol.distro.data.sync.retryDelayMs=3000

### ディストリビューション データは間隔時間を確認し、同期されたデータが一定間隔で期限切れになったかどうかを確認します。デフォルトは 5 秒です。
# nacos.core.protocol.distro.data.verify.intervalMs=5000

### ディストリビューション データ検証の 1 回の検証タイムアウト、デフォルトは 3 秒です。
# nacos.core.protocol.distro.data.verify.timeoutMs=3000

### スナップショット データのロードが失敗した場合のディストリビューション データのロード再試行の遅​​延、デフォルトは 30 秒です。
# nacos.core.protocol.distro.data.load.retryDelayMs=30000
 

 設定項目の主な変更は、データソースを開いて、mysql のアドレスとデータ名を設定することです。mysql アドレスは k8s の mysql の DNS です

### MySQL をデータソースとして使用する場合:
 spring.datasource.platform=mysql

### DB の数:
 db.num=1

### DB の接続 URL:
 db.url.0=jdbc:mysql://mysql-4ijiwm-headless.mall-swarm:3306/mall_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=nacos db.pass word.0
 =
 ナコス

 新しい設定項目「cluster.conf」を作成してクラスタ情報を設定します。同じ設定値は nacos /conf ディレクトリの「cluster.conf」です

#
# Copyright 1999-2018 Alibaba Group Holding Ltd.
#
# Apache ライセンス バージョン 2.0 (「ライセンス」) に基づいてライセンスされています。
# ライセンスに準拠する場合を除き、このファイルを使用することはできません。# ライセンスのコピーは、 # # http://www.apache.org/licenses/LICENSE-2.0
で入手できます。# # 適用される法律で要求されたり、書面による同意がない限り、ライセンスに基づいて配布されるソフトウェア # は「現状のまま」で配布され、# 明示的か黙示的かを問わず、いかなる種類の保証や条件も付与されません。#ライセンスに基づく許可と制限を規定する特定の言語については、 # ライセンスを参照してください。#








#it​​ is is is is
is sample
s-nacos-v1-0.s-nacos.mall-swarm.svc.cluster.local:8848
s-nacos-v1-1.s-nacos.mall-swarm.svc.cluster.local:8848
S-NACOS-V1-2.S-NACOS.MALL-SWARM.SVC.CLUSTER.LUSTER.LOCAR
 

 完全な構成、

 

 注: ここで取得するのが難しいのは、3 つの nacos クラスター ノードのアドレスです。ノードのアドレスは次のとおりです。

サービス名 - コンテナのシリアル番号 - サービス DNS.svc.cluster.local:port

つまり、nacos サービスの名前を s-nacos にすることにまず同意する必要があります。

作成はステートフル サービスであるため、サービス ID は v1-0 v1-1 v1-2 ... のように固定されます。

サービス DNS の構成は、サービス名、プロジェクト名、およびサービス名です。

この規則に従って、3 つのノード アドレスが生成されます。

s-nacos-v1-0.s-nacos.mall-swarm.svc.cluster.local:8848
s-nacos-v1-1.s-nacos.mall-swarm.svc.cluster.local:8848
s-nacos-v1-2.s-nacos.mall-swarm.svc.cluster.local:8848

 上記の方法が面倒だと思う場合は、気軽に nacos をインストールしてから bin/bash に接続し、nacos の DNS に ping を実行して返されたアドレスを確認することもできます。

 


2.nacosサービスを作成する

ステートフルなサービスを作成する

 名前は上記のクラスター アドレスと同じである必要があります。この例では s-nacos です。

 コピー数として 3 を選択し、コンテナとして nacos/nacos-server:2.0.3 を選択します。

 リソースを CPU 1、メモリ 1G に制限します。マシン構成が良好であればさらに追加できます。公式のデフォルトは 2G です。ポートは 8848 に設定されています。

 環境変数 JVM_XMS=1g JVM_XMX=1g JVM_XMN=512m を構成します。正式なデフォルトはそれぞれ 2G、2G、1G です。これ以上小さく調整することはできず、小さくするとOOMkillになります。

 設定ファイルをマウントし、ディレクトリ /home/nacos/conf をマウントします。

前に入力した構成ファイルを選択します。ここでサブパスをマウントする必要があります。フォルダーを直接マウントすると、フォルダー内の他の構成が上書きされます。

 

 

 両方のファイルがマウントされています

 「次へ」をクリックし、「作成」をクリックします。ログを確認してください。

 3. エクストラネット アクセスを作成する

サービスの作成 - ワークロードの指定

 

 最初のアクセス タイプとして [仮想 IP] を選択し、ワークロードとして nacos を指定します。ポート8848を入力します

 外部ネットワーク アクセス、NodePort モードを選択します。作成。

サービスのリストで、公開されているポート 31544 を確認します。

 ここまでで、nacos クラスターが構築されました。任意のクラスター IP と公開された外部ネットワーク ポートを介して nacos バックグラウンドに入ることができます。


おすすめ

転載: blog.csdn.net/qq_31277409/article/details/120911434