更新时间:2021-01-11 18:36
AKS 应用服务对 Kubernetes 原生的 Deployment 做了能力增强,通过创建应用服务您可以定义容器服务的基本信息、访问策略、发布及调度策略等信息,为后续容器服务的部署做准备。
AKS 产品支持通过以下两种方式创建应用服务:
本文介绍创建应用服务的标准操作流程。通过应用商店的产品模板快捷地创建应用服务,请参考 产品发布。
创建应用服务的标准流程分为以下 6 个步骤:
登录容器应用服务控制台,在左侧导航栏点击 应用发布。
在应用服务列表页,点击 创建。
在 创建应用服务 页面,填写以下基础信息,点击 下一步。
对 Pod 里的容器做详细的配置。
名称:容器名称。
镜像来源:支持 镜像仓库、构建记录 及 从包构建 三种方式。
镜像仓库:直接输入镜像仓库地址,比如:registry-cnhz.cloud.alipay.com/aks/nginx:1.8
。
构建记录:选择该类型来源时,会自动关联应用服务所属应用的构建,具体参见 镜像构建。
从包构建:支持上传指定技术栈应用(SOFABoot、Java 等)的代码包。系统会根据相关配置信息自动地进行镜像构建,并在后续的容器服务发布中使用系统构建的目标镜像进行发布。
/
开头。系统会将发布包拷贝到基础镜像中用户指定的目录。内存配置:设置容器使用的内存的数量。请求内存 为能保证的最小内存数量,最大内存 为能使用的最大内存数量。换算方式:1024 bytes = 1 KiB;1024 KiB = 1 MiB;1024 MiB = 1 GiB;1024 GiB = 1 TiB。
启动命令:选填。用于指定容器启动时执行的命令。
USER=tester
。更多信息参考 高级配置说明。
部署至弹性节点:是否为应用开启节点自动伸缩功能,默认关闭。开启后,若 Pod 因资源不足而无法调度,则会触发新节点的自动创建。Pod 会因当前部署单元资源不足而重新调度到新的部署单元,此时也会触发新的部署单元的节点自动扩容。
副本伸缩策略配置:支持以下两种弹性策略。
定时弹性伸缩:可对容器自动伸缩进行如下弹性规则配置。您可以添加多条弹性伸缩规则。
定时弹性伸缩:点击 添加定时策略,填写以下参数:
-
组成,不能以数字和-
开头,并在 2~50 个字符之间。伸缩策略:支持 预设副本数伸缩 和 指标动态伸缩。
当伸缩策略为 指标动态伸缩 时,需配置扩缩容指标。可选择的扩缩容指标为:cpu_util 和 mem_util,即 CPU 使用率或内存使用率(单位是百分比)。AKS 会从监控系统读取属于 APP 的指标,并根据指标数字来计算副本数。计算方法是:实际使用值/期望值 * 当前 Pod 数= 期待副本数
。
例如:期望值配置了 cpu_util 为 20,监控中获得实际 cpu_util 为 60,当前 Pod 数为 1,则通过 60/20*1=3
来算出期待副本数为 3。当同时配置了多个指标,会对每个指标进行这样的操作来算出一个期待副本数。并将这些结果取最大值,作为实际应用的副本数。例如:cpu_util 期望值配置 20,实际值为 60;mem_util 期望值配置 10,实际值为 50,当前 Pod 数为 1;则 cpu_util 计算结果 60/20*1=3
,mem_util 计算结果 50/10*1=5
,最终副本数为 max(3,5)=5
。
副本曲线预览:提供了直观的可视化工具,帮助您直观地确认规则是否配置正确。
应用服务支持三种访问方式:集群内访问、VPC 内访问、公网访问,您可以根据业务需要做好规划。
选择 集群内访问 会建一个 Cluster IP 类型的 Service,并将流量转发到容器的相应端口上。您可以在创建应用服务时设置访问方式,也可以应用服务创建完成后添加访问方式。
在 访问配置 页面,点击 添加服务。
在 添加服务 窗口,填写以下信息后,点击 确定。
服务名称:应用服务名称。
访问方式:选择 集群内访问。
端口映射:点击 添加端口映射,填写以下信息。
协议:支持 TCP、UDP 协议。
访问端口:容器镜像中工作负载程序实际监听的端口,端口范围为 1-65535。
容器端口:容器端口映射到集群虚拟 IP 上的端口,用虚拟 IP 访问工作负载时使用,端口范围为 1-65535。
创建一个内部的 Service,并将流量转发到容器的相应端口上。您可以在创建应用服务时设置访问方式,也可以应用服务创建完成后添加访问方式。
在 访问配置 页面,点击 添加服务。
在 添加服务 窗口,填写以下信息后,点击 确定。
服务名称:应用服务名称。
访问方式:选择 VPC 内网访问。
负载均衡:选择已有负载均衡,或者 创建负载均衡。
端口映射:点击 添加端口映射,填写以下信息。
健康检查:若开启,根据选择的协议类型,需填写对应的配置项。
配置外部 Service 会创建一个公网的 LoadBalancer,并将流量转发到容器的相应端口上。访问方式由公网负载均衡服务地址以及设置的访问端口组成,例如 10.117.117.117:80
。
在 访问配置 页面,点击 添加服务。
在 添加服务 窗口,填写以下信息后,点击 确定。
服务名称:应用服务名称。
访问方式:选择 公网访问。
负载均衡:选择已有负载均衡或者 创建负载均衡。
端口映射:点击 添加端口映射,填写以下信息。
协议:支持 TCP、HTTP、HTTPS 协议。
转发规则:支持 按权重、按权重并且最小连接数。
前端端口:容器镜像中工作负载实际监听的端口,端口范围为 1-65535。
后端端口:容器端口映射到负载均衡实例上的端口,用负载均衡 IP 访问工作负载时使用,端口范围为 1-65535。
健康检查:若开启,根据选择的协议类型,需填写对应的配置项。
您可以自定义部署和调度配置,若不修改,发布应用服务时,系统会使用默认配置。
该配置项用于配置容器服务在部署时需要用到的信息,包括以下内容:
升级模式:
部署单元:该配置限定了容器服务的 Pod 只能调度到打了所选中部署单元标签的节点上。默认选中所有部署单元。
部署分组策略:指定发布容器服务时 Pod 的分组策略,有以下几种策略,默认为快速分组。
最小分组数:该选项仅在快速分组时设置。默认为 3。
添加 Beta 分组:发布时选取部分 Pod 先行发布,待确认无异常后继续发布。默认开启。
开启 Beta 分组后,发布时会给应用服务设置一个特殊的 Beta 分组,在该组中,系统会在每个部署单元选择一个 Pod,Beta 分组会在第一组发布。
Beta 分组发布完成后系统会自动暂停应用服务发布,等待系统负责人或者运维工程师对应用服务的发布情况进行确认。若容器服务发布正常,则点击 Beta 分组确认,使应用服务继续分组发布。
Beta 分组可以与所有分组策略共同决定分组。创建新的发布申请时,默认开启 添加 Beta 分组。
分组暂停:每组发完后暂停发布,确认发布后继续发布。默认开启。
Pod 调度策略:目前支持 按部署单元平均分配。
应用服务与节点亲和性配置:添加应用服务在节点级别的亲和性配置。可以通过 node 标签来限定应用服务可以调度的节点范围。
应用服务间亲和性配置:添加应用服务在 Pod 级别的亲和性配置。通过选择与某些应用服务在相同或不同的节点来限定应用服务可以调度的节点范围。
注入 SOFAMesh:需集群开启 Mesh 功能。开启引流配置时,每次发布会按所设置的引流规则转发流量到新版本,也可在发布过程中配置。开启后需填写引流比例,系统按所设置的比例转发流量到新发布的版本,以及引流的目标服务。
在应用服务 预览 页面,确认信息无误,点击 提交。
在文档使用中是否遇到以下问题
更多建议
匿名提交