feat: add gpuResource config
This commit is contained in:
parent
0abcf133de
commit
db6c521068
|
@ -15,7 +15,7 @@ type: application
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# This is the chart version. This version number should be incremented each time you make changes
|
||||||
# to the chart and its templates, including the app version.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: 0.1.0
|
version: 0.1.1
|
||||||
|
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application. Versions are not expected to
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
# Helm Chart for AILab demo API
|
||||||
|
|
||||||
|
> 注:所有Demo能力需要部署在`default`命名空间下,才能使用`keda-http-add-on`代理服务。
|
||||||
|
|
||||||
|
## 快速使用
|
||||||
|
|
||||||
|
1、指定Demo能力镜像和服务端口
|
||||||
|
|
||||||
|
```shell
|
||||||
|
helm upgrade -n default --install hf-gan --set image.repository="artifacts.iflytek.com/docker-private/atp/aicloud/hf_fully_body_anime_gan" \
|
||||||
|
--set image.tag="1fc7e9b8c0" --set image.pullPolicy=Always --set service.port=7860 .
|
||||||
|
```
|
||||||
|
|
||||||
|
2、指定Demo能力GPU规格
|
||||||
|
|
||||||
|
> GPU机器需要包含`gpushare`、`gputype`和`gpudrive`等标签。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
helm upgrade -n default --install hf-gan --set image.repository="artifacts.iflytek.com/docker-private/atp/aicloud/hf_fully_body_anime_gan" \
|
||||||
|
--set image.tag="1fc7e9b8c0" --set image.pullPolicy=Always --set service.port=7860 \
|
||||||
|
--set gpuResource.enable=true,gpuResource.type="{t4,p4}",gpuResource.driverVersion="{515}" .
|
||||||
|
```
|
||||||
|
|
||||||
|
3、查看渲染后的部署清单
|
||||||
|
|
||||||
|
```shell
|
||||||
|
helm template demo01 --set gpuResource.enable=true --set gpuResource.type="{t4}",gpuResource.driverVersion="{515,418}" .
|
||||||
|
```
|
||||||
|
|
||||||
|
## 部署清单
|
||||||
|
|
||||||
|
### 资源列表
|
||||||
|
|
||||||
|
- ServiceAccount
|
||||||
|
- Deployment
|
||||||
|
- Ingress
|
||||||
|
- Service
|
||||||
|
- HTTPScaledObject
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
查看文件[values.yaml](values.yaml)。
|
|
@ -67,3 +67,43 @@ Create the url path of service
|
||||||
{{- define "demo-chart.path" -}}
|
{{- define "demo-chart.path" -}}
|
||||||
{{ .Values.pathPrefix }}/{{ .Release.Name }}
|
{{ .Values.pathPrefix }}/{{ .Release.Name }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the GPUNodeAffinity of service
|
||||||
|
*/}}
|
||||||
|
{{- define "demo-chart.GPUNodeAffinity" -}}
|
||||||
|
{{- if .Values.gpuResource.enable -}}
|
||||||
|
nodeAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: gpushare
|
||||||
|
operator: In
|
||||||
|
values: ["true"]
|
||||||
|
{{- if .Values.gpuResource.type }}
|
||||||
|
- key: gputype
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
{{- range .Values.gpuResource.type }}
|
||||||
|
- {{ . | upper }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.gpuResource.driverVersion }}
|
||||||
|
- key: gpudrive
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
{{- range .Values.gpuResource.driverVersion }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else -}}
|
||||||
|
nodeAffinity:
|
||||||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- preference:
|
||||||
|
matchExpressions:
|
||||||
|
- key: gpushare
|
||||||
|
operator: NotIn
|
||||||
|
values: ["true"]
|
||||||
|
weight: 100
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -49,10 +49,8 @@ spec:
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.affinity }}
|
|
||||||
affinity:
|
affinity:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- include "demo-chart.GPUNodeAffinity" . | nindent 8 }}
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.tolerations }}
|
{{- with .Values.tolerations }}
|
||||||
tolerations:
|
tolerations:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
|
|
|
@ -10,7 +10,7 @@ spec:
|
||||||
- host: {{ .Values.host }}
|
- host: {{ .Values.host }}
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- path: {{ include "demo-chart.path" . }}
|
- path: {{ include "demo-chart.path" . }}/
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
backend:
|
backend:
|
||||||
service:
|
service:
|
||||||
|
|
12
values.yaml
12
values.yaml
|
@ -67,6 +67,15 @@ resources: {}
|
||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
|
|
||||||
|
# GPU resource configuration
|
||||||
|
gpuResource:
|
||||||
|
# Specifies whether a GPU resource should be requested
|
||||||
|
enable: false
|
||||||
|
# Specifies the node GPU type list should be scheduled, maybe T4, P4, A100
|
||||||
|
type: []
|
||||||
|
# Specifies the GPU driver version list should be scheduled, maybe 418, 440, 515
|
||||||
|
driverVersion: []
|
||||||
|
|
||||||
autoscaling:
|
autoscaling:
|
||||||
http:
|
http:
|
||||||
minReplicas: 0
|
minReplicas: 0
|
||||||
|
@ -76,4 +85,5 @@ nodeSelector: {}
|
||||||
|
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
|
||||||
affinity: {}
|
# Temporarily unconfigurable
|
||||||
|
# affinity: {}
|
||||||
|
|
Loading…
Reference in New Issue