本文以 Mongo 数据备份为例,演示在 Kubernetes 集群中运行 Job,以及相关命令和概念。

部署 MongoDB

1、创建 Mongo 部署文件 mongo.yaml

apiVersion: v1
kind: Service
metadata:name: mongo
spec:selector:app: mongoports:- port: 27017type: NodePort
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mongo-pv-claimlabels:app: mongo
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:name: mongolabels:app: mongo
spec:replicas: 1template:metadata:name: mongolabels:app: mongospec:containers:- name: mongoimage: registry.docker-cn.com/library/mongoimagePullPolicy: IfNotPresentports:- containerPort: 27017name: mongovolumeMounts:- name: mongo-persistent-storagemountPath: /data/dbrestartPolicy: Alwaysvolumes:- name: mongo-persistent-storagepersistentVolumeClaim:claimName: mongo-pv-claimselector:matchLabels:app: mongo

2、部署 Mongo

kubectl create -f mongo.yaml

3、在 Dashboard 中查看 Mongo 服务相关信息,访问 http://192.168.99.100:30000 ,一般为 Minikube VM IP(192.168.99.100) + Port (30000)

Mongo 持久化卷

Mongo Pod

部署 MongoDB 数据备份任务

1、创建备份任务的配置文件 backup.yaml

apiVersion: batch/v1
kind: Job
metadata:name: mongo-backup
spec:template:spec:containers:- name: mongo-backupimage: registry.docker-cn.com/library/busyboxcommand: ["tar", "cvf", "/backup/backup.tar", "/data/db"]volumeMounts:- mountPath: /backupname: mongo-backup-persistent-storage- mountPath: /data/dbname: mongo-persistent-storagerestartPolicy: Nevervolumes:- name: mongo-backup-persistent-storagehostPath:path: /tmp/mongo- name: mongo-persistent-storagepersistentVolumeClaim:claimName: mongo-pv-claimbackoffLimit: 4

其中用到了 2 个数据卷,mongo-backup-persistent-storage 绑定主机的 /tmp/mongo 路径, mongo-persistent-storage 对应 MongoDB 的数据卷,并同时挂载到 busybox 容器,这样就能将 MongoDB 的数据备份到 /tmp/mongo 目录下。

2、启动备份 Job

kubectl create -f backup.yaml

3、查看 Job 执行情况

4、确认备份文件存在,在 Minikube VM 中查看 /tmp/mongo 文件

移除备份任务

直接在 Dashboard 面板上删除任务,包括任务和容器组。

创建 Cron 任务

1、每分钟备份一次 MongoDB 数据 backup-cron.yaml

apiVersion: batch/v1beta1
kind: CronJob
metadata:name: mongo-backup-cron
spec:schedule: "*/1 * * * *"jobTemplate:spec:template:spec:containers:- name: mongo-backupimage: registry.docker-cn.com/library/busyboxcommand:- /bin/sh- -c- tar cvf /backup/mongo-data.tar /data/dbvolumeMounts:- mountPath: /backupname: mongo-backup-persistent-storage- mountPath: /data/dbname: mongo-persistent-storagerestartPolicy: Nevervolumes:- name: mongo-backup-persistent-storagehostPath:path: /tmp/mongo- name: mongo-persistent-storagepersistentVolumeClaim:claimName: mongo-pv-claim

2、启动 Cron 任务

kubectl create -f backup-cron.yaml

3、查看任务调度

