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

2024-06-10 05:38

本文主要是介绍k8s 创建job 执行oc命令 删除/操作宿主机内pod,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047340

相关文章

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

MySQL逻辑删除与唯一索引冲突解决方案

《MySQL逻辑删除与唯一索引冲突解决方案》本文探讨MySQL逻辑删除与唯一索引冲突问题,提出四种解决方案:复合索引+时间戳、修改唯一字段、历史表、业务层校验,推荐方案1和方案3,适用于不同场景,感兴... 目录问题背景问题复现解决方案解决方案1.复合唯一索引 + 时间戳删除字段解决方案2:删除后修改唯一字

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录