가볍게 읽는 도커 안내서에 이어서 쿠버네티스 개요에 대해서도 간단하게 알아보자 쿠버네티스 개요쿠버네티스가 하는 일컨테이너를 관리컨테이너가 하나만 있다면 충분히 관리할 수 있겠지만 만약 100개가 있다면? 쿠버네티스의 역사리눅스와 같은 성공한 오픈 소스 프로젝트 중에 하나 쿠버네티스 배포 종류관리형 쿠버네티스: EKS,GKE와 같은 클라우드를 이용한 쿠버네티스로 관리나 운영이 필요없다.설치형 쿠버네티스: Rancher, Red Hat Openshift와 같은 프로그램을 이용해서 필요한 여러 패키지들을 통합해 만든 설치형 버전.구성형 쿠버네티스(네이티브 쿠버네티스): 요구사항에 맞게 자유로운 커스텀이 가능하다. kuberadm, kubespray, krib, kops… 쿠버네티스 기초파드(Pod)마스터 노드..
kubeadm을 이용하여 쿠버네티스 클러스터를 구축하는 과정을 살펴보자 개요 아마 개발자라면 다들 나만의 서버를 갖는 것에 대한 로망이 있을 것이다. 나 또한 개발자이기에 항상 내 서버를 가지고 싶었다. 특히 나는 현업에서 쿠버네티스를 많이 다루다보니 그냥 서버가 아닌 쿠버네티스 클러스터를 가지고 싶었지만 알다시피 쿠버네티스가 돌아갈 정도의 서버 여러 대를 구하는 것은 쉽지 않은 일이다... 그렇기에 항상 포기하고 맥북에 kind나 minikube를 이용하여 로컬 쿠버네티스를 이용해왔었다😂 (성에 차지 않는다...) 그러다 이번 여름에 공모전을 진행하면서 처음으로 오라클 클라우드(OCI)를 이용해볼 기회가 생겼었다. 사용 당시에는 이런 클라우드도 있구나 라고만 생각하며 이용을 했었다. 그리고 공모전이 끝..
쿠버네티스에서는 context라는 개념이 있는데, 어떤 역할을 하는지 알아보자 여러 개의 쿠버네티스 클러스터를 운영한다면 다른 클러스터로 이동하기 위해 kubectl config use-context 명령어를 사용한 경험이 있을건데요. 저 또한 꽤나 많이 사용하는 명령어입니다. 하지만 해당 명령어를 사용하면서도 다른 클러스터로 이동하는 건데 왜 cluster가 아닌 context라고 하는 거지? 라는 의문이 있었습니다. 이번 포스팅에서는 context가 무엇이고 어떤 역할을 하는지 이야기 해보려 합니다. 쿠버네티스에 접근하기 위한 kubeconfig kubeconfig 파일은 쿠버네티스의 설정 파일로 kubectl로 쿠버네티스의 API 서버에 접근할 때 사용하는 인증 정보를 가지고 있습니다. 보통은 ~/..
🔧현업의 파이프라인 오랜만에 블로그 포스팅을 하는 거 같다. 중고책 분석 프로젝트가 끝난 지 약 이주일 정도 흘렀는데, 그 동안 부스트캠프를 하면서 현타(?)가 와버려서 잠깐 코딩을 멈췄었다. 회복하는데 조금 시간이 걸리긴 했지만 마음을 다잡고 다음 프로젝트를 진행할 계획을 조금 씩 세웠다. 이번에는 어떤 프로젝트를 해볼까하는 고민 끝에 저번 프로젝트에서 느낀 아쉬운 점을 개선해보자는 생각이 들었다. 저번 프로젝트에서 나름 괜찮은 결과물을 내긴 했지만 데이터 엔지니어로서 필요한 기술 스택을 전혀 사용해보지 못해 아쉬움이 컸었다. 따라서 이번 프로젝트에서는 참신한 주제에 종속되지 않고 기술 스택을 제대로 다뤄보기로 하였다. 또한 추가적으로 현업에서의 데이터 파이프라인을 모방하면서 조금은 현업스러운(?) 파..
머신러닝 서비스를 어떻게 서빙하는지 궁금증이 생겨 여러 툴들을 찾아보니 kubeflow, mlflow, bentoml 등 정말 너무 다양한 서빙 도구들이 많았다. mlflow는 아주 잠깐 건드려 본 적이 있지만 kubeflow 같은 경우는 그 어려운 쿠버네티스를 잘 이해하지 못하면 하지 못할 것이라는 두려움에 차마 공부할 생각을 못했다. 이번 포스팅에서는 모델 서빙이 무엇인지 간단하게 알아보고 비슷하면서도 다른 kubeflow와 mlflow를 비교해보려고 한다. 먼저 모델 서빙이란? 서빙은 손님에게 음식을 가져다주는 행위를 말한다. 모델 서빙도 이와 같은 개념인데, 딥러닝이든 머신러닝이든 어떠한 모델이 예측한 예측값을 사용자에게 전달하는 것이다. 모델 서빙을 위해서는 여러 상황을 고려해야 하는데, 시간에..
k8s의 마스터 노드와 워커 노드kubeadm이 무엇인지를 알려면 먼저 쿠버네티스가 기본적으로 마스터 노드와 워커 노드로 구성된다는 것을 알아야 한다. 마스터 노드는 워커 노드에 Pod를 할당하고 Pod 안에 컨테이너를 띄우게 하는 역할을 한다. 또한 쿠버네티스의 상태를 관리하고 여러 Pod 들의 스케줄링도 하는 등 쿠버네티스에서 중추적인 역할을 한다. 워커 노드는 마스터 노드와 통신하면서 Pod를 할당 받고 그 안에 컨테이너를 띄워 유지 및 관리하는 역할을 한다. 또한 네트워크나 볼륨에 대한 기능도 컨트롤한다. 쿠버네티스는 이러한 노드들이 모인 클러스터 환경을 통해 컨테이너를 오케스트레이션 하는 도구이다.kubeadm이 하는 역할쿠버네티스를 사용하려면 위에서 살펴보았듯 기본적으로 클러스터를 구성해야 한..