{"id":78512,"date":"2026-02-27T19:26:20","date_gmt":"2026-02-27T11:26:20","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/78512.html"},"modified":"2026-02-27T19:26:20","modified_gmt":"2026-02-27T11:26:20","slug":"kubernetes-velero%e9%9b%86%e7%be%a4%e5%a4%87%e4%bb%bd%e8%bf%98%e5%8e%9f%e5%92%8c%e8%bf%81%e7%a7%bb","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/78512.html","title":{"rendered":"Kubernetes-Velero\u96c6\u7fa4\u5907\u4efd\u8fd8\u539f\u548c\u8fc1\u79fb"},"content":{"rendered":"<h2 style=\"background-color:transparent\">1.Velero \u7b80\u4ecb<\/h2>\n<h3 style=\"background-color:transparent\">1.1.Velero\u4ecb\u7ecd<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"479\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260227112610-69a17f52c0a40.png\" width=\"1357\" \/><\/p>\n<p>Velero (\u897f\u73ed\u7259\u8bed&#xff0c;\u610f\u601d\u662f\u201c\u5e06\u8239)\u6700\u521d\u7531 Heptio \u516c\u53f8\u5f00\u53d1&#xff0c;\u9879\u76ee\u540d\u79f0\u4e3a \u201cHeptio Ark\u201d\u3002Heptio \u7531 Kubernetes \u7684\u4e24\u4f4d\u8054\u5408\u521b\u59cb\u4eba Craig McLuckie \u548c Joe Beda \u521b\u7acb&#xff0c;\u65e8\u5728\u4e3a Kubernetes \u7528\u6237\u63d0\u4f9b\u4e00\u7cfb \u5217\u53ef\u9760\u7684\u5de5\u5177\u6765\u589e\u5f3a\u96c6\u7fa4\u7684\u7ba1\u7406\u3001\u8fd0\u7ef4\u80fd\u529b\u3002Ark \u9879\u76ee\u5e94\u8fd0\u800c\u751f&#xff0c;\u5176\u6838\u5fc3\u76ee\u6807\u5c31\u662f\u89e3\u51b3 Kubernetes \u96c6 \u7fa4\u7684\u5907\u4efd\u548c\u6062\u590d\u8fd9\u4e00\u5173\u952e\u9700\u6c42&#xff0c;\u5f53\u65f6\u5e02\u573a\u4e0a\u7f3a\u4e4f\u529f\u80fd\u5b8c\u5584\u4e14\u6613\u4e8e\u4f7f\u7528\u7684\u9488\u5bf9 Kubernetes \u7684\u6b64\u7c7b\u5de5\u5177\u3002<\/p>\n<p>Heptio \u5728 2017 \u5e74\u5c06 Ark \u5f00\u6e90\u53d1\u5e03&#xff0c;\u5f00\u6e90\u4e4b\u540e&#xff0c;\u5438\u5f15\u4e86\u5927\u91cf Kubernetes \u7528\u6237\u4ee5\u53ca\u5f00\u53d1\u8005\u7684\u5173\u6ce8\u3002\u8bb8\u591a \u4f01\u4e1a\u548c\u5f00\u53d1\u8005\u5f00\u59cb\u5c1d\u8bd5\u4f7f\u7528 Ark \u6765\u4fdd\u969c\u81ea\u8eab\u96c6\u7fa4\u5185\u5e94\u7528\u53ca\u6570\u636e\u7684\u5b89\u5168\u6027&#xff0c;\u540c\u65f6\u4e5f\u79ef\u6781\u5411\u9879\u76ee\u8d21\u732e\u4ee3\u7801\u3001 \u53cd\u9988\u4f7f\u7528\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684\u95ee\u9898\u4ee5\u53ca\u63d0\u51fa\u65b0\u7684\u529f\u80fd\u9700\u6c42&#xff0c;\u793e\u533a\u56f4\u7ed5 Ark \u5f00\u59cb\u9010\u6e10\u6d3b\u8dc3\u8d77\u6765&#xff0c;\u4e0d\u65ad\u63a8\u52a8\u5176\u529f\u80fd \u7684\u5b8c\u5584\u548c\u5bf9\u66f4\u591a\u5b58\u50a8\u3001\u4e91\u5e73\u53f0\u73af\u5883\u7b49\u7684\u9002\u914d\u3002<\/p>\n<p>2018 \u5e74&#xff0c;\u968f\u7740 Heptio \u88ab VMware \u6536\u8d2d&#xff0c;Ark \u9879\u76ee\u4e3a\u4e86\u66f4\u597d\u5730\u4f53\u73b0\u5176\u901a\u7528\u6027\u4ee5\u53ca\u9002\u5e94\u66f4\u5e7f\u6cdb\u7684\u793e\u533a\u53d1\u5c55 \u9700\u8981&#xff0c;\u88ab\u91cd\u547d\u540d\u4e3a \u201cVelero\u201d\u3002\u540e\u7531 VMware Tanzu \u5bf9\u5176\u8fdb\u884c\u7ef4\u62a4\u548c\u5f00\u53d1&#xff0c; \u5e76\u4e8e 2018 \u5e74\u6350\u8d60\u7ed9 CNCF&#xff0c; \u6210\u4e3a CNCF \u7684\u5b75\u5316\u9879\u76ee\u4e4b\u4e00\u3002<\/p>\n<p>\u53d1\u5c55\u81f3\u4eca&#xff0c;Velero \u5df2\u7ecf\u6210\u4e3a Kubernetes \u4e91\u539f\u751f\u751f\u6001\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u4e00\u90e8\u5206&#xff0c;\u4f17\u591a\u4f01\u4e1a\u5c06\u5176\u4f5c\u4e3a\u4fdd\u969c\u96c6\u7fa4 \u4e1a\u52a1\u8fde\u7eed\u6027\u3001\u8fdb\u884c\u6570\u636e\u4fdd\u62a4\u548c\u5e94\u7528\u8fc1\u79fb\u7684\u91cd\u8981\u624b\u6bb5\u3002\u5176\u793e\u533a\u4ecd\u7136\u4fdd\u6301\u7740\u8f83\u9ad8\u7684\u6d3b\u8dc3\u5ea6&#xff0c;\u4e0d\u65ad\u6709\u5f00\u53d1\u8005\u8d21 \u732e\u65b0\u7684\u529f\u80fd\u7279\u6027\u3001\u6539\u8fdb\u6587\u6863&#xff0c;\u800c\u4e14\u4e0e\u5176\u4ed6\u4e91\u539f\u751f\u76f8\u5173\u9879\u76ee\u4e4b\u95f4\u4e5f\u6709\u7740\u7d27\u5bc6\u7684\u534f\u4f5c\u5173\u7cfb&#xff0c;\u4e00\u8d77\u52a9\u529b\u4e91\u539f\u751f \u5e94\u7528\u5728 Kubernetes \u5e73\u53f0\u4e0a\u66f4\u5b89\u5168\u3001\u7a33\u5b9a\u5730\u8fd0\u884c\u3002<\/p>\n<p>Velero\u662f\u4e00\u4e2a\u4e91\u539f\u751f\u7684\u707e\u96be\u6062\u590d\u548c\u8fc1\u79fb\u5de5\u5177&#xff0c;\u5b83\u672c\u8eab\u4e5f\u662f\u5f00\u6e90\u7684, \u91c7\u7528 Go \u8bed\u8a00\u7f16\u5199&#xff0c;\u53ef\u4ee5\u5b89\u5168\u7684\u5907\u4efd\u3001 \u6062\u590d\u548c\u8fc1\u79fbKubernetes\u96c6\u7fa4\u8d44\u6e90\u548c\u6301\u4e45\u5377\u3002<\/p>\n<p>\u7279\u70b9<\/p>\n<ul>\n<li>\n<p>\u5907\u4efd\u53ef\u4ee5\u6309\u96c6\u7fa4\u8d44\u6e90\u7684\u5b50\u96c6&#xff0c;\u6309\u547d\u540d\u7a7a\u95f4\u3001\u8d44\u6e90\u7c7b\u578b\u6807\u7b7e\u9009\u62e9\u5668\u8fdb\u884c\u8fc7\u6ee4&#xff0c;\u4ece\u800c\u4e3a\u5907\u4efd\u548c\u6062\u590d\u7684\u5185 \u5bb9\u63d0\u4f9b\u9ad8\u5ea6\u7684\u7075\u6d3b\u6027<\/p>\n<\/li>\n<li>\n<p>\u652f\u6301\u590d\u5236\u5f53\u524d Kubernetes \u96c6\u7fa4\u7684\u8d44\u6e90\u5230\u5176\u5b83 Kubernetes \u96c6\u7fa4,\u6ce8\u610f:\u53ea\u5907\u4efdkubernetes\u4e2d\u7684\u5143\u6570 \u636e,\u4e0d\u4f1a\u5907\u4efdPVC\u7b49\u6570\u636e\u5185\u5bb9<\/p>\n<\/li>\n<li>\n<p>\u901a\u8fc7\u805a\u5408 API \u670d\u52a1\u5668\u516c\u5f00\u7684\u8d44\u6e90\u53ef\u4ee5\u8f7b\u677e\u5907\u4efd\u548c\u6062\u590d&#xff0c;\u5373\u4f7f\u5b83\u4eec\u5b58\u50a8\u5728\u5355\u72ec\u7684 etcd \u6570\u636e\u5e93\u4e2d<\/p>\n<\/li>\n<\/ul>\n<p>\u5b98\u7f51: https:\/\/velero.io\/<\/p>\n<p>Github \u5730\u5740&#xff1a;https:\/\/github.com\/vmware-tanzu\/velero<\/p>\n<p>\u5b98\u65b9\u6587\u6863&#xff1a;https:\/\/velero.io\/docs\/<\/p>\n<\/p>\n<h3>1.2.Velero \u4e3b\u8981\u529f\u80fd<\/h3>\n<p>\u5907\u4efd\u529f\u80fd<\/p>\n<ul>\n<li>\n<p>\u96c6\u7fa4\u8d44\u6e90\u5907\u4efd&#xff1a;\u80fd\u591f\u5907\u4efd Kubernetes \u96c6\u7fa4\u4e2d\u7684\u5404\u79cd\u8d44\u6e90\u5bf9\u8c61&#xff0c;\u5305\u62ec Deployment\u3001Service\u3001 ConfigMap\u3001Secret\u3001PersistentVolumeClaims \u7b49\u51e0\u4e4e\u6240\u6709\u5e38\u89c1\u8d44\u6e90\u7c7b\u578b\u3002\u4f8b\u5982&#xff0c;\u53ef\u4ee5\u5b9a\u671f\u5907\u4efd \u91cd\u8981\u7684\u5e94\u7528\u90e8\u7f72\u914d\u7f6e\u4ee5\u53ca\u76f8\u5173\u7684\u670d\u52a1\u5b9a\u4e49\u7b49&#xff0c;\u65b9\u4fbf\u5728\u9700\u8981\u65f6\u8fdb\u884c\u8fd8\u539f\u3002<\/p>\n<\/li>\n<li>\n<p>\u6301\u4e45\u5377\u6570\u636e\u5907\u4efd&#xff1a;\u9664\u4e86\u8d44\u6e90\u5bf9\u8c61\u672c\u8eab&#xff0c;Velero \u8fd8\u652f\u6301\u5bf9\u4e0e\u5e94\u7528\u76f8\u5173\u8054\u7684\u6301\u4e45\u5377&#xff08;Persistent Volumes&#xff09;\u4e2d\u7684\u6570\u636e\u8fdb\u884c\u5907\u4efd\u3002\u8fd9\u5bf9\u4e8e\u4fdd\u5b58\u6709\u91cd\u8981\u4e1a\u52a1\u6570\u636e&#xff08;\u5982\u6570\u636e\u5e93\u6587\u4ef6\u3001\u7528\u6237\u4e0a\u4f20\u6587\u4ef6\u7b49&#xff09;\u7684 \u5e94\u7528\u6765\u8bf4\u81f3\u5173\u91cd\u8981&#xff0c;\u786e\u4fdd\u6570\u636e\u4e0d\u4f1a\u56e0\u610f\u5916\u5220\u9664\u3001\u96c6\u7fa4\u6545\u969c\u7b49\u60c5\u51b5\u4e22\u5931\u3002 \u53ef\u57fa\u4e8e\u6587\u4ef6\u7cfb\u7edf\u5907\u4efd(FileSystem Backup)\u5907\u4efdPod\u5377\u4e2d\u7684\u6570\u636e&#xff0c;\u5e76\u501f\u52a9\u4e8erestc\u6216kopia\u4e0a\u4f20\u5230\u5bf9\u8c61 \u5b58\u50a8\u7cfb\u7edf \u652f\u6301\u57fa\u4e8e\u5feb\u7167\u5907\u4efdPV&#xff0c;\u8fd9\u79cd\u65b9\u5f0f\u8f83\u4e4bFSB\u80fd\u786e\u4fdd\u6587\u4ef6\u7684\u4e00\u81f4\u6027;\u5b83\u652f\u6301\u4e24\u79cd\u64cd\u4f5c: 1 \u4ec5\u521b\u5efaPV\u5feb\u7167,2 \u521b\u5efaPV\u5feb\u7167&#xff0c;\u5e76\u501f\u52a9\u4e8erestic\u6216kopia\u4e0a\u4f20\u5230\u5bf9\u8c61\u5b58\u50a8\u7cfb\u7edf\u4e0a<\/p>\n<\/li>\n<\/ul>\n<p>\u6062\u590d\u529f\u80fd<\/p>\n<ul>\n<li>\n<p>\u8d44\u6e90\u8fd8\u539f&#xff1a;\u53ef\u4ee5\u5c06\u4e4b\u524d\u5907\u4efd\u7684\u8d44\u6e90\u5bf9\u8c61\u6309\u7167\u5907\u4efd\u65f6\u7684\u72b6\u6001\u51c6\u786e\u5730\u8fd8\u539f\u5230\u96c6\u7fa4\u4e2d&#xff0c;\u65e0\u8bba\u662f\u56e0\u4e3a\u8bef\u64cd\u4f5c \u5220\u9664\u4e86\u67d0\u4e2a\u5173\u952e\u670d\u52a1&#xff0c;\u8fd8\u662f\u96c6\u7fa4\u6574\u4f53\u51fa\u73b0\u6545\u969c\u91cd\u5efa\u540e&#xff0c;\u90fd\u80fd\u5feb\u901f\u6062\u590d\u5e94\u7528\u90e8\u7f72\u548c\u914d\u7f6e\u3002<\/p>\n<\/li>\n<li>\n<p>\u6570\u636e\u6062\u590d&#xff1a;\u4e0e\u8d44\u6e90\u8fd8\u539f\u914d\u5408&#xff0c;\u80fd\u628a\u6301\u4e45\u5377\u4e2d\u7684\u6570\u636e\u4e5f\u6062\u590d\u5230\u76f8\u5e94\u7684\u5b58\u50a8\u4f4d\u7f6e&#xff0c;\u4f7f\u6574\u4e2a\u5e94\u7528\u6062\u590d\u5230\u5907 \u4efd\u65f6\u523b\u7684\u53ef\u7528\u72b6\u6001&#xff0c;\u4fdd\u969c\u4e1a\u52a1\u7684\u8fde\u7eed\u6027\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u707e\u96be\u6062\u590d\u4e0e\u8fc1\u79fb\u652f\u6301<\/p>\n<ul>\n<li>\n<p>\u8de8\u96c6\u7fa4\u8fc1\u79fb&#xff1a;\u65b9\u4fbf\u5c06\u5e94\u7528\u53ca\u6570\u636e\u4ece\u4e00\u4e2a Kubernetes \u96c6\u7fa4\u8fc1\u79fb\u5230\u53e6\u4e00\u4e2a\u96c6\u7fa4&#xff0c;\u6bd4\u5982\u4ece\u6d4b\u8bd5\u73af\u5883\u96c6\u7fa4 \u8fc1\u79fb\u5230\u751f\u4ea7\u73af\u5883\u96c6\u7fa4&#xff0c;\u6216\u8005\u5728\u8fdb\u884c\u6570\u636e\u4e2d\u5fc3\u8fc1\u79fb\u3001\u4e91\u5e73\u53f0\u66f4\u6362\u7b49\u573a\u666f\u4e0b&#xff0c;\u5b9e\u73b0\u5e73\u6ed1\u7684\u8d44\u6e90\u548c\u6570\u636e\u8f6c \u79fb\u3002<\/p>\n<\/li>\n<li>\n<p>\u707e\u96be\u6062\u590d\u9884\u6848&#xff1a;\u4f5c\u4e3a\u707e\u96be\u6062\u590d\u8ba1\u5212\u7684\u5173\u952e\u90e8\u5206&#xff0c;\u901a\u8fc7\u5b9a\u671f\u5907\u4efd&#xff0c;\u5728\u9047\u5230\u5982\u96c6\u7fa4\u786c\u4ef6\u6545\u969c\u3001\u6570\u636e\u4e2d\u5fc3 \u707e\u96be\u7b49\u6781\u7aef\u60c5\u51b5\u65f6&#xff0c;\u80fd\u5feb\u901f\u4f9d\u636e\u5907\u4efd\u5728\u65b0\u7684\u73af\u5883\u4e2d\u6062\u590d\u96c6\u7fa4\u7684\u5173\u952e\u4e1a\u52a1\u5e94\u7528&#xff0c;\u6700\u5927\u9650\u5ea6\u51cf\u5c11\u4e1a\u52a1\u505c \u673a\u65f6\u95f4\u548c\u635f\u5931<\/p>\n<\/li>\n<\/ul>\n<h3>1.3.Velero \u4f7f\u7528\u573a\u666f<\/h3>\n<p>\u707e\u5907\u573a\u666f&#xff1a; \u63d0\u4f9b\u5907\u4efd\u548c\u6062\u590dkubernetes\u96c6\u7fa4\u7684\u80fd\u529b<\/p>\n<p>\u8fc1\u79fb\u573a\u666f&#xff1a; \u63d0\u4f9b\u590d\u5236\u548c\u8fc1\u79fb\u96c6\u7fa4\u8d44\u6e90\u5230\u5176\u4ed6\u96c6\u7fa4\u7684\u80fd\u529b&#xff0c;\u53ef\u7528\u4e8e\u5feb\u901f\u5b9e\u73b0\u5f00\u53d1,\u6d4b\u8bd5,\u751f\u4ea7\u7b49\u4e0d\u540c\u96c6\u7fa4\u914d\u7f6e\u540c\u6b65 \u9700\u8981\u5c06\u4e24\u4e2a\u96c6\u7fa4\u8fde\u63a5\u540c\u4e00\u4e2a\u5bf9\u8c61\u5b58\u50a8\u670d\u52a1<\/p>\n<h3>1.4.Velero \u4e0e ETCD \u5907\u4efd\u6bd4\u8f83<\/h3>\n<ul>\n<li>\n<p>ETCD \u5907\u4efd\u662f\u76f4\u63a5\u628a\u96c6\u7fa4\u7684\u5168\u90e8\u8d44\u6e90\u5907\u4efd&#xff0c;\u800c Velero \u53ef\u4ee5\u652f\u6301\u5bf9 Kubernetes \u96c6\u7fa4\u5185\u5bf9\u8c61\u7ea7\u522b\u8fdb\u884c \u5907\u4efd\u3002<\/p>\n<\/li>\n<li>\n<p>Velero \u9664\u4e86\u5bf9 Kubernetes \u96c6\u7fa4\u8fdb\u884c\u6574\u4f53\u5907\u4efd\u5916&#xff0c; \u8fd8\u53ef\u4ee5\u652f\u6301\u5bf9 Namespace\u3001Type\u3001Label\u3001 Pod \u7b49\u5bf9\u8c61\u8fdb\u884c\u5206\u7c7b\u5907\u4efd\u6216\u8005\u6062\u590d<\/p>\n<\/li>\n<li>\n<p>ETCD\u65b9\u5f0f\u662f\u76f4\u63a5\u5bf9ETCD\u7684\u6570\u636e\u5e93\u5907\u4efd,\u65e0\u9700\u8fde\u63a5API Server, \u800c velero\u662f\u901a\u8fc7API Server \u8fdb\u884c\u5907\u4efd, \u8981\u6c42Kubernetes \u662f\u53ef\u7528\u7684\u624d\u53ef\u4ee5\u8fd8\u539f Velero \u81ea\u8eab\u652f\u6301\u5b9e\u73b0\u5468\u671f\u7684\u5b9a\u671f\u5907\u4efd,ETCD\u9700\u8981\u81ea\u884c\u901a\u8fc7\u5176\u5b83\u65b9\u5f0f\u5b9e\u73b0<\/p>\n<\/li>\n<li>\n<p>Velero \u8fd8\u652f\u6301\u5c06PV\u5377\u7684\u6570\u636e\u8fdb\u884c\u5907\u4efd,ETCD\u65b9\u5f0f\u53ea\u80fd\u5907\u4efdKubernetes \u96c6\u7fa4\u7684\u8d44\u6e90<\/p>\n<\/li>\n<\/ul>\n<h3>1.5.Velero \u7ec4\u4ef6<\/h3>\n<p>Velero \u7ec4\u4ef6\u4e00\u5171\u5206\u4e09\u90e8\u5206&#xff0c;\u5206\u522b\u662f\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef,\u63d2\u4ef6\u3002<\/p>\n<p>\u5ba2\u6237\u7aef&#xff1a;<\/p>\n<p>\u8fd0\u884c\u5728\u672c\u5730\u7684 velero\u547d\u4ee4\u884c\u5de5\u5177&#xff0c;\u5305\u62ec\u5b89\u88c5\u670d\u52a1\u7aef\u3001\u5907\u4efd\u3001\u5b9a\u65f6\u4efb\u52a1\u5907\u4efd\u3001\u6062\u590d\u7b49\u547d\u4ee4&#xff0c;\u7279\u522b\u9700\u8981 \u6ce8\u610f\u7684\u662f&#xff0c;\u5b89\u88c5\u670d\u52a1\u7aef\u65f6\u9700\u8981\u5728\u673a\u5668\u4e0a\u5df2\u914d\u7f6e\u597dkubectl\u53ca\u96c6\u7fa4kubeconfig\u3002<\/p>\n<\/p>\n<p>\u670d\u52a1\u7aef&#xff1a;<\/p>\n<p>\u5c31\u662f\u4e00\u7ec4\u8fd0\u884c\u5728Kubernetes\u96c6\u7fa4\u4e2d&#xff08;\u4ee5Pod\u65b9\u5f0f\u8fd0\u884c&#xff09;controller \u8d44\u6e90 \u901a\u8fc7\u4e00\u7ec4 CRD \u5b9e\u73b0\u7684 Operator&#xff0c;\u5305\u62ec&#xff1a; Backup Controller \u548c Restore Contoller \u8fd9\u662f\u6574\u4e2a\u5de5\u5177\u7684\u6838\u5fc3\u63a7\u5236\u7ec4\u4ef6&#xff0c;\u8d1f\u8d23\u4e0e Kubernetes API \u670d\u52a1\u5668\u901a\u4fe1&#xff0c;\u534f\u8c03\u5907\u4efd\u548c\u6062\u590d\u4efb\u52a1\u7684\u6267 \u884c&#xff0c;\u7ba1\u7406\u5907\u4efd\u8bb0\u5f55\u7b49&#xff0c;\u540c\u65f6\u4e5f\u4f1a\u548c\u5404\u79cd\u63d2\u4ef6\u4ea4\u4e92\u6765\u5b8c\u6210\u5177\u4f53\u7684\u529f\u80fd&#xff0c;\u6bd4\u5982\u548c\u5b58\u50a8\u63d2\u4ef6\u534f\u4f5c\u8fdb\u884c\u6570\u636e \u7684\u5b58\u50a8\u548c\u8bfb\u53d6\u64cd\u4f5c\u3002<\/p>\n<\/p>\n<p>\u63d2\u4ef6&#xff08;Plugins&#xff09;&#xff1a;<\/p>\n<p>https:\/\/velero.io\/docs\/main\/supported-providers\/ <\/p>\n<p>\u5b58\u50a8\u63d2\u4ef6&#xff1a;\u7528\u4e8e\u5bf9\u63a5\u4e0d\u540c\u7684\u5b58\u50a8\u540e\u7aef&#xff0c;\u652f\u6301\u591a\u79cd\u5b58\u50a8\u7c7b\u578b&#xff0c;\u50cf Amazon S3\u3001Google Cloud Storage\u3001Azure Blob Storage\u3001MinIO\u7b49\u4e91\u5b58\u50a8\u670d\u52a1&#xff0c;\u4ee5\u53ca\u4e00\u4e9b\u672c\u5730\u7684\u517c\u5bb9 S3 \u534f\u8bae\u7684\u5b58\u50a8\u7cfb \u7edf&#xff0c;\u5982MinIO&#xff0c;\u5b9e\u73b0\u5907\u4efd\u6570\u636e\u7684\u53ef\u9760\u5b58\u50a8\u548c\u83b7\u53d6\u3002<\/p>\n<p>\u5377\u5feb\u7167\u63d2\u4ef6&#xff1a;\u9488\u5bf9\u4e0d\u540c\u7684\u5b58\u50a8\u63d0\u4f9b\u5546&#xff08;\u5982\u4e0d\u540c\u4e91\u5e73\u53f0\u5bf9\u6301\u4e45\u5377\u7684\u7ba1\u7406\u673a\u5236\u4e0d\u540c&#xff09;&#xff0c;\u5377\u5feb\u7167\u63d2\u4ef6 \u80fd\u591f\u4e0e\u76f8\u5e94\u7684\u5b58\u50a8\u7cfb\u7edf\u96c6\u6210&#xff0c;\u5b9e\u73b0\u5bf9\u6301\u4e45\u5377\u6570\u636e\u7684\u5feb\u7167\u521b\u5efa\u548c\u6062\u590d&#xff0c;\u63d0\u9ad8\u5907\u4efd\u548c\u6062\u590d\u7684\u6548\u7387&#xff0c; \u5c24\u5176\u662f\u5bf9\u4e8e\u5927\u5bb9\u91cf\u6570\u636e\u7684\u5904\u7406\u3002<\/p>\n<\/p>\n<h3>1.6.Velero \u540e\u7aef\u5b58\u50a8<\/h3>\n<p>Velero \u652f\u6301\u4e24\u79cd\u5173\u4e8e\u540e\u7aef\u5b58\u50a8\u7684 CRD &#xff0c;\u5206\u522b\u662f BackupStorageLocation \u548c VolumeSnapshotLocation \u3002<\/p>\n<p>BackupStorageLocation \u4e3b\u8981\u7528\u6765\u5b9a\u4e49 Kubernetes \u96c6\u7fa4\u8d44\u6e90\u7684\u6570\u636e\u5b58\u653e\u4f4d\u7f6e&#xff0c;\u4e5f\u5c31\u662f\u96c6\u7fa4\u5bf9\u8c61\u6570\u636e&#xff0c;\u4e0d\u662f PVC \u7684\u6570\u636e\u3002 \u4e3b\u8981\u652f\u6301\u7684\u540e\u7aef\u5b58\u50a8\u662f S3 \u517c\u5bb9\u7684\u5b58\u50a8&#xff0c;\u6bd4\u5982&#xff1a;MinIO&#xff0c;\u963f\u91cc\u4e91 OSS&#xff0c;AWS S3&#xff0c;Azure Blob&#xff0c;Google Cloud \u7b49\u3002<\/p>\n<p>VolumeSnapshotLocation \u4e3b\u8981\u7528\u6765\u7ed9 PV \u505a\u5feb\u7167&#xff0c;\u8fd9\u4e2a\u9700\u8981\u4f7f\u7528 CSI \u7b49\u5b58\u50a8\u673a\u5236\u3002 \u5982\u679c\u662f\u516c\u6709\u4e91\u9700\u8981\u4e91\u63d0\u4f9b\u5546\u63d0\u4f9b\u63d2\u4ef6\u3002\u6bd4\u5982: \u963f\u91cc\u4e91\u5df2\u7ecf\u63d0\u4f9b\u4e86\u63d2\u4ef6&#xff0c; \u4e5f\u53ef\u4ee5\u4f7f\u7528\u4e13\u95e8\u7684\u5907\u4efd\u5de5\u5177 Restic &#xff0c;\u628a PV \u6570\u636e\u5907\u4efd\u5230\u963f\u91cc\u4e91 OSS \u4e2d\u53bb(\u5b89\u88c5\u65f6\u9700\u8981\u81ea\u5b9a\u4e49\u9009\u9879)\u3002<\/p>\n<\/p>\n<h3 style=\"background-color:transparent\">1.7.Velero \u5907\u4efd\u8fd8\u539f\u7684\u5de5\u4f5c\u6d41\u7a0b<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"978\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260227112611-69a17f5380895.png\" width=\"1191\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"733\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260227112612-69a17f542846f.png\" width=\"2634\" \/><\/p>\n<p>\u5907\u4efd\u6570\u636e&#xff1a; \u672c\u5730velero\u5ba2\u6237\u7aef\u53d1\u9001\u5907\u4efd\u547d\u4ee4&#xff0c;\u5c31\u4f1a\u8c03\u7528API Server\u521b\u5efaBackup\u8d44\u6e90\u5bf9\u8c61 \u670d\u52a1\u7aef\u7684Backup Controller \u6536\u5230\u901a\u77e5\u6709\u65b0\u7684Backup\u5bf9\u8c61\u521b\u5efa\u5e76\u6267\u884c\u9a8c\u8bc1 \u670d\u52a1\u7aef\u7684Backup Controller \u5f00\u59cb\u6267\u884c\u5907\u4efd\u8fc7\u7a0b&#xff0c;\u5411API Server\u67e5\u8be2\u9700\u8981\u5907\u4efd\u7684\u6570\u636e\u670d\u52a1\u7aef\u7684Backup Controller \u8c03\u7528OSS\u5bf9\u8c61\u5b58\u50a8\u670d\u52a1&#xff0c;\u5c06\u5907\u4efd\u6570\u636e\u4fdd\u5b58\u5230\u5bf9\u8c61\u5bf9\u8c61\u5b58\u50a8\u4e0a \u9ed8\u8ba4\u60c5\u51b5\u4e0b&#xff0c;BackupController\u8fd8\u4f1a\u4e3aPV\u521b\u5efaSnapshot(\u82e5PV\u652f\u6301)&#xff0c;\u7528\u6237\u53ef\u4f7f\u7528 &#8211;snapshotvolumes&#061;false \u9009\u9879\u7981\u7528\u8be5\u529f\u80fd Velero \u4f1a\u4e0e Kubernetes API \u670d\u52a1\u5668\u4ea4\u4e92&#xff0c;\u9996\u5148\u83b7\u53d6\u8981\u5907\u4efd\u7684\u8d44\u6e90\u5bf9\u8c61\u7684\u6e05\u5355\u4fe1\u606f&#xff0c;\u7136\u540e\u6839\u636e\u914d\u7f6e \u51b3\u5b9a\u662f\u5426\u5bf9\u5173\u8054\u7684\u6301\u4e45\u5377\u6570\u636e\u8fdb\u884c\u5907\u4efd&#xff08;\u901a\u8fc7\u8c03\u7528\u76f8\u5e94\u7684\u5b58\u50a8\u63d2\u4ef6\u6765\u64cd\u4f5c&#xff09;\u3002\u5bf9\u4e8e\u6301\u4e45\u5377\u6570\u636e\u5907 \u4efd&#xff0c;\u5b83\u4f1a\u534f\u8c03\u5b58\u50a8\u7cfb\u7edf&#xff08;\u5982\u652f\u6301\u7684\u4e91\u5b58\u50a8\u670d\u52a1\u6216\u672c\u5730\u5b58\u50a8\u89e3\u51b3\u65b9\u6848&#xff09;\u521b\u5efa\u6570\u636e\u7684\u5feb\u7167\u6216\u8005\u590d\u5236\u6570\u636e \u5230\u6307\u5b9a\u7684\u5907\u4efd\u5b58\u50a8\u4f4d\u7f6e\u3002\u6574\u4e2a\u5907\u4efd\u8fc7\u7a0b\u4e2d\u4f1a\u751f\u6210\u76f8\u5e94\u7684\u5907\u4efd\u8bb0\u5f55&#xff0c;\u8bb0\u5f55\u5907\u4efd\u7684\u8d44\u6e90\u8303\u56f4\u3001\u65f6\u95f4\u3001\u72b6 \u6001\u7b49\u5173\u952e\u4fe1\u606f\u3002<\/p>\n<p>\u6062\u590d\u6570\u636e&#xff1a; \u672c\u5730velero\u5ba2\u6237\u7aef\u53d1\u9001\u6062\u590d\u6307\u4ee4&#xff0c;\u5c31\u4f1a\u8c03\u7528API Server\u521b\u5efaRestore\u8d44\u6e90\u5bf9\u8c61 \u670d\u52a1\u7aef\u7684Restore Controller \u6536\u5230\u901a\u77e5\u6709\u65b0\u7684Restore\u5bf9\u8c61\u521b\u5efa\u5e76\u6267\u884c\u9a8c\u8bc1 \u670d\u52a1\u7aef\u7684Restore Controller \u8c03\u7528\u5bf9\u8c61\u5b58\u50a8&#xff0c;\u5c06\u6307\u5b9a\u7684\u5907\u4efd\u6587\u4ef6\u4e0b\u8f7d\u4e0b\u6765 \u670d\u52a1\u7aef\u7684Restore Controller \u5f00\u59cb\u6267\u884c\u6062\u590d\u8fc7\u7a0b&#xff0c;\u6839\u636e\u5907\u4efd\u6570\u636e\u8c03\u7528API Server\u91cd\u65b0\u521b\u5efa\u76f8\u5173\u8d44\u6e90 \u5bf9\u8c61 \u5f53\u6267\u884c\u6062\u590d\u64cd\u4f5c\u65f6&#xff0c;Velero \u8bfb\u53d6\u5907\u4efd\u8bb0\u5f55&#xff0c;\u5148\u5c06\u8d44\u6e90\u5bf9\u8c61\u7684\u5b9a\u4e49\u91cd\u65b0\u5e94\u7528\u5230 Kubernetes \u96c6\u7fa4\u4e2d&#xff0c; \u521b\u5efa\u76f8\u5e94\u7684\u8d44\u6e90&#xff08;\u5982\u91cd\u65b0\u521b\u5efa Deployment \u6765\u542f\u52a8\u5e94\u7528\u526f\u672c\u7b49&#xff09;\u3002\u5bf9\u4e8e\u6709\u6301\u4e45\u5377\u6570\u636e\u9700\u8981\u6062\u590d\u7684\u60c5 \u51b5&#xff0c;\u5b83\u4f1a\u4ece\u5907\u4efd\u5b58\u50a8\u4f4d\u7f6e\u83b7\u53d6\u6570\u636e\u5e76\u8fd8\u539f\u5230\u5bf9\u5e94\u7684\u6301\u4e45\u5377\u4e2d&#xff0c;\u786e\u4fdd\u5e94\u7528\u80fd\u591f\u6b63\u5e38\u4f7f\u7528\u4e4b\u524d\u7684\u6570\u636e\u3002<\/p>\n<\/p>\n<h2>2.\u5b89\u88c5\u548c\u4f7f\u7528 Velero Cli<\/h2>\n<h3>2.1.Velero CLI \u4e8c\u8fdb\u5236\u5b89\u88c5<\/h3>\n<p>\u8f6f\u4ef6\u5305\u4e0b\u8f7d\u5730\u5740&#xff1a;<\/p>\n<p>https:\/\/github.com\/vmware-tanzu\/velero\/releases <\/p>\n<p>k8s\u7248\u672c\u8981\u6c42&#xff1a;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"470\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260227112613-69a17f55d2203.png\" width=\"1106\" \/><\/p>\n<p>wget https:\/\/github.com\/vmware-tanzu\/velero\/releases\/download\/v1.17.2\/velero-v1.17.2-linux-amd64.tar.gz<br \/>\ntar -zxf velero-v1.17.2-linux-amd64.tar.gz<br \/>\ncp velero-v1.17.2-linux-amd64\/velero \/usr\/local\/bin\/ <\/p>\n<p>minio\u521b\u5efaAccess Key\u5e76\u914d\u7f6e\u6743\u9650<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"1345\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260227112614-69a17f561a746.png\" width=\"2484\" \/><\/p>\n<p>\u521b\u5efa\u5e76\u8bb0\u5f55 Access Key \u548c Secret key<\/p>\n<p>aws_access_key_id &#061; tksm4QnaHeL0VkS7946h<br \/>\naws_secret_access_key &#061; dnMQ2n6d3eRMmdoqBzurNk3GwnFTpmJMBzmrveSZ <\/p>\n<p>\u5728K8s\u96c6\u7fa4\u7684Master\u8282\u70b9\u4e0aMinIO\u7684\u521b\u5efa\u8ba4\u8bc1\u6587\u4ef6<\/p>\n<p>cat &gt; credentials-velero &lt;&lt;EOF<br \/>\n[default]<br \/>\naws_access_key_id &#061; tksm4QnaHeL0VkS7946h<br \/>\naws_secret_access_key &#061; dnMQ2n6d3eRMmdoqBzurNk3GwnFTpmJMBzmrveSZ<br \/>\nEOF <\/p>\n<h3>2.2.\u5b89\u88c5Velero Server<\/h3>\n<p>velero install \\\\<br \/>\n  &#8211;provider aws \\\\<br \/>\n  &#8211;image swr.cn-north-4.myhuaweicloud.com\/ddn-k8s\/docker.io\/velero\/velero:v1.16.2 \\\\<br \/>\n  &#8211;plugins swr.cn-north-4.myhuaweicloud.com\/ddn-k8s\/docker.io\/velero\/velero-plugin-for-aws:v1.12.0 \\\\<br \/>\n  &#8211;backup-location-config region&#061;minio,s3ForcePathStyle&#061;&#034;true&#034;,s3Url&#061;http:\/\/minio.apotos.com:9000 \\\\<br \/>\n  &#8211;bucket velero \\\\<br \/>\n  &#8211;secret-file .\/credentials-velero \\\\<br \/>\n  &#8211;namespace velero \\\\<br \/>\n  &#8211;use-node-agent \\\\<br \/>\n  &#8211;use-volume-snapshots&#061;false \\\\<br \/>\n  &#8211;wait <\/p>\n<p>\u547d\u4ee4\u53c2\u6570\u8be6\u89e3<\/p>\n<p>\u8fd9\u6761 velero install \u547d\u4ee4&#xff0c;\u76ee\u7684\u662f\u5728 Kubernetes \u96c6\u7fa4\u4e2d\u90e8\u7f72 Velero \u5907\u4efd\u6062\u590d\u5de5\u5177&#xff0c;\u5e76\u914d\u7f6e\u4f7f\u7528\u4e00\u4e2a\u517c\u5bb9 S3 \u534f\u8bae\u7684\u5b58\u50a8\u540e\u7aef&#xff08;\u901a\u5e38\u6307 MinIO \u6216 AWS S3&#xff09;\u3002\u4ee5\u4e0b\u662f\u5404\u53c2\u6570\u7684\u5177\u4f53\u4f5c\u7528&#xff1a;<\/p>\n<table>\n<tr>\u53c2\u6570\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>&#8211;provider aws<\/td>\n<td>\u6307\u5b9a\u5b58\u50a8\u63d0\u4f9b\u5546\u7c7b\u578b\u4e3a aws\u3002\u56e0\u4e3a MinIO \u517c\u5bb9 AWS S3 \u63a5\u53e3&#xff0c;\u4f7f\u7528\u6b64\u6807\u8bc6\u53ef\u4ee5\u590d\u7528 AWS \u7684\u63d2\u4ef6\u903b\u8f91\u3002<\/td>\n<\/tr>\n<tr>\n<td>&#8211;image swr.cn-north-4.myhuaweicloud.com\/&#8230;\/velero:v1.16.2<\/td>\n<td>\u6307\u5b9a Velero \u4e3b\u63a7\u5236\u5668\u7684\u5bb9\u5668\u955c\u50cf\u5730\u5740\u3002\u8fd9\u91cc\u4f7f\u7528\u7684\u662f\u534e\u4e3a\u4e91\u955c\u50cf\u4ed3\u5e93&#xff08;SWR&#xff09;\u4e2d\u7684 v1.16.2 \u7248\u672c\u3002<\/td>\n<\/tr>\n<tr>\n<td>&#8211;plugins swr.cn-north-4.myhuaweicloud.com\/&#8230;\/velero-plugin-for-aws:v1.12.0<\/td>\n<td>\u6307\u5b9a\u4f7f\u7528\u7684\u63d2\u4ef6\u955c\u50cf\u3002velero-plugin-for-aws \u4f7f Velero \u80fd\u591f\u4e0e S3 \u517c\u5bb9\u7684\u5b58\u50a8\u8fdb\u884c\u4ea4\u4e92&#xff0c;\u4f8b\u5982\u8bfb\u5199\u5907\u4efd\u6570\u636e\u3002<\/td>\n<\/tr>\n<tr>\n<td>&#8211;backup-location-config region&#061;minio,s3ForcePathStyle&#061;&#034;true&#034;,s3Url&#061;http:\/\/minio.apotos.com:9000<\/td>\n<td>\u914d\u7f6e\u5907\u4efd\u5b58\u50a8\u7684\u4f4d\u7f6e&#xff08;BSL&#xff09;\u3002\u8fd9\u662f\u6838\u5fc3\u53c2\u6570&#xff0c;\u5305\u542b\u4e86\u591a\u4e2a\u5b50\u914d\u7f6e&#xff1a; \u2022 region&#061;minio&#xff1a;\u6307\u5b9a\u533a\u57df\u6807\u8bc6&#xff0c;\u5bf9\u4e8e\u81ea\u5efa\u7684 MinIO \u53ef\u4ee5\u81ea\u5b9a\u4e49\u3002 \u2022 s3ForcePathStyle&#061;&#034;true&#034;&#xff1a;\u5f3a\u5236\u4f7f\u7528\u8def\u5f84\u98ce\u683c\u7684\u8bf7\u6c42\u65b9\u5f0f\u3002\u8fd9\u662f\u4f7f\u7528\u975e AWS \u7684 S3 \u517c\u5bb9\u5b58\u50a8&#xff08;\u5982 MinIO&#xff09;\u65f6\u7684\u5fc5\u9700\u8bbe\u7f6e\u3002 \u2022 s3Url&#061;http:\/\/minio.apotos.com:9000&#xff1a;\u6307\u5b9a S3 \u517c\u5bb9\u670d\u52a1\u7684\u5b8c\u6574\u8bbf\u95ee\u5730\u5740\u548c\u7aef\u53e3\u3002<\/td>\n<\/tr>\n<tr>\n<td>&#8211;bucket velero<\/td>\n<td>\u6307\u5b9a\u7528\u4e8e\u5b58\u653e\u5907\u4efd\u6570\u636e\u7684\u5b58\u50a8\u6876&#xff08;Bucket&#xff09;\u540d\u79f0&#xff0c;\u6b64\u5904\u4e3a velero\u3002\u8be5\u6876\u9700\u8981\u5728 MinIO \u4e2d\u9884\u5148\u624b\u52a8\u521b\u5efa\u597d\u3002<\/td>\n<\/tr>\n<tr>\n<td>&#8211;secret-file .\/credentials-velero<\/td>\n<td>\u6307\u5b9a\u5305\u542b\u8bbf\u95ee MinIO \u51ed\u8bc1\u7684\u672c\u5730\u6587\u4ef6\u8def\u5f84\u3002\u8be5\u6587\u4ef6\u5185\u5bb9\u683c\u5f0f\u901a\u5e38\u5982\u4e0b&#xff1a;[default] aws_access_key_id &#061; YOUR_ACCESS_KEY aws_secret_access_key &#061; YOUR_SECRET_KEY<\/td>\n<\/tr>\n<tr>\n<td>&#8211;namespace velero<\/td>\n<td>\u6307\u5b9a Velero \u7ec4\u4ef6\u5b89\u88c5\u7684 Kubernetes \u547d\u540d\u7a7a\u95f4&#xff0c;\u6b64\u5904\u4e3a velero\u3002<\/td>\n<\/tr>\n<tr>\n<td>&#8211;use-node-agent<\/td>\n<td>\u542f\u7528\u8282\u70b9\u4ee3\u7406&#xff08;Node Agent&#xff09;\u529f\u80fd\u3002\u5b83\u5141\u8bb8 Velero \u4f7f\u7528\u6587\u4ef6\u7cfb\u7edf\u5907\u4efd&#xff08;FSB&#xff09;\u6765\u5907\u4efd\u6302\u8f7d\u7684\u6301\u4e45\u5377\u4e2d\u7684\u6570\u636e\u3002<\/td>\n<\/tr>\n<tr>\n<td>&#8211;use-volume-snapshots&#061;false<\/td>\n<td>\u663e\u5f0f\u7981\u7528\u5377\u5feb\u7167\u529f\u80fd\u3002\u56e0\u4e3a\u60a8\u4f7f\u7528\u7684\u662f MinIO&#xff0c;\u4e14\u672a\u914d\u7f6e\u4e91\u63d0\u4f9b\u5546\u7684\u5377\u5feb\u7167\u80fd\u529b&#xff0c;\u6240\u4ee5\u5fc5\u987b\u8bbe\u7f6e\u4e3a false\u3002<\/td>\n<\/tr>\n<tr>\n<td>&#8211;wait<\/td>\n<td>\u8ba9 velero install \u547d\u4ee4\u963b\u585e\u7b49\u5f85&#xff0c;\u76f4\u5230 Velero \u90e8\u7f72\u7684\u6240\u6709\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\u518d\u9000\u51fa\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6267\u884c\u524d\u7684\u5173\u952e\u68c0\u67e5\u70b9<\/p>\n<p>\u8fd0\u884c\u6b64\u547d\u4ee4\u524d&#xff0c;\u5fc5\u987b\u786e\u8ba4\u4ee5\u4e0b\u51e0\u70b9&#xff0c;\u5426\u5219\u5b89\u88c5\u4f1a\u5931\u8d25&#xff1a;<\/p>\n<li>\n<p>MinIO \u670d\u52a1\u53ef\u8fbe\u6027&#xff1a;<\/p>\n<ul>\n<li>\n<p>http:\/\/minio.apotos.com:9000 \u6307\u5411\u7684\u662f\u771f\u6b63\u7684 MinIO \u670d\u52a1\u5730\u5740\u3002<\/p>\n<\/li>\n<li>\n<p>\u5efa\u8bae&#xff1a;\u5c06\u6b64\u5730\u5740\u66ff\u6362\u4e3a\u60a8\u5b9e\u9645\u90e8\u7f72\u7684\u3001\u96c6\u7fa4\u53ef\u8bbf\u95ee\u7684 MinIO \u670d\u52a1\u7684\u6b63\u786e\u5730\u5740&#xff08;\u53ef\u4ee5\u662f\u5185\u90e8 Service \u57df\u540d&#xff0c;\u5982 minio.minio.svc.cluster.local:9000&#xff0c;\u6216\u8282\u70b9\u7684 IP \u52a0\u7aef\u53e3&#xff09;\u3002<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u5b58\u50a8\u6876\u4e0e\u51ed\u8bc1&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u5728 MinIO \u4e2d\u521b\u5efa\u597d\u540d\u4e3a velero \u7684\u5b58\u50a8\u6876\u3002<\/p>\n<\/li>\n<li>\n<p>\u786e\u4fdd .\/credentials-velero \u6587\u4ef6\u5b58\u5728&#xff0c;\u4e14\u5176\u4e2d\u7684 Access Key \u548c Secret Key \u4e0e\u60a8\u7684 MinIO \u670d\u52a1\u5339\u914d\u3002<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<h3 style=\"background-color:transparent\">2.3.\u6267\u884c\u5907\u4efd\u547d\u4ee4<\/h3>\n<p>velero backup create k8s-backup-$TIME &#8211;kubeconfig ~\/.kube\/config &#8211;include-namespaces&#061;default <\/p>\n<p>\u547d\u4ee4\u53c2\u6570\u8be6\u89e3<\/p>\n<\/p>\n<li>\n<p>velero backup create<\/p>\n<\/li>\n<ul>\n<li>\n<p>\u4f5c\u7528&#xff1a;Velero \u7684\u5b50\u547d\u4ee4&#xff0c;\u7528\u4e8e\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5907\u4efd<\/p>\n<\/li>\n<li>\n<p>\u8bf4\u660e&#xff1a;\u8fd9\u662f\u6267\u884c\u5907\u4efd\u64cd\u4f5c\u7684\u4e3b\u8981\u547d\u4ee4<\/p>\n<\/li>\n<\/ul>\n<li>\n<p>k8s-backup-$TIME<\/p>\n<\/li>\n<ul>\n<li>\n<p>\u4f5c\u7528&#xff1a;\u5907\u4efd\u7684\u540d\u79f0<\/p>\n<\/li>\n<li>\n<p>\u8bf4\u660e&#xff1a;$TIME \u662f\u4e00\u4e2a\u53d8\u91cf&#xff0c;\u901a\u5e38\u4f1a\u88ab\u66ff\u6362\u4e3a\u5f53\u524d\u65f6\u95f4\u6233&#xff0c;\u4f7f\u5907\u4efd\u540d\u79f0\u552f\u4e00<\/p>\n<\/li>\n<li>\n<p>\u793a\u4f8b&#xff1a;\u5982\u679c $TIME&#061;20250225-1430&#xff0c;\u5219\u5907\u4efd\u540d\u4e3a k8s-backup-20250225-1430<\/p>\n<\/li>\n<\/ul>\n<li>\n<p>&#8211;kubeconfig ~\/.kube\/config<\/p>\n<\/li>\n<ul>\n<li>\n<p>\u4f5c\u7528&#xff1a;\u6307\u5b9a Kubernetes \u96c6\u7fa4\u7684\u8fde\u63a5\u914d\u7f6e\u6587\u4ef6<\/p>\n<\/li>\n<li>\n<p>\u8def\u5f84&#xff1a;~\/.kube\/config \u662f\u9ed8\u8ba4\u7684 kubeconfig \u6587\u4ef6\u4f4d\u7f6e<\/p>\n<\/li>\n<li>\n<p>\u8bf4\u660e&#xff1a;Velero \u9700\u8981\u8fde\u63a5 Kubernetes API Server \u6765\u5907\u4efd\u8d44\u6e90<\/p>\n<\/li>\n<\/ul>\n<li>\n<p>&#8211;include-namespaces&#061;default<\/p>\n<\/li>\n<ul>\n<li>\n<p>\u4f5c\u7528&#xff1a;\u6307\u5b9a\u8981\u5907\u4efd\u7684\u547d\u540d\u7a7a\u95f4<\/p>\n<\/li>\n<li>\n<p>\u503c&#xff1a;default \u8868\u793a\u53ea\u5907\u4efd default \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90<\/p>\n<\/li>\n<li>\n<p>\u8bf4\u660e&#xff1a;\u5982\u679c\u4e0d\u6307\u5b9a&#xff0c;\u9ed8\u8ba4\u4f1a\u5907\u4efd\u6240\u6709\u547d\u540d\u7a7a\u95f4<\/p>\n<\/li>\n<\/ul>\n<\/p>\n<h3>2.4.\u67e5\u770b\u5907\u4efd\u72b6\u6001<\/h3>\n<p>velero backup describe k8s-backup-2026-02-25-15-53-10<br \/>\nvelero backup logs k8s-backup-2026-02-25-15-53-10<br \/>\nroot&#064;master01:~# velero backup describe k8s-backup-2026-02-25-15-53-10<br \/>\nName: \u00a0 \u00a0 \u00a0 \u00a0 k8s-backup-2026-02-25-15-53-10<br \/>\nNamespace: \u00a0  velero<br \/>\nLabels: \u00a0 \u00a0 \u00a0 velero.io\/storage-location&#061;default<br \/>\nAnnotations:  velero.io\/resource-timeout&#061;10m0s<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  velero.io\/source-cluster-k8s-gitversion&#061;v1.32.11<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  velero.io\/source-cluster-k8s-major-version&#061;1<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  velero.io\/source-cluster-k8s-minor-version&#061;32<br \/>\n\u200b<br \/>\nPhase:  Completed<br \/>\n\u200b<br \/>\n\u200b<br \/>\nNamespaces:<br \/>\n  Included:  default<br \/>\n  Excluded:  &lt;none&gt;<br \/>\n\u200b<br \/>\nResources:<br \/>\n  Included cluster-scoped: \u00a0  &lt;none&gt;<br \/>\n  Excluded cluster-scoped: \u00a0  &lt;none&gt;<br \/>\n  Included namespace-scoped:  *<br \/>\n  Excluded namespace-scoped:  &lt;none&gt;<br \/>\n\u200b<br \/>\nLabel selector:  &lt;none&gt;<br \/>\n\u200b<br \/>\nOr label selector:  &lt;none&gt;<br \/>\n\u200b<br \/>\nStorage Location:  default<br \/>\n\u200b<br \/>\nVelero-Native Snapshot PVs: \u00a0  auto<br \/>\nFile System Backup (Default):  false<br \/>\nSnapshot Move Data: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  false<br \/>\nData Mover: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  velero<br \/>\n\u200b<br \/>\nTTL:  720h0m0s<br \/>\n\u200b<br \/>\nCSISnapshotTimeout: \u00a0  10m0s<br \/>\nItemOperationTimeout:  4h0m0s<br \/>\n\u200b<br \/>\nHooks:  &lt;none&gt;<br \/>\n\u200b<br \/>\nBackup Format Version:  1.1.0<br \/>\n\u200b<br \/>\nStarted: \u00a0  2026-02-25 16:09:30 &#043;0800 CST<br \/>\nCompleted:  2026-02-25 16:09:31 &#043;0800 CST<br \/>\n\u200b<br \/>\nExpiration:  2026-03-27 16:09:30 &#043;0800 CST<br \/>\n\u200b<br \/>\nTotal items to be backed up:  22<br \/>\nItems backed up: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  22<br \/>\n\u200b<br \/>\nBackup Volumes:<br \/>\n  Velero-Native Snapshots: &lt;none included&gt;<br \/>\n\u200b<br \/>\n  CSI Snapshots: &lt;none included&gt;<br \/>\n\u200b<br \/>\n  Pod Volume Backups: &lt;none included&gt;<br \/>\n\u200b<br \/>\nHooksAttempted:  0<br \/>\nHooksFailed: \u00a0 \u00a0 0 <\/p>\n<p>MinIO \u67e5\u770b\u5907\u4efd<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"1355\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260227112615-69a17f57a53c9.png\" width=\"2484\" \/><\/p>\n<p>\u5b9a\u65f6\u5907\u4efd<\/p>\n<p>#Examples :<br \/>\n#Create a backup every 6 hours.<br \/>\nvelero create schedule NAME &#8211;schedule&#061;&#034;0 *\/6 * * *\u201d<br \/>\n# Create a backup every 6 hours with the &#064;every notation.<br \/>\nvelero create schedule NAME &#8211;schedule&#061;&#034;&#064;every 6h&#034;<br \/>\n#Create a daily backup of the web namespace.<br \/>\nvelero create schedule NAME &#8211;schedule&#061;&#034;&#064;every 24h&#034; &#8211;include-namespaces web<br \/>\n# Create a weekly backup, each living for 90 days(2160 hours).<br \/>\nvelero create schedule NAME &#8211;schedule&#061;&#034;&#064;every 168h&#034; &#8211;ttl 2160h&#064;m0s <\/p>\n<h3 style=\"background-color:transparent\">2.5.\u6062\u590d\u8d44\u6e90<\/h3>\n<p>\u5148\u5220\u9664\u90e8\u5206\u8d44\u6e90<\/p>\n<p>root&#064;master01:~# kubectl get pod -n default<br \/>\nNAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 READY \u00a0 STATUS \u00a0  RESTARTS \u00a0 \u00a0 \u00a0  AGE<br \/>\nmyweb-7d756bcd87-chbsv \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 1 (6h56m ago) \u00a0 25h<br \/>\nmyweb-7d756bcd87-kcbz7 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 1 (6h56m ago) \u00a0 25h<br \/>\nmyweb-7d756bcd87-pn27p \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 1 (6h56m ago) \u00a0 25h<br \/>\nnetwork-tools \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  1\/1 \u00a0 \u00a0 Running \u00a0 1 (6h56m ago) \u00a0 25h<br \/>\nroot&#064;master01:~# kubectl delete deployments.apps myweb<br \/>\ndeployment.apps &#034;myweb&#034; deleted<br \/>\nroot&#064;master01:~# kubectl get pod -n default<br \/>\nNAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  READY \u00a0 STATUS \u00a0  RESTARTS \u00a0 \u00a0 \u00a0  AGE<br \/>\nnetwork-tools \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 1 (6h56m ago) \u00a0 25h <\/p>\n<p>\u6062\u590d\u524d\u67e5\u770b\u5907\u4efd\u540d\u79f0<\/p>\n<p>root&#064;master01:~# velero backup get<br \/>\nNAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 STATUS \u00a0 \u00a0  ERRORS \u00a0 WARNINGS \u00a0 CREATED \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 EXPIRES \u00a0 STORAGE LOCATION \u00a0 SELECTOR<br \/>\nk8s-backup-2026-02-25-15-53-10 \u00a0 Completed \u00a0 0 \u00a0 \u00a0 \u00a0  0 \u00a0 \u00a0 \u00a0 \u00a0  2026-02-25 16:09:30 &#043;0800 CST \u00a0 29d \u00a0 \u00a0 \u00a0 default \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  &lt;none&gt;<br \/>\nk8s-backup-2026-02-25-16-00-37 \u00a0 Completed \u00a0 0 \u00a0 \u00a0 \u00a0  0 \u00a0 \u00a0 \u00a0 \u00a0  2026-02-25 16:00:37 &#043;0800 CST \u00a0 29d \u00a0 \u00a0 \u00a0 default \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  &lt;none&gt; <\/p>\n<p>\u5728worker\u8282\u70b9\u4e0a\u53ef\u4ee5\u63d0\u524d\u4e0b\u8f7d\u76f8\u5173\u955c\u50cf<\/p>\n<p>docker pull swr.cn-north-4.myhuaweicloud.com\/ddn-k8s\/docker.io\/velero\/velero-restore-helper:v1.15.2 <\/p>\n<p>\u5728master\u8282\u70b9\u6267\u884c\u6062\u590d\u547d\u4ee4<\/p>\n<p>#\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u6062\u590d\u6307\u5b9a\u7684\u5907\u4efd<br \/>\nvelero restore create &#8211;from-backup k8s-backup-2026-02-25-15-53-10 &#8211;wait<br \/>\nroot&#064;master01:~# velero restore create &#8211;from-backup k8s-backup-2026-02-25-15-53-10 &#8211;wait<br \/>\nRestore request &#034;k8s-backup-2026-02-25-15-53-10-20260225165431&#034; submitted successfully.<br \/>\nWaiting for restore to complete. You may safely press ctrl-c to stop waiting &#8211; your restore will continue in the background.<br \/>\n\u200b<br \/>\nRestore completed with status: Completed. You may check for more information using the commands &#096;velero restore describe k8s-backup-2026-02-25-15-53-10-20260225165431&#096; and &#096;velero restore logs k8s-backup-2026-02-25-15-53-10-20260225165431&#096;. <\/p>\n<h3 style=\"background-color:transparent\">2.6.\u68c0\u67e5\u6062\u590d\u7684\u8d44\u6e90<\/h3>\n<p>\u521b\u5efarestores\u8d44\u6e90<\/p>\n<p>root&#064;master01:~# kubectl get restores.velero.io -A<br \/>\nNAMESPACE \u00a0 NAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  AGE<br \/>\nvelero \u00a0 \u00a0  k8s-backup-2026-02-25-15-53-10-20260225165431 \u00a0 14m <\/p>\n<p>\u5b8c\u6210\u6062\u590d\u540e&#xff0c;\u4f1a\u5728MinIO\u5b58\u50a8\u4e2d\u540c\u65f6\u521b\u5efa\u548c\u4e00\u4e2a\u548cbackups\u540c\u7ea7\u7684restores\u7684\u76ee\u5f55<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"1346\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260227112617-69a17f59b35a6.png\" width=\"2471\" \/><\/p>\n<p>\u67e5\u770b\u6062\u590d\u60c5\u51b5<\/p>\n<p>root&#064;master01:~# velero restore get<br \/>\nNAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  BACKUP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 STATUS \u00a0 \u00a0  STARTED \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 COMPLETED \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ERRORS \u00a0 WARNINGS \u00a0 CREATED \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 SELECTOR<br \/>\nk8s-backup-2026-02-25-15-53-10-20260225165431 \u00a0 k8s-backup-2026-02-25-15-53-10 \u00a0 Completed \u00a0 2026-02-25 16:54:31 &#043;0800 CST \u00a0 2026-02-25 16:54:32 &#043;0800 CST \u00a0 0 \u00a0 \u00a0 \u00a0  12 \u00a0 \u00a0 \u00a0 \u00a0 2026-02-25 16:54:31 &#043;0800 CST \u00a0 &lt;none&gt; <\/p>\n<p>\u67e5\u770b\u8be6\u7ec6\u4fe1\u606f<\/p>\n<p>root&#064;master01:~# velero restore describe k8s-backup-2026-02-25-15-53-10-20260225165431 &#8211;details<br \/>\nName: \u00a0 \u00a0 \u00a0 \u00a0 k8s-backup-2026-02-25-15-53-10-20260225165431<br \/>\nNamespace: \u00a0  velero<br \/>\nLabels: \u00a0 \u00a0 \u00a0 &lt;none&gt;<br \/>\nAnnotations:  &lt;none&gt;<br \/>\n\u200b<br \/>\nPhase: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Completed<br \/>\nTotal items to be restored:  21<br \/>\nItems restored: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  21<br \/>\n\u200b<br \/>\nStarted: \u00a0  2026-02-25 16:54:31 &#043;0800 CST<br \/>\nCompleted:  2026-02-25 16:54:32 &#043;0800 CST<br \/>\n\u200b<br \/>\nWarnings:<br \/>\n  Velero: \u00a0 \u00a0 &lt;none&gt;<br \/>\n  Cluster: \u00a0  &lt;none&gt;<br \/>\n  Namespaces:<br \/>\n \u00a0  default:  could not restore, Pod:network-tools already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, Endpoints:myweb-clusterip already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, Endpoints:myweb-loadbalancer already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, Endpoints:myweb-nodeport already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, Service:baidu already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, Service:kubernetes already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, Service:myweb-clusterip already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, Service:myweb-loadbalancer already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, Service:myweb-nodeport already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, EndpointSlice:myweb-clusterip-qmd4s already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, EndpointSlice:myweb-loadbalancer-vst84 already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  could not restore, EndpointSlice:myweb-nodeport-smp7h already exists. Warning: the in-cluster version is different than the backed-up version<br \/>\n\u200b<br \/>\nBackup:  k8s-backup-2026-02-25-15-53-10<br \/>\n\u200b<br \/>\nNamespaces:<br \/>\n  Included:  all namespaces found in the backup<br \/>\n  Excluded:  &lt;none&gt;<br \/>\n\u200b<br \/>\nResources:<br \/>\n  Included: \u00a0 \u00a0 \u00a0  *<br \/>\n  Excluded: \u00a0 \u00a0 \u00a0  nodes, events, events.events.k8s.io, backups.velero.io, restores.velero.io, resticrepositories.velero.io, csinodes.storage.k8s.io, volumeattachments.storage.k8s.io, backuprepositories.velero.io<br \/>\n  Cluster-scoped:  auto<br \/>\n\u200b<br \/>\nNamespace mappings:  &lt;none&gt;<br \/>\n\u200b<br \/>\nLabel selector:  &lt;none&gt;<br \/>\n\u200b<br \/>\nOr label selector:  &lt;none&gt;<br \/>\n\u200b<br \/>\nRestore PVs:  auto<br \/>\n\u200b<br \/>\nCSI Snapshot Restores: &lt;none included&gt;<br \/>\n\u200b<br \/>\nExisting Resource Policy: \u00a0 &lt;none&gt;<br \/>\nItemOperationTimeout: \u00a0 \u00a0 \u00a0 4h0m0s<br \/>\n\u200b<br \/>\nPreserve Service NodePorts:  auto<br \/>\n\u200b<br \/>\nUploader config:<br \/>\n\u200b<br \/>\n\u200b<br \/>\nHooksAttempted: \u00a0 0<br \/>\nHooksFailed: \u00a0 \u00a0  0<br \/>\n\u200b<br \/>\nResource List:<br \/>\n  apps\/v1\/Deployment:<br \/>\n \u00a0  &#8211; default\/myweb(created)<br \/>\n  apps\/v1\/ReplicaSet:<br \/>\n \u00a0  &#8211; default\/myweb-7d756bcd87(created)<br \/>\n  discovery.k8s.io\/v1\/EndpointSlice:<br \/>\n \u00a0  &#8211; default\/kubernetes(skipped)<br \/>\n \u00a0  &#8211; default\/myweb-clusterip-qmd4s(failed)<br \/>\n \u00a0  &#8211; default\/myweb-loadbalancer-vst84(failed)<br \/>\n \u00a0  &#8211; default\/myweb-nodeport-smp7h(failed)<br \/>\n  v1\/ConfigMap:<br \/>\n \u00a0  &#8211; default\/kube-root-ca.crt(skipped)<br \/>\n  v1\/Endpoints:<br \/>\n \u00a0  &#8211; default\/kubernetes(skipped)<br \/>\n \u00a0  &#8211; default\/myweb-clusterip(failed)<br \/>\n \u00a0  &#8211; default\/myweb-loadbalancer(failed)<br \/>\n \u00a0  &#8211; default\/myweb-nodeport(failed)<br \/>\n  v1\/Pod:<br \/>\n \u00a0  &#8211; default\/myweb-7d756bcd87-chbsv(created)<br \/>\n \u00a0  &#8211; default\/myweb-7d756bcd87-kcbz7(created)<br \/>\n \u00a0  &#8211; default\/myweb-7d756bcd87-pn27p(created)<br \/>\n \u00a0  &#8211; default\/network-tools(failed)<br \/>\n  v1\/Service:<br \/>\n \u00a0  &#8211; default\/baidu(failed)<br \/>\n \u00a0  &#8211; default\/kubernetes(failed)<br \/>\n \u00a0  &#8211; default\/myweb-clusterip(failed)<br \/>\n \u00a0  &#8211; default\/myweb-loadbalancer(failed)<br \/>\n \u00a0  &#8211; default\/myweb-nodeport(failed)<br \/>\n  v1\/ServiceAccount:<br \/>\n \u00a0  &#8211; default\/default(skipped)<br \/>\n\u200b <\/p>\n<p>\u68c0\u67e5\u521a\u624d\u7684\u5220\u9664\u7684\u8d44\u6e90\u662f\u5426\u6062\u590d<\/p>\n<p>root&#064;master01:~# kubectl get deployments.apps<br \/>\nNAME \u00a0  READY \u00a0 UP-TO-DATE \u00a0 AVAILABLE \u00a0 AGE<br \/>\nmyweb \u00a0 3\/3 \u00a0 \u00a0 3 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  3 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 56s<br \/>\nroot&#064;master01:~# kubectl get pod -n default<br \/>\nNAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 READY \u00a0 STATUS \u00a0  RESTARTS \u00a0 \u00a0 \u00a0 AGE<br \/>\nmyweb-7d756bcd87-chbsv \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  63s<br \/>\nmyweb-7d756bcd87-kcbz7 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  62s<br \/>\nmyweb-7d756bcd87-pn27p \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  62s<br \/>\nnetwork-tools \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  1\/1 \u00a0 \u00a0 Running \u00a0 1 (7h1m ago) \u00a0 25h <\/p>\n<p>\u6062\u590d\u5b8c\u6210<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1.Velero \u7b80\u4ecb<br \/>\n1.1.Velero\u4ecb\u7ecd Velero (\u897f\u73ed\u7259\u8bed&#xff0c;\u610f\u601d\u662f\u201c\u5e06\u8239)\u6700\u521d\u7531 Heptio \u516c\u53f8\u5f00\u53d1&#xff0c;\u9879\u76ee\u540d\u79f0\u4e3a \u201cHeptio Ark\u201d\u3002Heptio \u7531 Kubernetes \u7684\u4e24\u4f4d\u8054\u5408\u521b\u59cb\u4eba Craig McLuckie \u548c Joe Beda \u521b\u7acb&#xff0c;\u65e8\u5728\u4e3a Kubernetes \u7528\u6237\u63d0\u4f9b\u4e00\u7cfb \u5217\u53ef\u9760\u7684\u5de5\u5177\u6765\u589e\u5f3a\u96c6\u7fa4\u7684\u7ba1\u7406\u3001\u8fd0\u7ef4\u80fd\u529b\u3002Ark \u9879\u76ee\u5e94\u8fd0\u800c\u751f&#xff0c;\u5176\u6838\u5fc3\u76ee\u6807\u5c31\u662f\u89e3\u51b3 Kubernetes<\/p>\n","protected":false},"author":2,"featured_media":78505,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[8677,120,763,121],"topic":[],"class_list":["post-78512","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-velero","tag-kubernetes","tag-763","tag-121"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kubernetes-Velero\u96c6\u7fa4\u5907\u4efd\u8fd8\u539f\u548c\u8fc1\u79fb - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/78512.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kubernetes-Velero\u96c6\u7fa4\u5907\u4efd\u8fd8\u539f\u548c\u8fc1\u79fb - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"1.Velero \u7b80\u4ecb 1.1.Velero\u4ecb\u7ecd Velero (\u897f\u73ed\u7259\u8bed&#xff0c;\u610f\u601d\u662f\u201c\u5e06\u8239)\u6700\u521d\u7531 Heptio \u516c\u53f8\u5f00\u53d1&#xff0c;\u9879\u76ee\u540d\u79f0\u4e3a \u201cHeptio Ark\u201d\u3002Heptio \u7531 Kubernetes \u7684\u4e24\u4f4d\u8054\u5408\u521b\u59cb\u4eba Craig McLuckie \u548c Joe Beda \u521b\u7acb&#xff0c;\u65e8\u5728\u4e3a Kubernetes \u7528\u6237\u63d0\u4f9b\u4e00\u7cfb \u5217\u53ef\u9760\u7684\u5de5\u5177\u6765\u589e\u5f3a\u96c6\u7fa4\u7684\u7ba1\u7406\u3001\u8fd0\u7ef4\u80fd\u529b\u3002Ark \u9879\u76ee\u5e94\u8fd0\u800c\u751f&#xff0c;\u5176\u6838\u5fc3\u76ee\u6807\u5c31\u662f\u89e3\u51b3 Kubernetes\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/78512.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-27T11:26:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260227112610-69a17f52c0a40.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/78512.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/78512.html\",\"name\":\"Kubernetes-Velero\u96c6\u7fa4\u5907\u4efd\u8fd8\u539f\u548c\u8fc1\u79fb - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-02-27T11:26:20+00:00\",\"dateModified\":\"2026-02-27T11:26:20+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/78512.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/78512.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/78512.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kubernetes-Velero\u96c6\u7fa4\u5907\u4efd\u8fd8\u539f\u548c\u8fc1\u79fb\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kubernetes-Velero\u96c6\u7fa4\u5907\u4efd\u8fd8\u539f\u548c\u8fc1\u79fb - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/78512.html","og_locale":"zh_CN","og_type":"article","og_title":"Kubernetes-Velero\u96c6\u7fa4\u5907\u4efd\u8fd8\u539f\u548c\u8fc1\u79fb - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"1.Velero \u7b80\u4ecb 1.1.Velero\u4ecb\u7ecd Velero (\u897f\u73ed\u7259\u8bed&#xff0c;\u610f\u601d\u662f\u201c\u5e06\u8239)\u6700\u521d\u7531 Heptio \u516c\u53f8\u5f00\u53d1&#xff0c;\u9879\u76ee\u540d\u79f0\u4e3a \u201cHeptio Ark\u201d\u3002Heptio \u7531 Kubernetes \u7684\u4e24\u4f4d\u8054\u5408\u521b\u59cb\u4eba Craig McLuckie \u548c Joe Beda \u521b\u7acb&#xff0c;\u65e8\u5728\u4e3a Kubernetes \u7528\u6237\u63d0\u4f9b\u4e00\u7cfb \u5217\u53ef\u9760\u7684\u5de5\u5177\u6765\u589e\u5f3a\u96c6\u7fa4\u7684\u7ba1\u7406\u3001\u8fd0\u7ef4\u80fd\u529b\u3002Ark \u9879\u76ee\u5e94\u8fd0\u800c\u751f&#xff0c;\u5176\u6838\u5fc3\u76ee\u6807\u5c31\u662f\u89e3\u51b3 Kubernetes","og_url":"https:\/\/www.wsisp.com\/helps\/78512.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-02-27T11:26:20+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260227112610-69a17f52c0a40.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"10 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/78512.html","url":"https:\/\/www.wsisp.com\/helps\/78512.html","name":"Kubernetes-Velero\u96c6\u7fa4\u5907\u4efd\u8fd8\u539f\u548c\u8fc1\u79fb - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-02-27T11:26:20+00:00","dateModified":"2026-02-27T11:26:20+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/78512.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/78512.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/78512.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"Kubernetes-Velero\u96c6\u7fa4\u5907\u4efd\u8fd8\u539f\u548c\u8fc1\u79fb"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/78512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=78512"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/78512\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/78505"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=78512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=78512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=78512"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=78512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}