k8s 创建job 执行oc命令 删除/操作宿主机内pod
- 制作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相关推荐
- java 删除数据库_【Java】执行数据库的删除操作
import java.sql.*; //执行数据库的删除操作 public class DeleteData { //定义MySQL的数据库驱动程序 public static final Stri ...
- kubectl k8s 复制文件从宿主机到pod内或从pod到宿主机内
从宿主机到pod内: oc cp /opt/xxx.json -n namespace pod-fajdfa:/opt/xxx.json 从pod到宿主机内: kubectl cp -n namesp ...
- mysql启动集群报连接本地失败_Docker的mysql集群节点可以正常创建,但无法正常连接到宿主机的mysql应该如何解决?...
拉取Docker镜像:在宿主机上执行命令docker pull ubuntu:14.04从远端仓库中获取Ubuntu的镜像,也可以获取其他OS的镜像,本文以Ubuntu为例 启动Docker容器:执行 ...
- jdbc 执行oracle命令,JDBC操作oracle
JDBC (java DataBase Connection)java数据库连接 使用jdbc使用java.sql包下的常用的几个接口: Connection 用于获得数据库的连接 Statement ...
- 自动输入命令执行_Ubuntu命令行操作-命令简介
1.命令格式 提示符 命令 选项 参数 提示符:分为$.# ,进入命令行界面会自动显示 $表示当前用户为一般用户 #表示当前用户为管理员用户 2.常用快捷键 Tab:自动补全命令 Ctrl+C:强制终 ...
- 批处理使用完文件后释放_windows 下使用批处理执行 postgresql 命令行操作
1.准备好命令文件 loraserver.sql create role loraserver_as with login password 'dbpassword';create role lora ...
- mongoose 执行删除操作的坑
需求:在后台执行删除用户操作 坑: 1.后端接口接收delete请求,接收不到请求传过来的id 2.根据模型实例化的对象,执行不了删除操作 解决: 1.delete请求是像get请求一样,传值在url ...
- python 执行ping命令_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!...
有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工作 本程序主要是实现远程管理 Windows10操作系统的开 ...
- Redis常用命令之操作Hash类型
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
最新文章
- 超越谷歌BERT!依图推出预训练语言理解模型ConvBERT,入选NeurIPS 2020
- boost::mpl模块实现list_c相关的测试程序
- LeetCode每日一题 977. 有序数组的平方
- 关于centos docker版本过低导致 is not a valid repository/tag: invalid reference format
- MySQL-04:数据内容操作-增删改查-基本命令笔记
- 气象数据领航无人飞行器线路优化大赛解决方案(3rd place)
- X-UA-Compatible,IE8 兼容模式
- vSphere 5.5 VM整合磁盘失败之—文件被锁定无法访问
- Angular开发实践(五):深入解析变化监测
- SosoApi使用说明-基本操作文档
- 用C语言求解合式公式的主合取范式和主析取范式
- 分布式事务框架-seata
- 计算机主机有异响,电脑主机有异响怎么办?电脑主板有异响的原因和解决方法...
- android动态指示箭头,android – 自定义选项卡指示器(箭头像指示器)
- 计算机辅助设计实训报告范文,计算机辅助设计实习实习报告
- linux双击打开二进制文件,linux下打开二进制文件
- 类选择器和ID选择器的区别
- 《OpenGL ES 3.x游戏开发(下卷)》一2.4 展翅飞翔的雄鹰
- 微信小程序获取openid等参数报错errcode:48001 errmsg:'api unauthorized'
- Respond 的响应式代码阅读
热门文章
- 9月第1周全球域名商TOP15大战:中国万网排名第7
- tensorflow 中 fully_connected
- 纯前端实现上传下载(后端存取json)xlsx
- 谷粒商城renren-fast项目启动报错 wagon-maven-plugin docker-maven-plugin标红
- 云展网教程 | 云展网五种下载版本的区别
- 离散数学图论知识总结
- 郑州大学c语言期末练习答案,郑州大学《C语言程序设计》网上考试复习题2
- visio版本要和word匹配吗_office和VISIO不能同时安装吗??
- (c语言)有10个学生,每个学生数据包括学号、姓名、3门课程成绩,编写程序定义结构体从键盘上输入10个学生的学号、姓名和3门课程的成绩,并输出
- 绘图杂记【11】echarts 玉盘图