before all

seldon core

Artifact

deploy

  1. # user kubeflow manifests
  2. kubectl create ns kubeflow
  3. # kubectl label ns kubeflow istio-injection=enabled
  4. kubectl apply -k base
  1. https://github.com/SeldonIO/seldon-core/tree/v1.4.0-release/operator
  2. make deploy-local

validate

knative serving

Artifact

deploy

  1. cat << EOF > ./istio-minimal-operator.yaml
  2. apiVersion: install.istio.io/v1alpha1
  3. kind: IstioOperator
  4. spec:
  5. values:
  6. global:
  7. proxy:
  8. autoInject: disabled
  9. useMCP: false
  10. # The third-party-jwt is not enabled on all k8s.
  11. # See: https://istio.io/docs/ops/best-practices/security/#configure-third-party-service-account-tokens
  12. jwtPolicy: first-party-jwt
  13. addonComponents:
  14. pilot:
  15. enabled: true
  16. components:
  17. ingressGateways:
  18. - name: istio-ingressgateway
  19. enabled: true
  20. EOF
  21. istioctl install -f istio-minimal-operator.yaml
  22. # ./istioctl x uninstall --purge
  1. kubectl create ns knative-serving
  2. kubectl label namespace knative-serving istio-injection=enabled
  3. # install knative serving V0.19.0
  4. kubectl apply --filename https://github.com/knative/serving/releases/download/v0.19.0/serving-crds.yaml
  5. kubectl apply --filename https://github.com/knative/serving/releases/download/v0.19.0/serving-core.yaml
  6. # install controller for istio
  7. kubectl apply --filename https://github.com/knative/net-istio/releases/download/v0.19.0/release.yaml
  8. # validate
  9. kubectl get pods --namespace knative-serving
kubectl edit cm config-domain --namespace knative-serving

apiVersion: v1
data:
  svc.transwarp.local: ""
kind: ConfigMap
metadata:
  XX
# todo
kubectl apply -f cert-manager.yaml
# install kfserving
wget https://raw.githubusercontent.com/kubeflow/kfserving/master/install/v0.4.1/kfserving.yaml
kubectl apply -f kfserving.yaml
export INGRESS_HOST=$(kubectl get po -l istio=ingressgateway -n istio-system -o jsonpath='{.items[0].status.hostIP}')
export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')

echo $INGRESS_HOST
echo $INGRESS_PORT

Pipeline

archi

pipelines-architecture.png

deploy

# git url: https://github.com/kubeflow/pipelines/tree/1.2.0/manifests/kustomize
# pipeline 默认安装在kubeflow namespace中
kubectl create ns kubeflow

gunzip pipelines-1.2.0.zip
cd pipelines-1.2.0/manifests/kustomize
# 安装pipeline自定义资源
kubectl apply -k cluster-scoped-resources/
kubectl wait crd/applications.app.k8s.io --for condition=established --timeout=60s

# 安装pipeline应用
kubectl apply -k env/platform-agnostic/
kubectl wait applications/pipeline -n kubeflow --for condition=Ready --timeout=1800s

# 确认安装进度
kubectl get po -nkubeflow
# 可以使用pipeline-ui的svc访问界面
kubectl get svc ml-pipeline-ui -nkubeflow

kubectl port-forward --address localhost -n kubeflow svc/ml-pipeline-ui 8080:80

image.png
image.png
image.png

validatea