
# 搭建Nacos运行环境
#### 初始化Mysql数据
1. **检查Mysq** **l**
   
   **登录华为云页面访问云数据库 RDS For Mysql，本地通过Navicat页面提供的访问方式连接Mysql8数据库。**
   图1检查Mysql   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001894178749.png)
   
   
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构建镜像   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001894198077.png)
   ```
   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   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001847958562.png)
   图4构建步骤1   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001848117274.png)
   图5构建步骤2   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001894077593.png)
   图6构建步骤3   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001894198081.png)
   图7构建步骤4   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001847958566.png)
   图8构建步骤5   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001848117278.png)
   
   
8. **Nacos的CD流水线**
   
   创建 配置 执行
   图9集群管理   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001894080221.png)
   图10工作负载   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001894200685.png)
   图11创建服务   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001847961190.png)
   
   
   
9. **Nacos访问**
   
   配置nodePort暴露服务，在安全组放开对应端口 nacos访问检查（配置信息 集群信息）
   图12创建服务   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001848119902.png)
   图13网络控制   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001894080225.png)
   图14节点列表   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001835738844.png)
   图15配置列表   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001882418301.png)
   图16服务列表   
   ![](https://support.huaweicloud.com/difsps-saasapp/zh-cn_image_0000001882538097.png)
   
   
