Skip to content

Commit

Permalink
Update ModelMesh version to v0.11.0-rc0 (kubeflow#2969)
Browse files Browse the repository at this point in the history
* Update ModelMesh version to v0.11.0-rc0

Signed-off-by: Rafael Vasquez <raf.vasquez@ibm.com>

* Update torchserve

Signed-off-by: Rafael Vasquez <raf.vasquez@ibm.com>

* update setup

Signed-off-by: Rafael Vasquez <raf.vasquez@ibm.com>

* Update ModelMesh scripts

Signed-off-by: Christian Kadner <ckadner@us.ibm.com>

* Add Webhook and Certificate for HPA

Signed-off-by: Christian Kadner <ckadner@us.ibm.com>

* Remove duplicated "selfsigned-issuer"

Signed-off-by: Christian Kadner <ckadner@us.ibm.com>

---------

Signed-off-by: Rafael Vasquez <raf.vasquez@ibm.com>
Signed-off-by: Christian Kadner <ckadner@us.ibm.com>
Co-authored-by: Christian Kadner <ckadner@us.ibm.com>
  • Loading branch information
rafvasq and ckadner authored Jun 24, 2023
1 parent 913e7e4 commit 1314130
Show file tree
Hide file tree
Showing 12 changed files with 130 additions and 17 deletions.
17 changes: 17 additions & 0 deletions charts/kserve-resources/templates/modelmesh/certificate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{{- if .Values.kserve.modelmesh.enabled }}
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: modelmesh-webhook-server-cert
namespace: {{ .Release.Namespace }}
spec:
commonName: modelmesh-webhook-server-service.{{ .Release.Namespace }}.svc
dnsNames:
- modelmesh-webhook-server-service.{{ .Release.Namespace }}.svc
- modelmesh-webhook-server-service.{{ .Release.Namespace }}.svc.cluster.local
issuerRef:
kind: Issuer
name: selfsigned-issuer
secretName: modelmesh-webhook-server-cert
{{- end }}
13 changes: 13 additions & 0 deletions charts/kserve-resources/templates/modelmesh/clusterrole.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ rules:
- ""
resources:
- endpoints
- persistentvolumeclaims
verbs:
- get
- list
Expand Down Expand Up @@ -188,4 +189,16 @@ rules:
- get
- patch
- update
- apiGroups:
- autoscaling
resources:
- horizontalpodautoscalers
- horizontalpodautoscalers/status
verbs:
- get
- list
- watch
- create
- delete
- update
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ metadata:
app.kubernetes.io/instance: modelmesh-controller
app.kubernetes.io/managed-by: modelmesh-controller
app.kubernetes.io/name: modelmesh-controller
name: modelmesh-serving-mlserver-0.x-SR
name: mlserver-0.x
name: modelmesh-serving-mlserver-1.x-SR
name: mlserver-1.x
spec:
builtInAdapter:
serverType: mlserver
runtimeManagementPort: 8001
memBufferBytes: 134217728
modelLoadingTimeoutMillis: 90000
runtimeManagementPort: 8001
serverType: mlserver
containers:
- env:
- name: MLSERVER_MODELS_DIR
Expand All @@ -31,15 +31,15 @@ spec:
value: 127.0.0.1
- name: MLSERVER_GRPC_MAX_MESSAGE_LENGTH
value: "-1"
image: seldonio/mlserver:0.5.2
image: seldonio/mlserver:1.3.2
name: mlserver
resources:
limits:
cpu: "5"
memory: 1Gi
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: "5"
memory: 1Gi
grpcDataEndpoint: port:8001
grpcEndpoint: port:8085
multiModel: true
Expand Down Expand Up @@ -134,7 +134,7 @@ spec:
--strict-readiness=false
--allow-http=true
--allow-sagemaker=false
image: nvcr.io/nvidia/tritonserver:21.06.1-py3
image: nvcr.io/nvidia/tritonserver:23.04-py3
livenessProbe:
exec:
command:
Expand Down Expand Up @@ -203,7 +203,7 @@ spec:
grpcDataEndpoint: "port:7070"
containers:
- name: torchserve
image: pytorch/torchserve:0.6.0-cpu
image: pytorch/torchserve:0.7.1-cpu
args:
# Adapter creates the config file; wait for it to exist before starting
- while [ ! -e "$TS_CONFIG_FILE" ]; do echo "waiting for config file..."; sleep 1; done;
Expand Down
15 changes: 13 additions & 2 deletions charts/kserve-resources/templates/modelmesh/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ spec:
initialDelaySeconds: 15
periodSeconds: 10
name: manager
ports:
- containerPort: 9443
name: webhook
protocol: TCP
readinessProbe:
httpGet:
path: /readyz
Expand All @@ -82,11 +86,18 @@ spec:
- mountPath: /etc/model-serving/config/default
name: config-defaults
readOnly: true
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: modelmesh-webhook-server-cert
readOnly: true
serviceAccountName: modelmesh-controller
terminationGracePeriodSeconds: 10
volumes:
- configMap:
- name: config-defaults
configMap:
defaultMode: 420
name: model-serving-config-defaults
name: config-defaults
- name: modelmesh-webhook-server-cert
secret:
defaultMode: 420
secretName: modelmesh-webhook-server-cert
{{- end }}
23 changes: 23 additions & 0 deletions charts/kserve-resources/templates/modelmesh/networkpolicy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,27 @@ spec:
app.kubernetes.io/managed-by: modelmesh-controller
policyTypes:
- Ingress

---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
labels:
app.kubernetes.io/instance: modelmesh-controller
app.kubernetes.io/managed-by: modelmesh-controller
app.kubernetes.io/name: modelmesh-controller
name: modelmesh-webhook
spec:
podSelector:
matchLabels:
app.kubernetes.io/managed-by: modelmesh-controller
control-plane: modelmesh-controller
ingress:
# exposed for webhook
- ports:
- port: 9443
protocol: TCP
policyTypes:
- Ingress

{{- end }}
15 changes: 15 additions & 0 deletions charts/kserve-resources/templates/modelmesh/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{{- if .Values.kserve.modelmesh.enabled }}
---
apiVersion: v1
kind: Service
metadata:
name: modelmesh-webhook-server-service
namespace: {{ .Release.Namespace }}
spec:
ports:
- port: 9443
protocol: TCP
targetPort: webhook
selector:
control-plane: modelmesh-controller
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{{- if .Values.kserve.modelmesh.enabled }}
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: servingruntime.serving.kserve.io
annotations:
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/modelmesh-webhook-server-cert
webhooks:
- admissionReviewVersions:
- v1
clientConfig:
caBundle: Cg==
service:
name: modelmesh-webhook-server-service
namespace: {{ .Release.Namespace }}
path: /validate-serving-modelmesh-io-v1alpha1-servingruntime
port: 9443
failurePolicy: Fail
name: servingruntime.modelmesh-webhook-server.default
rules:
- apiGroups:
- serving.kserve.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- clusterservingruntimes
sideEffects: None
{{- end }}
2 changes: 1 addition & 1 deletion charts/kserve-resources/values.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
kserve:
version: &defaultVersion v0.11.0-rc0
modelmeshVersion: &defaultModelMeshVersion v0.10.0
modelmeshVersion: &defaultModelMeshVersion v0.11.0-rc0
agent:
image: kserve/agent
tag: *defaultVersion
Expand Down
4 changes: 2 additions & 2 deletions hack/install_kserve_mm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ export CTLR_NS="kserve"
export USER_NS=$(kubectl config get-contexts $(kubectl config current-context) |tail -1|awk '{ print $5 }')
export user_ns_array=()
export C_DIR="$PWD"
export KSERVE_BRANCH="release-0.10"
export MMS_BRANCH="release-0.10"
export KSERVE_BRANCH="release-0.11"
export MMS_BRANCH="release-0.11"

while (($# > 0)); do
case "$1" in
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/helm/test_model_mesh_sklearn.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def test_sklearn_modelmesh():
config_file=os.environ.get("KUBECONFIG", "~/.kube/config"))
kserve_client.create(isvc)
kserve_client.wait_isvc_ready(service_name)
pods = kserve_client.core_api.list_namespaced_pod("default", label_selector="name=modelmesh-serving-mlserver-0.x")
pods = kserve_client.core_api.list_namespaced_pod("default", label_selector="name=modelmesh-serving-mlserver-1.x")

pod_name = pods.items[0].metadata.name
res = predict_modelmesh(service_name, "./data/mm_sklearn_input.json", pod_name)
Expand Down
2 changes: 1 addition & 1 deletion test/scripts/gh-actions/setup-kserve-helm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ cat ./charts/kserve-resources/values.yaml
make deploy-helm

echo "Updating modelmesh default replicas count..."
kubectl patch clusterservingruntimes mlserver-0.x --type='merge' -p '{"spec":{"replicas":1}}'
kubectl patch clusterservingruntimes mlserver-1.x --type='merge' -p '{"spec":{"replicas":1}}'

echo "Get events of all pods ..."
kubectl get events -A
Expand Down
2 changes: 2 additions & 0 deletions test/scripts/gh-actions/setup-modelmesh-dep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ spec:
containers:
- command:
- etcd
- --data-dir
- /tmp/etcd.data
- --listen-client-urls
- http://0.0.0.0:2379
- --advertise-client-urls
Expand Down

0 comments on commit 1314130

Please sign in to comment.