美文网首页
k8s导出ymal

k8s导出ymal

作者: 新时代农民工 | 来源:发表于2021-01-14 10:21 被阅读0次

导出某个命名空间的所有yml信息

#!/bin/bash

set -e

useage(){

    echo "使用:"

    echo " 导出k8s的yml命令: export.sh 保存目录 namespace"

}

if [ $# -lt 1 ];then

    useage

    exit

fi

DUMPDIR=$1

NAMESPACE=$2

list_names(){

    kubectl -n"${1}" get "${2}" -o custom-columns='NAME:metadata.name' --no-headers

}

dump_workload(){

    local NAMESPACE=$1

    local WORKLOAD_NAME=$2

    local i

    mkdir -p"${DUMPDIR}/${NAMESPACE}/${WORKLOAD_NAME}"

    mapfile -t WORKLOADS < <(list_names "${NAMESPACE}" "${WORKLOAD_NAME}")

    for ((i=1;i<=${#WORKLOADS[@]};i++ )); do

        WORKLOAD="${WORKLOADS[$i-1]}"

        echo "正在导出 ${NAMESPACE} ${WORKLOAD_NAME} ${WORKLOAD}"

        kubectl -n"${NAMESPACE}" get "${WORKLOAD_NAME}" "${WORKLOAD}" -o yaml --export > "${DUMPDIR}/${NAMESPACE}/${WORKLOAD_NAME}/${WORKLOAD}.yaml" 2>/dev/null

    done

}

if [ -z "${NAMESPACE}" ];then

mapfile -t WORKLOAD_NAMES < <(kubectl api-resources -oname --namespaced=false | grep -vE "(componentstatuses|authentication.k8s.io|authorization.k8s.io)")

NAMESPACE="default"

else

mapfile -t WORKLOAD_NAMES < <(kubectl api-resources -oname --namespaced=true | grep -vE "(bindings|secrets|authorization.k8s.io)")

fi

mkdir -p "${DUMPDIR}/${NAMESPACE}"

for ((i=1;i<=${#WORKLOAD_NAMES[@]};i++ )); do

    WORKLOAD_NAME="${WORKLOAD_NAMES[$i-1]}"

    dump_workload"${NAMESPACE}" "${WORKLOAD_NAME}"

done

echo "搞定"

示例:export.sh 保存目录 namespace

相关文章

  • k8s导出ymal

    导出某个命名空间的所有yml信息 #!/bin/bash set -e useage(){ echo "使用:...

  • YMAL

    一 简介 定位 YMAL是专门用来编写配置文件的语言,简洁又方便。 基本语法规则 大小写敏感 使用缩进表示层级关系...

  • k8s的接口文档——swagger-ui服务

    1. 获取配置文件 开启k8s的api临时端口 说明:为导出k8s集群的api信息作为swagger-ui的配置文...

  • kubernetes之namespace资源导出02

    从k8s导出资源后,需要删除yaml里面的垃圾数据,需要批量改namespace名称,deploy中的镜像地址,改...

  • flutter的ymal文件

    flutter的ymal文件格式有着严格的限定,flutter中文网中的例子: 上边的asset其实是有严格的规则...

  • 常用工具网站

    1.ymal在线编辑器:https://www.json2yaml.com/

  • conda 写出环境yaml配置文件用于新设备部署环境

    conda 高频应用命令 写出conda 环境ymal配置文件 常用conda channel 配置

  • kubernetes

    kubernetes 安装 常用命令 命令发布nginx ymal配置文件管理 pod的管理 service的管理...

  • 5.Dubbo服务暴露分析

    5.1 配置解析 目前Dubbo提供3中配置方式:XML,注解和属性文件(properties和ymal),最常用...

  • Flutter 无法加载 assets图片

    图片资源: 代码: 查看了网上的方法,无法解决。 最终发现pubspec.ymal文件 assets 路径配置有问...

网友评论

      本文标题:k8s导出ymal

      本文链接:https://www.haomeiwen.com/subject/aunmaktx.html