Kubernetes Kubeflow Installation (Not Working) / Ubuntu 18.04, Jetson Nano Cluster Environment
Kubernetes Kubeflow Installation (Not Working) / Ubuntu 18.04, Jetson Nano Cluster Environment
- TOC {:toc}
1. Installation Environment
- Kubeflow 1.2.0
- Kubernetes 1.18.14
- Helm 3.0.2
- NFS Server
- 192.168.0.60:/nfs-root
2. kustomize Installation
$ curl -s "https://raw.githubusercontent.com/\
kubernetes-sigs/kustomize/master/hack/install-kustomize.sh" | bashInstall the latest kustomize and use it because the kustomize included in the kubectl command does not support the resources syntax.
3. kfctl Installation
$ mkdir ~/kubeflow
$ cd ~/kubeflow
$ curl -L -O -J https://github.com/kubeflow/kfctl/releases/download/v1.2.0/kfctl-v1.2.0-0-gbc038f9-linux.tar.gz
$ tar -xvf kfctl-v1.2.0-0-gbc038f9-linux.tar.gz
$ rm kfctl-v1.2.0-0-gbc038f9-linux.tar.gzInstall kfctl, a Kubeflow management tool.
4. NFS Client Provisioner Installation
$ helm repo add stable https://charts.helm.sh/stable
$ helm repo update
$ helm install nfs-client-provisioner --set nfs.server=192.168.0.60 --set nfs.path=/nfs-root stable/nfs-client-provisioner-arm
$ kubectl get sc
NAME PROVISIONER AGE
nfs-client cluster.local/nfs-client-provisioner 5m52sInstall the NFS Client Provisioner using Helm.
$ kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'Set the nfs-client Storage Class as the default Storage Class.
5. Kubeflow Installation
5.1. Kubeflow kustomize File Creation
| |
Create an env file for kfctl with the content from [File 1].
$ . ~/kubeflow/kfctl-env
$ mkdir -p ${KF-DIR}
$ cd ${KF-DIR}
$ kfctl build -V -f ${CONFIG-URI}Generate kustomize files for Kubeflow.
5.2. cert-manager Installation
# kustomize build --load-restrictor none ssup2-kubeflow/kustomize/cert-manager-crds | kubectl apply -f -
# kustomize build --load-restrictor none ssup2-kubeflow/kustomize/cert-manager-kube-system-resources | kubectl apply -f -
# sed -i 's/cert-manager-cainjector:/cert-manager-cainjector-arm64:/g' ~/kubeflow/ssup2-kubeflow/.cache/manifests/manifests-1.2.0/cert-manager/cert-manager/base/deployment.yaml
# sed -i 's/cert-manager-controller:/cert-manager-controller-arm64:/g' ~/kubeflow/ssup2-kubeflow/.cache/manifests/manifests-1.2.0/cert-manager/cert-manager/base/deployment.yaml
# sed -i 's/cert-manager-webhook:/cert-manager-webhook-arm64:/g' ~/kubeflow/ssup2-kubeflow/.cache/manifests/manifests-1.2.0/cert-manager/cert-manager/base/deployment.yaml
# kustomize build --load-restrictor none ssup2-kubeflow/kustomize/cert-manager | kubectl apply -f -5.3. istio Installation
6. References
- kustomize Install: https://kubectl.docs.kubernetes.io/installation/kustomize/binaries/
- Kubeflow Install: https://www.kubeflow.org/docs/started/k8s/kfctl-k8s-istio/
- Kubeflow kustomize: https://www.kubeflow.org/docs/other-guides/kustomize/
- Kubeflow ARM Support: https://github.com/kubeflow/kfctl/pull/318