https://github.com/vmware-tanzu/velero/tree/v1.10.0
https://github.com/yangpeng14/DevOps/blob/master/kubernetes/K8S备份-恢复-迁移神器-Velero.md
https://github.com/vmware-tanzu/velero/tree/v1.10.0
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 新版本
########################################
kubectl create ns velero
velero completion bash
cat > ./credentials-velero <<EOF
[default]
aws_access_key_id = pfnJjCoizCCMQdL2qa
aws_secret_access_key = L1ZmwkrKMOPitWmuEzJQEuzMcO0___Aa1
EOF
velero install \
--provider aws \
--plugins velero/velero-plugin-for-aws:v1.0.0 \
--bucket velero \
--namespace velero \
--secret-file ./credentials-velero \
--use-restic \
--backup-location-config region=minio,s3ForcePathStyle=true,insecureSkipTLSVerify=true,s3Url=https://xiantest04v.xian.zzt.qianxin-inc.cn:9345
velero backup create default-backup --include-namespaces default --wait
velero restore create --from-backup default-backup --wait
kubectl -n velero get backupstoragelocation -o yaml
kubectl delete namespace/velero clusterrolebinding/velero
kubectl delete crds -l component=veler
################################################## 早期版本
kubectl create ns velero
velero completion bash
cat > ./credentials-velero <<EOF
[default]
aws_access_key_id = pfnJjCoizCCMQdL2qa
aws_secret_access_key = L1ZmwkrKMOPitWmuEzJQEuzMcO0___Aa1
EOF
kubectl create secret generic cloud-credentials \
--namespace velero \
--from-file cloud=credentials-velero
examples/common/
kubectl apply -f 00-prereqs.yaml
examples/minio/
kubectl apply -f 05-backupstoragelocation.yaml
examples/minio/
kubectl apply -f 20-deployment.yaml
/qaxdata/s/services/minio/9345/bin/mc mb minio/velero
image: gcrioheptioimages/velero:v0.11.0
imagePullPolicy: IfNotPresent
kubectl create configmap ca-cert --from-file=ca.crt=QAX-ATS-CA.crt -n velero
- mountPath: /plugins
name: plugins
- mountPath: /scratch
name: scratch
- mountPath: /etc/ssl/certs/ca-certificates.crt
name: ca-cert
subPath: ca.crt
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: velero
serviceAccountName: velero
terminationGracePeriodSeconds: 30
volumes:
- name: cloud-credentials
secret:
defaultMode: 420
secretName: cloud-credentials
- emptyDir: {}
name: plugins
- emptyDir: {}
name: scratch
- configMap:
defaultMode: 420
items:
- key: ca.crt
path: ca.crt
name: ca-cert
name: ca-cert
velero backup create default-backup --include-namespaces default --wait
velero restore create --from-backup default-backup --wait
kubectl -n velero get backupstoragelocation -o yaml
kubectl delete namespace/velero clusterrolebinding/velero
kubectl delete crds -l component=veler
新版本k8s
spec:
replicas: 1
template:
metadata:
labels:
component: velero
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8085"
prometheus.io/path: "/metrics"
selector:
matchLabels:
app: velero
template:
metadata:
labels:
app: velero
apiVersion: apps/v1