이전 글에서는 kubeflow 대시보드 로그인까지 진행되었다.
오늘은 kubeflow 대시보드의 각 기능에 대해서 알아보자.
대시보드에 로그인을 하면 위 기능들을 사용 할 수 있다.
대략적으로 설명을 하고 앞으로의 글에서 하나하나 자세히 사용해 볼 예정이다.
생각보다 기능이 겹치거나 서로 연동되는 부분이 많아서 잘 사용하면 학습의 End-to-End 부터 모니터링까지 전부 가능 할 것 같다.
docker hub를 사용하지 않을꺼면 커스텀 이미지 같은 경우는 쿠버네티스 클러스터가 전부 받을 수 있게끔 해줘야한다. 그때 docker private registry를 사용한다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: docker-registry
namespace: default
spec:
selector:
matchLabels:
app: docker-registry
template:
metadata:
labels:
app: docker-registry
spec:
containers:
- name: docker-registry
image: registry:2.7.1
ports:
- containerPort: 5000 #registry 기본 port
env:
- name : REGISTRY_STORAGE_DELETE_ENABLED
value: "true"
volumeMounts:
- mountPath: /var/lib/registry #container directory
name: docker-registry #아래에 volumes name
volumes: #host pc volume생성
- name: docker-registry
persistentVolumeClaim:
claimName: docker-registry-claim
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: docker-registry-claim
labels:
app: docker-registry
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
storageClassName: storageClassName
---
apiVersion: v1
kind: Service
metadata:
name: docker-registry
namespace: default
spec:
type: NodePort
selector:
app: docker-registry
ports:
- protocol: TCP
port: 30000
targetPort: 5000
nodePort: 30000
---
위 yaml을 실행하면 쿠버네티스 안에서 docker-registry.default.svc.cluster.local:30000/image/tag:version 형태로 요청하면 된다.
docker build -t testimage/start:v1 .
docker tag testimage/start:v1 docker-registry.default.svc.cluster.local:30000/start:v1
docker push docker-registry.default.svc.cluster.local:30000/start:v1
위 명령어는 도커를 빌드하고 private registory에 올리는 과정이다.