此处为安装kubeflow 1.0.2版本的教程,其他版本仅作为参考。

准备工作

如果没有配置docker访问外网代理,可以参考离线安装docker配置代理部分
如果没有安装kubernetes集群,可以参考离线使用kubeadm安装kubernetes集群

下载需要的资源

1.从https://github.com/kubeflow/kfctl/releases/下载v1.0.2版本对应的kfctl二进制文件:
在这里插入图片描述
解压安装包并添加到执行路径:

tar -xvf kfctl_v1.0.2-0-ga476281_linux.tar.gz
sudo cp kfctl /usr/bin

2.由于生产服务器访问外网速度受限,可以在个人机器上下载manifests工具包到/root路径:

wget https://github.com/kubeflow/manifests/archive/v1.0.2.tar.gz

3.从https://github.com/kubeflow/manifests/blob/v1.0-branch/kfdef/kfctl_k8s_istio.v1.0.2.yaml拷贝yaml文件到本地/root路径;
修改yaml文件,将使用manifests文件从远程改为本地:
在这里插入图片描述

4.手动下载安装kubeflow所需镜像文件:
为了避免安装kubeflow过程中出现的各种奇葩错误和漫长的等待,在此推荐采用手动的方式,先将安装所必须的镜像文件下载到docker:

# pull istio images
docker pull istio/sidecar_injector:1.1.6
docker pull istio/proxyv2:1.1.6
docker pull istio/proxy_init:1.1.6
docker pull istio/pilot:1.1.6
docker pull istio/mixer:1.1.6
docker pull istio/galley:1.1.6
docker pull istio/citadel:1.1.6

# pull ml-pipeline images
docker pull gcr.io/ml-pipeline/viewer-crd-controller:0.2.5
docker pull gcr.io/ml-pipeline/api-server:0.2.5
docker pull gcr.io/ml-pipeline/frontend:0.2.5
docker pull gcr.io/ml-pipeline/visualization-server:0.2.5
docker pull gcr.io/ml-pipeline/scheduledworkflow:0.2.5
docker pull gcr.io/ml-pipeline/persistenceagent:0.2.5
docker pull gcr.io/ml-pipeline/envoy:metadata-grpc

# pull kubeflow-images-public images
docker pull gcr.io/kubeflow-images-public/profile-controller:v1.0.0-ge50a8531
docker pull gcr.io/kubeflow-images-public/notebook-controller:v1.0.0-gcd65ce25
docker pull gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:v0.8.0
docker pull gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:v0.8.0
docker pull gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:v0.8.0
docker pull gcr.io/kubeflow-images-public/jupyter-web-app:v1.0.0-g2bd63238
docker pull gcr.io/kubeflow-images-public/centraldashboard:v1.0.0-g3ec0de71
docker pull gcr.io/kubeflow-images-public/tf_operator:v1.0.0-g92389064
docker pull gcr.io/kubeflow-images-public/pytorch-operator:v1.0.0-g047cf0f
docker pull gcr.io/kubeflow-images-public/kfam:v1.0.0-gf3e09203
docker pull gcr.io/kubeflow-images-public/admission-webhook:v1.0.0-gaf96e4e3
docker pull gcr.io/kubeflow-images-public/metadata:v0.1.11
docker pull gcr.io/kubeflow-images-public/metadata-frontend:v0.1.8
docker pull gcr.io/kubeflow-images-public/kubernetes-sigs/application:1.0-beta
docker pull gcr.io/kubeflow-images-public/ingress-setup:latest

# pull knative-releases images
docker pull gcr.io/knative-releases/knative.dev/serving/cmd/activator:<none>
docker pull gcr.io/knative-releases/knative.dev/serving/cmd/webhook:<none>
docker pull gcr.io/knative-releases/knative.dev/serving/cmd/controller:<none>
docker pull gcr.io/knative-releases/knative.dev/serving/cmd/networking/istio:<none>
docker pull gcr.io/knative-releases/knative.dev/serving/cmd/autoscaler-hpa:<none>
docker pull gcr.io/knative-releases/knative.dev/serving/cmd/autoscaler:<none>

# pull extra images
docker pull gcr.io/kfserving/kfserving-controller:0.2.2
docker pull gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
docker pull gcr.io/spark-operator/spark-operator:v1beta2-1.0.0-2.4.4
docker pull gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0
docker pull gcr.io/google_containers/spartakus-amd64:v1.1.0

# pull argoproj images
docker pull argoproj/workflow-controller:v2.3.0
docker pull argoproj/argoui:v2.3.0

配置环境部署kubeflow

export BASE_DIR=/data/
export KF_NAME=my-kubeflow
export KF_DIR=${BASE_DIR}/${KF_NAME}
export CONFIG_FILE="/root/kfctl_k8s_istio.v1.0.2.yaml"
mkdir -p ${KF_DIR}
cd ${KF_DIR}
kfctl build -V -f ${CONFIG_FILE}
kfctl apply -V -f ${CONFIG_FILE}

如果显示如需下图的警告,则继续等待:
在这里插入图片描述
如果显示报错,是由于cert-manager和istio-system镜像安装需要时间,等待一段时间重新执行 kfctl apply -V -f ${CONFIG_FILE}
正常输出完日志即表示镜像安装完成,接下来等待pod安装完毕即可:
如果kubeflow的pod出现下图中的running状态即表示kubeflow安装完成:
在这里插入图片描述
如果有一些pod还在安装则耐心等待即可

启动kubeflow ui

如果以上部分正常走完,接下来使用k8s端口转发启动ui即可:

# 端口转发等待时长1 month
nohup kubectl port-forward -n istio-system svc/istio-ingressgateway 8088:80 --pod-running-timeout=720h --address=0.0.0.0 &

接下来去访问你的ui即可: http://hostip:8088

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