基于阿里云容器服务Kubernetes版(ACK)| 容器化管理云上应用

本文涉及的产品
资源编排,不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 【8月更文挑战第3天】基于阿里云容器服务Kubernetes版(ACK)| 容器化管理云上应用

基于阿里云容器服务Kubernetes版(ACK)| 容器化管理云上应用

在现行的大环境下,企业上云容器化应用托管已经逐渐成为主流,其中以能够自动部署、扩展、管理容器化应用以及能实现应用的快速上线与灵活调度的Kubernetes为首选方案。那么如何高效、快速地在ACK上编排与部署应用,阿里云官方提供了详细的部署方案,下面我就带大家来详细体验。

在部署开始之前,先来了解一下企业上云容器化管理云上应用,为什么选择ACK?

ACK

阿里云容器服务Kubernetes版(ACK)作为业界领先的容器管理和编排服务,凭借其强大的技术实力和丰富的云服务生态,为企业级用户提供了一系列卓越的优势,助力现代化应用的快速构建、部署与运维。

ACK的优势

灵活多样的集群形态

ACK支持托管集群、专有集群、Serverless Kubernetes等多种部署模式,满足企业不同阶段和场景的需求,从轻量级快速启动到大规模复杂应用部署,均能灵活应对。

高可用性和弹性伸缩

高可用性的集群部署模式,确保应用持续稳定运行。自动伸缩功能,根据业务负载自动扩缩容,高效应对业务峰谷,保证成本效益与服务质量。

安全性和合规性

集成阿里云强大的安全服务体系,ACK提供多层次的安全防护,包括网络隔离、访问控制、密钥管理等,确保容器应用的安全运行。

ACK的应用场景

大规模微服务架构

对于拥有复杂微服务架构的大型企业,ACK能够有效管理成百上千个服务,通过自动化的服务发现、负载均衡和滚动更新功能,简化服务运维,保证高可用性和低延迟。

弹性伸缩的互联网应用

针对电商、社交、直播等互联网应用,ACK能够根据实时流量自动扩缩容,利用ECS实例和弹性容器实例(ECI)的组合,快速响应业务高峰,同时在闲时释放资源,降低成本。

快速迭代的DevOps环境

在持续集成和持续部署(CI/CD)流程中,通过与GitOps等现代DevOps实践的结合,能大幅缩短软件交付周期,加速应用迭代速度,减少停机时间,提高开发效率。

混合云与多云部署

对于需要跨云或混合云部署的企业,ACK支持统一管理多个Kubernetes集群,无论是公有云、私有云还是边缘计算场景,都能实现资源的统一调度和应用的一致性管理。

了解完ACK的优势以及应用场景之后,下面就开始我们今天的部署操作,在部署开始之前先来简单介绍一下部署方案。

部署方案介绍

今天的部署方案使用镜像在ACK中部署应用,使用ALB作为Ingress对外提供服务,方案中包含两个应用,应用A和应用B,其中应用A依赖应用B,以此来模拟真实场景中应用依赖关系。整体的方案架构如下图所示

image.png

部署操作

关于基于ACK实现灵活调度,高效编排,容器化管理云上应用的部署操作,官方提供了一键部署和手动部署两种方案,通常来说,一键部署方案更适合新手,操作相对比较简单。而手动部署适合一键部署无法操作的场景,通过手动部署来实现,操作相对比较复杂,需要有服务器操作经验的开发者操作。部署方案地址:https://www.aliyun.com/solution/tech-solution/ack-services?spm=a2c6h.29361360.J_9175035460.3.5872495cX2saC2#deployment

image.png

资源准备

在开始部署之前,首先需要你登录阿里云账号,如果没有阿里云账号,则需要先注册阿里云账号,阿里云注册账号页面地址:https://account.aliyun.com/register/qr_register.htm?spm=a2c4g.2808202.0.0.10c8a985UFgAU6

image.png

注册账号之后,需要对账号充值,保证账号余额大于100元,具体的充值操作您可以登录阿里云用户中心,登录地址:https://billing-cost.console.aliyun.com/home

image.png

点击【充值】按钮,进入充值页面,选择充值方式,输入充值金额 ,勾选协议,点击【确认充值】

image.png

在弹出的支付码弹框中,打开手机支付宝扫码付款即可

image.png

充值成功回到用户中心首页可以看到账户余额大于 100 元

image.png

除此之外,介绍一下本方案的技术架构涉及到的以下基础设施和云服务:

  • 1个专有网络VPC:为应用型负载均衡ALB、云服务器ECS、阿里云容器服务Kubernetes版ACK集群等云资源形成云上私有网络。
  • 2台交换机:将多可用区的3台云服务器ECS,阿里云容器服务Kubernetes版ACK集群和应用型负载均衡ALB,使它们能够在同一网络上进行通信,并提供基本的网络分段和隔离功能。
  • 1个公网应用型负载均衡ALB:对外提供访问,作为ACK集群的Ingress实现。
  • 1个阿里云容器服务Kubernetes版ACK集群
  • 3台云服务器ECS:用于部署模拟应用服务,为ACK使用。

