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

本文涉及的产品
资源编排,不限时长
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【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搭建和管理企业级网站应用
相关文章
|
2天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
16天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
16天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
4天前
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
20 2
|
16天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
1月前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
74 1
|
2月前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
2月前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
2月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
147 17
|
2月前
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
208 4

热门文章

最新文章

推荐镜像

更多