所有数据库一直都是公司核心东西,一下的教程是在容器(docker)作为载体下使用k8s作为docker的调度编排简单实现MySQL的RDS.

  1.安装docker和k8s环境,不再赘述,网上都有大把的篇幅;

  2.编写yaml文件,如果熟悉hlem或者类似别的k8s包管理工具也可,这里通过手写的yaml可以更熟悉整个过程:

   具体yaml相见我 博客里面<k8s上跑nacos>这篇文章,链接如下,第二段mysql.yml:

     https://blog.csdn.net/zhuchance/article/details/84402242

  3.解读一下yaml:

     这个yaml是用Deployment模式来跑MySQL容器的;

     使用service的NodePort做了服务暴露;

     使用了hubdocker上的MySQL自己推的docker镜像:https://hub.docker.com/_/mysql   ;

     使用了nfs阿里云上的nfs服务做数据持久的,熟悉docker的朋友都知道docker适合无状态的服务,而其实MySQL是需要持久化数据的,所以这里使用了nfs(阿里云提供的),自己搭建也是可以的,或者是用hostpath也是可以的,为什么推荐这俩,因为简单,新手很容易上手,而越是简单的东西越是好维护.

    数据库实例是会自己根据mysql的逻辑备份文件.sql后缀的备份文件自己恢复进实例里面的,yaml里面有注释,hubdocke上也有说明是把这个文件挂载到/docker-entrypoint-initdb.d 容器的这个目录下面即可.

   数据库文件放在容器中的/var/lib/mysql下面.yaml里面也有注释.

   官网镜像启动的时候有一个必须的参数是mysql的root密码需要指定.

    还有就是mysql的配置参数文件,我这里是完全基于官方的dockerfile所以挂载了配置文件,比如时区设置,大小写敏感等参数.当然可以根据自己的配置参数自己写dockerfile做docker镜像.

  

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