更新时间:2024-04-12 GMT+08:00
分享

搭建Nacos运行环境

初始化Mysql数据

  1. 检查Mysql

    登录华为云页面访问云数据库 RDS For Mysql,本地通过Navicat页面提供的访问方式连接Mysql8数据库。

    图1 检查Mysql

  2. 导入初始化数据

    1. 从代码包内获取Nacos初始化数据脚本
    2. 将脚本导入Mysql数据库内

部署Nacos

  1. 下载Nacos源码 并上传仓库

    参考文档:https://nacos.io/docs/v2/quickstart/quick-start/

  2. Nacos配置

    跳过rat检查

    mvn clean install -DskipTests -Drat.skip=true

  3. Nacos的Dockerfile

    liangzl.com/get-article-detail-215424.html
    /Dockerfile
    FROM swr.cn-east-3.myhuaweicloud.com/group-dev/java:8-jre
    MAINTAINER ora@dtt.com
    ENV TZ=Asia/Shanghai
    ENV JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
    RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    RUN mkdir -p /ora-register
    WORKDIR /ora-register
    EXPOSE 8848
    ADD /distribution/target/nacos-server-2.0.4.tar.gz ./
    CMD /bin/bash /ora-register/nacos/bin/startup.sh;tail -f /ora-register/nacos/logs/start.out

  4. Nacos的数据持久化

    distribution/conf/application.properties
    #*************** Config Module Related Configurations ***************# ### If use MySQL as datasource: spring.datasource.platform=mysql  ### Count of DB: db.num=1  ### Connect URL of DB: db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST:xx.xx.xxx.xxx}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME:xxx_config}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=${MYSQL_SERVICE_USER:root} db.password.0=${MYSQL_SERVICE_PASSWORD:xxxxxxxxxxxxxxxxxxx}

  5. Nacos数据表增加字段

    修改nacos数据库表的字段

    `encrypted_data_key`text NOTNULL COMMENT'密钥',
    config_info    config_info_beta    his_config_info 这三个表里 添加上述字段

  6. Nacos集群启动配置

    (nacos设置环境变量)编辑nacos的yaml文件 添加以下的环境变量 
                env:
                - name: PAAS_APP_NAME
                  value: nacos
                - name: PAAS_NAMESPACE
                  value: d-fsc
                - name: PAAS_PROJECT_ID
                  value: 0d482d86ad00f4262f46c01fb222710c
                - name: NACOS_REPLICAS
                  value: '3'
                - name: MYSQL_SERVICE_HOST
                  value: xx.xx.xx.xx
                - name: MYSQL_SERVICE_DB_NAME
                  value: xxx_config
                - name: MYSQL_SERVICE_PORT
                  value: '3306'
                - name: MYSQL_SERVICE_USER
                  value: root
                - name: MYSQL_SERVICE_PASSWORD
                  value: xxxxxxxxxxxxx
                - name: MODE
                  value: cluster
                - name: NACOS_SERVER_PORT
                  value: '8848'
                - name: PREFER_HOST_MODE
                  value: hostname
                - name: NACOS_SERVERS
                  value: nacos-0.nacos-headless.d-fsc.svc.cluster.local:8848 nacos-1.nacos-headless.d-fsc.svc.cluster.local:8848 nacos-2.nacos-headless.d-fsc.svc.cluster.local:8848

  7. Nacos的CI流水线

    创建 配置 执行

    图2 构建镜像
    ieo-nacos-构建镜像
    mvn -Prelease-nacos -Dmaven.test.skip=true  -Drat.skip=true clean install -U
    distribution/target/*
    env_dev
    ieo-nacos
    v1.1
    ./
    ./Dockerfile

    图3 构建镜像1
    图4 构建步骤1
    图5 构建步骤2
    图6 构建步骤3
    图7 构建步骤4
    图8 构建步骤5

  8. Nacos的CD流水线

    创建 配置 执行

    图9 集群管理
    图10 工作负载
    图11 创建服务

  9. Nacos访问

    配置nodePort暴露服务,在安全组放开对应端口 nacos访问检查(配置信息 集群信息)

    图12 创建服务
    图13 网络控制
    图14 节点列表
    图15 配置列表
    图16 服务列表

相关文档