首页 > 其他分享 >在Azure上备份AKS Cluster - 基础介绍以及部署配置

在Azure上备份AKS Cluster - 基础介绍以及部署配置

时间:2024-01-15 19:33:06浏览次数:39  
标签:name extension AKS 备份 Cluster Azure --

今天来看一看AKS Cluster里的一些新功能,AKS里的新功能非常多,之后可以考虑挑一部分简单介绍介绍,今天先开个头,主要来谈一下AKS的备份问题,这其实也是来源于之前的一个需求,有客户问到AKS Cluster我们是如何备份的,说实话问得我有点懵,之前基本没怎么考虑过这方面的问题,因为众所周知的是容器里部署的绝大部分都是无状态的应用,即使有一些数据也都是会放在一些持久化的能共享的存储里,集群本身一般是不用太考虑备份问题的,当然如果是容灾的话那就是另外一码事了

如果真的要备份的话,查了下现在也是有方案的,主要是基于Backup Vault这个产品,这个产品之前也介绍过使用Backup Vault进行Disk备份,像我们之前那种必须做snapshot的场景,这个产品是非常适合的,现在Backup Vault也可以支持AKS Cluster级别的备份,正好可以满足需求,这次就来围绕着这个介绍下

首先来看一些前提条件以及限制,做之前这部分内容要先看,以免做了半天发现原来根本不支持

  • 备份扩展使用 blob 容器(安装期间在输入中提供)作为备份存储的默认位置。 若要访问此 blob 容器,扩展标识需要对具有该容器的存储帐户具有“存储帐户参与者”角色。
  • 需要在要备份的源群集和将进行还原的目标群集上安装备份扩展。
  • 在 AKS 群集中安装扩展之前,必须在订阅级别注册 Microsoft.KubernetesConfiguration 资源提供程序
  • AKS 备份使用 CSI 驱动程序快照功能执行永久性卷的备份。 CSI 驱动程序支持适用于 Kubernetes 版本 1.21.1 或更高版本的 AKS 群集。
  • 目前不支持使用服务主体的 AKS 群集。
  • 备份保管库和 AKS 群集应位于同一区域和订阅中。

整个配置备份的过程如果在Portal来做的话并不算复杂,但是如果是CLI或者PowerShell反而会稍显麻烦,因为很多授权或者安装extension的步骤portal上操作的时候后台都会一次性全部做掉,如果是自己做的话要跑很多命令,还非常容易遗漏,所以这次测试大部分都是在portal上操作的

这次测试最终实现的目标是在AKS Cluster里会部署出来一套mysql的stateful set, 用Backup Vault对AKS Cluster做备份,最后会把备份的内容还原到另外一套AKS Cluster里,本篇主要集中在用Backup Vault对AKS Cluster做备份这部分

首先为了满足前提条件,要先把需要的provider之类的注册好

az provider show --namespace Microsoft.KubernetesConfiguration -o table

在Azure上备份AKS Cluster - 基础介绍以及部署配置_Azure

az provider register --namespace Microsoft.KubernetesConfiguration

在Azure上备份AKS Cluster - 基础介绍以及部署配置_AKS_02

az extension add --name aks-preview
az extension update --name aks-preview
az feature show --namespace "Microsoft.ContainerService" --name "TrustedAccessPreview"
az feature register --namespace "Microsoft.ContainerService" --name "TrustedAccessPreview"

在Azure上备份AKS Cluster - 基础介绍以及部署配置_K8S_03

因为Backup Vault备份AKS实际上也是基于开源的方案velero,数据也是存储在storage account container里的,所以这里先把container和AKS cluster一起建出来

az storage account create --name aksbackuptestnew `
						  --resource-group BackupAKS `
						  --location westus

az storage container create `
    --name backup `
    --account-name aksbackuptestnew
    
az aks create -g BackupAKS `
			    -n BackupAKS `
				--node-osdisk-size 128 `
				--admin-username azureuser `
				--kubernetes-version 1.27.7 `
				--location westus `
				--network-plugin azure `
				--node-count 1  `
				--node-vm-size Standard_D2S_v3 `
				--nodepool-name nodepool `
				--service-cidr 10.10.0.0/24 `
				--dns-service-ip 10.10.0.10 `
				--vnet-subnet-id $subnet_id `
				--load-balancer-sku Standard `
				--max-pods 30

在Azure上备份AKS Cluster - 基础介绍以及部署配置_Azure_04

准备工作做完之后,就可以开始配置备份了,在安装备份用的extension之前,可以先把backup vault建出来,可以直接在install extension这个界面来创建vault

在Azure上备份AKS Cluster - 基础介绍以及部署配置_K8S_05


可以安装的extension非常多,可以直接搜索data protection,然后找到Azure data protection

在Azure上备份AKS Cluster - 基础介绍以及部署配置_Backup_06

之后就会弹出创建vault的界面了,这个创建过程很简单,直接看截图就行了

在Azure上备份AKS Cluster - 基础介绍以及部署配置_K8S_07

在Azure上备份AKS Cluster - 基础介绍以及部署配置_新功能_08


创建好vault之后,顺带可以把policy也创建出来,之后会用到

在Azure上备份AKS Cluster - 基础介绍以及部署配置_AKS_09

在Azure上备份AKS Cluster - 基础介绍以及部署配置_Backup_10

