当前位置:   article > 正文

容器化 | 基于 Kubernetes 的新一代 MySQL 高可用架构实现方案_radondb mysql

radondb mysql

本文是 MySQL 容器化系列的第三篇文章,主要介绍 MySQL 容器化 Helm 版本[1] 的设计思路。

Dockerfile 简介

首先 RadonDB MySQL 一个 Pod 中的容器角色中,一般包含 MySQL、Xenon、slowlog 三个容器。

其中,MySQL 和 Xenon Dockerfile 目录结构如下所示:

MySQL Dockerfile 解析

启动 MySQL 主进程前,需要准备数据库配置、初始化等,这些工作要在最终的 MySQL 运行之前解决。在制作镜像时,通过配置 MySQL Dockerfile 中 ENTRYPOINTCMD 参数,可提前准备数据库配置、初始化等进程。

Docker 是分层的,每一条命令都会建一个镜像层,分层太多会导致快速膨胀。在制作镜像时,不建议分层太多。

MySQL Dockerfile 文件中命令示例如下:

MySQL mysql-entry.sh 文件中包含启动命令,其主要执行流程如下:

Xenon Dockerfile 解析

Xenon Dockerfile 比较简单,跟 MySQL Dockerfile 流程类似。

Xenon Dockerfile 命令示例如下:

xenon-entry.sh 主要功能:

  1. 生成 Xenon 配置文件,在 Xenon 启动的时候调用

  2. ping host

name 生成及环境变量

name 生成

首先我们看下 chart 目录下功能文

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/578917
推荐阅读
相关标签
  

闽ICP备14008679号