来自kubernetes的脚本备份名称空间,部署等

时间:2019-02-12 08:22:20

标签: bash shell kubernetes google-kubernetes-engine

我正在寻找 bash脚本,该脚本可以备份 kubernetes 中的所有 yaml格式或 json 也很好:) 我已经备份了kubernetes conf文件。

/etc/kubernetes
/etc/systemd/system/system/kubelet.service.d

等...

现在我只是想保存

命名空间

部署

等...

2 个答案:

答案 0 :(得分:2)

您可以使用以下方法将整个群集信息转储到一个文件中:

kubectl cluster-info dump > cluster_dump.txt

以上命令会将所有Yaml和容器日志转储到一个文件中

或者,如果您只想要yaml文件,则可以编写一些命令的脚本,其中包括

kubectl get deployment -o yaml > deployment.yaml
kubectl get statefulset -o yaml > statefulset.yaml
kubectl get daemonset -o yaml > daemonset.yaml

然后,在创建脚本时必须牢记命名空间。这让您很清楚该怎么做

答案 1 :(得分:0)

尝试以下命令。您可以包含所有要备份的名称空间

mkdir -p /root/k8s-backup

kubectl cluster-info dump --namespaces default,kube-system  --output-directory=/root/k8s-backup