# 配置中心`cctp-config` 微服务配置中心,默认端口:8030 ## 命令脚本 Linux环境下执行 nk-ms.sh start|stop|restart|status Windows环境下执行 start.bat (暂未提供) ## 使用方式 步骤1:`pom.xml`中增加依赖配置 ```xml org.springframework.cloud spring-cloud-starter-config org.springframework.cloud spring-cloud-starter-netflix-eureka-client ... ... ``` 步骤2:不使用`application.yml`,只使用`bootstrap.yml`配置文件内容如下: ```yml server: port: <微服务端口号> spring: profiles: active: ${NACOS_NAMESPACE:dev} application: name: <微服务名称> cloud: config: label: ${APP_LABEL:master} discovery: enabled: true service-id: cctp-config --- spring: profiles: dev eureka: instance: instance-id: ${spring.cloud.client.ip-address}:${server.port} prefer-ip-address: true client: serviceUrl: defaultZone: http://user:password123@192.168.77.24:8761/eureka --- spring: profiles: sit eureka: instance: instance-id: ${spring.cloud.client.ip-address}:${server.port} prefer-ip-address: true client: serviceUrl: defaultZone: http://user:password123@${EUREKA_HOST:eureka.cctp.sit.northking.net}/eureka --- spring: profiles: prod eureka: instance: instance-id: ${spring.cloud.client.ip-address}:${server.port} prefer-ip-address: true client: serviceUrl: defaultZone: http://user:password123@${EUREKA_HOST:eureka.cctp.prod.northking.net}/eureka ``` 步骤3: 在配置中心的数据库中修改或者增加各个微服务的配置数据 配置中心的数据库IP: 192.168.77.26 192.168.77.47 数据库名称:cctp_config 表名:re_service_config 字段解释如下: + app_name: 微服务名称 + profile: 环境名称,dev-开发;sit-测试;prod-生产; + app_label: 版本,默认master不用修改 # K8S配置及使用 ## Dockerfile镜像配置文件 工程目录下的`Dockerfile`文件,是打包Docker镜像的配置文件,可能修改的内容如下: + EXPOSE: 端口号,与微服务的端口号一致 + ENV APP_NAME: 微服务名称 + ENV APP_VERSION: 版本号,与Maven配置文件pom.xml里的版本一致 ## k8s部署配置文件 工程目录下的`*.deployment.yaml`文件,是k8s的部署文件,可能修改的内容如下: + name: 部署的名称 + k8s-app: 标签名称 + image: 镜像地址 + containerPort: 容器的端口号 ## 打包部署的脚本 工程目录下的`docker-ctl.sh`文件,是k8s打包部署的脚本文件,可能修改的内容如下: + APP_NAME: 微服务名称 + APP_VERSION: Docker镜像的版本号(与maven的版本号无关) 脚本文件使用如下: ```shell script ./docker-ctl.sh < Command1 Command2 Command3 ... > ``` 命令可选项: + clean: 清理镜像、容器、 + build: 编译java代码+打jar包+打Docker镜像 + debug: 本地调试打包的Docker镜像 + push: 将打包的镜像推送到docker镜像私服仓库 + pull: 从docker镜像私服仓库拉取镜像到本地 + deploy: 将docker镜像部署到k8s 举例如下: ```shell script # 打包镜像 ./docker-ctl.sh build ## 打包、推送镜像、部署k8s ./docker-ctl.sh build push deploy ## 重启k8s里的部署服务(重新部署,就是重启) ./docker-ctl.sh deploy ``` ## k8s相关命令 ```shell script # 查看`cctp`空间下所有部署的内容 kubectl -n cctp get all # 查看 `podId`的日志,即微服务的日志 kubectl -n cctp logs -f # 进入指定容器内部 kubectl -n cctp exec -it sh ```