迁移步骤
- 资源申请
- 数据库
- Redis等中间件资源
- 集群使用权
- 代码迁移与部署(两个代码库同时使用期间bugfix应同时兼顾两个代码库)
- 新建代码库
- 新代码库增加DockerFile、gitlab-ci.yml、charts等容器化文件
- 启动无定时任务单实例,实例配置网络、域名
- 测试(此步需尤其注意各种编码问题,已写在下方)
- Postman测试后端服务
- 前端代码打包部署,测试
- 检测日志是否正常,测试业务流程,检验数据正常性
- 服务切换
- 更换路由时间无缝迁移
迁移前收集内网其他系统信息以及第三方API,进行网络联通
这里主要使用到的是 ping
或者 telnet
我这里有部分域名解析到外网去了,懒得找网管做DNS解析就直接操作容器了
使用deployment.yaml
直接写入hosts
案例:
- 在
values.yaml
中加入host映射
hostAliases: []
- ip: "127.0.0.1"
hostnames:
- "foo.local"
- "bar.local"
- 在
deployment.yaml
的metadata
中加入
volumes:
- name: esdata
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ .Values.persistence.existingClaim | default (
.Release.Name ) }}
{{- else }}
emptyDir: {}
{{- end }}
容器字体以及各种编码的设置
- 程序连接数据库参数,例如jndi配置
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8"
name="jdbc/test" type="javax.sql.DataSource" username="root" password="123456"/>
- 日志文件编码设置
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- 记录debug以上的日志 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%-5level] %logger{20} -
%msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<!--<logger name="" level="WARN"/>-->
</appender>
- 数据库编码格式
show VARIABLES like 'CHARACTER%';
[图片上传失败...(image-287b11-1572343472256)]
image.pngmysql要在配置文件my.ini/my.cnf
的[mysqld]
里配置
lower_case_table_names=1
character_set_server=utf8
max_connections=500
- 添加tomcat启动编码参数
可以检查下是linux下所有乱码还是仅仅是tomcat乱码,输入date命令查看时间是否存在乱码, 如果,tomcat下乱码会存在全是问号的情况,可以修改下tomacat中catalina.sh文件 在文件中加入
JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8"
或者直接创建一个setenv.sh进行export JAVA_OPTS
然后重启tomcat
- 看看容器的locale:
docker exec -it id locale
在Dockerfile中添加环境变量:
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
前后端分离应用打包问题
前端应用可以直接把编译后的静态文件打包发布
省去在线打包的步骤
可跨国多个子应用多语言设计打包障碍,提高效率
网友评论