Kasten k10 实战系列 04 – 利用 Kubestr 进行云原生存储能力评测

Kasten k10 实战系列 04 - 利用 Kubestr 进行云原生存储能力评测

1. 前言

随着 Kubernetes 在企业 IT 基础架构体系中的采用日渐增多,可供用户使用的持久化存储产品也越来越多。CSI(容器存储接口)的引入使存储提供商能够轻松开发驱动程序。事实上今天有大约 100 种不同的 CSI 驱动程序可用,与现有的 In-Tree 存储提供程序一起,这使得存储的选型变得越发困难。如何为基础架构选择理想的存储提供商,已经成为了运维主管们的一个新型挑战。而传统的存储选型方法对于云原生架构又不一定合适,这时 Kubestr 就应运而生了。

继续阅读“Kasten k10 实战系列 04 – 利用 Kubestr 进行云原生存储能力评测”

Kasten k10 实战系列 03 – Kasten K10 存储集成功能

Kasten k10 实战系列 - 03 Kasten K10 存储集成功能

前言

随着 Kubernetes 中有状态应用程序的部署在云原生基础架构中的越发成熟,以及存储供应商对容器存储接口 CSI (Container Storage Interface )的迅速采用,目前 CSI 已经成为容器存储接口的事实标准,这其实给数据保护厂商来了新的机遇,今天我们来聊一下 Kasten 对 CSI的调用。

继续阅读“Kasten k10 实战系列 03 – Kasten K10 存储集成功能”

Kasten K10 实战系列 02 – Kasten K10 搭建私有镜像库

Kasten K10 实战系列 02 - Kasten K10 搭建私有镜像库

1.前言 - gcri.io 的访问

由于一些众所周知的原因, 有些企业在国内无法访问 gcr.io 上的镜像, 在安装 kubernetes 时,很多官方镜像又是都存在 gcr.io 上, Kasten K10 也是如此。当然 Kasten K10 也考虑到用户不能访问 gcr.io 因素,同时把镜像也放到了 Jfrog artifactory 上作为 alternative 的镜像下载站。这对于在线安装的用户来说就简单多了。考虑到国内用户私有化部署的情况比较多,在本文中我们归纳了将 Kasten K10 的 Helm Chart 部署在腾讯 TCR 或是 Harbor上的方法,这样我们就可以直接使用国内的镜像库了。本文将以腾讯的私人镜像库为例进行说明。

文章目录

  1. 前言 - gcri.io 的访问
  2. 腾讯镜像库 TCR 就绪过程
    • 2.1 腾讯镜像库 TCR 介绍
    • 2.2 腾讯镜像库 TCR 新建命名空间
    • 2.3 新建 镜像仓库
    • 2.4 选择使用指引, 了解 登录 docker login 登录所需要的命令
    • 2.5 访问管理 CAM 策略检查
  3. 部署私有镜像库到 TCR
    • 3.1. 使用 Kasten K10 官方的方法部署镜像库
    • 3.2. 使用 Veeam 工程师方法部署镜像库
    • 3.3. 针对无网络环境,使用手动方式部署镜像库
    • 3.4 对于两个特殊镜像的上传 Restorectl 和 k10offline 镜像
  4. 查看部署完成的 TCR 镜像库
  5. 总结
  6. 参考链接
  7. 附录:将 docker images save 再 load 的方法参考

Kasten 实战系列导航

2. 腾讯镜像库 TCR 就绪过程

2.1 腾讯镜像库 TCR 介绍

腾讯容器镜像服务(Tencent Container Registry,TCR)是腾讯云提供的安全独享、高性能的容器镜像托管分发服务,支持 Docker 镜像、Helm Chart 存储分发及镜像安全扫描,为企业级客户提供了细颗粒度的访问权限管理和网络访问控制。

2.2 新建命名空间

首先,我们需要在腾讯云镜像仓库中,新建命名空间,如下图。

20210628145211

然后,输入命名空间的名称, 如 Kasten

20210628145439

2.3 新建镜像仓库

在这里,我们需要新建一个镜像仓库为试做准备,值得说明的是下面的环境将为自动化的建立镜像仓库,这里只是测试功能是否可以非常使用。

20210628152430

名称:填入测试镜像库的名称, 类型,选公有, 命名空间,选择刚刚创建的名空间
20210628152655

2.4 查看镜像仓库指引

在这里,让我们选择使用指引, 以便了解登录,即 docker login 所需要的命令
20210628153347

2.5 访问管理 CAM 策略检查

确保角色 TCR_QCSRole 已经创建
20210628151922

确保如下策略在角色 TCR_QCSRole 中被关联

20210628151948

3. 部署私有镜像库到 TCR

3.1. 使用 Kasten K10 官方的方法部署镜像库

要使用 Kasten K10 官方的方法部署镜像库,请参考如下文档

参考 Kasten 文档 Air-Gapped Install
https://docs.kasten.io/latest/install/offline.html

注意以下操作的主机需要可以接触 gcr.io
建议准备一个 Ubuntu Linux 方便操作

1. 列出 K10 容器镜像

以下命令将列出当前 K10 版本使用的所有 Docker images,如果需要手动标记 K10 Docker images 并将其推送到您的私有存储库,而不是使用下面记录的 Kasten 提供的工具,这会很有帮助。

$ docker run --rm -it gcr.io/kasten-images/k10offline:4.0.5 list-images

2. 将所有 K10 镜像下载到本地机器的 Registry 中
以下命令执行 k10offline 工具并使用 docker -in- docker(通过 docker.sock)将所有 K10 镜像下载到本地机器的 Registry 中。

$ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock \
>     gcr.io/kasten-images/k10offline:4.0.5 pull images

3. 将所有 K10 镜像拉入您的本地存储库,并重新标记

最后,为了完全自动化 K10 Docker 映像的下载和重新上传,以下命令会将所有 K10 映像拉入您的本地存储库,并重新标记 repo.example.com 并将它们推送到此指定的 Registry 。请注意,如果私有 Registry 需要身份验证,此工具将使用您的本地 docker 配置。

$ docker login --username=10000******* ccr.ccs.tencentyun.com
$ docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock \
    -v ${HOME}/.docker:/root/.docker \
    gcr.io/kasten-images/k10offline:4.0.5 pull images --newrepo repo.example.com

