snapshot 是 Kubernetes Volume 在职何给定时分点的气象。
要创建现存集群的快照,
在 Longhorn UI 的顶部导航栏中,单击 Volume。 单击要为其创建快照的卷的称号。这会导致卷详备信息页面。 单击 Take Snapshot 按钮。创建快照后,您将在卷头(Volume Head)之前的卷的快照列表中看到它。
周期性快照和备份从 Longhorn UI,不错安排周期性快照和备份。
要建造时分表(schedule),您将转到 Longhorn 中的卷详备信息视图。然后你将建造:
schedule 类型,备份(backup)或快照(snapshot) 将创建备份或快照的时分,以 CRON expression 的体式 要保留的备份或快照的数目 应讹诈于备份或快照的任何标签(Any labels)然后 Longhorn 会自动为其时的用户创建快照或备份,惟有该卷附加到一个节点。
不错使用 Longhorn UI 或使用 Kubernetes StorageClass 树立周期性快照。
正式:为了幸免当卷永劫分莫得新数据时,recurring jobs 可能会用疏浚的备份和空快照销亡旧的备份/快照的问题,Longhorn 引申以下操作:
Recurring backup job 仅在自前次备份以来卷有新数据时才进行新备份。 Recurring snapshot job 仅在卷头(volume head)中有新数据(及时数据)时才拍摄新快照。使用 Longhorn UI 建造周期性快照
不错从卷详备信息页面树立周期性快照和备份。要导航到此页面,请单击 Volume,,然后单击卷的称号。
使用 StorageClass 建造 Recurring Jobs
不错在 StorageClass 的 recurringJobs 参数中树立策动备份和快照。
使用这个 StorageClass 创建的任何翌日卷皆将自动建造这些 recurring jobs。
recurringJobs 字段应顺从以下 JSON 样貌:
kind: 澳门真人百家乐StorageClass apiVersion: storage.k8s.io/v1 metadata: name: longhorn provisioner: driver.longhorn.io parameters: numberOfReplicas: "3" staleReplicaTimeout: "30" fromBackup: "" recurringJobs: '[ { "name":"snap", "task":"snapshot", "cron":"*/1 * * * *", "retain":1 }, { "name":"backup", "task":"backup", "cron":"*/2 * * * *", "retain":1 } ]'
应为每个 recurring job 指定以下参数:
随着肺癌治疗进入靶向时代,为了进一步提升肺癌患者的生存获益,探索术后辅助靶向治疗的研究开始如火如荼地开展中。ADAURA研究是一项全球多中心的随机对照III期临床研究,旨在评估三代表皮生长因子受体—酪氨酸激酶抑制剂(EGFR-TKI)奥希替尼辅助治疗完全切除术后IB-IIIA期EGFR突变阳性非小细胞肺癌(NSCLC)的疗效和安全性。
夏季气温高,容易出汗,因此需要选择清淡易消化的食物,以减轻消化系统的负担。
name:一项 job 的称号。不要在一个 recurringJobs 中使用重迭的称号。 况且 name 的长度不可向上 8 个字符。 task:一项 job 的类型。它仅接济 snapshot(依期创建快照)或backup(依期创建快照然后进行备份)。 cron:Cron 抒发式。它告诉一项 job 的引申时分。 retain:Longhorn 将为一项 job 保留些许快照/备份(snapshots/backups)。应该不少于 1。 分离卷时允许 Recurring JobLonghorn 提供了 allow-recurring-job-while-volume-detached 建造,即使卷已分离,您也不错进行周期性备份(recurring backup)。您不错在 Longhorn UI 中找到该建造。
启用该建造后,Longhorn 将自动附加卷并在需要引申周期性快照/备份(recurring snapshot/backup)时进行快照/备份。
请正式,在卷自动附加(attached automatically)时刻,卷尚未准备公理由责任负载。Workload 必须比及 recurring job 完成。
诱惑 容灾卷容灾 (DR) 卷是一种荒谬卷,主要用于在悉数主集群出现故障时将数据存储在备份集群中。苦难还原卷用于升迁 Longhorn 卷的弹性。
关于苦难还原卷,Last Backup 默示其原始备份卷的最新备份。
如若代表苦难卷的图标为灰色,则默示该卷正在还原 Last Backup,况且该卷无法激活。如若图标为蓝色,则默示该卷已还原 Last Backup。
创建容灾(DR)卷先决条件: 建造两个 Kubernetes 集群。它们将被称为集群 A 和集群 B。在两个集群上装配 Longhorn,并在两个集群上建造疏浚的备份目标。
在集群 A 中,确保原始卷 X 已创建备份或已安排 recurring backups。 在集群 B 的备份页面,选拔备份卷 X,然后创建容灾卷 Y。激烈忽视使用备份卷名算作容灾卷名。 Longhorn 会自动将 DR 卷 Y 附加到立时节点。然后 Longhorn 将运转轮询卷 X 的终末一次备份,并将其增量还原到卷 Y。 建造备份目标备份目标是用于拜谒 Longhorn 中 backupstore 的端点。backupstore 是 NFS 管事器或 S3 兼容管事器,用于存储 Longhorn 卷的备份。备份目标不错在 Settings/General/BackupTarget 中建造。
皇冠客服飞机:@seo3687如若您无权拜谒 AWS S3 或念念先尝试备份存储,咱们还提供了一种使用 MinIO 建造腹地 S3 测试备份存储的模范。
Longhorn 还接济通过 Longhorn UI 或 Kubernetes Storage Class 为卷建造周期性快照/备份(recurring snapshot/backup)功课。
建造 AWS S3 备份存储
在 AWS S3 中创建一个新存储桶。
为 Longhorn 建造权限。有两种建造字据的选项。领先,您不错使用 AWS IAM 用户的凭证建造 Kubernetes secret。第二个是您不错使用第三方讹诈圭臬通过 annotations 来处分 Pod 的临时 AWS IAM 权限,而不是使用 AWS 凭证进行操作。
选项 1:使用 IAM 用户凭证创建 Kubernetes secret 选项 2:通过 AWS STS AssumeRole(kube2iam 或 kiam)使用 IAM 临时凭证建造权限kube2iam 或 kiam 是一个 Kubernetes 讹诈圭臬,它允许通过 annotations 而不是操作 AWS 凭证来处分 Pod 的 AWS IAM 权限。按照 kube2iam 或 kiam 的 GitHub 存储库中的阐述将其装配到 Kubernetes 集群中。
按照指南为 AWS S3 管事创建新的 AWS IAM 变装,并建造以下权限:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GrantLonghornBackupstoreAccess0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::<your-bucket-name>", "arn:aws:s3:::<your-bucket-name>/*" ] } ] }
使用以下信任关系裁剪 AWS IAM 变装:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<AWS_ACCOUNT_ID>:role/<AWS_EC2_NODE_INSTANCE_ROLE>" }, "Action": "sts:AssumeRole" } ] }
在 Longhorn 场所的定名空间(默许为 longhorn-system)中创建一个称号为 aws-secret 的 Kubernetes secret。secret 必须在 longhorn-system 定名空间中创建,以便 Longhorn 拜谒它:
kubectl create secret generic <aws-secret> \ --from-literal=AWS_IAM_ROLE_ARN=<your-aws-iam-role-arn> \ -n longhorn-system
按照指南创建新的 AWS IAM 用户,并建造以下权限。裁剪 Resource 部分以使用您的 S3存储桶称号:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GrantLonghornBackupstoreAccess0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::<your-bucket-name>", "arn:aws:s3:::<your-bucket-name>/*" ] } ] }
在放手 Longhorn 的定名空间(默许为 longhorn-system)中创建一个称号为 aws-secret 的 Kubernetes secret。secret 必须在 longhorn-system 定名空间中创建,以便 Longhorn 拜谒它:
kubectl create secret generic <aws-secret> \ --from-literal=AWS_ACCESS_KEY_ID=<your-aws-access-key-id> \ --from-literal=AWS_SECRET_ACCESS_KEY=<your-aws-secret-access-key> \ -n longhorn-system
转到 Longhorn UI。在顶部导航栏中,单击 Settings。 在 Backup 部分中,将 Backup Target 建造为:
s3://<your-bucket-name>@<your-aws-region>/
确保末尾有 /,不然会报错。不错使用子目次(前缀):
中场博彩s3://<your-bucket-name>@<your-aws-region>/mypath/
还要确保您在 URL 中建造了 。
举例,关于 AWS,您不错在:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html 找到区域代码(region codes)。
关于 Google Cloud Storage,您不错在:https://cloud.google.com/storage/docs/locations 找到区域代码。
在备份部分将 备份目标字据 Secret(Backup Target Credential Secret) 建造为:
aws-secret
这是具有 AWS 凭证或 AWS IAM 变装的 secret 称号。
Result: Longhorn 不错在 S3 中存储备份。要创建备份,请参阅本节。
Note: 如若您在代理后头操作 Longhorn 况且您念念使用 AWS S3 算作备份存储,您必须在 aws-secret 中提供相关您的代理的 Longhorn 信息,如下所示:
kubectl create secret generic <aws-secret> \ --from-literal=AWS_ACCESS_KEY_ID=<your-aws-access-key-id> \ --from-literal=AWS_SECRET_ACCESS_KEY=<your-aws-secret-access-key> \ --from-literal=HTTP_PROXY=<your-proxy-ip-and-port> \ --from-literal=HTTPS_PROXY=<your-proxy-ip-and-port> \ --from-literal=NO_PROXY=<excluded-ip-list> \ -n longhorn-system
确保 NO_PROXY 包含不应使用代理(proxy)的网罗地址(network addresses)、网罗地址鸿沟和域(network address ranges and domains)。为了让 Longhorn 运行,NO_PROXY 的最低要求值为:
localhost 127.0.0.1 0.0.0.0 10.0.0.0/8 (K8s components' IPs) 192.168.0.0/16 (internal IPs in the cluster) 建造腹地测试备份存储咱们在 ./deploy/backupstores 中提供了两个基于 NFS server 和 MinIO S3 server 的测试目标备份存储(backupstore)。
创建 longhorn-system 后,使用以下敕令为备份存储建造 MinIO S3 管事器。
kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/backupstores/minio-backupstore.yaml
转到 Longhorn UI。在顶部导航栏中,单击 Settings。在 Backup 部分,将 Backup Target 建造为
s3://backupbucket@us-east-1/
并将 Backup Target Credential Secret(备份目标字据 Secret) 建造为:
minio-secret
minio-secret yaml 如下所示:
apiVersion: v1 kind: Secret metadata: name: minio-secret namespace: longhorn-system type: Opaque data: AWS_ACCESS_KEY_ID: bG9uZ2hvcm4tdGVzdC1hY2Nlc3Mta2V5 # longhorn-test-access-key AWS_SECRET_ACCESS_KEY: bG9uZ2hvcm4tdGVzdC1zZWNyZXQta2V5 # longhorn-test-secret-key AWS_ENDPOINTS: aHR0cHM6Ly9taW5pby1zZXJ2aWNlLmRlZmF1bHQ6OTAwMA== # https://minio-service.default:9000 AWS_CERT: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMRENDQWhTZ0F3SUJBZ0lSQU1kbzQycGhUZXlrMTcvYkxyWjVZRHN3RFFZSktvWklodmNOQVFFTEJRQXcKR2pFWU1CWUdBMVVFQ2hNUFRHOXVaMmh2Y200Z0xTQlVaWE4wTUNBWERUSXdNRFF5TnpJek1EQXhNVm9ZRHpJeApNakF3TkRBek1qTXdNREV4V2pBYU1SZ3dGZ1lEVlFRS0V3OU1iMjVuYUc5eWJpQXRJRlJsYzNRd2dnRWlNQTBHCkNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEWHpVdXJnUFpEZ3pUM0RZdWFlYmdld3Fvd2RlQUQKODRWWWF6ZlN1USs3K21Oa2lpUVBvelVVMmZvUWFGL1BxekJiUW1lZ29hT3l5NVhqM1VFeG1GcmV0eDBaRjVOVgpKTi85ZWFJNWRXRk9teHhpMElPUGI2T0RpbE1qcXVEbUVPSXljdjRTaCsvSWo5Zk1nS0tXUDdJZGxDNUJPeThkCncwOVdkckxxaE9WY3BKamNxYjN6K3hISHd5Q05YeGhoRm9tb2xQVnpJbnlUUEJTZkRuSDBuS0lHUXl2bGhCMGsKVHBHSzYxc2prZnFTK3hpNTlJeHVrbHZIRXNQcjFXblRzYU9oaVh6N3lQSlorcTNBMWZoVzBVa1JaRFlnWnNFbQovZ05KM3JwOFhZdURna2kzZ0UrOElXQWRBWHExeWhqRDdSSkI4VFNJYTV0SGpKUUtqZ0NlSG5HekFnTUJBQUdqCmF6QnBNQTRHQTFVZER3RUIvd1FFQXdJQ3BEQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUIKQWY4RUJUQURBUUgvTURFR0ExVWRFUVFxTUNpQ0NXeHZZMkZzYUc5emRJSVZiV2x1YVc4dGMyVnlkbWxqWlM1awpaV1poZFd4MGh3Ui9BQUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDbUZMMzlNSHVZMzFhMTFEajRwMjVjCnFQRUM0RHZJUWozTk9kU0dWMmQrZjZzZ3pGejFXTDhWcnF2QjFCMVM2cjRKYjJQRXVJQkQ4NFlwVXJIT1JNU2MKd3ViTEppSEtEa0Jmb2U5QWI1cC9VakpyS0tuajM0RGx2c1cvR3AwWTZYc1BWaVdpVWorb1JLbUdWSTI0Q0JIdgpnK0JtVzNDeU5RR1RLajk0eE02czNBV2xHRW95YXFXUGU1eHllVWUzZjFBWkY5N3RDaklKUmVWbENtaENGK0JtCmFUY1RSUWN3cVdvQ3AwYmJZcHlERFlwUmxxOEdQbElFOW8yWjZBc05mTHJVcGFtZ3FYMmtYa2gxa3lzSlEralAKelFadHJSMG1tdHVyM0RuRW0yYmk0TktIQVFIcFc5TXUxNkdRakUxTmJYcVF0VEI4OGpLNzZjdEg5MzRDYWw2VgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
相关创建 secret 的更多信息,请参阅 Kubernetes 文档。 secret 必须在 longhorn-system 定名空间中创建,以便 Longhorn 拜谒它。
Note: 生成 base64 编码时一定要使用 echo -n,不然会在字符串末尾添加新行,拜谒 S3 时会出错。
单击 UI 中的 Backup 选项卡。它应该敷陈一个莫得任何症结的空列表。
Result: Longhorn 不错在 S3 中存储备份。
使用自签名 SSL 文凭进行 S3 通讯
如若要使用自签名 SSL 文凭,不错在提供给 Longhorn 的 Kubernetes secret 中指定 AWS_CERT。 请参阅建造腹地测试备份存储中的示例。 需要正式的是,文凭需要选定 PEM 样貌,况且必须是其我方的 CA。 大略必须包含一个包含 CA 文凭的文凭链。 要包含多个文凭,只需贯穿不同的文凭(PEM 文献)即可。
为 S3 兼容的备份存储启用 virtual-hosted-style 拜谒
在以下情况下,欧博在线您可能需要为 S3 兼容的备份存储启用这种新的寻址模范
您念念立即切换到这种新的拜谒形状,这么您就无需顾虑 Amazon S3 旅途弃用策动; 您使用的 backupstore 只接济 virtual-hosted-style 的拜谒,举例:Alibaba Cloud(Aliyun) OSS; 您已树立 MINIO_DOMAIN 环境变量以启用 MinIO 管事器的 virtual-host-style 申请; 这个症结 ...... error: AWS Error: SecondLevelDomainForbidden Please use virtual hosted style to access. ..... 被触发。启用 virtual-hosted-style 拜谒的模范
将值为 true 的新字段 VIRTUAL_HOSTED_STYLE 添加到您的备份目标 secret。举例:
apiVersion: v1 kind: Secret metadata: name: s3-compatible-backup-target-secret namespace: longhorn-system type: Opaque data: AWS_ACCESS_KEY_ID: bG9uZ2hvcm4tdGVzdC1hY2Nlc3Mta2V5 AWS_SECRET_ACCESS_KEY: bG9uZ2hvcm4tdGVzdC1zZWNyZXQta2V5 AWS_ENDPOINTS: aHR0cHM6Ly9taW5pby1zZXJ2aWNlLmRlZmF1bHQ6OTAwMA== VIRTUAL_HOSTED_STYLE: dHJ1ZQ== # true
部署/更新(Deploy/update) secret,并在 Settings/General/BackupTargetSecret 中建造它。
NFS 备份存储
要将 NFS 管事器用作备份存储,NFS 管事器必须接济 NFSv4。
目标 URL 应如下所示:
nfs://longhorn-test-nfs-svc.default:/opt/backupstore
Result: Longhorn 不错在 NFS 中存储备份。
创建备份Longhorn 中的 Backups 是集群外备份存储中的对象。快照的备份被复制到备份存储,拜谒备份存储的端点是备份目标。
先决条件: 必须建造备份目标。相关更多信息,请参阅建造备份目标。如若尚未建造 BackupTarget,则会出现症结。
要创建备份,
导航到 Volume 菜单。 选拔要备份的卷。 单击 Create Backup。 添加相宜的标签并单击 OK。Result: 备份已创建。要稽查它,请单击顶部导航栏中的 Backup。
从备份还原Longhorn 不错松驰地将备份还原到一个卷。
皇冠代理还原备份时,默许情况下会创建一个同名的卷。如若已存在与备份同名的卷,则不会还原备份。
要还原备份,
导航到 Backup 菜单 选拔您要还原的备份,然后单击 Restore Latest Backup 在 Name 字段中,选拔要还原的卷 单击 OKResult: 还原的卷在 Volume 页面上可用。
皇冠信用盘怎么开 为 Kubernetes StatefulSets 还原卷Longhorn 接济还原备份,该特质的一个用例是还原 Kubernetes StatefulSet 中使用的数据,这需要为备份的每个副本还原一个卷。
要还原,请按照以下阐述操作。底下的示例使用一个 StatefulSet,其中一个卷附加到每个 Pod 和两个副本。
贯穿到 Web 浏览器中的 Longhorn UI 页面。在 Backup 选项卡下,选拔 StatefulSet 卷的称号。单击卷条件标下拉菜单并还原它。将卷定名为稍后不错松驰援用的 Persistent Volumes。
Backup Name Restored Volume pvc-01a statefulset-vol-0 pvc-02b statefulset-vol-1对需要还原的每个卷重迭此要领。
举例,如若使器用闻明为 pvc-01a 和 pvc-02b 的卷的两个副本还原 StatefulSet,则还原可能如下所示:
在 Kubernetes 中,为每个创建的 Longhorn 卷创建一个 Persistent Volume。将卷定名为稍后不错松驰援用的 Persistent Volume Claims。storage 容量、numberOfReplicas、storageClassName 和 volumeHandle 必须不才面替换。在这个例子中,咱们在 Longhorn 中援用了 statefulset-vol-0 和 statefulset-vol-1,并使用 longhorn 算作咱们的 storageClassName。
apiVersion: v1 kind: PersistentVolume metadata: name: statefulset-vol-0 spec: capacity: storage: <size> # must match size of Longhorn volume volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete csi: driver: driver.longhorn.io # driver must match this fsType: ext4 volumeAttributes: numberOfReplicas: <replicas> # must match Longhorn volume value staleReplicaTimeout: '30' # in minutes volumeHandle: statefulset-vol-0 # must match volume name from Longhorn storageClassName: longhorn # must be same name that we will use later --- apiVersion: v1 kind: PersistentVolume metadata: name: statefulset-vol-1 spec: capacity: storage: <size> # must match size of Longhorn volume volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete csi: driver: driver.longhorn.io # driver must match this fsType: ext4 volumeAttributes: numberOfReplicas: <replicas> # must match Longhorn volume value staleReplicaTimeout: '30' volumeHandle: statefulset-vol-1 # must match volume name from Longhorn storageClassName: longhorn # must be same name that we will use later
在 namespace 中,将部署 StatefulSet,为每个 Persistent Volume 创建 PersistentVolume Claims。Persistent Volume Claim 的称号必须顺从以下定名决策:
<name of Volume Claim Template>-<name of StatefulSet>-<index>
StatefulSet Pod 是零索引(zero-indexed)的。 在这个例子中,Volume Claim Template 的名字是 data,StatefulSet 的名字是 webapp, 况且有两个副本,差别是索引 0 和 1。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: data-webapp-0 spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi # must match size from earlier storageClassName: longhorn # must match name from earlier volumeName: statefulset-vol-0 # must reference Persistent Volume --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: data-webapp-1 spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi # must match size from earlier storageClassName: longhorn # must match name from earlier volumeName: statefulset-vol-1 # must reference Persistent Volume
创建 StatefulSet:
apiVersion: apps/v1beta2 kind: StatefulSet metadata: name: webapp # match this with the PersistentVolumeClaim naming scheme spec: selector: matchLabels: app: nginx # has to match .spec.template.metadata.labels serviceName: "nginx" replicas: 2 # by default is 1 template: metadata: labels: app: nginx # has to match .spec.selector.matchLabels spec: terminationGracePeriodSeconds: 10 containers: - name: nginx image: k8s.gcr.io/nginx-slim:0.8 ports: - containerPort: 80 name: web volumeMounts: - name: data mountPath: /usr/share/nginx/html volumeClaimTemplates: - metadata: name: data # match this with the PersistentVolumeClaim naming scheme spec: accessModes: [ "ReadWriteOnce" ] storageClassName: longhorn # must match name from earlier resources: requests: storage: 2Gi # must match size from earlier
Result: 现时应该不错从 StatefulSet Pods 里面拜谒还原的数据。
在集群上启用 CSI 快照接济先决条件
皇冠体育hg86a
CSI 快照接济可用于 Kubernetes 版块 >= 1.17。
Kubernetes 刊行版崇拜部署快照逼迫器(snapshot controller)以及关联的自界说资源界说。
相关更多信息,请参阅 CSI 卷快照。
添加一个默许的 VolumeSnapshotClass
确保 Snapshot Beta CRD 的可用性。然后创建一个默许的 VolumeSnapshotClass。
kind: VolumeSnapshotClass apiVersion: snapshot.storage.k8s.io/v1beta1 metadata: name: longhorn driver: driver.longhorn.io deletionPolicy: Delete
如若您在 Air Gap 环境中从曩昔的 Longhorn 版块进行更新
更新 csi-provisioner 镜像到 longhornio/csi-provisioner:v1.6.0 更新 csi-snapshotter 镜像到 longhornio/csi-snapshotter:v2.1.1如若您的 Kubernetes 刊行版未绑缚 Snapshot Controller
您不错通过引申以下要领手动装配这些组件。
请正式,底下提到的 snapshot controller YAML 文献部署到 default 定名空间中。
先决条件
太平洋在线直营网关于一般用途,请在装配之前使用相宜的 namespace 更新 snapshot controller YAML。
举例,在 vanilla Kubernetes 集群上,在发出 kubectl create 敕令之前,将定名空间从 default 更新为 kube-system。
装配 Snapshot Beta CRDs:
从 https://github.com/kubernetes-csi/external-snapshotter/tree/release-4.0/client/config/crd 下载文献
运行 kubectl create -f client/config/crd.
博彩平台开奖记录查询每个集群引申一次。
装配 Common Snapshot Controller:
从 https://github.com/kubernetes-csi/external-snapshotter/tree/release-4.0/deploy/kubernetes/snapshot-controller 下载文献
将 namespace 更新为允洽您环境的值(举例:kube-system)
运行 kubectl create -f deploy/kubernetes/snapshot-controller
每个集群引申一次。
相关其他信息,请参阅 kubernetes external-snapshotter git repo 中的 Usage 部分。
通过 CSI 创建备份Longhorn 中的 Backups 是集群外备份存储(backupstore)中的对象,拜谒备份存储的端点是备份目标。
要以编程形状创建 backups,您不错使用通用的 Kubernetes CSI 快照机制。
先决条件: 需要在您的集群上启用 CSI snapshot 接济。 如若您的 kubernetes 刊行版莫得提供 kubernetes snapshot controller 以及快照关联的自界说资源界说,您需要手动部署它们 更多信息,参阅 Enable CSI Snapshot Support
通过 CSI Mechanism 创建备份要使用 CSI 机制创建备份,请通过 kubectl 创建一个 Kubernetes VolumeSnapshot 对象。
在2024欧洲杯半决赛中,法国国家队和荷兰国家队的比赛异常激烈。比赛中,法国队的主力后卫拉波尔特因为恶意犯规被罚下,而荷兰队则在补时阶段打入制胜球,成功晋级决赛。然而事后拉波尔特的犯规被越来越多的人质疑,让这场比赛的结果一直备受争议。Result: 已创建备份。VolumeSnapshot 对象的创建导致了 VolumeSnapshotContent Kubernetes 对象的创建。
VolumeSnapshotContent 是指其 VolumeSnapshotContent.snapshotHandle 字段中名为 bs://backup-volume/backup-name 的 Longhorn backup。
CSI Mechanism 责任旨趣当使用 kubectl 创建 VolumeSnapshot 对象时,VolumeSnapshot.uuid 字段用于象征 Longhorn snapshot 和关联的 VolumeSnapshotContent 对象。
这将创建一个名为 snapshot-uuid 的新 Longhorn snapshot。
然后启动该 snapshot 的 backup,并复返 CSI request。
然后创建一个名为 snapcontent-uuid 的 VolumeSnapshotContent 对象。
CSI snapshotter sidecar 依期查询 Longhorn CSI 插件以评估备份气象(backup status)。
备份完成后,VolumeSnapshotContent.readyToUse 璀璨建造为 true。
稽查备份要稽查备份,请单击顶部导航栏中的 Backup 并导航到 VolumeSnapshotContent.snapshotHandle 中提到的备份卷(backup-volume)。
VolumeSnapshot 示例
底下是一个示例 VolumeSnapshot 对象。source 需要指向应为其创建备份的 Longhorn volume 的 PVC。
皇冠赌场开户优惠volumeSnapshotClassName 字段指向一个 VolumeSnapshotClass。
咱们创建了一个名为 longhorn 的默许类,它使用 Delete 算作它的 deletionPolicy。
apiVersion: snapshot.storage.k8s.io/v1beta1 kind: VolumeSnapshot metadata: name: test-snapshot-pvc spec: volumeSnapshotClassName: longhorn source: persistentVolumeClaimName: test-vol
如若您但愿在删除 VolumeSnapshot 时保留卷的关联备份,请创建一个新的 VolumeSnapshotClass,并将 Retain 建造为 deletionPolicy。
相关快照类的更多信息,请参阅 VolumeSnapshotClasses 的 kubernetes 文档。
通过 CSI 还原备份Longhorn 不错松驰地将备份还原到一个卷。
要以编程形状还原备份,您不错使用通用的 kubernetes csi 快照机制。
先决条件
需要在您的集群上启用 CSI 快照接济。
如若您的 Kubernetes 刊行版未提供 Kubernetes snapshot controller 以及与快照关联的自界说资源界说,则您需要手动部署它们。
通过 VolumeSnapshot 对象还原备份创建一个 PersistentVolumeClaim 对象,其中 dataSource 字段指向现存的 VolumeSnapshot 对象。
csi-provisioner 将赢得它并引导 Longhorn CSI driver 使用关联备份(associated backup)中的数据来树立新卷。
您不错使用疏浚的机制来还原尚未通过 CSI 机制创建的 Longhorn 备份。
底下是一个 PersistentVolumeClaim 示例。 dataSource 字段需要指向现存的 VolumeSnapshot 对象。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: test-restore-snapshot-pvc spec: storageClassName: longhorn dataSource: name: test-snapshot-pvc kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io accessModes: - ReadWriteOnce resources: requests: storage: 2Gi还原没相关联 VolumeSnapshot 的备份
要还原未通过 CSI 机制创建的 Longhorn 备份,您必须领先手动为备份创建 VolumeSnapshot 和 VolumeSnapshotContent 对象。
创建一个 VolumeSnapshotContent 对象,并将 snapshotHandle 字段建造为 bs://backup-volume/backup-name。
backup-volume 和 backup-name 值不错从 Longhorn UI 的 Backup 页面检索。
apiVersion: snapshot.storage.k8s.io/v1beta1 kind: VolumeSnapshotContent metadata: name: test-existing-backup spec: volumeSnapshotClassName: longhorn driver: driver.longhorn.io deletionPolicy: Delete source: # NOTE: change this to point to an existing backup on the backupstore snapshotHandle: bs://test-vol/backup-625159fb469e492e volumeSnapshotRef: name: test-snapshot-existing-backup namespace: default
创建关联的 VolumeSnapshot 对象,并将 name 字段建造为 test-snapshot-existing-backup,其中 source 字段通过 volumeSnapshotContentName 字段援用 VolumeSnapshotContent 对象。
这与创建 backup 不同,在这种情况下,source 字段通过 persistentVolumeClaimName 字段援用 PerstistentVolumeClaim。
只可为 VolumeSnapshot 对象建造一种类型的援用。
apiVersion: snapshot.storage.k8s.io/v1beta1 kind: VolumeSnapshot metadata: name: test-snapshot-existing-backup spec: volumeSnapshotClassName: longhorn source: volumeSnapshotContentName: test-existing-backup
现时您不错创建一个援用新创建的 VolumeSnapshot 对象的 PerstistentVolumeClaim 对象。