本文将引导您快速熟悉公共云(或阿里云底座的专有云)上 AKS 的操作链路。
步骤一:创建标准工作空间
工作空间(Workspace)本质上是“网络互通、安全策略一致、访问延时极小”的一组资源。您可以通过工作空间方便地将资源进行分组管理,例如:根据不同的研发交付需求,将工作空间划分为开发工作空间、测试工作空间、生产工作空间等。不同工作空间中的资源互相隔离。
登录 SOFAStack 控制台。
在左侧导航栏,单击下方的 全局设置,进入工作空间列表页面。
单击 创建工作空间,选择 标准工作空间 类型,单击 创建。
在 创建工作空间 页面,输入以下基本信息。
工作空间标识:2-64 个字符,工作空间的英文标识,全局唯一,一经确定无法修改,例如:dev、test、prod 等。本例中输入:
DemoWS
。工作空间名称:1-64 个字符,工作空间的显示名称,例如:开发工作空间、测试工作空间、生产工作空间。本例中输入:
DemoWS
。地域:工作空间所在的地域(Region),一个工作空间一定属于某个地域。
说明目前开放的地域有 华东2(上海) 及 华东1(杭州)(金融云)。
网络类型:选择 VPC 网络。
导入 VPC:保持关闭。
可用区:工作空间配置的可用区(Available Zone),最多不能超过两个,工作空间只能导入已配置可用区内的资源,且发布部署、容灾等其他功能都是基于工作空间的可用区来做分组发布与容灾切换等操作。推荐配置两个可用区,为支持双机房高可用等架构做准备。
单击 下一步,在 创建 VPC 页面,输入以下配置信息:
专有网络名称:由 2-128 个英文或中文字符组成,必须以大小写字母或中文开头,可包含数字、下划线(_) 或连字符(-),不能以
http://
和https://
开头。可以使用系统自动生成的名称单元化工作空间标识-vpc
。专有网络网段:专有网络的网段,一旦选择便无法更改,专有网络内的所有资源,如 ECS、RDS、SLB 的私网 IP 都在该网段内。可选网段如下:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
交换机:单击 添加交换机,在弹出的 创建交换机 窗口,填写以下信息,单击 提交。
名称:交换机名称。长度为 2-128 个字符,以英文字母或中文开头,可包含数字、下划线(_)和短横线(-)。系统自动生成
单元化工作空间标识-vsw
组成的默认名称。可用区:交换机的可用区。同一 VPC 内不同可用区的交换机内网互通。您需要为每个可用区创建一台交换机。
自定义网段:默认关闭。开启后,需填写网段地址。交换机的网段可以和其所属的 VPC 网段相同或者是其 VPC 网段的子网。
子网掩码:自定义网段 关闭时,需分别选择子网掩码和网段地址。默认专有的网段掩码是 24 位,例如 172.31.0.0/24,最多可提供 65536 个私网 IP 地址。范围为 16~29 位之间,可提供 4~65532 个地址。
描述: 输入交换机的描述信息。可包含 2-256 个中英文字符,不能以
http://
和https://
开头。
单击 下一步,在 创建安全组 页面,单击 添加安全组,在弹出的 添加安全组 窗口,填写以下信息,单击 提交。
安全组名称:长度为 2-128 个英文或中文字符,必须以大小字母或中文开头,不能以
http://
和https://
开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。系统自动生成单元化工作空间标识-sg
组成的默认名称。描述:可包含 2-256 个中英文字符,不能以
http://
和https://
开头。规则:保持默认设置,接受所有的出入访问。
单击 确定 返回 创建安全组 页面,单击 提交。
步骤二:创建集群
集群是运行工作负载的逻辑分组,包含一组云服务器资源,每台云服务器即集群中的一个节点。首次使用 AKS 时,您需要创建一个初始集群,并添加至少一个节点。
前提条件
您拥有 AKS 管理员权限。
已创建标准工作空间。
首次使用 ACK 集群时,需先授权 ACK 访问云资源的权限,详情参考 首次使用容器服务 Kubernetes 版。
操作步骤
登录 AKS 控制台,在左侧导航栏单击 集群管理 > 集群详情。
在集群列表页,单击 创建集群。
在 集群创建 页面,系统会自动进行预检查,确保相关的产品已经开通并且租户下的账户余额大于 100 元。预检查通过后,单击 下一步。
说明若检查失败,完成修复失败项目后,可以单击 重新检查 操作重新进行预检查。
在 基本配置 页面,完成以下集群基础选项配置。
基本信息:
专有网络:当前工作空间的专有网络名称。不可修改。
集群名称:应包含 1~63 个字符,可包含数字、汉字、英文字符或短划线(-)。本例中分别输入:
democluster1
、democluster2
。Kubernetes 版本:选择 Kubernetes 版本。支持
1.16.9-aliyun.1
、1.18.8-aliyun.1
。本例中选择1.18.8-aliyun.1
。容器运行时:支持
docker 19.03.5
、containerd 1.4.3
。本例中选择docker 19.03.5
。
网络配置:
虚拟交换机:您可以在已有虚拟交换机列表中,根据可用区选择所需交换机。如果没有您需要的交换机,可以通过单击创建交换机链接进行创建,请参见 创建交换机。
网络插件:设置启用的网络插件,目前支持 Terway 网络插件。
说明Terway 是阿里云容器服务自研的网络插件,将阿里云的弹性网卡分配给容器,支持 Kubernetes 的 Network Policy 来定义容器间的访问策略,支持对单个容器做带宽的限流。具体请参见 Terway。
Pod 虚拟交换机:网络插件使用 Terway 时,需要为 Pod 分配 IP 的虚拟交换机。每个 Pod 虚拟交换机分别对应一个 Worker 实例的虚拟交换机。如果没有您需要的交换机,可以通过单击创建交换机链接进行创建,请参见 创建交换机。
Service CIDR:设置 Service CIDR。网段不能与 VPC 及 Pod 地址段重复,创建成功后不能修改。可选范围:10.0.0.0/16-24,172.16-31.0.0/16-24,192.168.0.0/16-24。
高级配置:保持默认设置。更多信息参考 创建集群。
在 节点配置 页面,完成以下 Worker 节点配置。
付费类型:支持 按量付费 和 包年包月 两种节点付费类型。选择包年包月时,需设置以下参数。
购买时长:目前支持选择 1、2、3、6 个月和 1-5 年。
自动续费:设置是否自动续费。
节点数量:创建 Worker 实例(ECS 实例)的数量。
实例规格:支持选择多个实例规格。详情请参见 实例规格族。最多可选择 10 个实例规格。
说明可以选择多个规格作为备选,每个节点创建时,将从第一个规格开始尝试购买,直到创建成功,最终购买的实例规格可能随库存变化而不同。
系统盘:支持 高效云盘、ESSD 云盘。
挂载磁盘:支持 高效云盘、ESSD 云盘。
操作系统:支持 CentOS 和 Alibaba Cloud Linux 操作系统。
登录密码:设置节点的登录密码。8-30 个字符,且同时包含三项(字母、数字和特殊符号)。
确认密码:确认设置的节点登录密码。
配置完成后,单击 下一步。
在集群的 配置预览 页面,确认配置无误后,单击 提交。
说明一个包含多节点的 Kubernetes 集群的创建时间一般约为十分钟。
系统会自动跳转到 创建集群详情 页面。在集群的创建过程中,若出现任务失败的情况,可单击事件查看具体错误详情,或单击 重试 或 忽略。
步骤三:创建应用
您将创建 2 个应用:aks-vote-front 及 aks-vote-redis。
操作步骤
登录应用管理控制台,在左侧导航栏单击 应用列表。
在 应用列表 页面,单击 创建应用。
在创建页面输入应用信息,单击 确定。
应用名称: 输入 aks-vote-front。
说明应用名称在同一租户内必须是唯一的。
技术栈:选择 Spring Boot。
应用分组:选择应用所属分组。若尚未自定义分组,可以选择系统默认分组。
应用标签:应用分级标签,便于进行应用快速检索,支持添加系统标签和自定义标签。
应用描述:应用描述的长度不能超过 500 个字符。选填,如
这是一个示例应用
。
新创建的应用出现在应用列表的最上方。应用状态为 创建中,数秒后变为 创建完成,此时已完成应用创建。
按上述方式创建另外一个应用,应用名称为:aks-vote-redis。
步骤四:准备镜像
AKS 以镜像的方式部署应用服务,创建应用服务前需先准备好镜像。为方便您测试,AKS 准备了以下可以公开访问的示例镜像:
镜像名称 | 镜像地址 |
sofa-samples/aks-vote-front | registry-vpc.cn-shanghai.aliyuncs.com/sofa-samples/aks-vote-front:v1 |
sofa-samples/aks-vote-redis | registry-vpc.cn-shanghai.aliyuncs.com/sofa-samples/aks-vote-redis:v1 |
步骤五:创建应用服务
创建 2 个有依赖关系的应用服务:aks-vote-redis-appservice、aks-vote-front-appservice。
操作步骤
登录容器应用服务控制台,在左侧导航栏单击 应用发布 > 应用服务。
在应用服务列表页,单击 创建。
在 创建应用服务 页面,填写以下信息,并单击 提交。
基本信息
命名空间:保持默认 default。
应用服务名称 及 所属应用 见下表。
应用服务名称
所属应用
依赖应用
aks-vote-front-appservice
aks-vote-front
aks-vote-redis
aks-vote-redis-appservice
aks-vote-redis
-
有状态应用:默认关闭。
Pod 模板配置
容器名称:输入名称。
镜像选择:选择 镜像仓库,镜像地址参考 准备镜像。
CPU 配置:请求核数 为 500 millicores,最大核数 为 1 core。
内存配置:请求内存 为 128 MiB,最大内存 为 1 GiB。
在 高级配置 > 环境变量配置 中,为 aks-vote-front-appservice 应用服务添加对应的 Redis 应用服务的 DNS name 作为 环境变量。如下图所示。
伸缩配置
副本伸缩策略配置:默认为 固定副本数。
副本数:默认 1。应用运行时保持的 Pod 副本数。
访问配置
应用服务支持三种访问方式:集群内访问、内网访问、公网访问,您可以根据业务需要做好规划。
为 Redis 服务设置集群内访问方式
选择 集群内访问 会建一个 Cluster IP 类型的 Service,并将流量转发到容器的相应端口上。您可以在创建应用服务时设置访问方式,也可以应用服务创建完成后添加访问方式。
在 访问配置 页面,单击 创建服务。
在 创建服务 窗口,填写以下信息后,单击 提交。
服务名称:输入
aks-vote-redis-appservice
。访问方式:选择 集群内访问。
端口映射:单击 +,填写以下信息。其余保持默认设置。
协议:选择 TCP。目前支持 TCP、UDP。
访问端口:容器镜像中工作负载程序实际监听的端口,输入
6379
。容器端口:容器端口映射到集群虚拟 IP 上的端口,输入
6379
。
为 Vote 服务设置公网访问方式
配置外部 Service 会创建一个公网的 LoadBalancer,并将流量转发到容器的相应端口上。访问方式由公网负载均衡服务地址以及设置的访问端口组成,例如
10.117.117.117:80
。在 访问配置 页面,单击 创建服务。
在 创建服务 窗口,填写以下信息后,单击 提交。
服务名称:输入
aks-vote-front-appservice
。访问方式:选择 公网访问。
端口映射:单击 添加端口映射,填写以下信息,其余保持默认设置。
协议:选择 TCP。目前支持 TCP、HTTP、HTTPS。
转发规则:选择 按权重。目前支持 按权重、按权重并且最小连接数。
前端端口:容器镜像中工作负载程序实际监听的端口,输入
80
。后端端口:容器端口映射到集群虚拟 IP 上的端口,输入
80
。
部署和调度配置
为应用服务 aks-vote-redis-appservice、aks-vote-front-appservice 保持系统默认配置。
预览并提交
在应用服务 预览 页面,确认信息无误。
步骤六:创建发布单
通过发布单同时发布上一步中创建的两个有依赖关系的应用服务。
操作步骤
登录容器应用服务控制台,在左侧导航栏单击 应用发布。
单击 发布单 进入发布部署大盘。
在发布部署大盘,单击 创建发布单。
在 创建发布单 页面,填写以下发布信息后,单击 下一步。
基本信息
标题:发布标题。
部署单元:展示当前工作空间下的所有部署单元。
应用服务发布列表:在 待选应用服务列表 中单击选择需要的应用服务:aks-vote-redis-appservice、aks-vote-front-appservice。单击 > 图标将应用服务添加到 已选应用服务列表 中。
高级配置
设置应用服务依赖关系:aks-vote-front-appservice 依赖于 aks-vote-redis-appservice。
在 预览 页面确认信息无误后,单击 创建。系统会自动跳转到 发布单详情 页面,单击 整体发布 即可开始发布。
步骤七:验证结果
验证应用服务 aks-vote-front-appservice 及 aks-vote-redis-appservice 是否发布成功。
操作步骤
登录容器应用服务控制台,在左侧导航栏单击 应用发布。
在应用服务列表中,单击 aks-vote-front-appservice 进入实例详情页。
在 服务 页签下复制服务地址。
在本地浏览器的地址栏中访问
http://{负载均衡器服务地址}:80
,如http://10.10.10.1:80
。若页面显示以下内容表示 aks-vote-front-appservice 发布成功。
单击 kubernetes 或者 Serverless 选项,若页面显示正确投票数据,则表示 aks-vote-redis-appservice 发布成功。如下图所示。
更多应用服务内容,参考 查看应用服务详情 。