3.2. 使用 Veeam 工程师方法部署镜像库

Veeam SE 团队的 魏磊 已经创造了更方便的方法部署 Kasten K10 镜像库,请参考如下文档

Kasten K10入门系列04 - K10安装包下载
https://mp.weixin.qq.com/s/q87OEm2ktn4QBI-jrD6V_w

3.3. 针对无网络环境,使用手动方式部署镜像库

有些时候,某客户部署 K8S 环境是完全没有网络的,针对这样的用户我们准备通过 Docker Save 导出的 Tar 包是最新的 4.0.5 版本

1. 离线软件包下载
以下软件包是由 Veeam SE 团队的 魏磊 提供的,如果有需要离线下载资源的也可以使用我们已经在中国部署的镜像库,或是联系我们。

请通过如下渠道下载:
https://cloud.189.cn/t/zIVZ3uaIzUr2(访问码:8fbw

2. 离线软件包的查看与命名规则

下载过程结束后,您将得到一个软件包,里面包含24个文件,每个文件文件名由3部分组成(镜像名|版本+镜像ID)。我们需要根据 『-』按照从后到前的顺序将其拆分。

20210628161945

2. 离线软件包的查看与命名规则
下载后把这些文件,用 docker load、docker tag、docker push命令,导入到你的存储库,以下是范例

$ docker load -i jimmidyson--configmap-reload--v0.4.0--37e6075b1356.tar

$ docker images 查看一下导入的情况,注意要进行docker login

$ docker images 
$ docker login --username=10000******* ccr.ccs.tencentyun.com

打 tag, push

$ docker tag 3b6d0bf8e711 ccr.ccs.tencentyun.com/kasten-k10/restorectl:4.0.5
$ docker push ccr.ccs.tencentyun.com/kasten-k10/restorectl:4.0.5

注意:大部分的镜像版本都是 4.0.5,有5个版本不是 原生 kasten images POD 将以 k10 开头

root@ubuntu:/home/mars/Desktop# docker images 
REPOSITORY                                           TAG           IMAGE ID       CREATED         SIZE
ghcr.io/kanisterio/kanister-tools/                   k10-0.61.0    99624811c928   8 days ago      425MB
quay.io/dexidp/dex                                   k10-v2.24.0   bb0b95a82a8a   13 months ago   34.2MB
quay.io/datawire/ambassador                          k10-1.13.6    09ecebfe1767   4 weeks ago     373MB
quay.io/prometheus/prometheus                        k10-v2.26.0   6d6859d1a42a   2 months ago    169MB
jimmidyson/configmap-reload                          k10-v0.5.0    d771cc9785a1   5 months ago    9.99MB
gcr.io/kasten-images/k10offline                      4.0.5         133f5a682ed8   6 days ago      237MB
gcr.io/kasten-images/frontend                        4.0.5         ae95f8a8189f   8 days ago      234MB
gcr.io/kasten-images/auth                            4.0.5         5432edc01c41   8 days ago      194MB
gcr.io/kasten-images/jobs                            4.0.5         81f48f237e5d   8 days ago      188MB
gcr.io/kasten-images/catalog                         4.0.5         9016df63b503   8 days ago      240MB
gcr.io/kasten-images/aggregatedapis                  4.0.5         3150ee79d881   8 days ago      247MB
gcr.io/kasten-images/config                          4.0.5         15b0ccea27d6   8 days ago      244MB
gcr.io/kasten-images/executor                        4.0.5         2baf456fbc25   8 days ago      249MB
gcr.io/kasten-images/dashboardbff                    4.0.5         9bb2eac71054   8 days ago      248MB
gcr.io/kasten-images/metering                        4.0.5         fe8879f15b18   8 days ago      242MB
gcr.io/kasten-images/state                           4.0.5         0d9722ba46ab   8 days ago      189MB
gcr.io/kasten-images/crypto                          4.0.5         ca32ec19516a   8 days ago      197MB
gcr.io/kasten-images/datamover                       4.0.5         348af65fe6cd   8 days ago      905MB
gcr.io/kasten-images/k10tools                        4.0.5         c92a7d2356a4   8 days ago      233MB
gcr.io/kasten-images/upgrade                         4.0.5         87aab37087f7   8 days ago      115MB
gcr.io/kasten-images/restorectl                      4.0.5         3b6d0bf8e711   8 days ago      229MB
gcr.io/kasten-images/logging                         4.0.5         557dfc441841   8 days ago      255MB
gcr.io/kasten-images/kanister                        4.0.5         ea462073460e   8 days ago      371MB
gcr.io/kasten-images/cephtool                        4.0.5         aae661a7ce5f   6 months ago    524MB

3.4 对于两个特殊镜像的上传 Restorectl 和 k10offline 镜像

以下两个软件包,不会出现在镜像库中,但时常会用到。所以我们通过 Docker 命令把它们手动推送到
TCR上

  • Restorectl 用于容灾和异地恢复
  • k10offline 离线工具包
$ docker login --username=10000***** ccr.ccs.tencentyun.com
$ docker tag 3b6d0bf8e711 ccr.ccs.tencentyun.com/kasten-k10/restorectl:4.0.5
$ docker pull gcr.io/kasten-images/k10offline:4.0.5
$ docker push ccr.ccs.tencentyun.com/kasten-k10/restorectl:4.0.5

$ docker pull gcr.io/kasten-images/k10offline:4.0.5
$ docker tag 3b6d0bf8e711 ccr.ccs.tencentyun.com/kasten-k10/restorectl:4.0.5
$ docker push ccr.ccs.tencentyun.com/kasten-k10/restorectl:4.0.5

4. 查看部署完成的 TCR 镜像库

确保 TCR 已经配置完善

20210627200943

5. 总结

将 Kasten K10 的 Helm Chart 部署在 腾讯 TCR 解决我们有时,不能方便访问 gcr.io 的问题,使我们可以更加方便安装Kasten K10。欢迎大家扫描下方二维码申请 K10 免费试用,亲身动手试一试。

20210628171302

6. 参考链接

