ACK初体验

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 使用ACK部署一个无状态应用

1.概述

ACK官网文档 https://help.aliyun.com/document_detail/86737.html

阿里云容器服务Kubernetes版(Alibaba Cloud Container Service for Kubernetes,简称容器服务ACK)是全球首批通过Kubernetes一致性认证的服务平台,提供高性能的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理,让您轻松高效地在云端运行Kubernetes容器化应用。

个人理解,ACK就是阿里在k8s的基础上进行了平台级的封装,提供了简单易用的页面操作,通过点点点即可部署应用.真来对比的话就相当于jdbc和orm框架一样,使功能更加强大,同时更加简单易用.

可以将ack看作一个套在k8s上的图形化界面,将k8s的各种复杂命令/脚本转化为图形化操作,简单易用,除此之外提供k8s集群的监控/在线运维等功能

2.简单操作

k8s的概念这里不再赘述,通过ack来部署一个完整的应用看一下效果.

这里使用阿里云提供的ack体验场景完成

https://developer.aliyun.com/adc/scenario/489fc1d0bb1a4635b0bd90f3858db49c

购买请移步管理控制台创建集群,根据需求创建: https://cs.console.aliyun.com/



体验使用体验场景效果也是嘎嘎滴.

体验场景的操作步骤不再详述,看文档即可,我们直接进入创建好的集群

可以看到这是一个已经创建好的ack集群,两个节点,集群的类型是托管pro版本,ack的版本主要分为三个

我们现在创建的就是托管版ack Pro版

2.1 控制台概述

  • 概览: 查看ack的资源概览,可以看到节点的总数,出现问题的节点数
  • 集群: 查看已经创建的ack集群列表
  • 授权管理: 给某一个RAM账户进行授权,我们知道阿里云现在提倡使用子账户进行管理各种资源,提高安全性,所以这里也是基于这种思想. 我们现在使用的是体验场景,已经是RAM账户了,所以不能在进行授权管理.
  • 市场: 其实就是有一些服务阿里云封装好了你可以一键部署服务,像手机安装app一样简单.  当然也可以使用自己的镜像安装,比如阿里云镜像服务里的镜像在部署一个服务.
  • 应用中心: 把ack的部署资源整合到一个应用中,从整体的角度来管理ack资源
  • 备份中心: 提供了ack的备份服务
  • 服务网格: ack也可以整合服务网格

2.2 集群部署服务

点击集群名称,进入集群,我们通过ack的操作来部署一个服务

进入集群后,我们可以看到这个集群的概览信息,包括部署资源及容器组状态.

然后左侧的菜单其实与k8s的基本概念暗合,所以此处也不再赘述,那么我们来创建一个基本的无状态应用,也就是一个网站

点击左侧的工作负载-无状态

选择使用镜像创建:

2.2.1 应用基本信息

输入应用名称和副本数量,这里副本数量我们的节点是2,所以当副本数量为2时会在每个节点上创建一个服务

下一步

2.2.2 容器配置

容器配置里填写要使用的镜像,可以使用dockerhub上的公有镜像,也可以使用ACR的镜像,我们这里使用体验场景推荐的ACR上的一个网站的镜像.

  • 镜像地址为: registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube
  • 镜像tag为: 点击选择镜像tag可以看该镜像的可选tag,若不填默认最新tag
  • 资源限制: 这里就是限制服务资源的,超过该资源限制就会报错,相当于该服务可用资源上限,我们设置为1c 1024M(偏大一点) Ephemeral-storage是临时可用最大资源限制 我们使用的两个节点都是2c4g的服务器(可以从节点里看到规格)
  • 所需资源: 相当于服务正常运行时正常所需内存,可以理解为下限,这里设置为 0.5c 512M
  • 端口: 设置容器暴露端口,设置为80
  • 生命周期: 可以设置服务启动/启动后/停止前执行的一些脚本
  • 数据卷: 如果需要存储卷,可以在这里选择
  • 日志服务: 需要部署日志采集插件后可以使用日志服务,然后将服务日志收集后进行分析.

2.2.3 高级配置

高级配置里主要配置下服务.

服务我们学习过k8s的都知道,是用来访问k8s的网关,配置了这个之后才能通过外网访问集群资源.

点击创建服务

这里使用负载均衡SLB的方式来设置

端口映射: 服务端口为公网访问端口,容器端口为我们刚才新建服务时设置的容器端口80,这样就可以用过公网的80端口访问到容器的80端口

下面还有一些高级设置,比如伸缩,调度,这些高级特性如果有需要可以根据文档设置

