feat(velero): 新增velero处理集群备份
这个提交包含在:
+17
-12
@@ -31,18 +31,7 @@ spec:
|
|||||||
- greenhk
|
- greenhk
|
||||||
image:
|
image:
|
||||||
repository: halohub/halo-pro
|
repository: halohub/halo-pro
|
||||||
tag: 2.20.8
|
tag: 2.20.9
|
||||||
mysql:
|
|
||||||
enabled: false
|
|
||||||
postgresql:
|
|
||||||
enabled: false
|
|
||||||
externalDatabase:
|
|
||||||
platform: postgresql
|
|
||||||
host: cnpg-cluster-hk-rw.infra-data
|
|
||||||
port: 5432
|
|
||||||
user: app
|
|
||||||
password: nyrHzh9WWlDZzvVw7bDFo74gKb9zsls0Sy7OwRTDWiRTNPQQQkW85taUFAoX2AIC
|
|
||||||
database: halo
|
|
||||||
service:
|
service:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
ingress:
|
ingress:
|
||||||
@@ -59,7 +48,23 @@ spec:
|
|||||||
hostname: dev.cm
|
hostname: dev.cm
|
||||||
path: /
|
path: /
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
|
podAnnotations:
|
||||||
|
backup.velero.io/backup-volumes: halo-data
|
||||||
|
metrics:
|
||||||
|
enabled: true
|
||||||
|
mysql:
|
||||||
|
enabled: false
|
||||||
|
postgresql:
|
||||||
|
enabled: false
|
||||||
|
externalDatabase:
|
||||||
|
platform: postgresql
|
||||||
|
host: cnpg-cluster-hk-rw.infra-data
|
||||||
|
port: 5432
|
||||||
|
user: app
|
||||||
|
password: nyrHzh9WWlDZzvVw7bDFo74gKb9zsls0Sy7OwRTDWiRTNPQQQkW85taUFAoX2AIC
|
||||||
|
database: halo
|
||||||
haloUsername: rohow
|
haloUsername: rohow
|
||||||
haloExternalUrl: https://dev.cm
|
haloExternalUrl: https://dev.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ spec:
|
|||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
nodeSelectorTerms:
|
nodeSelectorTerms:
|
||||||
- matchExpressions:
|
- matchExpressions:
|
||||||
- key: node-role.kubernetes.io/master
|
- key: topology.kubernetes.io/region
|
||||||
operator: In
|
operator: In
|
||||||
values:
|
values:
|
||||||
- "true"
|
- "cn-sh"
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: "node-role.kubernetes.io/master"
|
- key: "node-role.kubernetes.io/master"
|
||||||
operator: "Exists"
|
operator: "Exists"
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ spec:
|
|||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
nodeSelectorTerms:
|
nodeSelectorTerms:
|
||||||
- matchExpressions:
|
- matchExpressions:
|
||||||
- key: node-role.kubernetes.io/master
|
- key: topology.kubernetes.io/region
|
||||||
operator: In
|
operator: In
|
||||||
values:
|
values:
|
||||||
- "true"
|
- "cn-sh"
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: "node-role.kubernetes.io/master"
|
- key: "node-role.kubernetes.io/master"
|
||||||
operator: "Exists"
|
operator: "Exists"
|
||||||
|
|||||||
@@ -16,10 +16,10 @@ spec:
|
|||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
nodeSelectorTerms:
|
nodeSelectorTerms:
|
||||||
- matchExpressions:
|
- matchExpressions:
|
||||||
- key: node-role.kubernetes.io/master
|
- key: topology.kubernetes.io/region
|
||||||
operator: In
|
operator: In
|
||||||
values:
|
values:
|
||||||
- "true"
|
- "cn-sh"
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: "node-role.kubernetes.io/master"
|
- key: "node-role.kubernetes.io/master"
|
||||||
operator: "Exists"
|
operator: "Exists"
|
||||||
@@ -36,10 +36,10 @@ spec:
|
|||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
nodeSelectorTerms:
|
nodeSelectorTerms:
|
||||||
- matchExpressions:
|
- matchExpressions:
|
||||||
- key: node-role.kubernetes.io/master
|
- key: topology.kubernetes.io/region
|
||||||
operator: In
|
operator: In
|
||||||
values:
|
values:
|
||||||
- "true"
|
- "cn-sh"
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: "node-role.kubernetes.io/master"
|
- key: "node-role.kubernetes.io/master"
|
||||||
operator: "Exists"
|
operator: "Exists"
|
||||||
@@ -50,10 +50,10 @@ spec:
|
|||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
nodeSelectorTerms:
|
nodeSelectorTerms:
|
||||||
- matchExpressions:
|
- matchExpressions:
|
||||||
- key: node-role.kubernetes.io/master
|
- key: topology.kubernetes.io/region
|
||||||
operator: In
|
operator: In
|
||||||
values:
|
values:
|
||||||
- "true"
|
- "cn-sh"
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: "node-role.kubernetes.io/master"
|
- key: "node-role.kubernetes.io/master"
|
||||||
operator: "Exists"
|
operator: "Exists"
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ spec:
|
|||||||
- path: /
|
- path: /
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
gitea:
|
gitea:
|
||||||
|
podAnnotations:
|
||||||
|
backup.velero.io/backup-volumes: data
|
||||||
config:
|
config:
|
||||||
APP_NAME: Git.dev.cm
|
APP_NAME: Git.dev.cm
|
||||||
RUN_MODE: prod
|
RUN_MODE: prod
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ spec:
|
|||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
nodeSelectorTerms:
|
nodeSelectorTerms:
|
||||||
- matchExpressions:
|
- matchExpressions:
|
||||||
- key: node-role.kubernetes.io/master
|
- key: topology.kubernetes.io/region
|
||||||
operator: In
|
operator: In
|
||||||
values:
|
values:
|
||||||
- "true"
|
- "cn-sh"
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: "node-role.kubernetes.io/master"
|
- key: "node-role.kubernetes.io/master"
|
||||||
operator: "Exists"
|
operator: "Exists"
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
apiVersion: helm.cattle.io/v1
|
||||||
|
kind: HelmChart
|
||||||
|
metadata:
|
||||||
|
name: velero
|
||||||
|
namespace: infra-devops
|
||||||
|
spec:
|
||||||
|
repo: https://vmware-tanzu.github.io/helm-charts
|
||||||
|
chart: velero
|
||||||
|
targetNamespace: infra-devops
|
||||||
|
version: 8.0.0
|
||||||
|
valuesContent: |-
|
||||||
|
affinity:
|
||||||
|
nodeAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: topology.kubernetes.io/region
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- "cn-sh"
|
||||||
|
tolerations:
|
||||||
|
- key: "node-role.kubernetes.io/master"
|
||||||
|
operator: "Exists"
|
||||||
|
effect: "NoSchedule"
|
||||||
|
snapshotsEnabled: false
|
||||||
|
deployNodeAgent: true
|
||||||
|
defaultRepoMaintainFrequency: 3h
|
||||||
|
repositoryMaintenanceJob:
|
||||||
|
latestJobsCount: 1
|
||||||
|
configuration:
|
||||||
|
backupStorageLocation:
|
||||||
|
- name: default
|
||||||
|
provider: aws
|
||||||
|
bucket: devcm
|
||||||
|
prefix: velero
|
||||||
|
config:
|
||||||
|
region: cn-east-3
|
||||||
|
s3ForcePathStyle: true
|
||||||
|
s3Url: https://obs.cn-east-3.myhuaweicloud.com
|
||||||
|
checksumAlgorithm: ""
|
||||||
|
credentials:
|
||||||
|
useSecret: true
|
||||||
|
secretContents:
|
||||||
|
cloud: |
|
||||||
|
[default]
|
||||||
|
aws_access_key_id = A9RI5BC15F3L9EI8T51T
|
||||||
|
aws_secret_access_key = ky1n3OlNNu7wjgctVjCqb03HWxjZucRGhvcEBp51
|
||||||
|
initContainers:
|
||||||
|
- name: velero-plugin-for-aws
|
||||||
|
image: velero/velero-plugin-for-aws:v1.11.0
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /target
|
||||||
|
name: plugins
|
||||||
|
nodeAgent:
|
||||||
|
nodeSelector:
|
||||||
|
backup.velero.io/enable: "true"
|
||||||
|
|
||||||
在新议题中引用
屏蔽一个用户