项目服务的配置管理和服务注册发现由原先的Nacos全面迁移到Kubernetes上。
-
一、移除Nacos
-
移除Nacos组件依赖。
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>
-
移除Nacos配置。正常情况下配置位于bootstrap.yml文件。
spring: cloud: nacos: discovery: register-enabled: true server-addr: ${NACOS_HOST} username: ${NACOS_USERNAME} password: ${NACOS_PASSWORD} namespace: ${NACOS_NAMESPACE} group: ${NACOS_GROUP} weight: 1 metadata: management: context-path: ${server.servlet.context-path}/actuator config: enabled: true server-addr: ${NACOS_HOST} username: ${NACOS_USERNAME} password: ${NACOS_PASSWORD} namespace: ${NACOS_NAMESPACE} group: ${NACOS_GROUP} prefix: ${spring.application.name} file-extension: yml encode: UTF-8 shared-configs: - data-id: common-config.yml group: ${NACOS_GROUP} refresh: true
-
-
二、引入Kubernetes
-
引入Kubernetes组件依赖。
<!-- Kubernetes依赖包 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-kubernetes</artifactId> <version>1.1.10.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-kubernetes-config</artifactId> <version>1.1.10.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-kubernetes-ribbon</artifactId> <version>1.1.10.RELEASE</version> </dependency>
-
引入Kubernetes配置。通常情况下修改bootstrap.yml文件。需要先把Nacos上的项目服务配置信息迁移至Kubernetes的ConfigMap上。
spring: cloud: kubernetes: discovery: enabled: true all-namespaces: true config: sources: - name: common-config namespace: default - name: service-config namespace: default reload: enabled: true monitoring-config-maps: true monitoring-secrets: true strategy: refresh mode: event
-