diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 06fb8665..893853f5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,7 +4,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.5.0 hooks: - - id: trailing-whitespace - id: end-of-file-fixer - id: mixed-line-ending - id: check-added-large-files diff --git a/README.md b/README.md index 6c952c4e..001c0164 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,7 @@ ## 모두의 MLOps -### How to Start -1. 필요한 node module을 설치합니다. -```text -npm install -``` +모두의 MLOps 프로젝트입니다. -2. 글 수정 및 추가를 후 ci 를 실행합니다. -```text -npm ci -``` +프로젝트에 누구던 자유롭게 기여할 수 있습니다. -3. node 클러스터를 실행 후 수정한 글이 정상적으로 나오는지 확인합니다. -```text -npm run start -``` - -### How to Contribute -#### 1. 새로운 포스트를 작성하는 경우 -새로운 포스트는 각 챕터와 포스트의 위치에 맞는 weight를 설정합니다. -- Introduction: 1xx -- Setup: 2xx -- Kubeflow: 3xx -- API Deployment: 4xx -- Help: 10xx - -#### 2. 기존의 포스트를 수정하는 경우 -기존의 포스트를 수정할 경우 Contributor에 본인의 이름을 입력합니다. -``` -contributors: ["John Doe", "Adam Smith"] -``` - -#### 3. 프로젝트에 처음 기여하는 경우 -만약 프로젝트에 처음 기여 할 경우 `content/en/contributors`에 본인의 이름의 마크다운 파일을 작성합니다. -마크다운 파일은 `john-doe`을 파일명으로 하며 다음의 내용을 작성합니다. -파일 명은 lowercase를 title은 upper camelcase를 이용해 작성합니다. -``` ---- -title: "Jonh Doe" -draft: false ---- -``` +자세한 내용은 [How to Contribute](https://mlops-for-all.github.io/docs/help/how-to-contribute/)를 참조하세요. diff --git a/content/en/docs/introduction/_index.md b/content/en/docs/introduction/_index.md index 98a85c0b..fc54e629 100644 --- a/content/en/docs/introduction/_index.md +++ b/content/en/docs/introduction/_index.md @@ -2,8 +2,8 @@ title : "Introduction" description: "Introduction to MLOps" lead: "" -# date: 2020-10-06T08:48:23+00:00 -# lastmod: 2020-10-06T08:48:23+00:00 +date: 2021-12-03 +lastmod: 2021-12-10 draft: false images: [] weight: 100 diff --git a/content/en/docs/introduction/component.md b/content/en/docs/introduction/component.md index fb4d72a1..6f238634 100644 --- a/content/en/docs/introduction/component.md +++ b/content/en/docs/introduction/component.md @@ -1,7 +1,9 @@ --- -title : "MLOps의 구성 요소" +title : "2. Components of MLOps" description: "Describe MLOps Components" lead: "" +date: 2021-12-03 +lastmod: 2021-12-10 draft: false weight: 102 contributors: ["Youngcheol Jang"] diff --git a/content/en/docs/introduction/intro.md b/content/en/docs/introduction/intro.md index cdbe6fb3..ff0dc892 100644 --- a/content/en/docs/introduction/intro.md +++ b/content/en/docs/introduction/intro.md @@ -1,7 +1,9 @@ --- -title : "What is MLOps?" +title : "1. What is MLOps?" description: "Introduction to MLOps" lead: "" +date: 2021-12-03 +lastmod: 2021-12-13 draft: false weight: 101 contributors: ["Jongseob Jeon"] @@ -10,16 +12,6 @@ menu: parent: "introduction" --- -## 서론 - -최근 MLOps와 관련된 주제의 세미나와 글들이 많아지고 모두 MLOps의 필요성에 대해 말하고 있습니다. -그런데 MLOps란 무엇이며 이를 위해서 우리는 무엇을 공부해야 할까요? -저희 *모두의 MLOps*는 MLOps에 대해서 공부하려고 하지만 어떻게 시작해야 하는지 모르는 분들을 위한 지침서를 작성하고자 이 프로젝트를 시작하였습니다. - -MLOps는 Machine Learning Operations의 약어입니다. Operations는 도메인에 따라서 또는 상황에 따라서 필요로 하는 것이 달라진다는 뜻을 내포하고 있습니다. -특히 집필을 하는 2022년 기준으로 아직 표준이라고 불릴 수 있는 MLOps 툴이 존재하지 않습니다. 그렇기 때문에 저희가 제시하는 방법을 실제 업무에 바로 적용하기에는 힘들 수도 있습니다. -그럼에도 이 글을 통해서 많은 분들이 MLOps란 무엇이며 각자의 환경에 맞게 어떤 것이 필요한 지를 알 수 있는 첫 디딤돌이 되었으면 합니다. - ## Machine Learning Project 2012년 Alexnet 이후 CV, NLP, Tabular Data등 데이터가 존재하는 곳에서는 모두 머신러닝과 딥러닝을 도입하고자 하였습니다. diff --git a/content/en/docs/introduction/why_kubernetes.md b/content/en/docs/introduction/why_kubernetes.md index 28bb8e87..99215084 100644 --- a/content/en/docs/introduction/why_kubernetes.md +++ b/content/en/docs/introduction/why_kubernetes.md @@ -1,7 +1,9 @@ --- -title : "Why Kuberntes?" +title : "3. Why Kuberntes?" description: "Reason for using k8s in MLOps" lead: "" +date: 2021-12-03 +lastmod: 2021-12-10 draft: false weight: 103 contributors: ["Jaeyeon Kim"] diff --git a/content/en/docs/prologue/welcome.md b/content/en/docs/prologue/welcome.md index 546026f6..64d473be 100644 --- a/content/en/docs/prologue/welcome.md +++ b/content/en/docs/prologue/welcome.md @@ -1,9 +1,9 @@ --- -title : "Welcome!" +title : "Welcome to MLOps for ALL!" description: "Introduction to MLOps" lead: "" -# date: 2020-10-06T08:48:23+00:00 -# lastmod: 2020-10-06T08:48:23+00:00 +date: 2021-12-03 +lastmod: 2021-12-13 draft: false images: [] weight: 1 @@ -11,3 +11,13 @@ menu: docs: parent: "prologue" --- + +## 모두의 MLOps + +최근 MLOps와 관련된 주제의 세미나와 글들이 많아지고 모두 MLOps의 필요성에 대해 말하고 있습니다. +그런데 MLOps란 무엇이며 이를 위해서 우리는 무엇을 공부해야 할까요? +저희 *모두의 MLOps*는 MLOps에 대해서 공부하려고 하지만 어떻게 시작해야 하는지 모르는 분들을 위한 지침서를 작성하고자 이 프로젝트를 시작하였습니다. + +MLOps는 Machine Learning Operations의 약어입니다. Operations는 도메인에 따라서 또는 상황에 따라서 필요로 하는 것이 달라진다는 뜻을 내포하고 있습니다. +특히 집필을 하는 2022년 기준으로 아직 표준이라고 불릴 수 있는 MLOps 툴이 존재하지 않습니다. 그렇기 때문에 저희가 제시하는 방법을 실제 업무에 바로 적용하기에는 힘들 수도 있습니다. +그럼에도 이 글을 통해서 많은 분들이 MLOps란 무엇이며 각자의 환경에 맞게 어떤 것이 필요한 지를 알 수 있는 첫 디딤돌이 되었으면 합니다. diff --git a/content/en/docs/setup-components/install-components-kf.md b/content/en/docs/setup-components/install-components-kf.md index 0f4995a7..5d9bf6fc 100644 --- a/content/en/docs/setup-components/install-components-kf.md +++ b/content/en/docs/setup-components/install-components-kf.md @@ -1,5 +1,5 @@ --- -title : "Kubeflow" +title : "1. Kubeflow" description: "구성요소 설치 - Kubeflow" date: 2021-12-13 lastmod: 2021-12-13 @@ -242,7 +242,7 @@ kustomize build apps/pipeline/upstream/env/platform-agnostic-multi-user | kubect 따라서 경우에 따라 다음과 비슷한 에러가 발생할 수 있습니다. ```text -"error: unable to recognize "STDIN": no matches for kind "CompositeController" in version "metacontroller.k8s.io/v1alpha1"" +"error: unable to recognize "STDIN": no matches for kind "CompositeController" in version "metacontroller.k8s.io/v1alpha1"" ``` 위와 비슷한 에러가 발생한다면, 10 초 정도 기다린 뒤 다시 위의 명령을 수행합니다. diff --git a/content/en/docs/setup-components/install-components-mlflow.md b/content/en/docs/setup-components/install-components-mlflow.md index 3a08bbfe..c2c9abee 100644 --- a/content/en/docs/setup-components/install-components-mlflow.md +++ b/content/en/docs/setup-components/install-components-mlflow.md @@ -1,5 +1,5 @@ --- -title : "MLFlow" +title : "2. MLFlow" description: "구성요소 설치 - MLFlow" date: 2021-12-13 lastmod: 2021-12-13 diff --git a/content/en/docs/setup-components/install-components-pg.md b/content/en/docs/setup-components/install-components-pg.md index 2f51c571..fdf9d1b4 100644 --- a/content/en/docs/setup-components/install-components-pg.md +++ b/content/en/docs/setup-components/install-components-pg.md @@ -1,5 +1,5 @@ --- -title : "Prometheus & Grafana" +title : "3. Prometheus & Grafana" description: "구성요소 설치 - Prometheus & Grafana" date: 2021-12-13 lastmod: 2021-12-13 diff --git a/content/en/docs/setup-components/install-components-seldon.md b/content/en/docs/setup-components/install-components-seldon.md index ad5273e4..705809f5 100644 --- a/content/en/docs/setup-components/install-components-seldon.md +++ b/content/en/docs/setup-components/install-components-seldon.md @@ -1,5 +1,5 @@ --- -title : "Seldon-Core" +title : "4. Seldon-Core" description: "구성요소 설치 - Seldon-Core" date: 2021-12-13 lastmod: 2021-12-13 diff --git a/content/en/docs/setup-kubernetes/kubernetes-with-k3s.md b/content/en/docs/setup-kubernetes/kubernetes-with-k3s.md index 7f7cd0bc..a92f972b 100644 --- a/content/en/docs/setup-kubernetes/kubernetes-with-k3s.md +++ b/content/en/docs/setup-kubernetes/kubernetes-with-k3s.md @@ -12,11 +12,12 @@ menu: images: [] --- -**해당 과정은 클러스터로 사용하는 데스크탑에서 진행됩니다.** -로컬과 클러스터가 분리된 경우 꼭 클러스터에서 설치되도록 확인해 주세요. - ## 1. Prerequisite +쿠버네티스 클러스터를 구축하기에 앞서, 필요한 구성요소들을 **클러스터에** 설치합니다. + +[Setup Prerequisite]({{< relref "docs/setup-kubernetes/setup-pre-requisite.md" >}})을 참고하여 Kubernetes를 설치하기 전에 필요한 요소들을 **클러스터에** 설치해 주시기 바랍니다. + k3s 에서는 기본값으로 containerd를 백엔드로 이용해 설치합니다. 하지만 저희는 GPU를 사용하기 위해서 docker를 백엔드로 사용해야 하기 때문에 `--docker` 옵션을 통해 백엔드를 docker로 설치하겠습니다. @@ -44,7 +45,6 @@ sudo chown mrx:mrx .kube/config 이제 클러스터에서 설정한 kubeconfig를 로컬로 이동합니다. 로컬에서는 경로를 `~/.kube/config`로 설정합니다. -정상적으로 작동하는지 확인합니다. ## 4. 쿠버네티스 기본 모듈 설치