To use klever, you MUST install some dependent components as follows:
Please take a look at istio installation
According to Seldon Core official documentation, it support install by helm, please refer install seldon-core by helm.
But for klever, we only support istio, not support ambassador, and not support executor mode, since it MUST install by this manual, and then you can run klever-model-registry and klever-modejob-operator successfully.
$ kubectl create namespace seldon-system
$ helm install seldon-core seldon-core-operator \
--repo https://storage.googleapis.com/seldon-charts \
--set usageMetrics.enabled=true \
--set istio.enabled=true \
--set istio.gateway=istio-system/kleveross-gateway \
--set ambassador.enabled=false \
--set executor.enabled=false \
--set defaultUserID=0 \
--set image.registry=ghcr.io \
--set image.repository=kleveross/seldon-core-operator \
--set image.tag=0.1.0 \
--set storageInitializer.image=ghcr.io/kleveross/klever-ormb-storage-initializer:v0.0.6 \
--set predictiveUnit.defaultEnvSecretRefName=ormb \
--namespace seldon-system
Harbor is registry for the training model in klever-model-registry, please refer to the installation of Harbor harbor-helm installation
There are install case.
$ kubectl create namespace harbor-system
$ helm install harbor harbor/harbor \
--repo https://helm.goharbor.io \
--set expose.nodePort.ports.http.nodePort=30022 \
--set expose.type=nodePort \
--set expose.tls.enabled=false \
--set trivy.enabled=false \
--set notary.enabled=false \
--set persistence.enabled=false \
--set trivy.ignoreUnfixed=true \
--set trivy.insecure=true \
--set externalURL=http://{masterIP}:30022 \
--namespace harbor-system
$ kubectl create namespace kleveross-system
$ git clone https://github.com/kleveross/klever-model-registry
$ cd klever-model-registry/manifests
$ helm install klever-model-registry ./model-registry --namespace=kleveross-system --set ormb.domain={harbor address} --set externalAddress={model-registry-external-address} --set service.nodePort={port}
$ helm install klever-modeljob-operator ./modeljob-operator --namespace=kleveross-system --set ormb.domain={harbor address} --set model.registry.address={model-registry-internal-address}
Key | Comments |
---|---|
ormb.domain | It is harbor address, if harbor install in k8s cluster, the value is harbor-harbor-core.harbor-system(it is harbor core Service address), the default value is ok, don't set it again. If harbor install out of k8s cluster, should set it harbor's address, e.g. demo.goharbor.io |
externalAddress | externalAddress is address for klever-model-registry, it is exposed out of k8s cluster. |
service.nodePort | It is the port for klever-model-registry's Service, and it is exposed out of k8s cluster, it should be match with externalAddress's port. |
Key | Comments |
---|---|
ormb.domain | It is harbor address, if harbor install in k8s cluster, the value is harbor-harbor-core.harbor-system(it is harbor core Service address), the default value is ok, don't set it again. If harbor install out of k8s cluster, should set it harbor's address, e.g. demo.goharbor.io |
model.registry.address | It is klever-model-registry's address, Using default is ok. |