最后点击创建,ack就可以拉取镜像进行资源的创建了


点击查看应用详情

可以看到应用已经正常运行了,点击test进入应用详情

可以看到两个节点,每个节点一个服务并且都在running状态

2.2.4 访问服务

服务创建好了,我们尝试一下公网访问:

我们点击访问方式

可以看到外部端点,这个就是公网访问地址:

可以看到这个服务已经正常运行了.

2.3 监控

对于一个服务来说,监控必不可少,通过ack部署的服务默认就拥有Prometheus的监控,当然这个监控只限于资源的监控,如果想要做个性化服务指标的监控,还需要接入服务日志.

进入prometheus,选择无状态应用监控


切换命名空间为default,默认应用在default空间下,我们找到test的负载:

然后就可以查看该应用的cpu/内存/io等性能指标

3. 总结

通过ACK部署无状态应用了解ACK的操作流程,其实使用k8s的命令也可以部署,但是总归没有图形化节目简单.

而且ACK原生就接入了普罗米修斯这样的监控框架,更加方便监控服务的资源使用情况.

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Linux
linux 内存碎片查看
linux 内存碎片查看
317 3
|
存储 弹性计算 文件存储
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
随着Windows容器逐渐普及和发展,Windows容器持久化存储以及容器间共享的需求越来越高涨。 本文介绍如何让Windows主机正确配置NAS SMB文件系统,支持Windows容器让Docker镜像使用挂载NAS SMB文件系统的子目录作为持久化存储目录。
7543 0
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
|
存储 安全 数据处理
量子计算与天文学:探索宇宙的新视角
量子计算与天文学结合,为探索宇宙提供了前所未有的计算能力和数据处理手段。本文介绍了量子计算的基础,及其在模拟宇宙现象、解决优化问题、数据处理与分析及加密通信等方面的应用,展望了其在天文学中的未来发展。
|
机器学习/深度学习 TensorFlow 调度
使用Python实现深度学习模型:智能能源消耗预测与管理
使用Python实现深度学习模型:智能能源消耗预测与管理
703 30
|
安全 Java API
深入探索Java网络编程中的HttpURLConnection:从基础到进阶
本文介绍了Java网络编程中HttpURLConnection的高级特性,包括灵活使用不同HTTP方法、处理重定向、管理Cookie、优化安全性以及处理大文件上传和下载。通过解答五个常见问题,帮助开发者提升网络编程的效率和安全性。
512 9
|
运维 算法 应用服务中间件
运维系列.Nginx中使用HTTP压缩功能(一)
运维系列.Nginx中使用HTTP压缩功能(一)
417 1
|
弹性计算 Kubernetes 监控
阿里云ack学习
【8月更文挑战第6天】
1688 3
|
机器学习/深度学习 数据采集
开源多结构蛋白质预测大模型——Genie 2
【6月更文挑战第24天】Genie 2,一款开源的深度学习蛋白质设计模型,扩展了原始Genie的结构预测能力,通过创新架构和大规模数据增强处理更复杂多样的蛋白质结构。引入的多基序框架允许设计多功能蛋白质,提升无条件和有条件生成的性能。尽管面临数据质量、复杂相互作用处理及模型可解释性的挑战,Genie 2仍为蛋白质设计树立新标杆。[论文链接](https://arxiv.org/abs/2405.15489)
329 1
|
数据采集 人工智能 JavaScript
selenium滑块解锁实现的研究
本文介绍了如何应对滑块解锁验证,这是一种常见的网站防爬策略。首先,需获取滑块及背景元素,计算偏移量,然后使用`selenium`的`actionChains`模拟滑动。通过缓动函数如`ease_out_quart`创建滑动轨迹,以增加真实性。然而,某些网站的滑块验证极其复杂,可能需要人工智能解决。此外,还讨论了使用JavaScript进行浏览器页面滚动,包括对整个页面和特定元素内滚动条的滚动操作。
|
数据可视化 Python
DataFrame 中的时间序列分析:处理日期和时间数据
【5月更文挑战第19天】在数据分析中,时间序列数据的处理至关重要。使用Pandas,我们可以将日期列转换为日期类型,便于进行时间序列操作,如提取年月日、计算时间间隔。通过`resample`处理不规则间隔,用`fillna`或`dropna`填补或删除缺失日期。结合`matplotlib`进行可视化,揭示数据趋势。正确处理日期和时间信息是准确分析的前提,帮助我们从时间序列数据中发现模式,为决策提供依据。
548 2