k8s運(yùn)維過(guò)程中,總是碰到項(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