基于 ACK Serverless 解锁你家萌宠的 AI 形象详情
快速进入产品控制台
本实验相关云产品
云原生网关 MSE-Higress
容器服务ACK Serverless
更多云产品
云原生数据库 PolarDB PostgreSQL 版
DataV数据可视化
开源大数据平台 E-MapReduce
微服务治理 MSE-Sentinel/OpenSergo
GPU云服务器
云数据传输
RDS MySQL Serverless版
混合云备份 HBR
访问控制 RAM
企业级分布式应用服务 EDAS
可观测可视化 Grafana 版
性能测试 PTS
专有网络 VPC
资源编排 ROS
容器镜像服务 ACR
弹性容器实例
可观测监控Prometheus版
实时数仓Hologres
实时计算Flink版
应用实时监控服务-云拨测
生活物联网平台
表格存储
物联网平台
消息服务 MNS
消息队列 RabbitMQ 版
事件总线 EventBridge
QUICK BI
数据库自治服务 DAS
音视频通信 RTC
云效
云原生多模数据库Lindorm
机器学习PAI
龙蜥操作系统(Anolis OS)
智能开放搜索 OpenSearch
大数据计算服务 MaxCompute
数据湖构建DLF
DataWorks
阿里云ElasticSearch
数据管理 DMS
云数据库RDS PostgreSQL 版
数据传输 DTS
日志服务(SLS)
弹性伸缩
小程序云
NAT网关
全站加速DCDN
视频直播
云数据库Redis版
云数据库MongoDB版
云数据库HBase版
云原生分布式数据库PolarDB-X
CDN
函数计算FC
消息队列RocketMQ版
对象存储OSS
消息队列Kafka版
视频点播
弹性公网IP
云数据库RDS SQLServer版
Serverless应用引擎
云原生数据仓库AnalyticDB MySQL版
云原生关系型数据库PolarDB
容器服务 ACK
GPU云服务器
轻量应用服务器
文件存储NAS
云服务器ECS
负载均衡SLB
云数据库RDS MySQL版
基于 ACK Serverless 解锁你家萌宠的 AI 形象详情
结束实验
- 实验手册
- 实验报告
2. 准备您家萌宠数据集
一、准备数据集
- 挑选20张萌宠图片,要求萌宠主体清晰。支持.png、.jpg、 .jpeg、 .webp、.bmp 格式的照片。
注意:其他图片格式,会造成训练模型时报错,请一定要确认照片格式!如果您发现有些照片格式不符合要求,请使用图片转换工具,请不要通过给图片重命名来修改格式,也会导致训练报错。
- 解释说明:挑选您家萌宠单独照片,为了模型训练效果,尽量保持照片背景干净,不要与人的合照,也不要与其他动物合照,保证有萌宠正脸照,尽量不要所有照片都是背面或者侧面。
- 正确示范✅:
- 错误示范❌:
- 在您PC电脑上新建文件夹,文件夹名为您萌宠英文名(或中文名拼音,更推荐),将20张照片放入文件夹中。
- 解释说明:若您萌宠有英文名,例如Bob,则您文件夹名为Bob;若您萌宠是中文名,例如桃子,则您文件夹名为taozi。
说明:我们在镜像中内置了“taozi”数据集,包含了一只名叫桃子的小猫的20张照片。如果您不想要准备自己的宠物数据集,但是想要体验容器化弹性部署、模型镜像加速拉取以及 Stable Diffusion 模型训练的过程,您可以直接使用“taozi”数据集来训练。
二、查看数据集路径,并保存路径
查看本地数据集路径方法如下。
- 如果您电脑是 Mac 系统:
您可直接键盘 command+C,然后在终端command+V。
举例:
- 单击目标文件,如Bob2,键盘同时按下command+C。
- 打开本地终端,键盘同时按下command+V,即可看到文件夹路径,即/Users/XXXX/Downloads/Bob2 (如下截图)。
- 如果您电脑是 Windows 系统:
您可右键单击文件夹,单击属性,在属性面板中找到目标文件bob所在的位置。例如D:\。
快速进入产品控制台
本实验相关云产品
云原生网关 MSE-Higress
容器服务ACK Serverless
更多云产品
云原生数据库 PolarDB PostgreSQL 版
DataV数据可视化
开源大数据平台 E-MapReduce
微服务治理 MSE-Sentinel/OpenSergo
GPU云服务器
云数据传输
RDS MySQL Serverless版
混合云备份 HBR
访问控制 RAM
企业级分布式应用服务 EDAS
可观测可视化 Grafana 版
性能测试 PTS
专有网络 VPC
资源编排 ROS
容器镜像服务 ACR
弹性容器实例
可观测监控Prometheus版
实时数仓Hologres
实时计算Flink版
应用实时监控服务-云拨测
生活物联网平台
表格存储
物联网平台
消息服务 MNS
消息队列 RabbitMQ 版
事件总线 EventBridge
QUICK BI
数据库自治服务 DAS
音视频通信 RTC
云效
云原生多模数据库Lindorm
机器学习PAI
龙蜥操作系统(Anolis OS)
智能开放搜索 OpenSearch
大数据计算服务 MaxCompute
数据湖构建DLF
DataWorks
阿里云ElasticSearch
数据管理 DMS
云数据库RDS PostgreSQL 版
数据传输 DTS
日志服务(SLS)
弹性伸缩
小程序云
NAT网关
全站加速DCDN
视频直播
云数据库Redis版
云数据库MongoDB版
云数据库HBase版
云原生分布式数据库PolarDB-X
CDN
函数计算FC
消息队列RocketMQ版
对象存储OSS
消息队列Kafka版
视频点播
弹性公网IP
云数据库RDS SQLServer版
Serverless应用引擎
云原生数据仓库AnalyticDB MySQL版
云原生关系型数据库PolarDB
容器服务 ACK
GPU云服务器
轻量应用服务器
文件存储NAS
基于 ACK Serverless 解锁你家萌宠的 AI 形象详情
结束实验
- 实验手册
- 实验报告
3. 开通MSE云原生网关并完成授权
一、开通MSE云原生网关
- 前往开通MSE云原生网关页面。
- 单击确认授权,开通MSE云原生网关。
- 在访问控制快速授权对话框中,单击确认授权,完成授权。
二、为 MSE 访问 ECI 授权
- 前往MSE访问ECI授权页面。
- 单击同意授权,完成MSE访问ECI的授权。
快速进入产品控制台
本实验相关云产品
云原生网关 MSE-Higress
容器服务ACK Serverless
更多云产品
云原生数据库 PolarDB PostgreSQL 版
DataV数据可视化
开源大数据平台 E-MapReduce
微服务治理 MSE-Sentinel/OpenSergo
GPU云服务器
云数据传输
RDS MySQL Serverless版
混合云备份 HBR
访问控制 RAM
企业级分布式应用服务 EDAS
可观测可视化 Grafana 版
性能测试 PTS
专有网络 VPC
资源编排 ROS
容器镜像服务 ACR
弹性容器实例
可观测监控Prometheus版
实时数仓Hologres
实时计算Flink版
应用实时监控服务-云拨测
生活物联网平台
表格存储
物联网平台
消息服务 MNS
消息队列 RabbitMQ 版
事件总线 EventBridge
QUICK BI
数据库自治服务 DAS
音视频通信 RTC
云效
云原生多模数据库Lindorm
机器学习PAI
龙蜥操作系统(Anolis OS)
智能开放搜索 OpenSearch
大数据计算服务 MaxCompute
数据湖构建DLF
DataWorks
阿里云ElasticSearch
数据管理 DMS
云数据库RDS PostgreSQL 版
数据传输 DTS
日志服务(SLS)
弹性伸缩
小程序云
NAT网关
全站加速DCDN
视频直播
云数据库Redis版
云数据库MongoDB版
云数据库HBase版
云原生分布式数据库PolarDB-X
CDN
函数计算FC
消息队列RocketMQ版
对象存储OSS
消息队列Kafka版
视频点播
弹性公网IP
云数据库RDS SQLServer版
Serverless应用引擎
云原生数据仓库AnalyticDB MySQL版
云原生关系型数据库PolarDB
容器服务 ACK
GPU云服务器
轻量应用服务器
文件存储NAS
云服务器ECS
4. 创建 ACK Serverless 集群
- 登录容器服务管理控制台,在左侧导航栏选择集群。
- 在集群列表页面,单击页面右上角的创建集群。
- 在创建集群页面,单击ACK Serverless集群页签,根据如下说明完成相关配置,其他配置项保持默认值,然后单击下一步:组件配置。
配置项 | 说明 | 配置建议 |
集群名称 | 填写集群的名称。 | knative-sd-demo |
集群规格 | 选择集群规格,支持Pro版和标准版 | Pro版 |
地域 | 选择集群所在的地域。建议选择华北2(北京)地域。 | 华北2(北京) |
可用区 | 选择集群所在的可用区。 目前华北2(北京)支持的可用区如下: 华北 2 可用区 C 华北 2 可用区 D 华北 2 可用区 G 华北 2 可用区 E 注意:请您在以上ECI支持GPU的四个可用区进行选择。 | 华北2 可用区G |
API Server访问 | ACK Serverless集群默认为API Server创建一个内网SLB实例,您可修改SLB实例规格。更多信息,请参见实例规格。 您可设置是否开放使用EIP暴露API Server。 | 使用EIP暴露API Server |
- 单击下一步:组件配置,选择Ingress为MSE Ingress,并选中开启 Knative。如您无需使用监控和日志服务等功能,可以取消选中使用阿里云可观测监控 Prometheus 版和使用日志服务,避免产生相关费用。其他配置项保持默认。
- 单击下一步:确认配置,确认配置信息,仔细阅读并选中相关协议,然后单击创建集群。预计等待3分钟。
额外说明:
- 若您项目状态均为「通过」,您可忽略下方内容,直接点击文档「下一页」。
- 若您之前从未开通过 ACK 产品,以及若您是第一次使用阿里云产品,可能会出现如下2项状态「未通过」提醒。您可根据如下步骤,依次操作。
5.1 【服务开通检查】状态「未通过」
若您界面显示【服务开通检查】状态「未通过」,则点击「容器服务 ACK Pro 版」,跳转到新页面。
在新页面勾选服务协议「我已阅读并同意容器服务ACK服务协议」,并点击「立即开通」。
出现如下页面,表示容器服务 ACK Pro 开通成功。
回到容器服务控制台页面,点击「重新检查」
【服务开通检查】状态显示为「通过」
5.2 【账户状态检查】状态「未通过」
点击用户中心 ,或者点击界面右上角头像,跳转到账号中心页面。
在账号中心页面查看「实名认证」情况,若您还未实名认证,点击进行认证即可。
点击页面上方的「费用」,跳转到用户中心首页
5. 安装 CSI 组件
- 待集群状态为「运行中」,在集群列表页面,单击目标集群knative-sd-demo进入集群信息页面,然后在左侧导航栏,选择运维管理 > 组件管理。
- 在组件管理页面,单击存储页签,找到csi-provisioner (托管)组件,单击卡片右下方的安装。
- 单击确定完成CSI组件的安装。
6. 部署并访问 Stable Diffusion 服务
一、Knative 部署 Stable Diffusion 服务
- 在集群列表页面,单击目标集群knative-sd-demo进入集群信息页面,然后在左侧导航栏,选择应用 > Knative。
- 在Knative页面,单击服务管理页签,然后单击使用模板创建。
- 在示例模板下拉列表中,选择 Resouce - Knative Service,删除原有的全部内容,并将以下 YAML 粘贴至模板,然后单击创建。
将会创建一个名为knative-sd-demo的服务。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: alicloud-disk-efficiency
parameters:
type: cloud_efficiency
encrypted: "false"
provisioner: diskplugin.csi.alibabacloud.com
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediate
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sd-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 20Gi
storageClassName: alicloud-disk-efficiency
---
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: knative-sd-demo
annotations:
serving.knative.dev.alibabacloud/affinity: "cookie"
serving.knative.dev.alibabacloud/cookie-name: "sd"
serving.knative.dev.alibabacloud/cookie-timeout: "1800"
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/class: mpa.autoscaling.knative.dev
autoscaling.knative.dev/maxScale: '1'
autoscaling.knative.dev/scale-down-delay: '1800s'
autoscaling.knative.dev/scale-to-zero-pod-retention-period: '1800s'
autoscaling.knative.dev/targetUtilizationPercentage: "100"
k8s.aliyun.com/eci-extra-ephemeral-storage: 80Gi
k8s.aliyun.com/eci-use-specs: 'ecs.gn5-c4g1.xlarge,ecs.gn5i-c8g1.2xlarge,ecs.gn5-c8g1.2xlarge'
spec:
containerConcurrency: 5
initContainers:
- name: init-sd
image: yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/stable-diffusion:v2.0.0-gpu
command:
- sh
- -c
- "cp -n /stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors /data/"
volumeMounts:
- name: sd-data
mountPath: /data
containers:
- args:
- --listen
command:
- python3
- launch.py
image: yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/stable-diffusion:v2.0.0-gpu
imagePullPolicy: IfNotPresent
ports:
- containerPort: 7860
name: http1
protocol: TCP
name: stable-diffusion
readinessProbe:
tcpSocket:
port: 7860
initialDelaySeconds: 5
periodSeconds: 1
failureThreshold: 3
volumeMounts:
- name: sd-data
mountPath: /stable-diffusion-webui/models/Stable-diffusion
volumes:
- name: sd-data
persistentVolumeClaim:
claimName: sd-pvc
- 在服务管理页签,刷新页面后,当knative-sd-demo的状态变为成功时,表明SD服务部署成功。
二、部署 portal server 并访问 Stable Diffusion 服务
部署观测服务portal-server,用于Stable Diffusion效果展示。
- 在Knative页面,单击服务管理页签,然后单击使用模板创建。
- 在示例模板下拉列表中,选择自定义,将以下portal-server压测服务的YAML示例粘贴至模板,然后单击创建。
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: portal-server
name: portal-server
spec:
replicas: 1
selector:
matchLabels:
app: portal-server
template:
metadata:
labels:
app: portal-server
spec:
serviceAccountName: portal-server
containers:
- name: portal-server
image: registry-vpc.cn-beijing.aliyuncs.com/acs/sd-yunqi-server:v1.0.3
imagePullPolicy: IfNotPresent
env:
- name: MAX_CONCURRENT_REQUESTS
value: "5"
- name: POD_NAMESPACE
value: "default"
readinessProbe:
failureThreshold: 3
periodSeconds: 1
successThreshold: 1
tcpSocket:
port: 8080
timeoutSeconds: 1
---
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internet
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: PayByCLCU
name: portal-server
spec:
externalTrafficPolicy: Local
ports:
- name: http-80
port: 80
protocol: TCP
targetPort: 8080
- name: http-8888
port: 8888
protocol: TCP
targetPort: 8888
selector:
app: portal-server
type: LoadBalancer
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: pod-list-cluster-role
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["list"]
- apiGroups: ["networking.k8s.io"]
resources: ["ingresses"]
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: pod-list-cluster-role-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: pod-list-cluster-role
7. 通过 kubectl 连接集群
一、如果您电脑是Windows系统
如下方法,根据您的偏好,二选一即可。
方法一:终端使用命令行方式安装和设置(此方法适合对于 Kubernetes 较为熟悉的同学)。
单击下载和安装kubectl,并安装至对应的本地客户端机器。
方法二:界面交互方式安装和设置(此方法适合对于 Kubernetes 不太熟悉的同学)。
- 下载kubectl最新补丁版 1.28至如下目录。
- 在HOME目录下,创建不带后缀名的config文件。
- 在任务栏搜索框输入cmd,进入home目录 (例如C:\Users\用户名),输入mkdir .kube创建.kube文件夹。
- 输入cd .kube进入.kube文件夹下。
- 输入type nul >config,在.kube文件夹下创建不带后缀名的config文件。
- 设置环境变量。右键单击我的电脑,选择属性,选择高级选项卡,单击环境变量。此处定义Path变量,只需要将kubectl.exe文件放在定义的这个路径下即可。
- 在cmd命令行中输入“kubectl version”,显示版本信息,表示环境变量设置成功。
- 复制如下公网访问凭据。
- 在集群列表页面,单击目标集群knative-sd-demo进入集群信息页面。
- 在集群信息页面,单击连接信息页签,选择公网访问,并复制公网访问凭证。
- 确保config文件是没有任何后缀的文件,然后将复制的访问凭据粘贴至如下已创建的config文件中。
- 在cmd命令行中输入命令“kubectl get ns“,有预期输出说明已通过kubectl成功连接集群。
二、如果您电脑是 MacOS 系统
如下方法,根据您的偏好,二选一即可。
方法一:单击在macos系统上安装和设置kubectl,根据文档操作即可(此方法适合对于 Kubernetes 较为熟悉的同学)。
方法二:详细操作指导(此方法适合对于 Kubernetes 不太熟悉的同学)。
使用本地电脑(如个人笔记本),打开终端应用,并按下方文档操作。
安装kubectl工具
如果您的电脑是 Intel 处理器,请复制下方命令,在终端应用中粘贴,并键盘敲回车执行
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
举例
打开终端应用,复制上方命令,然后粘贴到终端,并在键盘上敲回车键,执行命令
出现下方结果,代表正在下载安装 kubectl 工具
- 如果您的电脑是苹果处理器(如 M1 ),请复制下方命令,在终端应用中粘贴,并键盘敲回车执行
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
配置集群凭证,连接 ACK Serverless 集群
请复制下方命令,在终端应用中粘贴,并键盘敲回车执行
mkdir -p ~/.kube
8. 上传您家萌宠数据集
一、查看 Pod 名称
打开本地终端,复制以下命令并黏贴,敲键盘上回车键执行命令,可查看 Pod 名称。
kubectl get pod #获取Pod名称。
举例:
下图显示两个 pod,包含 Knative-sd-demo 的就是目标 pod,复制该 pod 名称即可(下图红框部分)
二、 确认数据集路径
在本实验第一步,即「准备您家萌宠数据集」步骤中,已指导您查看您家萌宠的数据集路径,并保存路径。请您再次确认数据集路径。如果您忘记保存路径,可以基于下方步骤操作即可。
查看本地数据集路径方法如下。
如果您电脑是 Mac 系统:
- 您可直接键盘 command+C,然后在终端 command+V
举例:
- 鼠标点击目标文件,如 Bob2,键盘同时按下 command+C
2. 打开本地终端,键盘同时按下 command+V,即可看到文件夹路径,即 /Users/XXXX/Downloads/Bob2 (如下截图)
如果您电脑是 Windows 系统:
您可右键单击文件夹,选择属性,找到目标文件bob所在的位置。例如 D:\
此时,需要先进入对应的目标文件夹下,然后再执行cp命令。
三、上传数据集
在本地终端复制以下命令并黏贴。注意:${local_data_set} 需要替换成您家萌宠的数据集路径,${pod_name}需要替换为您 Stable diffusion 的 pod 名称。
#请将下方 ${local_data_set} 替换为您的萌宠数据集路径。
#请将下方 ${local_data_set} 替换为您 Stable diffusion 的 pod 名称。
kubectl cp ${local_data_set} default/${pod_name}:/data/
举例:
下图红框中,是执行的命令,注意其中「/Users/yaxinli/Downloads/Bob」是替换后的数据集路径,「knative-sd-demo-00001-deployment-b979f7b65-d7dd4」是替换后的 pod 名称。
四、确认数据集上传成功
在本地终端复制以下命令并黏贴。注意:${pod_name}需要替换为您 Stable diffusion 的 pod 名称。
# 上传完毕后,确认上传是否完成
kubectl exec -it ${pod_name} -c stable-diffusion -- ls /data/
举例:
下图红框中,是执行的命令,注意其中「knative-sd-demo-00001-deployment-b979f7b65-d7dd4」是替换后的 pod 名
9. 训练您家萌宠模型
一、创建您的萌宠模型
在 Stable Diffusion 模型页面,根据图示操作步骤创建模型。Name 这里建议写您宠物名字,需要为英文,若没有英文名可以输入拼音,例如 bob 或 taozi。
模型创建耗时约1分钟,创建成功后Output如下图所示。注意:如果发现超过一分钟还没有出结果,请刷新页面,再次创建。Stable Diffusion 是开源的模型,开源 WebUI 可能会出现不稳定的情况,刷新页面即可。
二、训练您家萌宠专属模型
0. 解锁您家萌宠的 AI 形象!
一、使用您家萌宠专属模型生成图片
- 在 Stable Diffusion 模型页面左上方,点击刷新按钮,之后选择刚训练出的萌宠模型,如 bob/bob_380_lora_xxxx。
- 在界面上的「txt2img」对话框中输入Prompt(即关键词)。如: bob,cat,drink a cup of coffee,very detailed
注意:开源 Stable Diffusion 仅支持英文。以及 prompt 中的「bob,cat」这里请记得替换成您家宠物的名字和物种,如 beila,dog
下方列出一些 prompt 给您参考,您也可以充分发挥您的想象力来创作。
- bob,cat,wearing a golden crown
- bob,cat,diving
- bob,cat,sitting on a table,drinking coffee
- bob,cat,being an astronaut
- bob,cat,sitting on beach,enjoying sunset
二、下载生成的图片,并提交作品
保存图片,并访问【萌宠 AI 变身秀】页面,提交作品
- 选择已创建的模型。如 bob
- 在Settings页面,根据如下截图配置模型参数。
- 在Concepts页面,配置数据集路径Dataset Directory和一些文件关键字信息。注意:/data/是固定的,您输入即可,但是「Bob」需要替换成您自己的数据集名称,并且请注意大小写。如果您忘记了数据集名称,可以回到「上传您家萌宠数据集」步骤中,根据文档再次查看。
第3、4、5步,输入您宠物名字(拼音),以及宠物种类,如宠物叫 Bob,是猫,所以输入「bob,cat」。如您宠物叫贝拉,是狗,那就输入「beila,dog」。
- 配置完成后单击Train,开始训练。训练时间的长短,取决于图片数据集大小。一般来说,格式不是太大的图片,训练大约30-40分钟。
- 当Output区域,出现Training finished.Total lifetime steps表明训练已经完成。
特别提醒:
开源 Stable Diffusion 的 WebUI 可能会出现不稳定的情况,训练时页面有可能会卡住,您可以执行以下命令,通过日志查看训练进程。
替换以下 ${pod_name} 为您当前Pod的名称,您可以通过执行命令 kubectl get pod 获取当前 Pod 的名称。
kubectl logs ${pod_name} -c stable-diffusion
等待Steps为100%时,表明训练完成。
称。
执行成功后,可以看到返回结果中,包含数据集名字,如下图红色箭头所指,包含 Bob,代表 Bob 数据集已上传成功。
P.S. 「taozi」是内置的数据集,包含了一只名叫桃子的小猫的20张照片。如果您不想要准备自己的宠物数据集,但是想要体验容器化弹性部署、模型镜像加速拉取以及 Stable Diffusion 模型训练的过程,您可以直接使用 taozi 数据集来训练。
vi ~/.kube/config
举例
- 打开终端应用,复制上方命令,然后粘贴到终端,并在键盘上敲回车键,执行命令
- 出现以下结果,即打开空白文件
打开容器服务控制台
- 在集群列表页面,单击目标集群knative-sd-demo进入集群信息页面。
- 在集群信息页面,单击连接信息页签,选择公网访问,并复制公网访问凭证。
打开终端应用,将复制好的集群凭证,粘贴(command+c,command+v)至终端
举例
如下图
保存并退出(按下键盘ESC键,然后输入:wq,即可完成保存并退出 )。注意:输入「:wq」时要切换成英文输入法,否则可能产生无法输入或执行错误的情况。
举例
在终端中输入命令“kubectl get ns“,有预期输出说明已通过kubectl成功连接集群。
subjects: - kind: ServiceAccount name: portal-server namespace: default --- apiVersion: v1 kind: ServiceAccount metadata: name: portal-server namespace: default
- 在左侧导航栏,选择网络 > 服务。
- 在服务页面,查看portal-server服务,在外部端点列下获取访问IP。
- 点击您界面 portal server IP 123.56.XXXX 直接跳转,或在浏览器中输入http://123.56.XX.XX,然后在该页面单击Stable Diffusion跳转至Stable Diffusion访问页面。
注意:这个界面的 pod status 最开始是黄色,代表 pod 启动中,等变绿代表 pod 已起来。等 Ready :true 时,代表应用已启动。一般等待 1-2 分钟即可正常打开 Stable Diffusion 界面。
点击充值即可。由于实验涉及到的产品为后付费,要求账户余额不低于100元。若您体验完实验后,不需要使用其他产品,您也可以随时进行提现。
回到容器服务控制台页面,点击「重新检查」
【服务状态检查】显示「通过」,然后勾选服务协议,并点击创建集群。
负载均衡SLB
云数据库RDS MySQL版
云服务器ECS
负载均衡SLB
云数据库RDS MySQL版
1. 释放资源
注意:当您执行下操作释放全部资源,您的萌宠专属模型,以及未下载的图片,均会丢失。
当您释放资源时,请切记仔细按照文档每一步完成全部资源释放。
一、释放容器服务ACK Serverless集群
- 在集群列表页面,找到您已创建的ACK Serverless集群,在右侧操作列,选择更多 > 删除。
- 在删除集群面板中,选中同时删除集群下的ALB资源、同时删除集群下的PrivateZone资源、我已知晓以上信息并确认删除集群,然后单击确定。
- 输入手机验证码,然后单击确定,ASK Pro集群删除完成。
二、释放MSE云原生网关
- 登录MSE管理控制台。
- 在左侧导航栏,选择云原生网关 > 网关列表。
- 在网关列表页面,切换至网关所在地域华北2(北京)
- 然后在页面右侧的操作列,单击
- 图标,然后单击释放实例。
- 在释放面板中,选中是否同时删除网关创建时代购的SLB实例,然后单击确定,MSE云原生网关删除完成。
三、释放NAT网关
- 登录NAT网关管理控制台。
- 在左侧导航栏,选择概览,选择 NAT 网关,点击本次实验创建的华北2(北京)实例
- 点击页面更多操作,点击删除
2. 附:常见问题
问题1:Pod无法创建,报错NoStock
问题现象
Warning NoStock 65s EciService [eci.containergroup]Create ECI failed because the specified instance is out of stock. It is recommended to use the multi-zone creation function to avoid the risk of stockout. More info: https://help.aliyun.com/document_detail/157290.html
解决方案:
您可以通过API查询可用库存情况。具体操作,请参见DescribeAvailableResource - 查询可用ECS实例规格。
修改ECI配置,将Pod创建到资源充足的可用区。具体操作,请参见多可用区创建Pod。
问题2:训练页面刷新后无法重新进入
出现此现象,仅前端页面无法显示,后端训练还在继续。
您可以通过执行以下命令,查看训练进度。
kubectl logs stable-diffusion-0|grep "Steps:"
等待训练进度为100%时,单击模型刷新按钮,即可查看训练完成的模型。
问题3:如需重新训练新的模型,但Pod已缩容,该如何上传数据集?
30分钟如果没有请求,Pod就会自动缩容到0。此时您可以重新登录SD服务页面,触发Pod重建,然后将数据集上传到重建后的Pod中进行训练。
问题4:如果SD页面出现如下错误怎么办?
如果您训练过程中,出现如下页面提示,可等待刷新页面后,再去查看训练进度如果是100%,说明训练已完成,可直接进行下一步生成图片的操作。
如果您遇到任何
- 在删除网关面板中,选中强制删除(删除 NAT 网关及其包含资源),然后单击确定,NAT网关删除完成。
请您再次按照文档每一步检查,确认完成全部资源释放。