文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一站式浅谈Azure Kubernetes构建场景应用

2024-12-02 14:19

关注

我们的行业在过去十年中取得了令人难以置信的进步,这在一定程度上要归功于 Docker、Docker Compose 和 Kubernetes 等技术。然而,我们仍在研究如何在我们所处的多样化环境中进行开发。

容器化在开发和运维掀起了一场风暴。在过去,部署是高度依赖于特定技术的,通常需要对每个项目进行大量不可重复的工程工作。

你是否部署到 vps?你是否在分发虚拟机镜像?静态可执行文件?需要特定解释器的脚本? 根据你对这些问题的回答,你可能已经使用了 Capistrano、Puppet、shell 脚本、Ansible、deb 或 rpm 包、cloud-init 脚本、专有云技术、upstart、systemd、init 等很多技术。

在部署阶段,系统管理和开发之间的界限就变得模糊了,DevOps 的原则就诞生了。随着 DevOps 开始成熟,业界发展出了应用开发的最佳实践,比如 12 因素应用程序方法论,但许多实现细节仍然是依赖于特定技术的。

挑战剖析

回归现象看本质,随着业务复杂度的提高,单体应用越来越庞大,对资源形成挑战剧增:

挑战一、资源利用率低

烟囱系统是指一种由相互关联的元素紧密结合在一起的集合,其中单个元素无法区分、升级或重构。

很多企业的IT系统都是烟囱式,这种模式有很多弊端,如:

挑战二、应用架构扩展性差

单体架构在规模比较小的情况下工作情况良好,随着系统规模的扩大,暴露出来的问题也越来越多,主要有以下几点:

挑战三、开发周期长

庞大代码基线、组件耦合大、责任不清楚,牵一发而动全身。

部署慢、扩容慢:部署过程不可重复、出错率高;不支持自动弹性伸缩。

升级难:固定时间窗、集中大规模人力中断服务升级。

在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

IT架构演进

为了解决传统应用升级缓慢、架构臃肿、不能快速迭代、故障不能快速定位、问题无法快速解决等问题,云原生这一概念横空出世。

云原生可以改进应用开发的效率,改变企业的组织结构,甚至会在文化层面上直接影响一个公司的决策。另外,云原生也很好地解释了云上运行的应用应该具备什么样的架构特性——敏捷、可靠、弹性、可扩展、故障可恢复。

行业场景

假设你是一家新能源汽车商解决方案架构师,贵公司为全球各地的客户提供汽车跟踪解决方案。我们可以使用容器化的实例来快速部署到新的客户区域,并按需缩放资源来满足客户需求。我们希望使用容器业务流程平台,以便轻松地开发、部署和管理容器化的应用程序。

假设你是一家大型服装品牌零售担任CIO,你决定将所有服务移动到Azure Kubernetes服务中。哪些组件会对每月Azure费用产生影响?只需考虑群集使用的虚拟机实例、存储和网络资源付费。

假设你是一家大型跨国研发制造行业CTO,我们都须知智能制造行业大量调用需要持久化存储。你将使用AKS的哪些功能?对于需要持久性存储的容器,AKS支持静态和动态存储卷。

假设你就职于一家监视道路状况的交通出行公司担任研发架构师,开发人员团队需要与AKS群集中的其他组件进行端到端测试。该团队希望在不复制或模拟依赖关系的情况下进行测试。他们应该选择哪些服务?借助Azure Dev Spaces,无需复制或模拟依赖关系,即可独立开发代码并与其他组件进行端到端测试。

需求拓展

就拿上述新能源汽车商业务场景深入展开详述,假定业务场景解决方案包含三个主要应用程序:

传统思路

通过横向扩展解决方案满足客户需求。为每个应用程序部署新的虚拟机(VM),然后将应用程序部署到 VM 中。

但这样做的话,必须确保是否已为每个应用程序安装和配置适当的操作系统 (OS) 版本和依赖项。

还必须确保安装和升级的是应用程序的适当版本。如果存在错误,则必须确保你能够以影响最小的方式回滚。

AKS思路

优势:

第一步:创建 AKS 群集

创建 AKS 群集时,有两个选项可供选择。

可以使用 Azure 门户或 Azure CLI。

这两个选项都必须配置有关群集的基本信息。

例如:

除非另行指定,否则创建工作流会使用默认配置创建 Kubernetes 群集,以用于缩放、身份验证、网络和监视。

创建 AKS 群集通常需要几分钟时间。完成后,可以更改任何默认 AKS 群集属性。

可通过 Azure 门户或从命令行访问和管理群集。

第二步:开发工作负载并将其部署到 AKS

AKS 支持 Docker 映像格式,使用任何开发环境来创建工作负载、将工作负载打包为容器以及将容器部署为 Kubernetes Pod。

此处使用标准 Kubernetes 命令行工具或 Azure CLI 来管理部署。

对标准Kubernetes工具的支持可确保你无需更改当前工作流,即可支持将现有Kubernetes迁移到 AKS。

AKS还支持所有常用开发和管理工具,例如Helm、Draft以及适用于Visual Studio Code 的 Kubernetes 扩展和 Visual Studio Kubernetes Tools。

资源监视-Azure Monitor

Azure Monitor 是一项用于收集、分析和响应来自云和本地环境的遥测数据的服务。

IT运营、DevOps和开发人员团队使用Azure Monitor来最大限度地提高应用程序和服务的可用性和性能。

Azure Monitor 的主要特性包括:

Azure Monitor 可以从应用程序、基础结构、Azure 平台和集成的任何自定义源收集堆栈中所有层的性能和可用性遥测数据。

监视选项

指标-描述系统某些方面在特定时间点的情况的数值。

日志-收集用于分析的日志数据。

可视化效果-将不同类型的数据合并到Azure 门户的单个窗格中。用于数据分析和在门户中创建丰富的可视化报表。

关于Azure Dev Spaces

价值点:

部署中心:

可以使用配置后的此 DevOps 管道为 AKS Kubernetes 群集设置(CI)和(CD)管道。

利用 Azure DevOps Projects,便可以执行以下操作:

补充何时使用 Azure Kubernetes 服务

创建群集或进行以下部署后,都可以配置上述所有功能。

来源:新钛云服内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