1. 制作job 所使用的的容器 Dockerfile
FROM xxx.xxx.com/alpine:3.9
COPY glibd-2.23-r3.apk /opt/glibd-2.23-r3.apk
COPY ./ssh_config /etc/ssh/
COPY clock /etc/sysconfig/clockRUN echo "xxx.xxx.com/alpine/v3.9/main" >/etc/apk/repositories && \echo "xxx.xxx.com/alpine/v3.9/main" >/etc/apk/repositories && \apk add --no-cache sshpass openssh-client grep bash bash-doc bash-completion zip && \apk --allow-untrusted --force add /opt/glibc-2.23-r3.apk && \mkdir -p /root/.ssh && \rm /opt/glibc-2.23-r3.apk && \rm -rf /var/cache/apk/*COPY config /root/.ssh
copy delete_pod.sh \xxx.sh \/opt/

2.删除宿主机pod脚本

#!/bin/bashset -xif [ -f "/host/bin/oc_ori" ]; thenkubectl=/host/bin/oc_ori
elsekubectl=/host/bin/oc
fifunction check_kubectl() {echo "Info:check whether kubectl exists"for i in {1..20}; doif [ -f "$kubectl" ]; then return 0; else sleep10; fidoneecho "failed"return 1
}function delete_pod() {echo "get pod"names=`${kubectl} get deployment -n xxxxx-base | grep -i "ssssssxxxxx" | awk '{print $1}'`# 后续自己发挥
}

3.k8s job yaml文件

apiVersion: batch/v1
kind: Job
metadata:name: upgrade-jobnamespace: cl-baseannotations:"helm.sh/hook": post-install,post-upgrade"helm.sh/hook-weight": "90""helm.sh/hook-delete-policy": before-hook-creation
spec:backoffLimit: 6completions: 1parallelism: 1template:metadata:name: upgrade-jobspec:serviceAccountName: cl-base-adminnodeSelector:nodeType: controllercontainers:- image: os-harbor-svc.default.svc.cloudos:443/helm/dbs/init-job:{{ .Values.initImage.tag }}imagePullPolicy: Alwayscommand:- "/bin/bash"args:- "/opt/upgrade_delete_pod.sh"name: upgrade-jobresources:limits:cpu: 4memory: 8192Mirequests:cpu: 2memory: 4096MiterminationMessagePath: /dev/termination-logterminationMessagePolicy: FilevolumeMounts:- name: tz-configmountPath: /etc/localtime- name: host-binmountPath: /host/bin- name: host-kube-configmountPath: /root/.kubednsPolicy: ClusterFirstrestartPolicy: NeverschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30volumes:- name: tz-confighostPath:path: /etc/localtime- name: host-binhostPath:path: /usr/bin- name: host-kube-confighostPath:path: /root/.kube/

k8s 创建job 执行oc命令 删除/操作宿主机内pod相关推荐

  1. java 删除数据库_【Java】执行数据库的删除操作

    import java.sql.*; //执行数据库的删除操作 public class DeleteData { //定义MySQL的数据库驱动程序 public static final Stri ...

  2. kubectl k8s 复制文件从宿主机到pod内或从pod到宿主机内

    从宿主机到pod内: oc cp /opt/xxx.json -n namespace pod-fajdfa:/opt/xxx.json 从pod到宿主机内: kubectl cp -n namesp ...

  3. mysql启动集群报连接本地失败_Docker的mysql集群节点可以正常创建,但无法正常连接到宿主机的mysql应该如何解决?...

    拉取Docker镜像:在宿主机上执行命令docker pull ubuntu:14.04从远端仓库中获取Ubuntu的镜像,也可以获取其他OS的镜像,本文以Ubuntu为例 启动Docker容器:执行 ...

  4. jdbc 执行oracle命令,JDBC操作oracle

    JDBC (java DataBase Connection)java数据库连接 使用jdbc使用java.sql包下的常用的几个接口: Connection 用于获得数据库的连接 Statement ...

  5. 自动输入命令执行_Ubuntu命令行操作-命令简介

    1.命令格式 提示符 命令 选项 参数 提示符:分为$.# ,进入命令行界面会自动显示 $表示当前用户为一般用户 #表示当前用户为管理员用户 2.常用快捷键 Tab:自动补全命令 Ctrl+C:强制终 ...

  6. 批处理使用完文件后释放_windows 下使用批处理执行 postgresql 命令行操作

    1.准备好命令文件 loraserver.sql create role loraserver_as with login password 'dbpassword';create role lora ...

  7. mongoose 执行删除操作的坑

    需求:在后台执行删除用户操作 坑: 1.后端接口接收delete请求,接收不到请求传过来的id 2.根据模型实例化的对象,执行不了删除操作 解决: 1.delete请求是像get请求一样,传值在url ...

  8. python 执行ping命令_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!...

    有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工作 本程序主要是实现远程管理 Windows10操作系统的开 ...

  9. Redis常用命令之操作Hash类型

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

最新文章

  1. 超越谷歌BERT!依图推出预训练语言理解模型ConvBERT,入选NeurIPS 2020
  2. boost::mpl模块实现list_c相关的测试程序
  3. LeetCode每日一题 977. 有序数组的平方
  4. 关于centos docker版本过低导致 is not a valid repository/tag: invalid reference format
  5. MySQL-04:数据内容操作-增删改查-基本命令笔记
  6. 气象数据领航无人飞行器线路优化大赛解决方案(3rd place)
  7. X-UA-Compatible,IE8 兼容模式
  8. vSphere 5.5 VM整合磁盘失败之—文件被锁定无法访问
  9. Angular开发实践(五):深入解析变化监测
  10. SosoApi使用说明-基本操作文档
  11. 用C语言求解合式公式的主合取范式和主析取范式
  12. 分布式事务框架-seata
  13. 计算机主机有异响,电脑主机有异响怎么办?电脑主板有异响的原因和解决方法...
  14. android动态指示箭头,android – 自定义选项卡指示器(箭头像指示器)
  15. 计算机辅助设计实训报告范文,计算机辅助设计实习实习报告
  16. linux双击打开二进制文件,linux下打开二进制文件
  17. 类选择器和ID选择器的区别
  18. 《OpenGL ES 3.x游戏开发(下卷)》一2.4 展翅飞翔的雄鹰
  19. 微信小程序获取openid等参数报错errcode:48001 errmsg:'api unauthorized'
  20. Respond 的响应式代码阅读

热门文章

  1. 9月第1周全球域名商TOP15大战:中国万网排名第7
  2. tensorflow 中 fully_connected
  3. 纯前端实现上传下载(后端存取json)xlsx
  4. 谷粒商城renren-fast项目启动报错 wagon-maven-plugin docker-maven-plugin标红
  5. 云展网教程 | 云展网五种下载版本的区别
  6. 离散数学图论知识总结
  7. 郑州大学c语言期末练习答案,郑州大学《C语言程序设计》网上考试复习题2
  8. visio版本要和word匹配吗_office和VISIO不能同时安装吗??
  9. (c语言)有10个学生,每个学生数据包括学号、姓名、3门课程成绩,编写程序定义结构体从键盘上输入10个学生的学号、姓名和3门课程的成绩,并输出
  10. 绘图杂记【11】echarts 玉盘图