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原生就接入了普罗米修斯这样的监控框架,更加方便监控服务的资源使用情况.