数据库HA(Hight Availability)
- mysql自身支持主主/主备部署,多主(>2),一主多备
- galera mariadb集群:多主相互备份
修改容器的启动配置
-
修改Docker容器启动配置参数 docker container update --restart=always 容器名字
-
修改配置文件
- 停止容器
- 找到配置文件路径 /var/lib/docker/containers/容器ID
- 在该目录下找到一个文件 hostconfig.json
- 修改配置
- 启动容器。
galera mariadb集群部署及故障恢复
在集群中启动第一台数据库时,必须加上参数--wsrep-new-cluster
https://www.cnblogs.com/vadim/p/6930697.html
https://www.cnblogs.com/jinyuanliu/p/10929324.html
https://dba.stackexchange.com/questions/157500/how-to-recover-mariadb-galera-cluster-after-full-crash
http://liupeng0518.github.io/2019/07/07/openstack/kolla/kolla-mariadb/
https://www.jianshu.com/p/1dc3a9d01c1d
https://www.cnblogs.com/liangzb310/p/11026516.html
https://www.cnblogs.com/nulige/p/8087918.html
https://www.percona.com/blog/2014/09/01/galera-replication-how-to-recover-a-pxc-cluster/
openstack和k8s
openstack 使用 python语言开发,是虚拟资源管理工具,他可以协助你搜集各种资源,并加以利用以及管理,实现物理资源的高效使用和安全。虚拟物理这个动作,openstack 无法完成,需要一个中间层列如 KVM、Xen、Hyper-V 等,来基于硬件做资源的虚拟化,然后此时 openstack 通过各种API接口来接管这些资源。openstack 主要针对 laas(基础即服务)平台,以资源为中心,可以为上层的 Paas (平台即服务)平台提供存储、网络、计算等资源。
openstack:公认的云计算laas平台,其管理的核心目标对象是机器(虚拟机或物理机),当然也可以管理存储和网络,但那些也大都是围绕着机器所提供的配套资源。近年来容器技术火了之后,openstack 也开始通过各种方式增加对容器的支持,但目前 openstack 还不被视为管理容器的主流平台。
docker:这里我假定你指的是Docker engine (也叫做Docker daemon,或最新的名字:Moby),它也是一种容器运行时(container runtime)的实现,而且最主流的实现,几乎就是容器业界的事实标准。Docker 是用来创建和管理容器的,它和容器的关系就好比 Hypervisor(比如:KVM)和虚拟机之间的关系。当然, Docker 公司对 Docker engine 本身的定位和期望不仅仅在于单机上管理容器,所以近年来一直在向 Docker engine 中加入各种各样的高级功能,比如:组建多节点的 Docker 集群、容器编排、服务发现,等等。
kubernetes(K8S):搭建容器集群和进行容器编排的主流开源项目(亲爹是Google),适合搭建 Paas 平台。容器是 Kubernetes 管理的核心目标对象,它和容器的关系就好比 Openstack 和虚拟机之间的关系,而他和 Docker 的关系就好比 Openstack 和 Hypervisor 之间的关系。一般来说,Kubernetes 是和 Docker 配合使用的, Kubernetes 调用每个节点上的 Docker 去创建和管理容器,所以,你可以认为 Kubernetes 是大脑,而 Docker 是四肢。