一键部署

准备好资源之后,点击方案页面的【一键部署】tab

image.png

打开 一键配置模板链接 前往ROS控制台,系统自动打开使用新资源创建资源栈的面板,并在模板内容区域展示YAML文件的详细信息,选择地域,这里我选择地域【杭州】,资源栈名称默认,ACK托管版集群名称默认,可用区1可以随便选择,这里我选择【可用区B】,可用区2选择除【可用区B】外的其他可用区即可

image.png

实例规格选择 通用算力型,推荐使用通用算力型,ecs.u1-c1m2.xlarge

image.png

实例密码非必填,可以直接点击【下一步】进入资源信息确认页面

image.png

image.png

确认资源信息及计费信息后点击【创建】等待资源创建,这里弹框提示 1项异常

image.png

点击【开通链接】进入到 容器服务ACK 开通页面,点击【立即开通】

image.png

开通成功后回到弹窗页面刷新依赖检查,再次点击【继续创建】

image.png

进入到资源栈创建页面,可以查看创建进度

image.png

整个资源创建过程需要耐心等待,由于创建的资源比较多,大概10~30分钟左右,在等待过程中,你也可以点击【事件】查看资源执行情况

image.png

等待了30分钟依然没有创建完成,这里我选择了【快速取消】

image.png

回滚成功后,我再次尝试一键部署方案,

image.png

再次尝试后,等待大概40分钟还是没有创建完成

image.png

不再等待了。正常情况下资源栈创建完成后,登录 容器服务ACK管理控制台 可以看到创建好的集群资源

image.png

点击【集群】,选择创建的集群,点击名称开始操作

image.png

点击【网络】,在展开的菜单中选择【路由】,找到创建的ALB Ingress的【端点】一列,获取【端点域名】,在浏览器中访问【端点域名/a】,查看返回值

[
    {
        "serviceName": "a",
        "uuid": "f1b99e7a-e731-4a3b-aa22-5e8a3abd577c"
    },
    {
        "serviceName": "b",
        "uuid": "d1eee41e-3259-4eb2-a018-43b7df64589b"
    }
]

说明模拟应用服务正常运行,到这里本次部署操作就圆满完成了。


释放资源

在本次部署操作中,一共创建了3台云服务器ECS实例、1个应用型负载均衡ALB实例、2个交换机、1个专有网络VPC、1个阿里云容器服务Kubernetes版ACK集群。测试完方案后,您可以参考以下规则处理对应产品的实例,避免继续产生费用。

首先登录 ROS控制台 ,释放资源栈下的资源,即3台云服务器ECS实例、1个应用型负载均衡ALB实例、2个交换机、1个专有网络VPC、1个阿里云容器服务Kubernetes版ACK集群

image.png

点击【资源栈】,在【资源栈】页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧【操作列】,单击【删除

image.png

在【删除资源栈】对话框,选择【删除方式】为【释放资源】,然后点击【确定】,根据提示完成资源释放

image.png

点击【确定】选择短信验证后,输入短信验证码完成删除操作

image.png

测评体验

此方案内容是否提供了足够的技术细节,确保能够理解方案的深层原理和实施方法?

关于基于ACK实现灵活调度,高效编排,容器化管理云上应用的部署方案,方案提供了方案结构图以及场景描述【模拟应用服务对外提供两个 APIa和b,APIa依赖APIb。APIb返回服务名称以及一个UUID;APIa返回服务名称,一个UUID以及通过HTTP请求的APIb的返回值。

通过方案描述以及方案结构图,可以方便大家理解整体部署的深层原理,这点是认可的,比较好。


在体验过程中是否得到足够的引导以及文档帮助?

在本次部署方案的体验过程中,整个文档的操作说明比较清晰明了,操作内容也容易理解,只是在对于CS开通服务的步骤文档没有提到

导致在实际操作过程中报错,不过基于以往的部署经验也是很容易处理的。

您认为容器化应用托管的优势有哪些?在企业上云过程中,是否愿意使用容器化应用托管?

可以说容器化应用托管,最大的特点优势就是可以实现资源的高效利用、更高扩展性和弹性、快速迭代部署及DevOps流程优化,从而全面提升业务灵活性与竞争力。那么再企业上云过程中,个人是愿意使用容器化托管的。传统的部署方案,整体部署操作比较费时费力,且后期的运维效率低下,资源利用率低,扩展性以及快速迭代部署的能力比较弱。那么使用容器化应用托管之后,可以在极大的有效利用资源的同时降低运维难度,提高应用的快速迭代部署能力。

在场景中使用到具体云产品的体验

在场景体验中,对于云服务器ECS的操作,还是比较熟悉的,对于资源编排ROS的操作,个人在实验操作过程中也是体验过很多次了,但是对于这次的体验确实不能称之为完美。首先来说,本次资源栈ROS编排,我的操作是没有成功的,尝试了两次部署,花费了1个多小时等待时间,仍然没有成功,每次总是卡在 60% 进度的地方无法完成后续的操作

image.png

