【私有云版本升级】私有云自动更新nacos配置

Viewed 244

Tip:每次更新都需要自行拉取对应版本的nacos配置包nacos.zip
执行节点:k3s-master

将nacos自动更新工具压缩包解压到/yidayun/install/deploy/nacos目录下(仅第一次需要操作)

<nacos自动更新工具压缩包>下载地址:

https://g-nypz7987-generic.pkg.coding.net/yidayun/code/nacos_tool.zip?version=latest

目录下必须存在的文件

[root@k3s-master ~]# ls /yidayun/install/deploy/nacos
config.ini  nacos_data.json  python_nacos_sdk

步骤一:下载并上传物料

Tip:每次更新都需要自行拉取对应版本的nacos配置包nacos.zip

将nacos配置包下载到/yidayun/install/deploy/nacos

win下载<nacos包>地址,${yidayun_version}为后端更新版本:

https://g-nypz7987-generic.pkg.coding.net/yidayun/code/nacos.zip?version=${yidayun_version}

linux下载<nacos包>

curl -fL "https://g-nypz7987-generic.pkg.coding.net/yidayun/code/nacos.zip?version=${yidayun_version}" -o /yidayun/install/deploy/nacos/nacos.zip

将shell脚本下载到/yidayun/install/deploy/scripts/

<nacos自动更新shell脚本>下载地址:

https://g-nypz7987-generic.pkg.coding.net/yidayun/code/nacos_update.sh?version=latest

/yidayun/install/deploy/nacos目录下必须存在的文件,文件不可修改名称,必须严格按照目录结构、命名

[root@k3s-master ~]# ls /yidayun/install/deploy/nacos
config.ini  nacos_data.json  python_nacos_sdk  nacos.zip

文件解析
config.ini:nacos登录信息,注意不需要带引号

[Settings]
NACOS_ADDRESS = 10.0.3.11:30077
NACOS_NAMESPACE = yidayun-conf
NACOS_GROUP = DEFAULT_GROUP
NACOS_USERNAME = nacos
NACOS_PASSWORD = 4UU

nacos_data.json:每次发版会在【产品更新】文档,如【产品更新-V2.10.0】,提供以下key-value的增删改查,客户只需要维护好这份配置就行,详细每个key的注释
image.png
例如 原来版本2.12.0 目标更新到 2.13.0 就需要参考2.13.0的【产品更新】文档
https://answer.web.yidayun.com/questions/10010000000000123/chan-pin-geng-xin-v2-13-0-pai-zhao-shui-yin-shu-ju-fen-xiang-biao-ti-an-niu-gan-te-tu-fu-ji-ren-wu-shu-xing-jie-gou-zhan-shi-deng-deng

image.png

在/yidayun/install/deploy/nacos/nacos_config目录中。目录中demo.json文件也提供完整的配置信息

{
    "MYSQL_HOST": "mysql",
    "MYSQL_USERNAME": "",
    "MYSQL_PASSWORD": "",
    "MYSQL_DB": "",
    "MYSQL_PORT": "",
    "ORM_PRINT_SQL": "",
    "WEB_BASE_URL": "",
    "API_BASE_URL": "",
    "MOBILE_BASE_URL": "",
    "MINIO_PUBLIC_URL": "",
    "MINIO_PUBLIC_SECURE": "",
}

步骤二:执行脚本

检查k3s的master机器上是否安装python3.7

which python3.7
如果返回为空,请客户自行安装

pyyaml包、requirements.txt下载:
curl -fL https://g-nypz7987-generic.pkg.coding.net/yidayun/code/requirements.txt?version=latest -o requirements.txt
curl -fL https://g-nypz7987-generic.pkg.coding.net/yidayun/code/PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl?version=latest -o requirements.txt

假设pyyaml包、requirements.txt存放在/root/目录下
pip3 install --no-index --find-links=/root/ -r /root/requirements.txt
/usr/local/bin/python3 -m pip install pyyaml

脚本授权

chmod 740 /yidayun/install/deploy/scripts/nacos_update.sh

自定义配置(如需)

将自定义配置文件(必须命名ext.yaml)到/yidayun/install/deploy/nacos目录下
示例如下:
ext.yaml

spring:
  datasource:
    driver-class-name: xx
    password: xx

执行

sh /yidayun/install/deploy/scripts/nacos_update.sh <后端版本号>

示例:

sh /yidayun/install/deploy/scripts/nacos_update.sh 2.11.3

image.png
如图所示,脚本执行成功

nacos配置详解

minio和cos(腾讯云对象存储)

minio示例配置

"DEFAULT_OSS": "minio",
"MINIO_PRESET": "preset",
"MINIO_IMAGE": "image",
"MINIO_ATTACHMENT": "attachment",
"MINIO_HTML": "html",
"MINIO_TEMP": "temp",
"MINIO_EXCEL": "excel",

cos(腾讯云对象存储)示例配置

"DEFAULT_OSS": "cos",
"COS_USERNAME": "",
"COS_PASSWORD": "",
"COS_PRESET": "pro-preset-1314002",
"COS_IMAGE": "pro-image-1314002",
"COS_ATTACHMENT": "pro-attachment-1314002",
"COS_HTML": "pro-html-1314002",
"COS_TEMP": "pro-temp-1314002",
"COS_EXCEL": "pro-excel-1314002",

COS_USERNAME COS_PASSWORD为腾讯云主账号授权的API密钥管理,必须授权对象存储的最高权限
COS_USERNAME对应id
COS_PASSWORD对应secret

短信模板(腾讯云、阿里云短信)

阿里云

只需要使用nacos_data.json中的通用配置进行修改

"SMS_APP_ID": 0,
"SMS_ID": "LTAI5t7wh8PyupUJJs",
"SMS_KEY": "Fy10Zz0clXuFWIcZXWiBoiWO",

腾讯云

直接在自定义配置(/yidayun/install/deploy/nacos/ext.yaml)新增配置:

sms:
  app:
    id: 0
  endpoint: sms.tencentcloudapi.com
  region: ap-guangzhou
  secret:
    id: LTAI5tGAjpR8H1tGFy
    key: t3AICQUE1LLKHghbK
  sign:
    method: HmacSHA256
    name: 易搭云
  supplier: tencent
  template:
    code:
      id: SMS_270350
      keys: ""
    invite:
      id: SMS_2703
      keys: ""

被邀请员工默认密码

"CREATE_ACCOUNT_FLAG": 'true',
"DEFAULT_PASSWORD": "Abc@12345",

CREATE_ACCOUNT_FLAG:是否开启被邀请员工自动赋值默认密码
DEFAULT_PASSWORD:设置默认密码

修改完重启be-api be-consumer

license修改

"LICENSE_KEY": ""

修改完重启be-api

minio修改为cos

0 Answers