- Create ConfigMaps for backup configuration and scripts - Define Secrets for S3 credentials - Implement Role and RoleBinding for access control - Set up a DaemonSet for running backup containers - Add a CronJob to schedule backups daily This commit establishes a comprehensive backup solution within the Kubernetes cluster, allowing for automated backups of specified directories to S3 storage. It includes necessary configurations and scripts to ensure proper execution and notification of backup status.
44 lines
892 B
YAML
44 lines
892 B
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: backup-config
|
|
namespace: backup-system
|
|
data:
|
|
subpath: "nodes"
|
|
backups-to-keep: "3"
|
|
use-https: "True"
|
|
signature-v2: "False" # 设置为 "True" 如果 S3 服务需要 V2 签名
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: backup-service-account
|
|
namespace: backup-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: backup-role
|
|
namespace: backup-system
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["pods"]
|
|
verbs: ["get", "list"]
|
|
- apiGroups: [""]
|
|
resources: ["pods/exec"]
|
|
verbs: ["create"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: backup-role-binding
|
|
namespace: backup-system
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: backup-service-account
|
|
namespace: backup-system
|
|
roleRef:
|
|
kind: Role
|
|
name: backup-role
|
|
apiGroup: rbac.authorization.k8s.io
|