Jfrog artifactory
https://kb.kasten.io/knowledge/jfrog
参考 Kasten 文档 Air-Gapped Install
https://docs.kasten.io/latest/install/offline.html#preparing-k10-container-images-for-air-gapped-use
Kasten K10入门系列04 - K10安装包下载
https://mp.weixin.qq.com/s/q87OEm2ktn4QBI-jrD6V_w
腾讯云 TCR 文档与资源
https://cloud.tencent.com/document/product/1141
Docker 操作要点
https://docs.docker.com/get-started/
Kasten by Veeam 官网
https://docs.kasten.io/latest/
Complete List of K10 Helm Options
https://docs.kasten.io/latest/install/advanced.html

7.附录:将 docker images save 再 load 的方法参考

#查看 docker images
root@ubuntu:/home/mars/Desktop# docker images |grep jimmi
jimmidyson/configmap-reload                       v0.4.0        37e6075b1356   11 months ago   10.7MB
# docker save images to tar file 
root@ubuntu:/home/mars/Desktop# docker save jimmidyson/configmap-reload:v0.4.0 > jimmidyson--configmap-reload--v0.4.0--37e6075b1356.tar
root@ubuntu:/home/mars/Desktop# ls
jimmidyson--configmap-reload--v0.4.0--37e6075b1356.tar
# 模拟删除 docker images
root@ubuntu:/home/mars/Desktop# docker rmi jimmidyson/configmap-reload:v0.4.0
Untagged: jimmidyson/configmap-reload:v0.4.0
# docker images 已经看不到它了
root@ubuntu:/home/mars/Desktop# docker images |grep jimmi
root@ubuntu:/home/mars/Desktop# 

#查看 docker tar
root@ubuntu:/home/mars/Desktop# ls -lah
total 11M
-rw-r--r--  1 root root  11M Jun 24 23:23 jimmidyson--configmap-reload--v0.4.0--37e6075b1356.tar
# 用 docker load 把镜像读回来
root@ubuntu:/home/mars/Desktop# 
root@ubuntu:/home/mars/Desktop# docker load -i jimmidyson--configmap-reload--v0.4.0--37e6075b1356.tar

Kasten K10 实战系列 01 – 在公有云上部署 K10 概览

Kasten K10 实战系列 01 - 在腾讯云上部署 K10 概览

[toc]

1.前言 - Kasten K10 与 TKE 背景介绍

Kasten K10 是 Veeam 在 Kubernetes 平台的数据管理解决方案,通过部署 Kasten K10 企业可以安全地备份和还原,执行灾难恢复以及迁移 Kubernetes 集群资源和持久卷等存储资源。解决用户备份、灾难恢复、迁移过程中的数据管理问题,提高云原生环境数据管理的便捷性,帮助用户降低灾备成本,提高生产执行效率。

