KubeFlow 1.2.0鏡像緩存(持續更新)

KubeFlow 1.2.0鏡像比較多,存在多個docker倉庫中,其中部分訪問不可達。這裏介紹其緩存方法,可以加速KubeFlow部署的過程。本文實現了一個鏡像名稱的自動提取腳本。

1、準備配置文件

wget https://raw.githubusercontent.com/kubeflow/manifests/v1.2-branch/kfdef/kfctl_k8s_istio.v1.2.0.yaml

修改其中的 manifest source爲本地文件(先下載到本地):

  repos:
  - name: manifests
    uri: file:/home/supermap/openthings/kubeflow/v1.2.0.tar.gz
  version: v1.2-branch

改完後的kfctl_k8s_istio.v1.2.0.yaml長這樣:

apiVersion: kfdef.apps.kubeflow.org/v1
kind: KfDef
metadata:
  clusterName: kubernetes
  creationTimestamp: null
  name: kubeflow
  namespace: kubeflow
spec:
  applications:
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: namespaces/base
    name: namespaces
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: application/v3
    name: application
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/kubernetes/application/istio-1-3-1-stack
    name: istio-stack
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/kubernetes/application/cluster-local-gateway-1-3-1
    name: cluster-local-gateway
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: istio/istio/base
    name: istio
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/kubernetes/application/cert-manager-crds
    name: cert-manager-crds
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/kubernetes/application/cert-manager-kube-system-resources
    name: cert-manager-kube-system-resources
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/kubernetes/application/cert-manager
    name: cert-manager
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/kubernetes/application/add-anonymous-user-filter
    name: add-anonymous-user-filter
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: metacontroller/base
    name: metacontroller
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: admission-webhook/bootstrap/overlays/application
    name: bootstrap
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/kubernetes/application/spark-operator
    name: spark-operator
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/kubernetes
    name: kubeflow-apps
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: knative/installs/generic
    name: knative
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: kfserving/installs/generic
    name: kfserving
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/kubernetes/application/spartakus
    name: spartakus
  repos:
  - name: manifests
    uri: file:/home/supermap/openthings/kubeflow/v1.2.0.tar.gz
  version: v1.2-branch
status:
  reposCache:
  - localPath: '".cache/manifests/manifests-1.2.0"'
    name: manifests

把其中的 manifest下載下來:

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

然後,執行安裝到Kubernetes集羣:

kubectl apply -f kfctl_k8s_istio.v1.2.0.yaml

安裝完後,會發現kubectl get pod -n kubeflow得到的pod沒有正常啓動,主要是因爲鏡像下載失敗。

2、創建鏡像緩存腳本

下一步我們創建腳本,把鏡像緩存到本地。下面是使用Jupyter Lab來完成的腳本。

  • 提取deployment的鏡像:
