kubernetes之namespace資源導(dǎo)出

k8s運(yùn)維過程中,總是碰到項(xiàng)目從內(nèi)網(wǎng)遷移到公網(wǎng),從阿里云到騰訊云,華為云等等情況
需要一個(gè)腳本把命名空間里面的資源全部導(dǎo)出

#!/bin/bash

NS=kube-system

resourceList=(
deploy
services
endpoints
ingress
secrets
pvc
cm
)

printList(){
  for aa in ${resourceList[@]};
  do
    aList=$(kubectl  -n $NS get $aa |grep -v NAME  |awk '{print $1}')
    if [ ! "${aList[*]}"x == "x" ];then
      [ -d ./$aa ] || mkdir ./$aa
      for i in $aList;
      do
        echo $aa $i
        kubectl -n $NS get $aa $i -o yaml > $aa/$i.yaml
      done
    fi
  done
}

# create namespaces yaml
kubectl  get namespaces $NS -o yaml > namespaces.yaml

# create pv yaml
pvList=$(kubectl get pv |grep "$NS/" |awk '{print $1}')
if [ ! "${pvList[*]}"x == "x" ];then
  for i in ${pvList[@]}
  do
    echo pv $i
    kubectl get pv $i -o yaml > $i.pv.yaml
  done
fi

printList
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容