Open sungsoo opened 2 years ago
원격 인터페이스: TrainDB <--> TrainDB-ML/KubeFlow
Private Registry (Docker Images)
docker pull registry:latest
docker run --name traindb-ml-models -d -p 5000:5000 registry
"insecure-registries":["traindb-ml.ai:5000"]
추가 후 Docker 재구동docker build -t traindb-ml.ai:5000/tableGAN:1.0
docker push traindb-ml.ai:5000/tableGAN:1.0
docker pull traindb-ml.ai:5000/tableGAN:1.0
TrainDB-ML의 Training Jobs (PyTorchJobs)와 외부 DBMS 인터페이스
KubeFlow에서 지원하지 않는 ML Framework에 대한 처리 (예, (R)SPN 구현을 위한 SPFlow 라이브러리)
@kihyuk-nam : 아래 내용에 대해 별도의 이슈 생성함 #19
현재 SPFlow는 Tensorflow와 PyTorch 프레임워크를 지원: 이슈 참고 #19 - 해당 내용에 대한 검토 필요
@1jolee : Kubeflow에서 docker private registry 처리 방법은 향후 아래 내용 참조. k8s 내에 registry 생성하는 방법임
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
generation: 1
labels:
run: kubeflow-registry
name: kubeflow-registry
namespace: default
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
run: kubeflow-registry
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
run: kubeflow-registry
spec:
containers:
- image: registry:2
imagePullPolicy: IfNotPresent
name: kubeflow-registry
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/lib/registry
name: registry-persistent-storage
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: registry-persistent-storage
persistentVolumeClaim:
claimName: registry-pvc
apiVersion: v1
kind: Service
metadata:
labels:
run: kubeflow-registry
name: kubeflow-registry
namespace: default
spec:
ports:
- name: registry
port: 30000
protocol: TCP
targetPort: 5000
nodePort: 30000
selector:
run: kubeflow-registry
sessionAffinity: None
type: NodePort
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
name: registry-pvc
namespace: default
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
volumeMode: Filesystem
192.168.19.134 kubeflow-registry.default.svc.cluster.local
vi /etc/docker/daemon.json
"insecure-registries": [
"kubeflow-registry.default.svc.cluster.local:30000"
]
$ systemctl daemon-reload
$ systemctl restart docker
$ curl kubeflow-registry.default.svc.cluster.local:30000/v2/_catalog
{"repositories":[""]}
To @1jolee : 현재까지 진행 현황을 간략히 정리해 주세요. (Deadline: 7/29)
feat: Kubeflow기반 연동 인터페이스 초기 구현
Priority-1
담당: 1jolee [즐거운기술]
Deadline: 2022년 6월 28일 (화) 12시
설계해 주신 초기 연동 인터페이스 설계안(5/31)을 기반으로 아래 구현을 진행해 주세요. 구현 형상(코드 등)은 아래 github에 commit해 주세요. https://github.com/traindb-project/traindb-ml/tree/main/interface