作者:Anoyi
链接:https://www.jianshu.com/p/061d486e5ed5 來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Kubernetes 入门:运行不同类型的 Job相关推荐

  1. Kubernetes入门实践--部署运行Go项目

    介绍 前面的几篇文章从概念层面介绍了Kubernetes是什么,它的内部架构是怎样的.并且也在电脑上安装了Minikube--拥有一个单节点的Kubernetes集群,让我们能够在自己的电脑上开始体验 ...

  2. Kubernetes入门——Kubernetes日志采集与监控告警

    作者简介: 郭川磊 百度基础架构部研发工程师 负责云原生产品的研发 本文基于百度云原生团队『云原生基础知识概述及实践』系列视频课程--『Kubernetes入门-Kubernetes实现应用高可用』梳 ...

  3. Kubernetes入门——Kubernetes工作原理及使用

    作者简介: 星龙 百度基础架构部研发工程师 负责混部调度系统研发 本文基于百度云原生团队『云原生基础知识概述及实践』系列视频课程--『Kubernetes入门-Kubernetes工作原理』梳理. 视 ...

  4. 在每个运行中运行多个查询_在Kubernetes中运行OpenEBS

    什么是OpenEBS? 现在,OpenEBS是kubernetes下与容器原生和容器附加存储类型相关通用的领先开源项目之一. 通过为每个工作负载指定专用的存储控制器,OpenEBS遵循容器附加存储或C ...

  5. 容器编排技术 -- Kubernetes入门概述

    容器编排技术 -- Kubernetes入门概述 简介 Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powe ...

  6. Kubernetes入门--搭建Kubernetes集群,并启动容器服务

    英文原作者:Ben Cane  翻译作者:Miazzy 翻译&转载:https://blog.codeship.com/getting-started-with-kubernetes/ Kub ...

  7. Kubernetes入门培训(内含PPT)-(转)

    Kubernetes入门培训(内含PPT) https://mp.weixin.qq.com/s/T6vzHupm1oqcznrCd13xDg 原创 半夏透心凉 云原生技术爱好者社区 2月2日 来自专 ...

  8. kubernetes 入门实践-搭建集群

    ㅤㅤㅤ ㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(一个人的真正伟大之处就在于他能够认识到自己的渺小 -- 保罗) ㅤㅤㅤ ㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤ 上一篇:kubernetes 入门实践-核心概念 下 ...

  9. Kubernetes入门教程 --- 使用二进制安装

    Kubernetes入门教程 --- 使用二进制安装 1. Introduction 1.1 架构图 1.2 关键字介绍 1.3 简述 2. 使用Kubeadm Install 2.1 申请三个虚拟环 ...

  10. [KubeCon+CloudNativeCon China 2018] 在Kubernetes上运行区块链服务(BaaS)

    笔者注:本文是在2018年11月15日由Linux基金会CNCF主办的KubeCon & CloudNativeCon China 2018大会的"Running Blockchai ...

最新文章

  1. MapReduce-Shuffle机制运行解析
  2. Debian 光盘安装简易教程
  3. hive中的逻辑运算符 案列_Hive内置运算符
  4. 施一公又火了!曾突然回国震惊所有美国人,如今所创公司IPO在即,还有基金大佬重仓加盟!...
  5. 作者:梁永生(1971-),男,博士,深圳信息职业技术学院教授,广东省珠江学者特聘教授,《大数据》深圳市大数据发展动态调研组组长...
  6. RedHat yum安装配置命令详解
  7. Atitit vod ver 12 new feature v12 pb2 影吧 视频 电影 点播 播放系统v12新特性
  8. 15、工作流Web流程设计器及表单设计器
  9. ffmpeg 将视频转换成图片 截取视频的一段
  10. Progressive GAN
  11. Unity人工智能之不断自我进化的五人足球赛
  12. 二叉树的遍历和线索线索二叉树
  13. cython大白话基础教程
  14. 力扣OJ(1401-1500)
  15. [PRIMITIVE TECHNOLOGY]澳洲小哥的黑皮豆/black been/摩顿湾板栗(栗子)/Moreton Bay Chestnut...
  16. 个人微信api接口调用-微信群管理
  17. 欧几里得算法及其python实现
  18. 中文女和程序员的爱情奇遇(转自博客园)
  19. 【win10系统IIS服务器配置】
  20. java-php-python-ssm-在线学习辅导与答疑系统-计算机毕业设计

热门文章

  1. 用ssh反向连接访问内网主机 ( 实例使用autossh隧道实现mysql的同步 )
  2. 用JavaScript获取页面上被选中的文字的技巧
  3. html5游戏制作入门系列教程(六)
  4. HTML Email 编写指南
  5. Python_sklearn_回归
  6. 大数——二进制转换(hdu2051)
  7. Memcached 一致性哈希算法PHP实现
  8. C/C++——从ctime使用到随便测一样冒泡排序和堆排序的效率
  9. Linux文件系统不是必须的,而是必要的!
  10. OPENWRT中SSH免密钥登陆(详细步骤)