kservert安装部署
1.版本要求
|
Kubernetes Version
|
Recommended Istio Version
|
|---|---|
| 1.27 | 1.18, 1.19 |
| 1.28 | 1.19, 1.20 |
| 1.29 | 1.20, 1.21 |
2.安装istio,cert manager(master1)
#安装istio wget https://github.com/istio/istio/releases/download/1.23.3/istioctl-1.23.3-linux-amd64.tar.gz tar -zxvf istio-1.23.3-linux-amd64.tar.gz cd ./istio-1.23.3/bin mv istioctl /usr/local/bin/ istioctl install#ingress-controller 安装apiVersion: networking.k8s.io/v1kind: IngressClassmetadata: name: istiospec: controller: istio.io/ingress-controllerkubectl apply -f istio_ingress.yaml#安装cert managerkubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.16.1/cert-manager.yamlkubectl get pods --namespace cert-manager |
3.安装knative
kubectl apply -f https://github.com/knative/operator/releases/download/knative-v1.16.0/operator.yaml#查看是否部署成功 kubectl get deployment -n knative-operator#安装kantive serverapiVersion: v1kind: Namespacemetadata: name: knative-serving---apiVersion: operator.knative.dev/v1beta1kind: KnativeServingmetadata: name: knative-serving namespace: knative-servingkubectl apply -f kanative-server.yaml#验证kubectl get deployment -n knative-servingkubectl get KnativeServing knative-serving -n knative-serving#安装knative eventapiVersion: v1kind: Namespacemetadata: name: knative-eventing---apiVersion: operator.knative.dev/v1beta1kind: KnativeEventingmetadata: name: knative-eventing namespace: knative-eventingkubectl apply -f kanative-event.yaml#验证kubectl get deployment -n knative-eventingkubectl get KnativeEventing knative-eventing -n knative-eventing |
4.安装kserver
kubectl apply -f https://github.com/kserve/kserve/releases/download/v0.13.0/kserve.yaml#验证kubectl create namespace kserve-testkubectl apply -n kserve-test -f - <<EOFapiVersion: "serving.kserve.io/v1beta1"kind: "InferenceService"metadata: name: "sklearn-iris"spec: predictor: model: modelFormat: name: sklearn storageUri: "gs://kfserving-examples/models/sklearn/1.0/model"EOF#检查kubectl get inferenceservices sklearn-iris -n kserve-test#确定入口 IP 和端口kubectl get svc istio-ingressgateway -n istio-system#如果设置了 EXTERNAL-IP 值,则您的环境有一个外部负载均衡器,可以将其用于入口网关。export INGRESS_HOST=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].port}')#进行推理cat <<EOF > "./iris-input.json"{ "instances": [ [6.8, 2.8, 4.8, 1.4], [6.0, 3.4, 4.5, 1.6] ]}EOF#验证预测curl -v -H "Content-Type: application/json" http://sklearn-iris.kserve-test.${CUSTOM_DOMAIN}/v1/models/sklearn-iris:predict -d @./iris-input.json#运行性能测试kubectl create -f https://raw.githubusercontent.com/kserve/kserve/release-0.11/docs/samples/v1beta1/sklearn/v1/perf.yaml -n kserve-testkubectl logs load-test8b58n-rgfxr -n kserve-test |
浙公网安备 33010602011771号