• kubernetes资源导出小脚本


    批量导出deploy、svc、ingress等信息

    #!/bin/bash
    #Auth: zisefeizhu  Time: 20210609 Version: v1
     
    DEPLOY=`/usr/local/bin/kubectl get deployment -n zisefeizhu | awk '{print $1}'|grep -E "service|server" ` 
    SVC=`/usr/local/bin/kubectl get svc -n zisefeizhu | awk '{$1=""; print $1}'`
    INGRESS=`/usr/local/bin/kubectl get ingress -n zisefeizhu | awk '{$1=""; print $1}'`
    
    pwd
    
    if [ ! -d "$PWD/zisefeizhu" ]; then
      mkdir -p /Users/edz/test/zisefeizhu
    else
      echo "/zisefeizhu 目录已经存在"
    fi
    
    mkdir -p $PWD/zisefeizhu/deploy
    mkdir -p $PWD/zisefeizhu/svc
    mkdir -p $PWD/zisefeizhu/ingress
    
    for deploy in $DEPLOY
    do
      /usr/local/bin/kubectl get deployment $deploy -n zisefeizhu -o yaml  > $PWD/zisefeizhu/deploy/"${deploy}".yaml;  
    done
    
    
    for svc  in $SVC
    do
      /usr/local/bin/kubectl get svc $svc -n zisefeizhu -o yaml  > $PWD/zisefeizhu/svc/"${svc}".yaml;    
    done
    
    
    for ingress  in $INGRESS
    do
      /usr/local/bin/kubectl get ingress $ingress -n zisefeizhu -o yaml  > $PWD/zisefeizhu/ingress/"${ingress}".yaml;             
    done
    

    删除一些附加字段

    for object in $(find . -name '*.yaml')
    do
      objectName=$object
      /usr/local/bin/yq eval 'del(.metadata.annotations)'  $object > ${object}.1
      object=${object}.1
      /usr/local/bin/yq eval 'del(.metadata.creationTimestamp)' $object > ${object}.1
      object=${object}.1
      /usr/local/bin/yq eval 'del(.metadata.generation)' $object > ${object}.1
      object=${object}.1
      /usr/local/bin/yq eval 'del(.metadata.resourceVersion)' $object > ${object}.1
      object=${object}.1
      /usr/local/bin/yq eval 'del(.metadata.selfLink)' $object > ${object}.1
      object=${object}.1
      /usr/local/bin/yq eval 'del(.metadata.uid)' $object > ${object}.1
      object=${object}.1
      /usr/local/bin/yq eval 'del(.status)' $object > $objectName
      #sed -i '' 's/namespace: zisefeizhu/namespace: stage-zisefizhu/g' $objectName
      rm -rf *.1
    done
    
    过手如登山,一步一重天
  • 相关阅读:
    Mac查看某个文件的中某关键字信息
    Mac查看所有的文件
    Mac查看当前用户的环境变量
    Mac安装maven
    Lombok使用坑之属性不区分大小写
    Mac常用软件列表
    Mac系统升级
    Mac安装Git
    Mac查看git的安装路径
    Mac安装JDK8
  • 原文地址:https://www.cnblogs.com/zisefeizhu/p/14874888.html
Copyright © 2020-2023  润新知