根据POD名称生成三部曲:get、describe、log、exec
- IT业界
- 2025-09-02 06:36:01

#!/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" ]; then echo -e "${RED}Pod ${POD_NAME} not found.${NC}" exit 1 fi echo -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; do echo -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; do echo -e "${GREEN}kubectl exec -it ${POD_NAME} -n ${POD_NAMESPACE} -c ${CONTAINER} -- bash${NC}" done
根据POD名称生成三部曲:get、describe、log、exec由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“根据POD名称生成三部曲:get、describe、log、exec”