快消息!基于容器平台 ACK 快速搭建 Stable Diffusion
来源:阿里开发者      时间:2023年04月22日

1000w云上开发者 全栈云产品0元试用:点击


(资料图)

作者:子白

本文介绍如何在阿里云容器平台 ACK 上快速搭建一套可对外提供服务的 Stable Diffusion。

CPU 版本

前提条件

已创建 Kubernetes 托管版集群。具体操作,请参见创建 Kubernetes 托管版集群[1]。

无需 GPU,节点需要 8c16g 以上

已通过 kubectl 连接 kubernetes 集群。具体操作,请参见 通过 Kubectl 连接 Kubernetes 集群[2]

使用控制台创建

登录容器服务管理控制台[3],在左侧导航栏选择集群。 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。 在集群管理页左侧导航栏中,选择 工作负载 >无状态 。 在 无状态 页面中,单击 使用镜像创建 。 在 应用基本信息 配置向导页面中,设置应用的基本信息。
zibai-registry.cn-hangzhou.cr.aliyuncs.com/gpt/stable-diffusion:v1.cp
["python3", "launch.py"]["--listen", "--skip-torch-cuda-test", "--no-half"]

等待 pod ready

镜像大小为 12.7GB,内网下载约 10min

在集群管理页左侧导航栏中,选择 网络 >服务

新建服务,选择负载均衡类型。

等待约 1min 后,刷新页面可以看到 External IP 列有具体 IP

在浏览器中访问上一步获取到的 http://xxx.xxx.xxx.xxx:7860,即可看到如下页面。

Prompt:Black and white photo of a beautiful city

Sampling method:DPM++ SDE

使用 kubectl 创建

stable-diffusion.yaml

apiVersion: apps/v1kind: Deploymentmetadata:  labels:    app: stable-diffusion  name: stable-diffusion  namespace: defaultspec:  replicas: 1  selector:    matchLabels:      app: stable-diffusion  template:    metadata:      labels:        app: stable-diffusion    spec:      containers:      - args:        - --listen        - --skip-torch-cuda-test        - --no-half        command:        - python3        - launch.py        image: zibai-registry.cn-hangzhou.cr.aliyuncs.com/gpt/stable-diffusion:v1.cpu        imagePullPolicy: IfNotPresent        name: stable-diffusion        resources:          requests:            cpu: "2"            memory: 2Gi---apiVersion: v1kind: Servicemetadata:  annotations:    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internet    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: PayByCLCU  name: stable-diffusion  namespace: defaultspec:  externalTrafficPolicy: Local  ports:  - port: 7860    protocol: TCP    targetPort: 7860  selector:    app: stable-diffusion  type: LoadBalancer
kubectl apply -f stable-diffusion.yaml

等待 pod ready

镜像大小为 12.7GB,内网下载约 10min

# 查看pod状态,等待pod runningkubectl get po |grep stable-diffusion# 查看CLB IPkubectl get svc stable-diffusionNAME               TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)          AGEstable-diffusion   LoadBalancer   192.168.x.x     xx.xx.xx.xxx   7860:32320/TCP   12m

在浏览器中访问上一步获取到的 http://xxx.xxx.xxx.xxx:7860,即可看到如下页面。

Prompt:Black and white photo of a beautiful city

Sampling method:DPM++ SDE

GPU 版本

前提条件

已创建 Kubernetes 异构集群集群。具体操作,请参见创建托管 GPU 集群[4]。

需要 GPU 节点,磁盘剩余容量需大于 40G

已通过 kubectl 连接kubernetes集群。具体操作,请参见通过 Kubectl 连接 Kubernetes 集群。

使用 kubectl 创建

stable-diffusion.yaml

apiVersion: apps/v1kind: Deploymentmetadata:  labels:    app: stable-diffusion  name: stable-diffusion  namespace: defaultspec:  replicas: 1  selector:    matchLabels:      app: stable-diffusion  template:    metadata:      labels:        app: stable-diffusion    spec:      containers:      - args:        - --listen        command:        - python3        - launch.py        image: zibai-registry.cn-hangzhou.cr.aliyuncs.com/gpt/stable-diffusion:v1.gpu        imagePullPolicy: IfNotPresent        name: stable-diffusion        resources:          requests:            cpu: "2"            memory: 2Gi          limits:            nvidia.com/gpu: 1---apiVersion: v1kind: Servicemetadata:  annotations:    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internet    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: PayByCLCU  name: stable-diffusion  namespace: defaultspec:  externalTrafficPolicy: Local  ports:  - port: 7860    protocol: TCP    targetPort: 7860  selector:    app: stable-diffusion  type: LoadBalancer
kubectl apply -f stable-diffusion.yaml

等待 pod ready

镜像大小为 15.1GB,内网下载约 15min

# 查看pod状态,等待pod runningkubectl get po |grep stable-diffusion# 查看CLB IPkubectl get svc stable-diffusionNAME               TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)          AGEstable-diffusion   LoadBalancer   192.168.x.x     xx.xx.xx.xxx   7860:32320/TCP   12m

在浏览器中访问上一步获取到的 http://xxx.xxx.xxx.xxx:7860,即可看到如下页面。

Prompt:Black and white photo of a beautiful city

Sampling method:DPM++ SDE

GPU 版本的图片生成速度明显优于 CPU 版本。

注:镜像可拉取时间截止至 2023 年 5 月 17 日

镜像仓库地址:zibai-registry.cn-hangzhou.cr.aliyuncs.com/gpt/stable-diffusion

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

标签:
深度
国债逆回购在哪买?国债逆回购可以通过在证券公司开立的证券账户进行...
泰安银行属于什么银行?泰安银行是一家股份制城市商业银行。泰安银行...
余额宝双休日有收益吗?余额宝双休日也会获得收益的,前提是周末之前...
1号刷的花呗当月9号还吗?不用。账单日产生的消费,通常记录在下个月...
没有银行流水怎么贷款?没有银行流水可以自存流水、提供夫妻一方的流...
哪些保单可以进行保单质押贷款?可以进行保单质押贷款的保单需要具有...

X 关闭

X 关闭