Posts
Make Rabbitmq Openshift Operator
制作 rabbitmq openshift operator 以 rabbitmq-operator github 官方项目为基础 https://github.com/rabbitmq/cluster-operator 命令行工具 kustomize 下载地址
operator-sdk 下载地址
opm 下载地址
制作过程 本文档以 rabbitmq 1.6.0 为基础制作 operator,link 下载源码 从官方 releases 页面下载 1.6.0 源码 解压后改名为 rabbitmq-operator 修改部分源码 删除 rabbitmq-operator/.github 目录,此目录是官方 github action 部分的代码,对其他项目无用(也可以不删除) 在 rabbitmq-operator/internal/resource 目录新建 anyuid_role_binding.go 文件,将下面代码复制到文件中,代码是根据 role_binding.go 文件修改来的,目的是解决 openshift scc 权限问题 // RabbitMQ Cluster Operator // // Copyright 2020 VMware, Inc. All Rights Reserved. // // This product is licensed to you under the Mozilla Public license, Version 2.
Posts
k8s 单节点 mongodb 数据备份及恢复
背景 最近为测试同学搭建测试平台用到 mongo,但是阿里云的 mongo 服务收费太贵。 因此使用 k8s 自建单节点 mongo 服务,那就不得不考虑数据备份的问题。 思路 数据备份
建立 cronjob,通过 mongodump 全量备份数据,ossutil 上传至阿里云。
数据恢复
建立 job ,通过 ossutil 下载 oss 备份的数据,mongorestore 全量恢复数据。
Docker 镜像 Dockerfile 目录结构 docker |── Dockerfile |── mongo-manager.sh |── ossutil64 Dockerfile # mongo 版本和 mongo 服务使用的版本保持一致 FROM mongo:4.4.3 COPY ossutil64 /usr/local/bin/ossutil64 RUN chmod 755 /usr/local/bin/ossutil64 COPY mongo-manager.sh /usr/local/bin/mongo-manager.sh RUN chmod 755 /usr/local/bin/mongo-manager.sh WORKDIR / ossutil64,对 ossutil 版本有需求的同学可以下载不同的版本,然后重新打包镜像。 wget http://gosspublic.alicdn.com/ossutil/1.7.1/ossutil64 下载到 Dockerfile 同级目录下 mongo-manager.sh,有不同需求的同学可以修改此文件,然后重新打包 docker 镜像。 #!