当前位置: 首页 > news >正文

根据POD名称生成 三部曲:get、describe、log、exec

#!/bin/bash# 定义颜色变量
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m'  # No Color# 检查是否传入 Pod 名称作为参数
if [ -z "$1" ]; then# 如果没有传参,则提示用户输入 Pod 名称echo -e "${YELLOW}Please enter the Pod name:${NC}"read POD_NAME
else# 如果有传参,则使用第一个参数作为 Pod 名称POD_NAME=$1
fi# 获取包含 Pod 的命名空间
POD_NAMESPACE=$(kubectl get pod -A --field-selector metadata.name="${POD_NAME}" -o jsonpath='{.items[0].metadata.namespace}')# 检查是否找到了该 Pod
if [ -z "$POD_NAMESPACE" ]; thenecho -e "${RED}Pod ${POD_NAME} not found.${NC}"exit 1
fiecho -e "${GREEN}Found Pod ${POD_NAME} in namespace ${POD_NAMESPACE}.${NC}"# 查看 pod 状态
echo -e "\n${YELLOW}Fetching pod status for ${POD_NAME} in namespace ${POD_NAMESPACE}...${NC}"
echo -e "${GREEN}kubectl get pod ${POD_NAME} -n ${POD_NAMESPACE}${NC}"
# kubectl get pod "${POD_NAME}" -n "${POD_NAMESPACE}"# 查看 pod 详细信息
echo -e "\n${YELLOW}Fetching pod details for ${POD_NAME} in namespace ${POD_NAMESPACE}...${NC}"
echo -e "${GREEN}kubectl describe pod ${POD_NAME} -n ${POD_NAMESPACE}${NC}"
# kubectl describe pod "${POD_NAME}" -n "${POD_NAMESPACE}"# 获取 Pod 中的容器名称
CONTAINER_NAMES=$(kubectl get pod "${POD_NAME}" -n "${POD_NAMESPACE}" -o jsonpath='{.spec.containers[*].name}')
INIT_CONTAINER_NAMES=$(kubectl get pod "${POD_NAME}" -n "${POD_NAMESPACE}" -o jsonpath='{.spec.initContainers[*].name}')
ALL_CONTAINER_NAMES="${CONTAINER_NAMES} ${INIT_CONTAINER_NAMES}"# 打印出所有容器的日志命令
echo -e "\n${YELLOW}Fetching logs commands for each container in ${POD_NAME}...${NC}"
for CONTAINER in $ALL_CONTAINER_NAMES; doecho -e "${GREEN}kubectl logs ${POD_NAME} -n ${POD_NAMESPACE} -c ${CONTAINER} --tail=100${NC}"
done# 打印出所有容器的进入容器命令
echo -e "\n${YELLOW}Fetching exec commands for each container in ${POD_NAME}...${NC}"
for CONTAINER in $ALL_CONTAINER_NAMES; doecho -e "${GREEN}kubectl exec -it ${POD_NAME} -n ${POD_NAMESPACE} -c ${CONTAINER} -- bash${NC}"
done
http://www.lryc.cn/news/539102.html

相关文章:

  • SQL sever数据导入导出实验
  • python环境的yolov11.rknn物体检测
  • I2C、SPI、UART
  • 如何监控和优化 MySQL 中的慢 SQL
  • 13-二叉树最小深度-深度优先(DFS)
  • 51单片机入门_10_数码管动态显示(数字的使用;简单动态显示;指定值的数码管动态显示)
  • 代码补全『三重奏』:EverEdit如何用上下文识别+语法感知+智能片段重构你的编码效率!
  • 电脑系统损坏,备份文件
  • Token Statistics Transformer:线性注意力革命,重新定义Transformer效率天花板
  • Django 5实用指南(二)项目结构与管理
  • JAVA监听器(学习自用)
  • Ubuntu下mysql主从复制搭建
  • VirtualBox 中使用 桥接网卡 并设置 MAC 地址
  • Ubuntu 20 掉显卡驱动的解决办法
  • EasyPoi系列之框架集成及基础使用
  • Web后端 Tomcat服务器
  • 【RK3588嵌入式图形编程】-SDL2-构建模块化UI
  • 面向机器学习的Java库与平台简介、适用场景、官方网站、社区网址
  • 基于YOLO11深度学习的心脏超声图像间隔壁检测分割与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
  • ubuntu24基于虚拟机无法从主机拖拽文件夹
  • 常用Webpack Loader汇总介绍
  • 剑指 Offer II 023. 两个链表的第一个重合节点
  • 个人搭建CDN加速服务 特网科技
  • 用deepseek学大模型08-卷积神经网络(CNN)
  • 蓝桥杯单片机基础部分——6、555定时器
  • Python学习心得函数
  • 神经网络实验——MLP
  • 配置Api自动生成
  • dify-AI 私有部署可修改前端页面
  • 使用 @Results 注解来手动指定字段映射