并且一直卡在60% 的进度位置,整个过程也没有任何的报错信息提示,部署过程一直在【部署中】,但是长久的等待还是没有成功,希望后续可以在资源栈ROS编排的详情页面的【事件】这里增加【执行日志】列,用于展示ROS编排过程中每个资源创建的执行情况,如果报错也方便快速排查


image.png

或者也可以是在【资源】列表增加一个【执行日志】的列,方便查看具体资源的执行日志,对于执行日志报错的情况也能快速响应处理,不影响整体资源栈ROS编排的最终执行结果

image.png

其他方面都比较好了,希望后续可以补充我上面提到的内容就更完美了。





相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
13天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes 入门指南:快速上手容器编排
【8月更文第29天】Kubernetes(简称 K8s)是一个开源平台,用于自动化容器化应用程序的部署、扩展和管理。它提供了一种便捷的方式来部署和运行应用程序,而无需关心底层基础设施的细节。本指南将带你从零开始学习 Kubernetes 的基础知识,并帮助你部署第一个应用。
69 0
|
1天前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,全面助力云上体育盛会
本文讲述了阿里云容器服务,通过安全稳定的产品能力和成熟的稳定性保障体系,全面助力云上体育赛场,促进科技之光与五环之光交相辉映。
阿里云容器服务,全面助力云上体育盛会
|
5天前
|
人工智能 Prometheus 监控
使用 NVIDIA NIM 在阿里云容器服务(ACK)中加速 LLM 推理
本文介绍了在阿里云容器服务 ACK 上部署 NVIDIA NIM,结合云原生 AI 套件和 KServe 快速构建高性能模型推理服务的方法。通过阿里云 Prometheus 和 Grafana 实现实时监控,并基于排队请求数配置弹性扩缩容策略,提升服务稳定性和效率。文章提供了详细的部署步骤和示例,帮助读者快速搭建和优化模型推理服务。
43 7
使用 NVIDIA NIM 在阿里云容器服务(ACK)中加速 LLM 推理
|
12天前
|
存储 Kubernetes Cloud Native
探索Python编程的奥秘云原生时代的容器编排:Kubernetes入门与实践
【8月更文挑战第30天】本文以浅显易懂的方式,探讨了Python编程的核心概念和技巧。从基础语法到高级特性,再到实际应用案例,逐步引导读者深入理解Python编程的精髓。通过本文的学习,读者将能够掌握Python编程的基本技能,并激发进一步探索的兴趣。
27 13
|
11天前
|
Kubernetes Cloud Native Docker
云原生入门:从容器到Kubernetes的旅程
【8月更文挑战第31天】云原生技术正改变着应用的开发、部署和运维方式。本文将带你走进云原生的世界,从容器的基础开始,探索Docker和Kubernetes如何助力现代软件开发与运维。你将学会如何使用Docker创建和管理容器,以及如何通过Kubernetes进行集群管理,实现服务的自动化部署、扩展和管理。准备好让你的应用在云端自由翱翔了吗?让我们启航!
|
13天前
|
Kubernetes Shell 容器
k8s临时容器
k8s临时容器
|
11天前
|
Kubernetes Cloud Native 应用服务中间件
云原生入门:Kubernetes 和容器化技术的实践之旅
【8月更文挑战第31天】 在这篇文章中,我们将踏上一场探索云原生世界的旅程。我们将从基础的容器化技术讲起,逐步深入到Kubernetes这个强大的容器编排工具。文章会通过一个实际的例子,带领大家了解如何将一个简单的应用容器化并在Kubernetes集群上运行起来。无论你是云原生领域的新手,还是希望巩固知识的开发者,这篇文章都会为你提供一次实操的机会,让你对云原生有一个更加直观的认识。
|
12天前
|
运维 Kubernetes Cloud Native
云原生技术入门:从容器到Kubernetes的探索之旅
【8月更文挑战第30天】在数字时代的浪潮中,云计算已成为推动创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭开云原生技术的神秘面纱,从容器化技术的基础出发,逐步深入到Kubernetes集群管理的实际应用。我们将一起见证代码如何转化为可在云端无缝运行的服务,体验技术变革带来的无限可能。
|
13天前
|
Kubernetes Cloud Native 网络安全
云原生入门指南:Kubernetes和容器化技术云计算与网络安全:技术融合的新篇章
【8月更文挑战第30天】在云计算的浪潮中,云原生技术如Kubernetes已成为现代软件部署的核心。本文将引导读者理解云原生的基本概念,探索Kubernetes如何管理容器化应用,并展示如何通过实践加深理解。
|
13天前
|
Kubernetes 监控 Docker
微服务与容器化:Kubernetes 实践
【8月更文第29天】随着云计算的发展,越来越多的企业选择采用微服务架构来构建他们的应用程序。微服务架构允许将复杂的大型应用程序拆分成一系列小型、独立的服务,这些服务可以独立部署、扩展和维护。然而,这种架构也带来了新的挑战,特别是在服务的部署、监控和扩展方面。容器化技术,尤其是 Kubernetes,已经成为解决这些挑战的关键工具。
31 0