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 ...
 
随机推荐
- Gradle AndroidStudio内网离线构建配置踩坑记录
			
最近一家新公司,由于办公环境都是在内网机上,导致在Unity导出android工程后,gradle离线构建也是第一次搞,花了一天时间也踩了一些坑,最后也终于构建成功了,这里记录下,方便大家少走些弯路. ...
 - 关于 ReentrantLock 中锁 lock() 和解锁 unlock() 的底层原理浅析
			
关于 ReentrantLock 中锁 lock() 和解锁 unlock() 的底层原理浅析 如下代码,当我们在使用 ReentrantLock 进行加锁和解锁时,底层到底是如何帮助我们进行控制的啦 ...
 - Java与C#的代码区别
			
Java和C#都是编程的语言,它们是两个不同方向的两种语言 相同点: 他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态) 区别: 1.c#中的命名空间是namespace ...
 - 给因特尔S2600CO服务器主板安装【SAS控制器】驱动
			
给因特尔S2600CO服务器主板安装[SAS控制器]驱动 1:首先打开[设备管理器]找到未识别驱动的[SAS控制器]双击进入 2:在[详细信息]选项卡,选择[兼容Id]属性可以看到PCI\VEN_80 ...
 - [.NET] - 在Socket编程中遇到的问题总结
			
问题1.无法访问已释放的对象. 对象名:"System.Net.Sockets.Socket" 产生这个scenario的原因是程序中的某个地方调用到了socket.close后, ...
 - 轻松上手CSS Grid网格布局
			
今天刚好要做一个好多div格子错落组成的布局,不是田字格,不是九宫格,12个格子这样子,看起来有点复杂.关键的是笔者有点懒,要写那么多div和css真是不想下手啊.多看了两眼,这布局不跟网格挺像吗?c ...
 - Java获取某年某月的第一天和最后一天
			
/** * 获取某年某月的第一天 * @Title:getFisrtDayOfMonth * @Description: * @param:@param year * @param:@param mo ...
 - Idea利用maven创建web项目,并配置tomcat
			
参考http://blog.csdn.net/myarrow/article/details/50824793#comments
 - [LeetCode]501. Find Mode in Binary Search Tree二叉搜索树寻找众数
			
这次是二叉搜索树的遍历 感觉只要和二叉搜索树的题目,都要用到一个重要性质: 中序遍历二叉搜索树的结果是一个递增序列: 而且要注意,在递归遍历树的时候,有些参数如果是要随递归不断更新(也就是如果递归返回 ...
 - 总结JAVA语言的十大特性
			
JAVA语言的十大特性 1.简单 Java语言的语法简单明了,容易掌握从,而且Java语言是纯面向对象的语言. Java语言的语法规则和C++类似,从某种意义上来讲,Java原因是由C语言和C++语言 ...