%%bash
#提取deployment的鏡像
depl=$(kubectl get deployment -n kubeflow -oname)
echo "#deployment " > imgs_list.txt
for d in ${depl}
do
    dimgs=$(kubectl describe $d -n kubeflow | grep "Image")
    dimg=(${dimgs//: / }) #(${dimgs//:/})
    #echo $dimg
    image_name=${dimg[1]}
    echo "docker pull "$image_name >> imgs_list.txt
    echo "docker tag "$image_name >> imgs_list.txt
done
  • 提取replicaset的鏡像:
%%bash
#提取replicaset的鏡像
depl=$(kubectl get replicaset -n kubeflow -oname)
echo "#replicaset " >> imgs_list.txt
for d in ${depl}
do
    dimgs=$(kubectl describe $d -n kubeflow | grep "Image")
    dimg=(${dimgs//: / }) #(${dimgs//:/})
    #echo $dimg
    image_name=${dimg[1]}
    echo "docker pull "$image_name >> imgs_list.txt
    echo "docker tag "$image_name >> imgs_list.txt
done
  • 提取statefulset的鏡像:
%%bash
#提取statefulset的鏡像
depl=$(kubectl get statefulset -n kubeflow -oname)
echo "#statefulset " >> imgs_list.txt
for d in ${depl}
do
    dimgs=$(kubectl describe $d -n kubeflow | grep "Image")
    dimg=(${dimgs//: / }) #(${dimgs//:/})
    #echo $dimg
    image_name=${dimg[1]}
    echo "docker pull "$image_name >> imgs_list.txt
    echo "docker tag "$image_name >> imgs_list.txt
done

通過上面的操作,所有kubeflow需要的鏡像名稱被提取到了imgs_list.txt文件中。

3、pull images list 以及 push 到 aliyun

修改腳本,把鏡像pull下來,然後push到aliyun的鏡像倉庫,其它節點就可以從aliyun直接拉取了。

注意:以下腳本需要修改成自己的鏡像倉庫名稱,有的倉庫需要提前登錄。

#deployment 
docker pull gcr.io/kubeflow-images-public/admission-webhook:vmaster-ge5452b6f
docker tag gcr.io/kubeflow-images-public/admission-webhook:vmaster-ge5452b6f xxx
docker pull argoproj/argoui:v2.3.0
docker tag argoproj/argoui:v2.3.0
docker pull gcr.io/ml-pipeline/cache-deployer:1.0.4
docker tag gcr.io/ml-pipeline/cache-deployer:1.0.4
docker pull gcr.io/ml-pipeline/cache-server:1.0.4
docker tag gcr.io/ml-pipeline/cache-server:1.0.4
docker pull gcr.io/kubeflow-images-public/centraldashboard:vmaster-g8097cfeb
docker tag gcr.io/kubeflow-images-public/centraldashboard:vmaster-g8097cfeb
docker pull gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
docker tag gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
docker pull docker.io/kubeflowkatib/katib-controller:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-controller:v1beta1-a96ff59
docker pull docker.io/kubeflowkatib/katib-db-manager:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-db-manager:v1beta1-a96ff59
docker pull mysql:8
docker tag mysql:8
docker pull docker.io/kubeflowkatib/katib-ui:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-ui:v1beta1-a96ff59
docker pull python:3.7
docker tag python:3.7
docker pull mysql:8.0.3
docker tag mysql:8.0.3
docker pull gcr.io/ml-pipeline/envoy:metadata-grpc
docker tag gcr.io/ml-pipeline/envoy:metadata-grpc
docker pull gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
docker tag gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
docker pull gcr.io/ml-pipeline/metadata-writer:1.0.4
docker tag gcr.io/ml-pipeline/metadata-writer:1.0.4
docker pull gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance
docker tag gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance
docker pull gcr.io/ml-pipeline/api-server:1.0.4
docker tag gcr.io/ml-pipeline/api-server:1.0.4
docker pull gcr.io/ml-pipeline/persistenceagent:1.0.4
docker tag gcr.io/ml-pipeline/persistenceagent:1.0.4
docker pull gcr.io/ml-pipeline/scheduledworkflow:1.0.4
docker tag gcr.io/ml-pipeline/scheduledworkflow:1.0.4
docker pull gcr.io/ml-pipeline/frontend:1.0.4
docker tag gcr.io/ml-pipeline/frontend:1.0.4
docker pull gcr.io/ml-pipeline/viewer-crd-controller:1.0.4
docker tag gcr.io/ml-pipeline/viewer-crd-controller:1.0.4
docker pull gcr.io/ml-pipeline/visualization-server:1.0.4
docker tag gcr.io/ml-pipeline/visualization-server:1.0.4
docker pull mpioperator/mpi-operator:latest
docker tag mpioperator/mpi-operator:latest
docker pull kubeflow/mxnet-operator:v1.0.0-20200625
docker tag kubeflow/mxnet-operator:v1.0.0-20200625
docker pull gcr.io/ml-pipeline/mysql:5.6
docker tag gcr.io/ml-pipeline/mysql:5.6
docker pull gcr.io/kubeflow-images-public/notebook-controller:vmaster-g6eb007d0
docker tag gcr.io/kubeflow-images-public/notebook-controller:vmaster-g6eb007d0
docker pull gcr.io/kubeflow-images-public/profile-controller:vmaster-ga49f658f
docker tag gcr.io/kubeflow-images-public/profile-controller:vmaster-ga49f658f
docker pull gcr.io/kubeflow-images-public/pytorch-operator:vmaster-g518f9c76
docker tag gcr.io/kubeflow-images-public/pytorch-operator:vmaster-g518f9c76
docker pull docker.io/seldonio/seldon-core-operator:1.4.0
docker tag docker.io/seldonio/seldon-core-operator:1.4.0
docker pull gcr.io/spark-operator/spark-operator:v1beta2-1.1.0-2.4.5
docker tag gcr.io/spark-operator/spark-operator:v1beta2-1.1.0-2.4.5
docker pull gcr.io/google_containers/spartakus-amd64:v1.1.0
docker tag gcr.io/google_containers/spartakus-amd64:v1.1.0
docker pull gcr.io/kubeflow-images-public/tf_operator:vmaster-gda226016
docker tag gcr.io/kubeflow-images-public/tf_operator:vmaster-gda226016
docker pull argoproj/workflow-controller:v2.3.0
docker tag argoproj/workflow-controller:v2.3.0
#replicaset 
docker pull gcr.io/kubeflow-images-public/admission-webhook:vmaster-ge5452b6f
docker tag gcr.io/kubeflow-images-public/admission-webhook:vmaster-ge5452b6f
docker pull argoproj/argoui:v2.3.0
docker tag argoproj/argoui:v2.3.0
docker pull gcr.io/ml-pipeline/cache-deployer:1.0.4
docker tag gcr.io/ml-pipeline/cache-deployer:1.0.4
docker pull gcr.io/ml-pipeline/cache-server:1.0.4
docker tag gcr.io/ml-pipeline/cache-server:1.0.4
docker pull gcr.io/kubeflow-images-public/centraldashboard:vmaster-g8097cfeb
docker tag gcr.io/kubeflow-images-public/centraldashboard:vmaster-g8097cfeb
docker pull gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
docker tag gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
docker pull docker.io/kubeflowkatib/katib-controller:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-controller:v1beta1-a96ff59
docker pull docker.io/kubeflowkatib/katib-db-manager:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-db-manager:v1beta1-a96ff59
docker pull mysql:8
docker tag mysql:8
docker pull docker.io/kubeflowkatib/katib-ui:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-ui:v1beta1-a96ff59
docker pull python:3.7
docker tag python:3.7
docker pull mysql:8.0.3
docker tag mysql:8.0.3
docker pull gcr.io/ml-pipeline/envoy:metadata-grpc
docker tag gcr.io/ml-pipeline/envoy:metadata-grpc
docker pull gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
docker tag gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
docker pull gcr.io/ml-pipeline/metadata-writer:1.0.4
docker tag gcr.io/ml-pipeline/metadata-writer:1.0.4
docker pull gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance
docker tag gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance
docker pull gcr.io/ml-pipeline/api-server:1.0.4
docker tag gcr.io/ml-pipeline/api-server:1.0.4
docker pull gcr.io/ml-pipeline/persistenceagent:1.0.4
docker tag gcr.io/ml-pipeline/persistenceagent:1.0.4
docker pull gcr.io/ml-pipeline/scheduledworkflow:1.0.4
docker tag gcr.io/ml-pipeline/scheduledworkflow:1.0.4
docker pull gcr.io/ml-pipeline/frontend:1.0.4
docker tag gcr.io/ml-pipeline/frontend:1.0.4
docker pull gcr.io/ml-pipeline/viewer-crd-controller:1.0.4
docker tag gcr.io/ml-pipeline/viewer-crd-controller:1.0.4
docker pull gcr.io/ml-pipeline/visualization-server:1.0.4
docker tag gcr.io/ml-pipeline/visualization-server:1.0.4
docker pull mpioperator/mpi-operator:latest
docker tag mpioperator/mpi-operator:latest
docker pull kubeflow/mxnet-operator:v1.0.0-20200625
docker tag kubeflow/mxnet-operator:v1.0.0-20200625
docker pull gcr.io/ml-pipeline/mysql:5.6
docker tag gcr.io/ml-pipeline/mysql:5.6
docker pull gcr.io/kubeflow-images-public/notebook-controller:vmaster-g6eb007d0
docker tag gcr.io/kubeflow-images-public/notebook-controller:vmaster-g6eb007d0
docker pull gcr.io/kubeflow-images-public/profile-controller:vmaster-ga49f658f
docker tag gcr.io/kubeflow-images-public/profile-controller:vmaster-ga49f658f
docker pull gcr.io/kubeflow-images-public/pytorch-operator:vmaster-g518f9c76
docker tag gcr.io/kubeflow-images-public/pytorch-operator:vmaster-g518f9c76
docker pull docker.io/seldonio/seldon-core-operator:1.4.0
docker tag docker.io/seldonio/seldon-core-operator:1.4.0
docker pull gcr.io/spark-operator/spark-operator:v1beta2-1.1.0-2.4.5
docker tag gcr.io/spark-operator/spark-operator:v1beta2-1.1.0-2.4.5
docker pull gcr.io/google_containers/spartakus-amd64:v1.1.0
docker tag gcr.io/google_containers/spartakus-amd64:v1.1.0
docker pull gcr.io/kubeflow-images-public/tf_operator:vmaster-gda226016
docker tag gcr.io/kubeflow-images-public/tf_operator:vmaster-gda226016
docker pull argoproj/workflow-controller:v2.3.0
docker tag argoproj/workflow-controller:v2.3.0
#statefulset 
docker pull gcr.io/kubeflow-images-public/ingress-setup:latest
docker tag gcr.io/kubeflow-images-public/ingress-setup:latest
docker pull gcr.io/kubeflow-images-public/kubernetes-sigs/application:1.0-beta
docker tag gcr.io/kubeflow-images-public/kubernetes-sigs/application:1.0-beta
docker pull gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0
docker tag gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0
docker pull metacontroller/metacontroller:v0.3.0
docker tag metacontroller/metacontroller:v0.3.0

4、從aliyun拉取到本地

從aliyun拉取到本地,然後tag爲原來的名稱。

注意:改爲自己的鏡像倉庫名稱。

#deployment 
docker pull gcr.io/kubeflow-images-public/admission-webhook:vmaster-ge5452b6f
docker tag xxx gcr.io/kubeflow-images-public/admission-webhook:vmaster-ge5452b6f 
docker pull argoproj/argoui:v2.3.0
docker tag argoproj/argoui:v2.3.0
docker pull gcr.io/ml-pipeline/cache-deployer:1.0.4
docker tag gcr.io/ml-pipeline/cache-deployer:1.0.4
docker pull gcr.io/ml-pipeline/cache-server:1.0.4
docker tag gcr.io/ml-pipeline/cache-server:1.0.4
docker pull gcr.io/kubeflow-images-public/centraldashboard:vmaster-g8097cfeb
docker tag gcr.io/kubeflow-images-public/centraldashboard:vmaster-g8097cfeb
docker pull gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
docker tag gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
docker pull docker.io/kubeflowkatib/katib-controller:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-controller:v1beta1-a96ff59
docker pull docker.io/kubeflowkatib/katib-db-manager:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-db-manager:v1beta1-a96ff59
docker pull mysql:8
docker tag mysql:8
docker pull docker.io/kubeflowkatib/katib-ui:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-ui:v1beta1-a96ff59
docker pull python:3.7
docker tag python:3.7
docker pull mysql:8.0.3
docker tag mysql:8.0.3
docker pull gcr.io/ml-pipeline/envoy:metadata-grpc
docker tag gcr.io/ml-pipeline/envoy:metadata-grpc
docker pull gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
docker tag gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
docker pull gcr.io/ml-pipeline/metadata-writer:1.0.4
docker tag gcr.io/ml-pipeline/metadata-writer:1.0.4
docker pull gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance
docker tag gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance
docker pull gcr.io/ml-pipeline/api-server:1.0.4
docker tag gcr.io/ml-pipeline/api-server:1.0.4
docker pull gcr.io/ml-pipeline/persistenceagent:1.0.4
docker tag gcr.io/ml-pipeline/persistenceagent:1.0.4
docker pull gcr.io/ml-pipeline/scheduledworkflow:1.0.4
docker tag gcr.io/ml-pipeline/scheduledworkflow:1.0.4
docker pull gcr.io/ml-pipeline/frontend:1.0.4
docker tag gcr.io/ml-pipeline/frontend:1.0.4
docker pull gcr.io/ml-pipeline/viewer-crd-controller:1.0.4
docker tag gcr.io/ml-pipeline/viewer-crd-controller:1.0.4
docker pull gcr.io/ml-pipeline/visualization-server:1.0.4
docker tag gcr.io/ml-pipeline/visualization-server:1.0.4
docker pull mpioperator/mpi-operator:latest
docker tag mpioperator/mpi-operator:latest
docker pull kubeflow/mxnet-operator:v1.0.0-20200625
docker tag kubeflow/mxnet-operator:v1.0.0-20200625
docker pull gcr.io/ml-pipeline/mysql:5.6
docker tag gcr.io/ml-pipeline/mysql:5.6
docker pull gcr.io/kubeflow-images-public/notebook-controller:vmaster-g6eb007d0
docker tag gcr.io/kubeflow-images-public/notebook-controller:vmaster-g6eb007d0
docker pull gcr.io/kubeflow-images-public/profile-controller:vmaster-ga49f658f
docker tag gcr.io/kubeflow-images-public/profile-controller:vmaster-ga49f658f
docker pull gcr.io/kubeflow-images-public/pytorch-operator:vmaster-g518f9c76
docker tag gcr.io/kubeflow-images-public/pytorch-operator:vmaster-g518f9c76
docker pull docker.io/seldonio/seldon-core-operator:1.4.0
docker tag docker.io/seldonio/seldon-core-operator:1.4.0
docker pull gcr.io/spark-operator/spark-operator:v1beta2-1.1.0-2.4.5
docker tag gcr.io/spark-operator/spark-operator:v1beta2-1.1.0-2.4.5
docker pull gcr.io/google_containers/spartakus-amd64:v1.1.0
docker tag gcr.io/google_containers/spartakus-amd64:v1.1.0
docker pull gcr.io/kubeflow-images-public/tf_operator:vmaster-gda226016
docker tag gcr.io/kubeflow-images-public/tf_operator:vmaster-gda226016
docker pull argoproj/workflow-controller:v2.3.0
docker tag argoproj/workflow-controller:v2.3.0
#replicaset 
docker pull gcr.io/kubeflow-images-public/admission-webhook:vmaster-ge5452b6f
docker tag gcr.io/kubeflow-images-public/admission-webhook:vmaster-ge5452b6f
docker pull argoproj/argoui:v2.3.0
docker tag argoproj/argoui:v2.3.0
docker pull gcr.io/ml-pipeline/cache-deployer:1.0.4
docker tag gcr.io/ml-pipeline/cache-deployer:1.0.4
docker pull gcr.io/ml-pipeline/cache-server:1.0.4
docker tag gcr.io/ml-pipeline/cache-server:1.0.4
docker pull gcr.io/kubeflow-images-public/centraldashboard:vmaster-g8097cfeb
docker tag gcr.io/kubeflow-images-public/centraldashboard:vmaster-g8097cfeb
docker pull gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
docker tag gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
docker pull docker.io/kubeflowkatib/katib-controller:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-controller:v1beta1-a96ff59
docker pull docker.io/kubeflowkatib/katib-db-manager:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-db-manager:v1beta1-a96ff59
docker pull mysql:8
docker tag mysql:8
docker pull docker.io/kubeflowkatib/katib-ui:v1beta1-a96ff59
docker tag docker.io/kubeflowkatib/katib-ui:v1beta1-a96ff59
docker pull python:3.7
docker tag python:3.7
docker pull mysql:8.0.3
docker tag mysql:8.0.3
docker pull gcr.io/ml-pipeline/envoy:metadata-grpc
docker tag gcr.io/ml-pipeline/envoy:metadata-grpc
docker pull gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
docker tag gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
docker pull gcr.io/ml-pipeline/metadata-writer:1.0.4
docker tag gcr.io/ml-pipeline/metadata-writer:1.0.4
docker pull gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance
docker tag gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance
docker pull gcr.io/ml-pipeline/api-server:1.0.4
docker tag gcr.io/ml-pipeline/api-server:1.0.4
docker pull gcr.io/ml-pipeline/persistenceagent:1.0.4
docker tag gcr.io/ml-pipeline/persistenceagent:1.0.4
docker pull gcr.io/ml-pipeline/scheduledworkflow:1.0.4
docker tag gcr.io/ml-pipeline/scheduledworkflow:1.0.4
docker pull gcr.io/ml-pipeline/frontend:1.0.4
docker tag gcr.io/ml-pipeline/frontend:1.0.4
docker pull gcr.io/ml-pipeline/viewer-crd-controller:1.0.4
docker tag gcr.io/ml-pipeline/viewer-crd-controller:1.0.4
docker pull gcr.io/ml-pipeline/visualization-server:1.0.4
docker tag gcr.io/ml-pipeline/visualization-server:1.0.4
docker pull mpioperator/mpi-operator:latest
docker tag mpioperator/mpi-operator:latest
docker pull kubeflow/mxnet-operator:v1.0.0-20200625
docker tag kubeflow/mxnet-operator:v1.0.0-20200625
docker pull gcr.io/ml-pipeline/mysql:5.6
docker tag gcr.io/ml-pipeline/mysql:5.6
docker pull gcr.io/kubeflow-images-public/notebook-controller:vmaster-g6eb007d0
docker tag gcr.io/kubeflow-images-public/notebook-controller:vmaster-g6eb007d0
docker pull gcr.io/kubeflow-images-public/profile-controller:vmaster-ga49f658f
docker tag gcr.io/kubeflow-images-public/profile-controller:vmaster-ga49f658f
docker pull gcr.io/kubeflow-images-public/pytorch-operator:vmaster-g518f9c76
docker tag gcr.io/kubeflow-images-public/pytorch-operator:vmaster-g518f9c76
docker pull docker.io/seldonio/seldon-core-operator:1.4.0
docker tag docker.io/seldonio/seldon-core-operator:1.4.0
docker pull gcr.io/spark-operator/spark-operator:v1beta2-1.1.0-2.4.5
docker tag gcr.io/spark-operator/spark-operator:v1beta2-1.1.0-2.4.5
docker pull gcr.io/google_containers/spartakus-amd64:v1.1.0
docker tag gcr.io/google_containers/spartakus-amd64:v1.1.0
docker pull gcr.io/kubeflow-images-public/tf_operator:vmaster-gda226016
docker tag gcr.io/kubeflow-images-public/tf_operator:vmaster-gda226016
docker pull argoproj/workflow-controller:v2.3.0
docker tag argoproj/workflow-controller:v2.3.0
#statefulset 
docker pull gcr.io/kubeflow-images-public/ingress-setup:latest
docker tag gcr.io/kubeflow-images-public/ingress-setup:latest
docker pull gcr.io/kubeflow-images-public/kubernetes-sigs/application:1.0-beta
docker tag gcr.io/kubeflow-images-public/kubernetes-sigs/application:1.0-beta
docker pull gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0
docker tag gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0
docker pull metacontroller/metacontroller:v0.3.0
docker tag metacontroller/metacontroller:v0.3.0

5、save 到tar文件

將所有的鏡像保存爲tar文件,就可以在各個kubernetes節點下載然後load進去。如下:

docker save xxxx -o xxx.tar

6、load到docker images

從*.tar載入到docker系統中,在microk8s上使用microk8s.ctr(使用containerd)。

docker load xxxx -i xxx.tar

查看一下鏡像是否已經進來:

#使用docker
docker images

#或者使用microk8s
microk8s.ctr images list

過一定時間後, kubernetes的pod將會自動重新創建,逐步進入正常運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章