腾讯云容器服务(Tencent Kubernetes Engine ,TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务。腾讯云容器服务完全兼容原生 kubernetes API ,扩展了腾讯云的云硬盘、负载均衡等 kubernetes 插件,为容器化的应用提供高效部署、资源调度、服务发现和动态伸缩等一系列完整功能,解决用户开发、测试及运维过程的环境一致性问题。

本文写作目标 本文将以 TKE K8S 集群为实战目标,为读者展现在腾讯云 TKE 平台上部署 Kasten K10 的逐步说明,旨在为读者提供具有价值的实战参考。具体的解决方案还需要遵循 Kasten K10 文档 与 腾讯云文档中的最佳实践,目前文档编目如下:

  • Kasten K10 实战系列 01 - 在腾讯云上部署 K10 概览
  • Kasten K10 实战系列 02 - 利用腾讯 TCR 搭建镜像库
  • Kasten k10 实战系列 03 - CSI 存储快照适配
  • Kasten k10 实战系列 04 - 利用 Kubestr 进行云原生存储能力评测
  • Kasten k10 实战系列 05 - Kasten K10 安装及最佳实践
  • Kasten k10 实战系列 06 - Kasten K10 备份与恢复
  • Kasten k10 实战系列 07 - Kasten K10 容灾与迁移
  • Kasten k10 实战系列 08 - Kasten K10 Kanister 应用感知框架的使用
  • Kasten k10 实战系列 09 - Multi-Cluster 多 K8S 环境管理
  • Kasten k10 实战系列 10 - Kasten 实战总结

2.Kasten 在云原生领域中的用例

通过部署 Kasten K10 企业可以安全地备份和还原,可以安全地备份和还原,执行灾难恢复以及迁移 Kubernetes 集群资源和持久卷,可以在 TKE 集群或自建 Kubenetes 集群中部署 Kasten K10 涵盖但不仅限于使用在如下场景:

  • 备份恢复: 保护集群资源并在丢失的情况下进行还原
  • 应用迁移: 将集群资源迁移到其他集群。
  • DevOpS: 将生产集群资源复制到开发和 Staging、测试集群。

3.Kasten K10 如何工作?

Kasten K10 工作原理图如下图所示,当用户执行备份或还原命令时,调用自定义资源 API 创建查找备份对象。

20210627180420

Step1:发现应用组件 : 通过 Orchestrator API, K10 应用可以在几分钟内部署到在您的 Kubernetes 集群上,并与 IAM 身份和访问管理集成,K10 的自动应用程序发现功能。

Step2:发现应用配置 : K10 API Controller 控制器 watch 到生成的备份对象时,执行备份计划,此时 K10 与 将与存储基础架构 API 相集成发现应用的配置,如 Namespaces, deployments , configmaps , secrets , serivceaccounts , serivecs ,storageclass 等等

Step3:发现应用数据 : 通过自动扫描 Kubernetes 环境中需保护的应用和相关组件,发现数据的所在位置。通过使用自动化策略高效执行数据管理操作,如通过CSI接口实现的快照操作,可以保证数据的高速备份、还原、以及应用的可移动性。同理,针对有状态的应用,还可以通过开源应用程序框架 Kanister,提供可扩展的、无代理的、以数据应用程序为中心的蓝图部署与保护方式,实现数据备份和恢复的一致性。

4.Kasten K10 部署规划

4.1 技术资源准备与要求

Kasten K10 部署在 Tencent Cloud 需要以下先决条件 :

  • TKE Tencent Kubenetes Engine 1.18.4(Tencent Kubernetes Engine ,TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务。
  • TCR Tencent Container Registry 容器镜像服务, 为您提供安全独享、高性能的容器镜像托管分发服务。
  • CBS-CSI 组件 CBS-CSI 组件 支持 TKE 集群通过控制台快捷选择存储类型,并创建对应块存储云硬盘类型的 PV 和 PVC。本文提供 CBS-CSI 组件功能特性等说明并介绍几种常见示例用法。
  • COS 对象存储, 用于存放备份的数据集,用于存储部署Kasten K10的自动化检测脚本,和
  • 技术人员要求 部署人员除了对腾讯云有一定了解以外,还应该具备 K8S 或 TKE 运维的相关知识。

4.2 K8S 集群资源需求

对于Kasten K10 在 TKE 容器平台环境的部署,Kasten K10 将需要以下资源,鉴于 K10 所保护的应用数量不同,对应的数值也做相应的调整。

POD数量: 18 -21
CPU与内存资源: 见 Kasten K10 文档
PVC 存储资源要求:100GB 左右

Kasten K10 系统需求
https://docs.kasten.io/latest/operating/footprint.html

在腾讯云 TKE 的集群配置中,最小配置为一个节点,推荐两个节点

类型 机型 规格 CPU 内存 硬盘
基础配置 标准型SA2 SA2.MEDIUM4 2核 4GB 50GB 高性能云硬盘
推荐配置 标准型SA2 SA2.LARGE8 4核 8GB 100GB SSD云硬盘

5. Kasten K10 部署

5.1 K10 部署先决条件

本指南提供了确保在 TKE 集群中顺利和成功安装 K10 的步骤,同时利用CBS-CSI容器存储快照和克隆特性进行备份和恢复策略,K10 部署的先决条件如下。

  • 通过 Pre-flight checks
  • 安装了 Docker、kubectl、 Helm 的操作端
  • CBS-CSI 组件
  • CAM 角色

5.2 Kasten K10 部署

本文中,我们只将如下步骤进行概览,我们随后还将发布该文档的一个系统版本,来列举部署时的详情。

5.2.1.Step 1 CAM 规划

确保如下策略在角色载体为 CCS的 TCR_QCSRole中被关联

  • QcloudCBSFullAccess
  • CLBAutoPreAuthorization
  • QcloudAccessForTKERoleInOpsManagement
  • QcloudAccessForTKERole

20210627195218

5.2.2. 配置 TCR 存储库

确保 TCR 已经配置完善

20210627200943

5.2.3.启用 CBS-CSI 插件

确保 CBS CSI 已经启用

20210627195734

确保 StorageClass CBS-CSI 已经被定义,并配置为默认存储类型

20210627195935

5.2.4. Step 4 验证部署的前提条件是否满足

通过我们部署在COS上的脚本,我们可调用 k10_permer 应用来检查,当前部署环境的前提条件是否满足

[root@harbor01 ~]# curl https://kasten-1257130361.cos.ap-chengdu.myqcloud.com/k10_primer.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6025  100  6025    0     0  20130      0 --:--:-- --:--:-- --:--:-- 20083
Namespace option not provided, using default namespace
Checking for tools
 --> Found kubectl
 --> Found helm
Checking if the Kasten Helm repo is present
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /root/.kube/config
 --> The Kasten Helm repo was found
Checking for required Helm version (>= v3.0.0)
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /root/.kube/config
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /root/.kube/config
 --> No Tiller needed with Helm v3.5.4
K10Primer image
 --> Using Image (ccr.ccs.tencentyun.com/kasten-k10/k10tools:4.0.5) to run test
Checking access to the Kubernetes context cls-jrc2egbj-100006537440-context-default
 --> Able to access the default Kubernetes namespace

Running K10Primer Job in cluster with command- 
     ./k10tools primer 
serviceaccount/k10-primer created
clusterrolebinding.rbac.authorization.k8s.io/k10-primer created
job.batch/k10primer created
Waiting for pod k10primer-5z7gl to be ready - ContainerCreating
Pod Ready!

Kubernetes Version Check:
  Valid kubernetes version (v1.18.4-tke.11)  -  OK

RBAC Check:
  Kubernetes RBAC is enabled  -  OK

Aggregated Layer Check:
  The Kubernetes Aggregated Layer is enabled  -  OK

CSI Capabilities Check:
  Using CSI GroupVersion snapshot.storage.k8s.io/v1beta1  -  OK

Validating Provisioners: 
cloud.tencent.com/qcloud-cbs:
  Storage Classes:
    cbs
      Supported via K10 Generic Volume Backup. See https://docs.kasten.io/latest/install/generic.html.

com.tencent.cloud.csi.cbs:
  Is a CSI Provisioner  -  OK
  Missing/Failed to Fetch CSIDriver Object
  Storage Classes:
    cbs-csi
      Valid Storage Class  -  OK
  Volume Snapshot Classes:
    cbs-snapclass
      Has k10.kasten.io/is-snapshot-class annotation set to true  -  OK
      Has deletionPolicy 'Delete'  -  OK
    k10-clone-cbs-snapclass

Validate Generic Volume Snapshot:
  Pod Created successfully  -  OK
  GVS Backup command executed successfully  -  OK
  Pod deleted successfully  -  OK

serviceaccount "k10-primer" deleted
clusterrolebinding.rbac.authorization.k8s.io "k10-primer" deleted
job.batch "k10primer" deleted

5.2.5. Step 6 - 安装 K10

1. 获取 Helm Chart 供本地使用

helm repo update && helm fetch kasten/k10

2. 建立名空间

kubectl create namespace kasten-io

3. 安装 Kasten K10

在选腾讯云CBS-CSI的云硬盘时,有个最小为10GB的限制,对于 Kasten 来说,有些PVC的要求仅为1GB,所以我们将其更改为10G以上为腾讯云部署作适配, 同时配置的参数还有为扩展 gateway 的 LB 用于外网访问 Kasten 图形界面,与安全性相关的 Token 登录认证的设置。

helm install k10 k10-4.0.5.tgz --namespace kasten-io --set global.airgapped.repository=ccr.ccs.tencentyun.com/kasten-k10 \
    --set global.persistence.metering.size=20Gi \
    --set prometheus.server.persistentVolume.size=20Gi \
    --set global.persistence.catalog.size=20Gi \
    --set externalGateway.create=true \
    --set auth.tokenAuth.enabled=true \
    --set global.persistence.storageClass=cbs-csi

查看 Kasten Helm 部署的参数
Complete List of K10 Helm Options
https://docs.kasten.io/latest/install/advanced.html

4. 确认 Kasten K10 Pod 的部署情况

[root@harbor01 ~]# kubectl get pods -n kasten-io -w 
NAME                                  READY   STATUS    RESTARTS   AGE
aggregatedapis-svc-68ffcc6b7f-4p5bd   1/1     Running   0          2d4h
auth-svc-6bdb748896-bsj9p             1/1     Running   0          2d4h
catalog-svc-5f97568f5c-cq4tg          2/2     Running   0          2d4h
config-svc-6f7b48686b-t4npl           1/1     Running   0          2d4h
crypto-svc-bd87f859b-89kzq            1/1     Running   0          2d4h
dashboardbff-svc-696dbdf4b-nhnzw      1/1     Running   0          2d4h
executor-svc-65d4888b8f-6l4ph         2/2     Running   0          2d4h
executor-svc-65d4888b8f-h54pw         2/2     Running   0          2d4h
executor-svc-65d4888b8f-kxgkp         2/2     Running   0          2d4h
frontend-svc-77588f478-5fll9          1/1     Running   0          2d4h
gateway-6c5d9ffc48-mxsgs              1/1     Running   0          2d4h
jobs-svc-59f9f594c-s2bvx              1/1     Running   0          2d4h
kanister-svc-744b459dc6-ppkx8         1/1     Running   0          2d4h
logging-svc-75bf5f7898-b65p5          1/1     Running   0          2d4h
metering-svc-58f99dc4bb-vxjxg         1/1     Running   0          2d4h
prometheus-server-7b99765ccb-jkx87    2/2     Running   0          2d4h
state-svc-57ff7b7846-hknrd            1/1     Running   0          2d4h

5. 访问 K10 控制台

通过 查看 K8S Service 中的Gateway-ext,查看 访问 K10的IP地址
20210627204738

浏览器访问如下地址

http://139.155.161.39/k10/#/

您将见到如下画面,这时需要我们输入 Token

20210627205847

在终端输入如下命令获取 Token

sa_secret=$(kubectl get serviceaccount k10-k10 -o jsonpath="{.secrets[0].name}" --namespace kasten-io)

kubectl get secret $sa_secret --namespace kasten-io -ojsonpath="{.data.token}{'\n'}" | base64 --decode

之后可以看到,Kasten K10 管理界面已经完美的出现在浏览器中。

20210627210142

6. 配置 腾讯云 COS 作为 Kasten 的存储库

我们可以能过设置 S3 Compatible 存储库的方式,将 腾讯云 COS 设置成为备份存储库,满足 3-2-1-1-0 的备份黄金法则。

20210627213313

7. 在TKE 集群管理器中查看 K10 部署情况

腾讯云 TKE 的管理界面非常友好,在这里我们可以非常方便的查看与K8S的应用,当然也包括 Kasten K10

Pod 运行的情况
20210627211440

存储使用情况
20210627211523

8. 总结

以上就是关于 Kasten 在腾讯云 TKE 上部署的有关记录,供大家在部署时参考。我认为Kasten 这个产品的有趣之处是,它与 Veeam 有很多异曲同工之妙,无疑云原生的灾备对于很多人来说是相当复杂的,但 Kasten 以其直观的方式将其图形化、简便化。关于这个过程的细节,我们还会在后续的文章中,逐步呈现给大家!

9. 参考链接

Kasten by Veeam 官网
https://docs.kasten.io/latest/
Complete List of K10 Helm Options
https://docs.kasten.io/latest/install/advanced.html
Kasten K10 系统需求
https://docs.kasten.io/latest/operating/footprint.html
腾讯云 TKE 文档与资源
https://cloud.tencent.com/product/tke/developer
腾讯云 TCR 文档与资源
https://cloud.tencent.com/document/product/1141
腾讯云 CBS-CSI 文档与资源
https://cloud.tencent.com/document/product/457/51099

利用 Veeam Agent 保护腾讯云 CVM并进行备份与恢复

目录

[toc]

1. 前言

目前有有很多客户在用腾讯的 CVM 来承载他们的业务,这些业务的重要性使他们希望对数据进行备份。当然这个操作也可以用于VM的迁移。

2. 安装 Veeam Agent 到 TLinux

腾讯的 Tlinux 是以 CentOS 的内核为原型进行改造的,这使它非常容易进行 Veeam 软件的安装与管理。

继续阅读“利用 Veeam Agent 保护腾讯云 CVM并进行备份与恢复”

在 腾讯去 Tlinux 安装 Veeam Agent

1. 安装软件包

curl -O https://download2.veeam.com/veeam-release-el7-1.0.7-1.x86_64.rpm

rpm -ivh ./veeam-release* && yum check-update
yum install

2. 安装软件许可

 veeamconfig license install --path veeam1.lic --server

3.创建 Repository 以 NAS Repo 为例

veeamconfig repository create --name STORE --location /mnt/store/

[root@VM-0-11-tlinux ~]# veeamconfig repository list
Name        ID                                      Location     Type   Accessible  Backup server  
STORE       {84ba2b4b-4e47-4f3c-a989-ff21aaf9944a}  /mnt/store/  local  true         

4.创建 Job 以系统备份为例

[root@VM-0-11-tlinux ~]# veeamconfig job create volumelevel --name systembackup --reponame 'STORE' --objects /dev/vda1  --weekdays Mon,Sun --at 23:00 
Job has been created successfully.
[root@VM-0-11-tlinux ~]# veeamconfig job list
Name          ID                                      Type         Repository  
systembackup  {500ddace-4036-4751-93a0-8514eebddb8a}  VolumeLevel  STORE       

5.查看 Job Session 以系统备份为例

[root@VM-0-11-tlinux ~]# veeamconfig session log --id ad574bcc-6426-4a8a-9645-894d2a363006
2021-04-13 12:01:38 UTC [info] Job systembackup started at 2021-04-13 12:01:38 UTC
2021-04-13 12:01:38 UTC [info] Preparing to backup
2021-04-13 12:01:38 UTC [info] Creating volume snapshot
2021-04-13 12:01:39 UTC [info] Starting full backup to STORE
2021-04-13 12:01:39 UTC [info] File system indexing is disabled
2021-04-13 12:01:39 UTC [info] Backing up BIOS bootloader on /dev/vda
2021-04-13 12:01:39 UTC [info] Backed up vda 6.5 GB at 48.9 MB/s
2021-04-13 12:03:55 UTC [info] Backing up summary.xml
2021-04-13 12:03:57 UTC [info] Releasing snapshot
2021-04-13 12:03:59 UTC [info] Processing finished at 2021-04-13 12:03:59 UTC

6.查看备份后的文件

[root@VM-0-11-tlinux ~]# veeamconfig session list
Job name      Type    ID                                      State    Started at        Finished at       
systembackup  Backup  {ad574bcc-6426-4a8a-9645-894d2a363006}  Success  2021-04-13 20:01  2021-04-13 20:03  
Total amount: 1
[root@VM-0-11-tlinux ~]# ls /mnt/store/
VM-0-11-tlinux systembackup

世界备份日:卫盟为远程办公用户的数据安全保驾护航

温馨提示:本文大约4000字,阅读时间约为20分钟

1. 作者观察:远程办公模式已经成为企业运营新常态

如今在家中或其他地点进行远程办公的人数快速增长。有数据显示,在 2020 年新春期间中国远程办公人员超过3亿,远程办公企业规模超过1800万家。同时,根据美国 Enterprise Technology Research (ETR)的调查,2021年全球永久在家办公的员工比例预计将增加一倍。

从去年疫情期间开始,许多人都开启了远程办公模式,以“在线沟通”替代面对面的交流。一方面,我们可以看到,受全球疫情催化远程办公需求激增,企业在将 IT 建设的重点转向远程办公基础设施建设。而另一方面,我们可以看到远程办公用户的数据安全习惯还没有形成,无论是终端的保护,还是Office 365 这类企业办公数据的保护都势在必行。

今天是3月31日世界备份日,让我们关注远程办公用户的数据安全。真做好数据备份,再次检查您的备份数据是否安全可用。

继续阅读“世界备份日:卫盟为远程办公用户的数据安全保驾护航”

V11:利用 Veeam SOBR 实现完整的数据生命周期管理

V11:利用 Veeam SOBR 实现完整的数据生命周期管理

文章导读

前言:Veeam V11 五大新特性
开篇:当代企业需要归档满足合规要求
1.归档能力对于企业的重要性
2.有行业合规要求,需要进行数据归档的企业
3.数据生命周期管理
4.长期保留场景对存储的要求
5.企业为什么要关心存档层?
6.Veeam SOBR -- 横向扩展备份存储库
7.归档层如何工作
8.通过不变性增强存档层的安全性
结论

前言:Veeam V11 五大新特性

我们今天的话题是完整的数据生命周期管理--归档到云。这是 Veeam v11 版本中的重要能力之一,v11 是 Veeam 的又一个里程碑,被评价为史上最重要版本,在我之前的文章中有提到过很多预览的功能,今日还是希望将最重要的5个功能,用一言以蔽之的方式在这里说明一下:

编号 场景 用一句话说明
1. 连续数据保护 Veeam CDP实现秒级 RPO
2. 勒索软件防护 Veeam自研!安全合规的备份存储库
3. 生命周期管理 归档到公有云
4. 数据即时利用 扩展的即时恢复,包括数据库实例发布与NAS服务接管
5. 灾备即为服务 让云服务商通过Veeam 服务提供商控制台 v5 运营 BaaS 和 DRaaS

继续阅读“V11:利用 Veeam SOBR 实现完整的数据生命周期管理”

Veeam 云数据管理助力企业上云出海

1. 前言

在 "中国制造2025" 和 "一带一路" 的时代背景下,越来越多的企业选择扬帆出海,走向了更为广阔的世界市场。整合全球资源,赋能产业升级、技术升级和品牌升级,是出海企业所追求的目标。然而,企业出海之路暗流涌动,如何避开风浪漩涡,快速抵达目的地?云数据管理已经成为出海企业系统建设的重点。

2. 出海企业云数据最佳实践

随着国家多项“走出去”政策的推动,中国企业掀起新一轮“出海”潮,在全球开拓更加适宜、更有潜力的市场,实现国际产能合作。不同的国际市场环境下,有着不同的法律规定,对数据管理也有着更为严格的要求。 对企业来说,数据管理是必经的“风险”,也是一个千载难逢的机遇。鉴于这种情况,Veeam中国解决方案团队,将企业上云出海经验及关键要点总结如下,希望给出海企业上云出海的数据管理策略提供参考。要点如下:

  • 符合 GDPR 的数据管理现代化 (5点)
  • 建立勒索病毒防御机制,为企业提供安全的数据环境
  • 为远程办公提供必要的保障 (office 365 与 终端保护云)
  • 提供原生公有云的数据保护 (AWS、Azure 、GCP)
  • 形成利用云移动性助力企业上云出海 (Cloud Mobility云移动性)

2.1 符合 GDPR 的数据管理现代化

随着国内企业出海业务进程的加快,个人客户数据的管理已经成为一个不能避免的挑战。不同的国际市场环境下,有着不同的法律规定,GDPR 便是出海企业一定要注意的!有些大型中国跨国企业,以交通运输行业为例,大到航空公司,小到共享单车,毫无疑问都会受到 GDPR 法令的影响。这让出海企业认识到,个人数据的隐私再也不是笑谈。企业在设计自己的IT系统时也可考虑如何避免用户的隐私数据受到威胁。目前的企业IT建设只有努力合规,否则高额罚款就在眼前。那么企业要如何做,才能保证符合 GDPR 的要求呢?以下是自来于Veeam的经验:

  • 了解数据 - 确定组织收集、访问和使用数据的合规性
  • 管理数据 - 建立访问和使用数据的规则和策略。
  • 保护数据 - 实施并确保安全措施以保护信息并应对有可能发生的数据泄露风险。
  • 记录行为 — 记录使用数据的流程,数据访问请求,报告任何有可能存在的风险与数据泄露。
  • 策略迭代 - 不断检查并改进企业数据访问流程和策略,以保护数据,避免风险。

当然,践行 GDPR,不是如此简单的您可以参考 Veeam GDRP 最佳实践来了解更多信息。

Veeam GDPR 最佳实践
https://mp.weixin.qq.com/s/lSJ5ZNe08qT7vK8ot7UiEA
实践GDPR的5大经验
https://www.veeam.com/program-brief-gdpr-lessons-learned_wp.pdf

2.2 Veeam 云移动性助力企业上云出海

根据 2020年 Veeam 技术预测,企业将寻求云数据管理来确保所有存储环境中数据的可用性。在混合云和多云环境中,数据需要是流动的,出海企业更加需要而云数据管理提高数据移动性和可移植性。2019年的 Veeam 云数据管理报告显示,组织承诺今年将平均花费4100万美元用于部署云数据管理技术。为了满足不断变化的客户期望,企业一直在寻找新的方法来使数据在组织中更易于移植。“随时随地,为您提供数据”的愿景只能通过强大的云数据管理战略来实现,因此其重要性将在明年逐步提高。

  • Veeam Cloud Mobility 介绍

Veeam Cloud Mobility 功能是 Veeam Direct Restore 跨平台还原功能的总称。目前 Veeam 已经是 v11 版本, 可以直接恢复到 AWS 、Azure等公云,同时我们还可以利用云的集成将云上的备份集,如 AWS、Azure、GCP的备份集直接恢复到本地的 VMware 或是 Hyper-V之中。从近日的市场调查中我们可以看到,出海企业的私有云到公共云的迁移计划有显著的攀升,从客户的角度来讲,云上云下的迁移功能,可以更好的将海内外业务同步,增强快速部署的能力!同时,我们也注意到客户的需求为广大的云服务商带来了一个机会,即利用 Veeam 的云迁移能力,帮助企业制定整体的应用上云、数据上云的解决方案,识别复杂系统上云风险,并辅以专业的技术力量,帮助企业有序、安全、便捷地进行迁移,保证业务的可用性、安全性、业务连续性,解决云迁移所面临的挑战。Veeam Cloud Mobility 又支持那些环境呢,其时只要备份以 Veeam 备份文件格式存储,就可确保这些工作负载的可移植性, 特列表如下:

  • vSphere 或 VMware vCloud Director 的备份集
  • Microsoft Hyper-V VM 的备份集
  • Nutanix AHV VM 的备份集
  • Agent for Windows 或 Agent for Linux 创建备份集
  • 同时公有云原生备份集,如AWS 、Azure 、GCP 也可以直接恢复到本地的 VMware或是 Hyper-V环境中。

2020 Veeam 技术预测

2.3 建立勒索病毒防御机制,为企业提供安全的数据环境

2020年,突如其来的新冠肺炎疫情,在给各行各业带来巨大影响的同时,也彻底让企业看到了数据管理安全的重要性。由于出海企业直接面对的是开放的国际化网络环境,出海企业的IT管理人员,越发重视勒索病毒的攻击,并采取了一定的防护,但勒索病毒在数据层面上蔓延,使企业面临重大挑战,Veeam 建议企业从五个方面入手,从而避免勒索病毒给企业带来的损失。

  • 保证备份数据不受攻击

利用 Veeam 横向扩展备份存储库 SOBR 与 Cloud Tier,企业可轻松实现备份数据的隔离,该功能支持将备份到多家云平台, 如 Microsoft Azure,Amazon Web Services(AWS),Google GCP 上的对象存储中的数据实现不可变性,利用这个功能企业可以保证备份数据不受勒索病毒的攻击。

V11中,安全加固的 Linux 存储库是实现 “保证备份数据不受攻击” 的关键,这项目技术已被评估为支持符合 SEC 17a-4(f), FINRA 4511(c) 和 CFTC 1.31(c)-(d),等多项目合规要求。Veeam 安全加固的 Linux 存储库通过了对美国金融行业 WORM (写入一次读取多次)存储规则的第三方评估。

  • 检测勒索软件的行为

Veeam ONE 可以密切监视您的环境中任何可疑或异常行为。 通过分析 CPU 使用率,数据存储写入率和网络传输率,Veeam ONE 可以帮助用户确定特定机器上的数据访问行为是否高于正常量。 触发警报后,它将立即通知您检查主机环境,查看资源使用计数并确定活动是否正常。

  • 确保无勒索软件的备份

在备份和恢复的所有阶段,企业数据都需要受到保护。通过自动步骤来扫描数据中的恶意软件,从而使备份数据永远保持良好状态,从而为将来的恢复提供了信心。如果检测到勒索软件或恶意软件威胁, Veeam SureBackup 会立即通知您,系统可能无法恢复。

  • 确保无勒索软件的还原

备份数据还原时,通过 Secure Restore 可以对备份进行完整的防病毒扫描。 能够访问最新的病毒定义有助于防御以前未知的病毒,从而使IT管理员在数据恢复时得心应手,保证不会将休眠的威胁重新引入到环境中。

  • 安全地测试您的备份集

当备份管理员,不确定当前的备份集是否健康时,可以将这个备份集还原到完全安全和隔离的环境中进行测试。利用 Veeam DataLabs 的强大功能,可以将数据,应用还原到完全隔离的虚拟沙箱环境中。在仿真的数字孪生环境下,执行潜在的补救活动,或测试网络威胁和其他有可能存在的风险,而不影响现有的生产环境。

当然,保证企业数据管理的安全性还要从多个方面入手,建议您参考 Veeam 的对病毒防御的最佳实践来了解更多信息。

Veeam 对企业病毒防御的建议

Veeam 三大策打赢勒索病毒防御战

2.4 为远程办公打造安全的数据环境

随着 COVID-19 疫情在全球蔓延,数以万计的员工在一夜间转变为远程办公,根据 Microsoft 的调查数据,在疫情期间 Microsoft Teams 的使用上升了 50%,会议量增加了 37%。此外,随着全球各地的职场人士都适应了仅通过在线会议、聊天和协作来完成工作,出海企业对于远程办公环境的数据安全也越发的重视,为了保证出海企业以高效、安全的方式进行远程办公,Veeam 愿意分享以下经验。

  • Office 365 的保护

目前出海企业正在将其关键商业应用程序迁移至 SaaS 平台上,微软 Office 365 的迅速增长正是印证这一趋势的重要指标。但是值得注意的是微软 Office 365 只负责应用程序和基础设施的正常运行,而管理和保护应用程序平台内的数据则是客户的责任。Veeam Backup for Microsoft Office 365 以其可扩展的架构,通过一个解决方案就可以保护 邮件、Teams、Sharepoint 和OneDrive for business, 可支持企业级 Office 365的混合部署,通过使用 Veeam 解决方案企业能够在发生恶意攻击、人为错误或停机时保护重要的协同办公数据。

  • 终端电脑的的保护

出海企业的终端电脑上有很多企业的重要数据,包括设计人员的蓝图,财务人员的财务数据,销售人员的客户信息,这些数据资料对于企业来说都是最为重要的资产。而硬件故障、人为操作错误,病毒的威胁都会导致数据丢失。在移动办公业大行其道的今天,终端设备的保护为系统维护和管理带来了新挑战,同时也使企事业单位数据安全、信息安全暴露于新的隐患中。Veeam 的终端保护解决方案可以十分方便的进行 Windows Linux MAC OS 的备份。为出海企业的移动终端数据管理提供全面解决方案,为远程办公保驾护航。

  • 企业建立终端保护云

由于近年来病毒与勒索软件频繁且具有破坏性攻击成几何趋势蔓延,加上终端用户的安全技能并没有因此而提高,终端节点的安全解决方案急需升级,其中最具变化性的是从基于LAN管理的终端节点安全解决方案,到云交付式的安全解决方案的转变。随着 Veeam Cloud Connect 的广泛应用,越来越多的用户开始利用 Veeam BaaS 备份即服务这一为企业关键业务工作负载所打造的解决方案进行终端设备数据的保护,借助 Veeam Cloud Connect的,您将能够实现数据集中备份与上收、简化网络连接与加速、中央集成管理与监控、数据灵活导入与利用,使终端的保护无需VPN,能上网就可连接,在出海企业管理时多租户,数据长期保存,打表计费,帮助企业规避灾难性数据丢失风险,满足合规与审计的要求。

2.5 公有云原生的数据保护 AWS 、Azure、GCP

利用公有云实现企业出海已经成为企业成功出海的有效手段。近日 Veeam 推出了适用于 Google Cloud Platform 的 Veeam Backup for GCP,可以最经济、高效地、安全地方式,保护 GCP 平台上的虚拟机,借助这一新功能,Veeam 完善了对领先的超大规模公共云提供商 即 AWS、Azure和 GCP 的云原生备份支持。借助 Veeam,出海企业可更为便捷地采用多云战略,无论数据发生了什么变化,Veeam 都将在几分钟之内从任何云数据丢失情况中快速恢复数据。

在2019年,Veeam 首先致力于使用 Amazon Web Services保护数据。然后,在去年年初(2020年),Veeam 再次打入云数据保护市场,宣布 Veeam Backup for Microsoft Azure 全面上市 。适用于Google Cloud Platform的Veeam Backup(类似于其AWS和Azure版本)利用了所有特定的公共云服务。

适用于公有去保护的Veeam 产品具有以下功能:

Cloud-Native: 强大的 Web UI 可从多家云市场直接进行部署,在数分钟内便可以开始保护数据。利用原生快照的基于策略的自动化,可实现快速频繁的恢复点以及快速的完整和文件级恢复选项,以克服任何云数据丢失的情况。

成本优化: 成本计算,以使服务水平目标(SLO)与预算保持一致,同时避免云超支;备份到云对象存储中,以实现具有成本效益的长期保留和合规性。

安全性: 通过隔离生产中的备份数据(跨项目/跨区域)来克服安全威胁,包括勒索软件和内部威胁。分层安全性,可通过多因素身份验证(MFA)防止暴力攻击。

混合就绪:可移植的数据格式以及与 Veeam Backup&Replication 外部存储库的集成,启用Cloud Mobility 可轻松在企业本地进行恢复,打通云上与云下。利用灵活的 Veeam 通用许可(VUL)来简化许可证管理

结论:

随着国家多项“走出去”政策的推动,中国企业掀起新一轮“出海”潮,为了在全球开拓更加适宜、更有潜力的市场,实现国际产能合作。在数据安全如此重要的今天,只有企业建立有效的数据管理策略,才能实现数据管理现代化,保证数据使用的安全合规,为协同办公打造健壮可靠IT环境。从而发挥数据的价值,利用数据促进企业的创新与数字化转型!

跟 Mars 学K8S系列(1)安装你的第一个K8S Cluster

前言

最近越来越多的合作伙伴在希望尝试在K8S上去做一些工作,这些需求大多是一些 POC 或是测试,原因也很简单,因为Veeam 收购了 Kasten,这是一个专门用于K8S 备份、容灾、迁移的软件。在这里我给大家做一个比较简单示范,给K8S的初学者一些感觉,K8S 的大神们还请多多给出建议。

本文重要章节

1. K8S 的基本概念与组件
1.1 K8S 架构概览
2. 操作系统与网络环境准备
2.1 VM 环境准备
2.2 网络环境准备
2.2.1 使 node 以 NAT 方式接触 Internet,同时拥有静态IP
2.2.2 用 netplan 为 Ubutu 18.04 修改IP
2.2.3 改主机名字
3. K8S 安装与部署
3.1 K8S 安装环境准备
3.1.2 安装Docker 环境
3.2 K8S 安装
3.2.1 从阿里源安装 K8S
3.2.2 集群的网络设置
3.2.3 为集群创建配置文件
3.3 K8S 集群配置
3.3.1 初始化 K8S 集群
3.3.2 扩展 K8S 集群
3.3.3 完成 K8S 集群配置
3.3.4 配置 Master Node 污点状态
3.3.4 把 Node2 加入到 Cluster 配置完成

继续阅读“跟 Mars 学K8S系列(1)安装你的第一个K8S Cluster”