Azure策略是管理Azure订阅中的标准策略的绝佳工具。可用于创建、分配和管理策略。 这些策略将在整个资源中强制实施不同的规则和效果,以便这些资源符合公司标准和服务级别协议。Azure Policy 通过评估资源是否符合指定策略来满足此需求。 例如,可以设置一项策略,仅允许环境中有特定 SKU 大小的虚拟机。 实施此策略后,将评估新资源和现有资源的符合性。 通过使用正确的策略类型,可以确保现有资源的符合性。
Azure 动手实验训练营
Azure Logic Apps 是一种云服务,可在您需要跨企业或组织集成应用程序、数据、系统和服务时帮助您自动化和协调任务、业务流程和工作流。Logic Apps简化了您为应用程序集成,数据集成,系统集成,企业应用程序集成(EAI)和企业对企业(B2B)通信设计和构建可扩展解决方案的方式,无论是在云中,内部还是两者。
在本文中,我们将向大家演示如何将Microsoft Azure Service Health的警报信息发送到Microsoft Teams,以便于公司的Azure运维团队可以在Azure资源出现问题时可以及时收到通知。以往的时候如果我们想要查看Azure健康状态,需要打开页面https://azure.microsoft.com/en-us/status/,然后查看您的个性化仪表盘(它会将您带到Azure服务健康服务),这就要求运维人员要实时的打开页面去主动的查看。当我们使用Micrisoft Teams以后可以实现当某个地区的Azure资源出现故障后Microsoft Azure Service Health的警报信息会自动发送到Teams,从而减轻了运维人员的工作负担。
部署过AKS的朋友应该都清楚,当我们部署AKS集群的时候,系统会默认帮我们创建一个Load Balancer资源,以便于我们将服务对外进行暴露。除此之外,随着Load Balancer资源一起创建的还有一个网络安全组(NSG)资源。一般情况下,当我们声明一个LoadBalancer类型的资源时,系统会自动的在NSG中帮助我们创建入站安全规则,以允许从Internet访问所发布的服务。
容器在大多数企业组织中的采用率正在大幅增长。许多企业利用Azure 等云环境来运行其容器化工作负载。在 Azure 中,Azure Kubernetes 服务 (AKS) 允许使用 SaaS 服务运行 Kubernetes 编排的容器。由于使用 AKS 可以轻松配置新的 Kubernetes 集群,因此组织可能很快就会拥有许多不同的 AKS 集群,随着环境数量的增加而带来挑战。近日,微软宣布了 Azure Kubernetes Fleet Manager ,这有助于解决在 Azure 中管理多个 AKS 集群的挑战。
在Azure中使用过AKS的小伙伴应该都知道,默认情况下,Azure免费给我们提供AKS管理平台的使用,我们只需要为使用的节点资源付费即可。 作为用户,可以创建无限数量的具有99.5%服务水平目标的免费AKS群集。作为一个运行着诸多重要系统的群集,很多管理者都担心99.5%的服务水平目标不能满足业务的运行时间要求,因此,微软推出了标准层的AKS群集。相比于免费版本的AKS群集而言,用户可以付费增加群集的SLA。具有正常运行时间 SLA 的群集也被视为 AKS REST API 的付费服务层,并且除了增加控制平面资源外,还会随着群集上的负载自动扩展。正常运行时间 SLA保证 Kubernetes API 服务器端点对于具有可用区的集群具有 99.95% 的可用性,对于没有可用区的集群具有 99.9% 的可用性。AKS 使用跨更新域和故障域的主节点副本来确保满足 SLA 要求。
前面和大家提到,Azure Kubernetes 群集生命周期管理的很重要的一部分涉及到定期将AKS集群升级到最新的 Kubernetes 版本。通过集群版本的升级,我们可以获得最新安全版本的AKS集群和最新的服务功能。接下来我们会给大家介绍如何检查、配置升级,以及如何将升级应用到 AKS 群集。
今天我们要和大叫聊一个非常重要的话题,更新。当我说更新时,我指的不仅是Kubernetes更新,还包括工作节点操作系统更新。在很多的使用场景中,很多客户都忘记了去更新修补work node的操作系统,认为它是由微软进行处理的。其实事实并非如此。目前如果您实在Azure中使用Kubernetes服务,则您有责任使集群保持最新状态。
对于在Azure中使用Azure Cache for Redis的小伙伴需要注意了,如果您现在使用的是Redis Version 4,那么您需要在2023年6月30日前升级你的Redis实例的Azure缓存,使其使用Redis version 6。因为开源社区不再支持Redis Version4,它将从Redis的Azure缓存中退役,所以你需要在2023年6月30日前将所有运行版本4的缓存实例升级到版本6,如果4月30日之前您没有进行升级,则后台可能会自动更新你的缓存实例,使其升级到Redis version 6。
TLS 是一种标准加密协议,可确保 Internet 上客户端和服务之间的隐私和数据完整性。目前 Appliction Gateway 默认使用 TLS 1.2,但仍然支持 TLS 1.0 和 TLS 1.1 以实现向后兼容性。对于想要实施更严格的安全措施的的企业来说,可以通过TLS策略来控制支持的TLS版本。TLS 策略包括对 TLS 协议版本的控制以及密码套件以及在 TLS 握手期间使用密码的顺序。应用程序网关提供两种机制来控制 TLS 策略。我们可以使用预定义策略或自定义策略。
前面提到Azure Container App使我们可以在无服务器的平台上运行容器化应用程序。通过Container App,我们可以在享受运行容器的优势的同时无需去关心,无需去手动配置底层的云基础结构,也就是说我们不需要向以往一样去管理AKS群集相关的事情就可以运行容器实例,这也就意味着容器应用部署的技术门槛被降低,作为用户而言,我们可以把更多的精力放到业务相关的事情上。
现在Azure容器家族中又有了一个新的成员,叫做Azure Container App,Azure Container App提供位于AKS之上的无服务器托管服务,允许用户部署多个容器,而无需关系底层的基础结构。也就是说如果你想要构建 Kubernetes 风格的应用程序,并且不需要直接访问所有原生 Kubernetes 接口和群集管理,则 Container Apps 可提供基于最佳做法的完全托管体验。
AKS群集使用kubenet的方式进行部署,且通过addons的方式配置了使用Application Gateway 作为Ingress控制器,配置好以后正常创建Deployment、Service以及Ingress,创建完成以后使用域名访问后端服务,报错 ”502 Bad Gateway“
我们知道HTTPS的服务非常安全,Google 现在对非HTTPS的服务默认是拒绝的,而且还能避免国内各种乱七八糟的劫持,所以以HTTPS的形式对外暴露服务真的时非常有必要的。在AKS中,因为AGIC是一个7层的负载均衡,所以支持以HTTPS的形式对外暴露AKS群集内的服务。当AGIC接受来自客户端的 HTTPS 请求时,客户端与AGIC之间的流量使用 TLS 进行加密。但是,AGIC可终止 TLS 加密,并将未加密的请求转发给应用,这样我们就在AGIC上实现了HTTPS卸载的动作。
Application Gateway Ingress Controller(以下简称:AGIC)是一个Kubernetes应用程序, 有了它,AKS的客户就可以利用Azure原生的Application Gateway以L7负载均衡的方式对外发布他们运行在AKS内的软件和服务
其实不论在云端还是在本地,我们都可以通过多种方式来实现Ingress,比如在本地我们可以使用Nginx、Traefik等方式,在云端我们可以使用Nginx,AGIC等方式,都可以实现上述的功能。 因为我本人用AKS的场景比较多,所以今天我们主要围绕在Azure中如何对AKS实现Ingress的方式展开讨论。
在早期的版本中,如果我们想要对Azure Kubernetes配置Application Gateway Ingress Controller只能通过Helm的方式进行部署,而且在部署之前,还需要手动的去设置相关的权限,整套部署流程走下来是相当的麻烦,同时也容易在部署的过程中出现错误。那为了避免这些问题。微软将Application Gateway Ingress Controller变成了AKS的addons之一,也就意味它比通过 Helm 部署要简单得多。 若要进行新的设置,在 Azure CLI 中通过一行内容即可部署新应用程序网关和将 AGIC 作为加载项启用的新 AKS 群集。 该加载项也是一项完全托管的服务,这提供了一些额外的优势,例如自动更新和更多的支持。。
Azure Kubernetes 服务 (AKS) 可以配置为使用 Azure Active Directory (Azure AD) 进行用户身份验证。在此配置中,您使用 Azure AD 身份验证令牌登录到 AKS 群集。通过身份验证后,您可以使用内置的 Kubernetes 基于角色的访问控制 (Kubernetes RBAC) 来根据用户的身份或组成员身份管理对命名空间和集群资源的访问。
网络策略是一种Kubernetes规范,其中针对Pod之间的通讯定义了访问策略。使用网络策略可以定义有关发送和接收流量的规则集,并将其应用到与一个或多个标签选择器相匹配的Pod集合。我们可以在Azure Kubernetes服务中使用网络策略,使用此功能,允许我们控制Pod之间的流量流。可以基于所分配的标签、命名空间或流量端口等设置,来允许或拒绝到Pod的流量。对于在AKS群集中的Pod之间流量的流动方式,应该使用最低权限原则。
当我们在Kubernetes中运行基于微服务的应用程序时,默认情况下,群集中的所有Pod都可以无限制的发送和接收网络流量。为了提高安全性,管理员一般希望能够控制Pod之间的网络流量,也就是控制那些组件可以相互通讯。比如后端应用只公开给前端的服务或者数据库组件只能由于其连接的应用程序访问等等。
默认情况下在部署 AKS 群集时,本地帐户在默认情况下处于启用状态。 即使是在启用 RBAC 或 Azure Active Directory 集成时,--admin 访问权限仍然存在,也就意味着,我们可以在运行Get-Credentials时,指定--admin参数来获取访问权限,这本质上是作为一个不可审核的后门选项。 考虑到这一点,AKS 为用户提供了禁用的方式,用户可以通过 disable-local-accounts 标志来禁用本地帐户的功能。 另外还为AKS群集 API 添加了 properties.disableLocalAccounts 字段,以指示该功能是否已在群集上启用。
大家都知道,Azure中部署AKS群集有两种网络模式可选,分别为kubenet和Azure CNI网络模式。而我们今天所要部署的AKS群集是使用kubenet的网络模式进行部署的。一般情况下,当我们使用Kubenet网络模式进行AKS群集部署时,系统会自动分配Pod,Services以及Docker Bridge的地址段。那今天之所以部署报错的原因就是我们承载AKS群集Node节点的地址段(10.244.31.192)和Pod CIDR 10.244.0.0/16出现了地址段冲突所导致。
今天我们会给大家介绍一种新方法,此方法允许我们跨Azure资源、AKS和Kubernetes资源实现统一的管理和访问控制。有了通过 Azure 管理 Kubernetes 资源的 RBAC 这一功能,你就可以选择使用 Azure 或原生 Kubernetes 机制管理群集资源的 RBAC。 启用后,将由 Azure RBAC 以独占方式验证 Azure AD 主体,由 Kubernetes RBAC 以独占方式验证常规 Kubernetes 用户和服务帐户
最近在做AKS相关的测试,测试的过程中发现,虽然在Azure中的AKS群集对用户免费提供,但是多个Work Node一起运行其实也是一笔不小的费用。因为我只有在工作时间进行测试,所以就开始考虑能不能定时的启动或停止AKS群集。通过一番操作以后确定了可以使用Function来实现这个小需求
前面和大家提到可将 Azure Kubernetes Service (AKS) 配置为使用 Azure Active Directory (AD) 进行用户身份验证。 在此配置中,可以使用 Azure AD 身份验证令牌登录到 AKS 群集。 群集操作员还可以根据用户标识或目录组成员身份来配置 Kubernetes 基于角色的访问控制 (Kubernetes RBAC)。接下来我们会带着大家一起进行相关的配置。
对Kubernetes熟悉的朋友应该都清楚,Kubernetes不提供任何用于定义和管理用户的内置机制。默认情况下,如果我们想在Kubernetes中为用户创建账户,则管理员必须为每个用户创建一个由群集证书颁发机构签名的X509证书,该证书位于群集本地,称为本地账户,然后需要使用K8S RBAC进行授权,经授权后,用户即可对群集资源执行操作。
默认情况下,我们使用kubenet网络架构部署AKS群集时,系统会自动帮我们创建一个虚拟网络用于放置群集的工作节点,这种情况下如果想将现有业务系统网络和AKS群集网络打通,就需要通过配置VNet Peering等方式来实现。虽然很简单,但是依旧会有客户提出能否把Work Node部署在现有的Subnet,答案肯定是可以的。若想将AKS群集部署到现有的虚拟网络,我们只需要配置AKS SP对目标虚拟网络的访问权限,然后在部署群集时指定网络即可。
前面和大家聊了如何将虚拟机和数据库等存放在页Blob中的文件通过转换成块Blob,然后对其进行归档存储,从而节省相应的成本。但是有些情况下可能需要将归档存储中的数据检索出来使用,比如公司审计等等。所以接下来就来看下如何将存档层中存储的虚拟机文件恢复到页Blob中。
很多使用Azure的朋友,在日常运维的过程中都遇到过的一个情况就是,有一些虚拟机或数据库文件,这些文件已经不在使用,但是出于公司的合规性等要求,又没有办法对其进行删除。在这种情况下,很多朋友会想到Azure存储中的归档层。使用Azure存储的归档层,可以以较低的成本来保存数据,并且可以在需要时将其检索出来。但是要知道,并不是所有的Azure存储都可以转换到存档层中的。
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号