浅谈AKS,ACR,ACI
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈AKS,ACR,ACI相关的知识,希望对你有一定的参考价值。
浅谈Azure Kubernetes Service, Azure Container Registry, Azure Container Instance
今天和大家聊聊Kubernetes和Public Cloud整合的例子,现在网络上由很多 Kubernetes on AWS/GCR的应用。因为我目前已经使用了微软的Azure服务,因此在接下来的内中中会主要和大家介绍一下Azure Kubernetes(AKS)以及与其相关的Azure Container Registry (ACR) 与 Azure Container Instance (ACI) 基本概念.
Azure Kubernetes Service (AKS)
Azure Kubernetes Service是由微软提供的一个PaaS版本的Kubernetes服务(以下简称AKS),微软的AKS为我们提供了简单的部署方式与管理操作界面。其主要具有一下几个特点:
- 使用者无需担心升级与故障修复问题,AKS提供简单的升级方式和自动的故障修修复
- AKS服务具有高度可用性
- AKS具有高度的可扩展性,可以通过命令行或UI快速的进行扩展
- AKS提供API Server监控机制
- AKS可以通过AAD以及RBAC来管控群集的存取安全性
- AKS的服务(Master节点)由Azure进行托管并免费对用户提供使用,用户只需承担worker node的费用
这里要和大家简单的说一下,因为AKS是一款PaaS的服务,所以不需要用户去构建并维护Master节点,只需要通过Kubernetes API Endpoint使用相关的命令行工具来管理AKS。使用 AKS 配合 Azure 服务 Helm, Azure DevOps Project, ACR, ACI, Azure Monitor 提供从开发到生产环境的完整解决方案。
Azure Container Registry (ACR)
相信各位对共有的docker镜像存储仓库docker hub都很熟悉,对ACR却很陌生,其实ACR是微软提供的可以用来存储所有容器部署类型的映像,我们可以把它理解成一个私有的容器镜像仓库,这个仓库可以使用docker registry相同的命令来对其进行管理。
ACR包括一下几个主要的概念:
- Registry: 一个Azure订阅可以创建多个Container registries,可以通过webhook与Azure AD登录管理image,根据不通的registry类型,提供本机存储或者异地复制的使用情况。每个registry名称都是以FQDN的方式呈现的,如:REGISTRY_NAME.azurecr.io
- Repository:每个registry包含一个以上的repository,以群组的方式进行存储管理,并且支持多层命名空间
- Image:存储于respository中,当需要使用时,可以使用docker命令将image从repository去除
Azure Container Instance (ACI)
Azure 容器执行个体 Azure Container Instance (ACI), 是不需要管理虚拟机器而提供容器应用程式执行的服务, 具有快速启动的优点, 并且提供公用 IP 以及完整网域名称 (FQDN), 可以直接由网际网路存取应用程式. 此外 ACI 具有应用程式相依性隔离和资源控管, 等同于虚拟机器的安全性管理.
如下图, ACR 提供容器的储存, 并且可以将 Image 取出到 ACI 中
ACR 与 ACI 在 Azure Kubernetes Service (AKS) 的有密切的合作关係, Container Registry 提供 Images Repository, Pod 所执行的个体便是 ACI.
以上是关于浅谈AKS,ACR,ACI的主要内容,如果未能解决你的问题,请参考以下文章
如何授予 AKS 通过 terraform 访问 ACR 的权限?
尽管更改了progressDeadlineSeconds,但仍会遇到“超过进度期限”
通过 Terraform Helm 提供程序和 Azure DevOps 部署 helm 图表,同时从 ACR 获取 helm 图表