You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

定制zadigdb-bak镜像

FROM centos:7
WORKDIR /root
COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
COPY mongodb-org-4.4.repo /etc/yum.repos.d/mongodb-org-4.4.repo
COPY mysql-community.repo /etc/yum.repos.d/mysql-community.repo
RUN yum install -y mongodb-org-shell mongodb-org-tools mysql-community-client \
    && yum clean all \
    && rm -rf /var/cache/yum
CMD ["tail", "-f", "/dev/null"]

构建镜像并推送到harbor

docker build . -t harbor.uenpay.com/base/zadigdb-bak:latest && docker push harbor.uenpay.com/base/zadigdb-bak:latest

配置CronJob任务,这里将备份的文件

apiVersion: batch/v1
kind: CronJob
metadata:
  name: zadigdb-bak
  namespace: zadig
spec:
  concurrencyPolicy: Allow
  failedJobsHistoryLimit: 1
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: zadigdb-bak
            image: harbor.uenpay.com/base/zadigdb-bak
            imagePullPolicy: Always
            command: ["/bin/bash", "-c"]
            args:
            - |
              #!/bin/bash
              today=$(date +%F)
              mysqldump -h kr-mysql -P 3306 -uroot -pzadig user > /zadigdb-bak/zadig-mysql-user-$today.sql
              mysqldump -h kr-mysql -P 3306 -uroot -pzadig dex > /zadigdb-bak/zadig-mysql-dex-$today.sql
              mongodump -h kr-mongodb --port 27017 -u root -p zadig -d zadig --authenticationDatabase admin -o /zadigdb-bak/$today
            volumeMounts:
            - mountPath: /zadigdb-bak
              name: zadigdb-backup-volume
            resources: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          restartPolicy: OnFailure
          volumes:
          - name: zadigdb-backup-volume
            nfs:
              server: d1-prod-nfs001
              path: "/data/nfs/zadigdb-bak"
          dnsPolicy: ClusterFirst
          terminationGracePeriodSeconds: 30
  schedule: '30 17 * * *'
  successfulJobsHistoryLimit: 1
  suspend: false
  • No labels