tencent cloud

サービスの登録と検出

Download
フォーカスモード
フォントサイズ
最終更新日: 2024-01-09 12:40:53

操作シナリオ

ここでは、主にTEMコンソールでSpringCloudアプリケーションサービスの登録と検出を実装するための具体的な手順を紹介します。

操作手順

コンソール操作

1. TEMコンソールにログインします。
2. 左側のナビゲーションバーで、アプリケーション管理をクリックしてアプリケーション管理ページに進み、アプリケーションをデプロイするリージョンを選択します。
3. 新規作成をクリックしてアプリケーションの新規作成ページに進み、アプリケーション情報を入力してデプロイします。アプリケーションの作成とデプロイをご参照ください。
4. Spring Cloudアプリケーションの場合、選択した環境のパブリッシュがレジストリにバインドされている場合、デプロイする際にレジストリ情報を自動的に挿入を選択することができます。

具体的な構成

レジストリの自動挿入を選択した場合、ユーザーがデプロイを送信すると、TEMは自動的にレジストリのデフォルトパラメータをpropertiesの形式で環境内のtse-configという名前のConfigMapに保存します。また、VolumeMountsの形式で、アプリケーションの/config/tse-default-spring-cloud-config.propertiesディレクトリにマウントします。
同時にTEMは、このディレクトリをアプリケーションの SPRING_CONFIG_ADDITIONAL-LOCATION環境変数に追加します。SPRING_CONFIG_ADDITIONAL-LOCATIONがアプリケーションに存在しない場合、この環境変数はアプリケーションに追加されます。
基本構成は次のとおりです。
apiVersion: v1
kind: Deployment
metadata:
name: my-service
spec:
containers:
- name: my-service
image: my-image
env:
- name: SPRING_CONFIG_ADDITIONAL-LOCATION
value: file:/config/tse-default-spring-cloud-config.properties
volumeMounts:
- name: tse-config
mountPath: /config/tse-default-spring-cloud-config.properties
subPath: tse-default-spring-cloud-config.properties
volumes:
- name: tse-config
configMap:
name: tse-config
items:
- key: tse-default-spring-cloud-config.properties
path: tse-default-spring-cloud-config.properties

TEMはそれぞれのレジストリに応じて、異なるパラメータを注入します。
zookeeper
nacos
申請するzookeeperのアドレスを10.0.1.30:2181と仮定します。
apiVersion: v1
data:
tse-default-spring-cloud-config.properties: |
spring.cloud.zookeeper.connectString=10.0.1.30:2181
spring.cloud.zookeeper.discovery.preferIpAddress=true
kind: ConfigMap
metadata:
name: tse-config

申請するnacosのアドレスを10.0.120.11:8848と仮定します。
apiVersion: v1
data:
tse-default-spring-cloud-config.properties: |
spring.cloud.nacos.discovery.server-addr=10.0.120.11:8848
kind: ConfigMap
metadata:
name: tse-config


説明と注意事項

preferIpAddressについて

ここでは、挿入されたすべてのレジストリパラメータにxxx.preferIpAddress=trueが追加されます。これは、Spring CloudがローカルIP(TEMのPod IP)を取得すると、IPに従ってドメイン名を自動的に逆引きするからです。preferIpAddressがfalse(デフォルトはfalse)であると判断した場合は、ドメイン名を使用して登録します。それ以外の場合はIPを介して登録します。
TEMでは、Pod IPはPodNameにマッピングされます。つまり、preferIpAddress=trueが設定されていない場合、レジストリに登録されているアドレスはPodNameとなります。他のサービスがレジストリからプルするサービスインスタンスのアドレスはPodNameであるため、PodNameを介してインスタンスにアクセスすることができなくなります。

Spring boot additional locationについて

TEMによって自動的に追加される環境変数 SPRING_CONFIG_ADDITIONAL-LOCATIONは、Spring bootアプリケーションにアプリケーションの外部でconfigをカスタマイズする機能を提供しますが、このパラメータはSpring boot 2.0バージョン以降でのみ有効になります。
Spring boot 1.xバージョンを使用している場合は、マウントディレクトリ/config/tse-default-spring-cloud-config.propertiesSPRING_CONFIG_LOCATION環境変数にご自身で追加してください。
JVM起動パラメータを直接追加して設定することもできます。具体的な設定は次のとおりです。
zookeeper
nacos
# 申請するzookeeperのアドレスを10.0.1.30:2181と仮定します
-Dspring.cloud.zookeeper.connectString=10.0.1.30:2181
-Dspring.cloud.zookeeper.discovery.preferIpAddress=true
# 申請するnacosのアドレスを10.0.120.11:8848と仮定します
-Dspring.cloud.nacos.discovery.server-addr=10.0.120.11:8848


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック