Cloud/Docker & Kubernetes

[Kubeflow 1.4.0 설치] 우분투 kubectx, kubens, Kubeflow 설치

마메프 2022. 8. 11. 15:23
반응형

1) kustomize 설정

wget https://github.com/kubernetes-sigs/kustomize/releases/download/v3.2.0/kustomize_3.2.0_linux_amd64

chmod +x kustomize_3.2.0_linux_amd64

sudo mv kustomize_3.2.0_linux_amd64 /usr/local/bin/kustomize

kustomize version

 

2) minikube start

minikube start --driver=docker \
  --cpus='4' --memory='7g' \
  --kubernetes-version=v1.19.3 \
  --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \
  --extra-config=apiserver.service-account-issuer=kubernetes.default.svc

 

3)  kubectx, kubens 설치

wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubectx

sudo install kubectx /usr/local/bin
wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubens

sudo install kubens /usr/local/bin

 

Kubeflow Menifest  >> https://github.com/kubeflow/manifests  Readme에서 상황에 따라 설치하면된다.

(버전 체크. 1.4.0v로 셋팅) 

 

4) kubeflow/manifests 설치

git clone git@github.com:kubeflow/manifests.git

cd manifests

git checkout tags/v1.4.0
더보기

cert-manager

cert-manager is used by many Kubeflow components to provide certificates for admission webhooks.

Install cert-manager:

kustomize build common/cert-manager/cert-manager/base | kubectl apply -f -
kustomize build common/cert-manager/kubeflow-issuer/base | kubectl apply -f -

Istio

Istio is used by many Kubeflow components to secure their traffic, enforce network authorization and implement routing policies.

Install Istio:

kustomize build common/istio-1-14/istio-crds/base | kubectl apply -f -
kustomize build common/istio-1-14/istio-namespace/base | kubectl apply -f -
kustomize build common/istio-1-14/istio-install/base | kubectl apply -f -

Dex

Dex is an OpenID Connect Identity (OIDC) with multiple authentication backends. In this default installation, it includes a static user with email user@example.com. By default, the user's password is 12341234. For any production Kubeflow deployment, you should change the default password by following the relevant section.

Install Dex:

kustomize build common/dex/overlays/istio | kubectl apply -f -

OIDC AuthService

The OIDC AuthService extends your Istio Ingress-Gateway capabilities, to be able to function as an OIDC client:

kustomize build common/oidc-authservice/base | kubectl apply -f -

Knative

Knative is used by the KServe official Kubeflow component.

Install Knative Serving:

kustomize build common/knative/knative-serving/overlays/gateways | kubectl apply -f -
kustomize build common/istio-1-14/cluster-local-gateway/base | kubectl apply -f -

Optionally, you can install Knative Eventing which can be used for inference request logging:

kustomize build common/knative/knative-eventing/base | kubectl apply -f -

Kubeflow Namespace

Create the namespace where the Kubeflow components will live in. This namespace is named kubeflow.

Install kubeflow namespace:

kustomize build common/kubeflow-namespace/base | kubectl apply -f -

Kubeflow Roles

Create the Kubeflow ClusterRoles, kubeflow-view, kubeflow-edit and kubeflow-admin. Kubeflow components aggregate permissions to these ClusterRoles.

Install kubeflow roles:

kustomize build common/kubeflow-roles/base | kubectl apply -f -

Kubeflow Istio Resources

Create the Istio resources needed by Kubeflow. This kustomization currently creates an Istio Gateway named kubeflow-gateway, in namespace kubeflow. If you want to install with your own Istio, then you need this kustomization as well.

Install istio resources:

kustomize build common/istio-1-14/kubeflow-istio-resources/base | kubectl apply -f -

kubens 확인

kubens
auth, cert-manager, istio-system 확인

 

 

Kubeflow Pipelines 

Install the Multi-User Kubeflow Pipelines official Kubeflow component:

(에러 발생 시, 한번 더 명령줄 실행하기. )

kustomize build apps/pipeline/upstream/env/cert-manager/platform-agnostic-multi-user | kubectl apply -f -

 

Katib

Install the Katib official Kubeflow component:

 

 

kustomize build apps/kfserving/upstream/overlays/kubeflow | kubectl apply -f -​

Central Dashboard

Install the Central Dashboard official Kubeflow component:

kustomize build apps/centraldashboard/upstream/overlays/istio | kubectl apply -f -

 

Admission Webhook

Install the Admission Webhook for PodDefaults:

kustomize build apps/admission-webhook/upstream/overlays/cert-manager | kubectl apply -f -

 

Notebooks

Install the Notebook Controller official Kubeflow component:

kustomize build apps/jupyter/notebook-controller/upstream/overlays/kubeflow | kubectl apply -f -

Install the Jupyter Web App official Kubeflow component:

kustomize build apps/jupyter/jupyter-web-app/upstream/overlays/istio | kubectl apply -f -

 

Profiles + KFAM

Install the Profile Controller and the Kubeflow Access-Management (KFAM) official Kubeflow components:

kustomize build apps/profiles/upstream/overlays/kubeflow | kubectl apply -f -

 

Volumes Web App

Install the Volumes Web App official Kubeflow component:

kustomize build apps/volumes-web-app/upstream/overlays/istio | kubectl apply -f -

 

Tensorboard

Install the Tensorboards Web App official Kubeflow component:

kustomize build apps/tensorboard/tensorboards-web-app/upstream/overlays/istio | kubectl apply -f -

Install the Tensorboard Controller official Kubeflow component:

kustomize build apps/tensorboard/tensorboard-controller/upstream/overlays/kubeflow | kubectl app

Tensorboard

Install the Tensorboards Web App official Kubeflow component:

kustomize build apps/tensorboard/tensorboards-web-app/upstream/overlays/istio | kubectl apply -f -

Install the Tensorboard Controller official Kubeflow component:

kustomize build apps/tensorboard/tensorboard-controller/upstream/overlays/kubeflow | kubectl apply -f -

User Namespace

Finally, create a new namespace for the the default user (named kubeflow-user-example-com).

kustomize build common/user-namespace/base | kubectl apply -f -

 

모두 Running 될 때 까지 대기하기

kubectl get po -A -w

 

 


Kubeflow 접속 확인하기

kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80
  • gateway 를 포트포워딩하여 localhost:8080 으로 kubeflow 대시보드에 접속

8080포트 접속확인

반응형