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
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 대시보드에 접속
- default 접속 정보
-
- ID : user@example.com
- PW : 12341234
-
'Cloud > Docker & Kubernetes' 카테고리의 다른 글
[모니터링] Prometheus & Grafana (0) | 2022.08.10 |
---|---|
[도커] 우분투 20.04.4 LTS 도커 설치 및 세팅 (0) | 2022.03.06 |
[Cheat sheet] Docker 자주 사용하는 명령어 (0) | 2022.01.19 |