ETCD数据迁移
ETCD数据迁移
本文阅读对象为想要将Rainbond平台rbd-etcd切换至外部etcd的相关人员。
- 在k8s master节点创建secret
本文中将要切换的ETCD为根据Rainbond官方文档安装的k8s集群ETCD,需要TLS认证,所以在这里将相关证书创建为k8s集群secret资源供Rainbond组件连接时使用;其他方式搭建的k8s集群请根据自身需要进行创建。
kubectl create secret generic etcd-tls-secret --from-file=/etc/kubernetes/ssl/kubernetes.pem --from-file=/etc/kubernetes/ssl/kubernetes-key.pem --from-file=/etc/kubernetes/ssl/ca.pem -n rbd-system
修改ETCD连接地址
修改Rainbond各组件连接ETCD的地址。
- rbd-api
$ kubectl edit deploy rbd-api -n rbd-system
spec:
containers:
- args:
- --etcd=https://172.24.206.76:2379
- --etcd-ca=/etc/kubernetes/ssl/ca.pem
- --etcd-cert=/etc/kubernetes/ssl/kubernetes.pem
- --etcd-key=/etc/kubernetes/ssl/kubernetes-key.pem
volumeMounts:
- mountPath: /etc/kubernetes/ssl
readOnly: true
name: etcd-tls
volumes:
- name: etcd-tls
secret:
secretName: etcd-tls-secret
相关解释:
将启动参数 --etcd 地址修改为要切换的ETCD地址,其他参数为指定ETCD的TLS证书文件地址,并且挂载使用上面创建好的sercret;以下组件都与之类似。
- rbd-mq
$ kubectl edit deploy rbd-mq -n rbd-system
spec:
containers:
- args:
- --etcd-endpoints=https://172.24.206.76:2379
- --etcd-ca=/etc/kubernetes/ssl/ca.pem
- --etcd-cert=/etc/kubernetes/ssl/kubernetes.pem
- --etcd-key=/etc/kubernetes/ssl/kubernetes-key.pem
volumeMounts:
- mountPath: /etc/kubernetes/ssl
readOnly: true
name: etcd-tls
volumes:
- name: etcd-tls
secret:
secretName: etcd-tls-secret
- rbd-webcli
$ kubectl edit deploy rbd-webcli -n rbd-system
spec:
containers:
- args:
- --etcd-endpoints=https://172.24.206.76:2379
- --etcd-ca=/etc/kubernetes/ssl/ca.pem
- --etcd-cert=/etc/kubernetes/ssl/kubernetes.pem
- --etcd-key=/etc/kubernetes/ssl/kubernetes-key.pem
volumeMounts:
- mountPath: /etc/kubernetes/ssl
readOnly: true
name: etcd-tls
volumes:
- name: etcd-tls
secret:
secretName: etcd-tls-secret
- rbd-worker
$ kubectl edit deploy rbd-worker -n rbd-system
spec:
containers:
- args:
- --etcd-endpoints=https://172.24.206.76:2379
- --etcd-ca=/etc/kubernetes/ssl/ca.pem
- --etcd-cert=/etc/kubernetes/ssl/kubernetes.pem
- --etcd-key=/etc/kubernetes/ssl/kubernetes-key.pem
volumeMounts:
- mountPath: /etc/kubernetes/ssl
readOnly: true
name: etcd-tls
volumes:
- name: etcd-tls
secret:
secretName: etcd-tls-secret
- rbd-chaos
$ kubectl edit ds rbd-chaos -n rbd-system
spec:
containers:
- args:
- --etcd-endpoints=https://172.24.206.76:2379
- --etcd-ca=/etc/kubernetes/ssl/ca.pem
- --etcd-cert=/etc/kubernetes/ssl/kubernetes.pem
- --etcd-key=/etc/kubernetes/ssl/kubernetes-key.pem
volumeMounts:
- mountPath: /etc/kubernetes/ssl
readOnly: true
name: etcd-tls
volumes:
- name: etcd-tls
secret:
secretName: etcd-tls-secret
- rbd-gateway
$ kubectl edit ds rbd-gateway -n rbd-system
spec:
containers:
- args:
- --etcd-endpoints=https://172.24.206.76:2379
- --etcd-ca=/etc/kubernetes/ssl/ca.pem
- --etcd-cert=/etc/kubernetes/ssl/kubernetes.pem
- --etcd-key=/etc/kubernetes/ssl/kubernetes-key.pem
volumeMounts:
- mountPath: /etc/kubernetes/ssl
readOnly: true
name: etcd-tls
volumes:
- name: etcd-tls
secret:
secretName: etcd-tls-secret
- rbd-node
$ kubectl edit ds rbd-node -n rbd-system
spec:
containers:
- args:
- --etcd-endpoints=https://172.24.206.76:2379
- --etcd-ca=/etc/kubernetes/ssl/ca.pem
- --etcd-cert=/etc/kubernetes/ssl/kubernetes.pem
- --etcd-key=/etc/kubernetes/ssl/kubernetes-key.pem
volumeMounts:
- mountPath: /etc/kubernetes/ssl
readOnly: true
name: etcd-tls
volumes:
- name: etcd-tls
secret:
secretName: etcd-tls-secret
- rbd-eventlog
$ kubectl edit sts rbd-eventlog -n rbd-system
spec:
containers:
- args:
- --discover.etcd.addr=https://172.24.206.76:2379
- --discover.etcd.ca=/etc/kubernetes/ssl/ca.pem
- --discover.etcd.cert=/etc/kubernetes/ssl/kubernetes.pem
- --discover.etcd.key=/etc/kubernetes/ssl/kubernetes-key.pem
volumeMounts:
- mountPath: /etc/kubernetes/ssl
readOnly: true
name: etcd-tls
volumes:
- name: etcd-tls
secret:
secretName: etcd-tls-secret
- rbd-monitor
$ kubectl edit sts rbd-monitor -n rbd-system
spec:
containers:
- args:
- --etcd-endpoints=https://172.24.206.76:2379
- --etcd-ca=/etc/kubernetes/ssl/ca.pem
- --etcd-cert=/etc/kubernetes/ssl/kubernetes.pem
- --etcd-key=/etc/kubernetes/ssl/kubernetes-key.pem
volumeMounts:
- mountPath: /etc/kubernetes/ssl
readOnly: true
name: etcd-tls
volumes:
- name: etcd-tls
secret:
secretName: etcd-tls-secret
验证
1.查看Rainbond各组件是否处于Running状态
$ kubectl get po -n rbd-system
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-754cdcbbb6-pckfj 1/1 Running 1 2d3h
kubernetes-dashboard-57b897f8df-8hkrv 1/1 Running 1 2d3h
nfs-provisioner-0 1/1 Running 1 2d3h
rbd-api-5c4c5d6487-bxqgr 1/1 Running 0 20m
rbd-app-ui-64c7c55995-svg56 1/1 Running 1 2d3h
rbd-app-ui-migrations-k5jwd 0/1 Completed 0 2d3h
rbd-chaos-7qjq6 1/1 Running 0 15m
rbd-db-0 2/2 Running 2 2d3h
rbd-eventlog-0 1/1 Running 0 77s
rbd-gateway-hmxp7 1/1 Running 0 14m
rbd-hub-85b7b94846-kbffc 1/1 Running 1 2d3h
rbd-monitor-0 1/1 Running 0 11m
rbd-mq-5dcfcd9948-wbgrr 1/1 Running 0 19m
rbd-node-2ctjp 1/1 Running 0 13m
rbd-node-8pnql 1/1 Running 0 13m
rbd-node-wpzhd 1/1 Running 0 13m
rbd-repo-0 1/1 Running 1 2d3h
rbd-webcli-6ccd564d98-9kgxd 1/1 Running 0 18m
rbd-worker-6d79d8d5f5-hbt5l 1/1 Running 0 17m
2.在平台基于源码创建组件,测试此过程是否可正常创建组件
验证没有问题后删除rbd-etcd组件
kubectl delete rbdcomponents.rainbond.io rbd-etcd -n rbd-system
ETCD数据迁移的更多相关文章
- Redis实践系列丨Codis数据迁移原理与优化
Codis介绍 Codis 是一种Redis集群的实现方案,与Redis社区的Redis cluster类似,基于slot的分片机制构建一个更大的Redis节点集群,对于连接到codis的Redis客 ...
- 【SQLServer】记一次数据迁移-标识重复的简单处理
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 今天在数据迁移的时候因为手贱遇到一个坑爹问题,发来大家乐乐,也传授新手点经验 迁移惯用就 ...
- Entity Framework Code First Migrations--EF 的数据迁移
1. 为了演示方便,首先新建一个控制台项目,然后添加对entityframework的引用 使用nuget控制台执行: Install-Package EntityFramework 2.新建一个实体 ...
- mssql与mysql 数据迁移
概要: mssql向mysql迁移的实例,所要用到的工具bcp和load data local infile. 由于订单记录的数据是存放在mssql服务器上的,而项目需求把数据迁移到mysql ser ...
- 重置EntityFramework数据迁移到洁净状态
前言 翻译一篇有关EF数据迁移的文章,以备日后所用,文章若有翻译不当的地方请指出,将就点看,废话少说,看话题.[注意]:文章非一字一句的翻译,就重要的问题进行解释并解决. 话题引入 无法确定这种场景是 ...
- MySQL数据迁移到SQL Server
数据迁移的工具有很多,基本SSMA团队已经考虑到其他数据库到SQL Server迁移的需求了,所以已经开发了相关的迁移工具来支持. 此博客主要介绍MySQL到SQL Server数据迁移的工具:SQL ...
- MySQL数据迁移到MSSQL-以小米数据库为例-测试828W最快可达到2分11秒
这里采用.NET Framework 4.0以上版本中新出现的 ConcurrentQueue<T> 类 MSDN是这样描述的: ConcurrentQueue<T> 类是一个 ...
- 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上
阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...
- 从零自学Hadoop(17):Hive数据导入导出,集群数据迁移下
阅读目录 序 将查询的结果写入文件系统 集群数据迁移一 集群数据迁移二 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephis ...
随机推荐
- 微信小程序手机号解密失败-43001
今天是2020年1月16号,从昨天下午开始,一直遇到一个问题: 客户在注册会员的时候的第二步,验证手机号的时候,一直提示验证失败,-43001 直接说原因:用户的session_key过期 期间大部分 ...
- MyBatis史上最全文章
老规矩,本篇文章 不做 MyBatis 的 编码讲解 ,只介绍 文章学习的一些优秀文章 重点在于不要循规蹈矩,教程 这样走,你不一定要按他这样走,按自己的方式来,学习效率会更高,网上的教程有很多,今天 ...
- Dovecot邮件服务器的正确安装方法
Dovecot邮件服务器的正确安装方法 apt remove dovecot-coredpkg -P dovecot-core sudo apt install dovecot-imapd dovec ...
- Hyperledger fabric 1.4 环境搭建(一)
Hyperledger fabric 1.4 环境搭建(一) 1.更换下载源 更换apt的下载源,因为官方下载源很慢,需要更换到国内的镜像站 1.1.进入/etc/apt/目录 cd etc/apt ...
- CSS系列 (04):盒模型详解
盒模型 CSS盒模型分成W3C标准盒模型和IE模型 W3C标准盒模型(默认):box-sizing: content-box padding和border都会撑开盒子,改变盒子的宽度高度 总宽度:wi ...
- xxfpmW 的诞生过程
最近因为在win 服务器搭建php服务,发现php-cgi.exe 很容易崩溃,看cpu和硬盘都没有暴涨,也不知道啥原因,网上查发现有一款xxfpm 小应用可以解决这个问题,但这个应用是2011年开发 ...
- java如何实现入职时间到现在 java如何计算知道入职时间, 求工作时长格式为年--月--日。
Date ruZhi = new Date("入职年月bai"); Date now = new Date(); //算出du来时间夸格zhi多长 long shiChang = ...
- java保持同一时间同一账号只能在一处登录
//登录页面 login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&qu ...
- input输入框输入中文时,监听的input事件 屏蔽拼音状态
$(function () { $('#jh').off().on({ //中文输入开始 compositionstart: function () { cpLock = false; }, //中文 ...
- 使用UML工具分析类图与类的关系-bouml(java和C++)
在分析类之间的关系时可以借助工具来实现. bouml是一个UML分析工具,最新的版本是收费的,但是之前的版本是免费的. 这里使用的是4.23版. Bouml安装: 安装软件就按照流程走就行了.但是第一 ...