这些基本和VM备份区别不大,不过多赘述

在Azure上备份AKS Cluster - 基础介绍以及部署配置_Azure_11


之后就可以安装extension了

在Azure上备份AKS Cluster - 基础介绍以及部署配置_新功能_12

就像之前说的,备份的数据会被存储到container里,所以这里需要配置好storage account以及container

在Azure上备份AKS Cluster - 基础介绍以及部署配置_AKS_13

在Azure上备份AKS Cluster - 基础介绍以及部署配置_K8S_14

之后就可以配置备份了

在Azure上备份AKS Cluster - 基础介绍以及部署配置_新功能_15

这里可以看到会有一些漏掉的permission,在portal上基本直接点两下就全搞定了,如果是命令行或者terraform,这里就非常麻烦了,所以这个backup的配置,能在portal做尽量还是在portal做方便些

在Azure上备份AKS Cluster - 基础介绍以及部署配置_Azure_16


这里可以选择备份的policy,备份的时候可以根据需求做不同颗粒度的备份,从cluster到namespace都可以,也可以根据label筛选

在Azure上备份AKS Cluster - 基础介绍以及部署配置_Azure_17

到这里基本配置就完成了,看起来挺简单,实际上最开始是用CLI做的,发现步骤太多,而且权限那里按照文档做下来还是有问题,换到portal来做就简单太多了

在Azure上备份AKS Cluster - 基础介绍以及部署配置_Azure_18

接下来下篇我们来部署个stateful set,然后实际来做一次备份还原的测试

标签:name,extension,AKS,备份,Cluster,Azure,--
From: https://blog.51cto.com/mxyit/9257183

相关文章

  • Azure Logic Apps
      在AzureSentinel中,AzureLogicApps可以用于增强和自动化安全操作和响应。它们可以作为安全编排自动化响应(SOAR)的一部分,帮助自动化和简化安全工作流程。以下是一些具体的应用实例: 数据富集和分析:例子:在接收到安全警报时,使用LogicApp来自动从其他源(如威胁情报数据......
  • Azure Sentinel
     Sentinel是什么?MicrosoftAzureSentinelisascalable,cloud-native,Securityinformationeventmanagement(SIEM)andsecurityorchestrationautomatedresponse(SOAR)solution.AzureSentinel既是SIEM也是SOAR。两者的结合体   AzureLog AnalyticsWorkspa......
  • 251-AMap.MarkerClusterer聚合点自定义点击会重复触发
    map.plugin(["AMap.MarkerClusterer"],function(){letcluster=null;varcount=pointerList.length;letclickFlag=false;functionrenderClusterMarker(context){console.log("renderClusterMarker..5.")l......
  • Docker Swarm Cluster 部署
    1、部署环境服务器名称IP地址备注node0110.32.161.124Managernode0210.32.161.125Worknode0310.32.161.126Work2、DockerCE安装参考:https://www.cnblogs.com/a120608yby/p/9883175.html3、更改所有节点配置#修改配置并重启docker#vi/etc/doc......
  • 【Azure App Service】如何来停止 App Service 的高级工具站点 Kudu ?
    问题描述如何来停止AppService的高级工具站点Kudu?kudu介绍Kudu提供了一组面向开发人员的工具和扩展点,用于您的应用服务应用程序.Kudu(AdvancedTools)providesacollectionofdeveloperorientedtoolsandextensibilitypointsforyourAppServiceApps. 问题解答A......
  • redis 高可用 二 (主从复制、哨兵和集群Cluster)
    高可用分类主从复制主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。 哨兵在主从复制的基础......
  • 如何对Azure Database for MySQL进行数据恢复
    如何对AzureDatabaseforMySQL进行数据恢复一般情况下,我们使用Azure中的PaaS数据库产品是时,我们不仅不用关心数据库底层的基础设施部署,同样也不用担心数据库的备份。在AzurePaaS数据库产品中,都内置了数据库备份的功能,作为用户而言,我们不需要为数据库备份这个功能付费,只需要对备......
  • 删除Azure Container Registry中tag为null的容器镜像
    删除AzureContainerRegistry中tag为null的容器镜像近几年容器技术的蓬勃发展,越来越多的客户开始在Azure中使用AKS,ACR等容器相关的Azure服务,来满足其不断发展的业务使用需求。但随着时间的推移和业务复杂性的增长,很多客户都会发现,ACR中的某些Repo内,显示的清单计数和实际的清单数量......
  • 配置Azure Web App进行网站重定向
    配置AzureWebApp进行网站重定向今天要和大家聊的是AzureWebApp的重定向问题。一般当我们使用WebApp创建网站的时候,会有一个默认的sitename.azurewebsites.net域名形式的网站提供给我们。很多客户为了满足用户的使用需求会添加一个自定义域名。但往往这个域名添加了以后,还是可......
  • rhel配置ACFS集群文件系统时,asm cluster file systems和volume选项卡为灰色
    问题描述:rhel配置ACFS集群文件系统时,asmclusterfilesystems和volume选项卡为灰色.OS:rhel7.964位数据库:oracle11.2.0.4节点1192.168.133.191rac1节点2192.168.133.192rac21、异常重现在rhel7.964位系统上安装oracle11.2.0.4rac后,发现acfs和advm无法使用,如下ASMC......