안녕하세요.
데이터 엔지니어링 & 운영 업무를 하는 중 알게 된 지식이나 의문점들을 시리즈 형식으로 계속해서 작성해나가며
새로 알게 된 점이나 잘 못 알고 있었던 점을 더욱 기억에 남기기 위해 글을 꾸준히 작성 할려고 합니다.
Kubernetes 의 경우 공식 문서와 구글링을 하여 작성하고 있습니다.
Kubernetes 를 활용하여 Trino, Spark, Airflow, Application(Gitlab, FastAPI 등) 들을 올려보고 해당 어플리케이션들을 최종적으로 운영할 수 있게 목표하고 있습니다.
반드시 글을 읽어 주실 때 잘 못 말하고 있는 부분은 정정 요청 드립니다.
저의 지식에 큰 도움이 됩니다. :)
kubernetes 는 몇가지 setup-tool 을 제공하고 있습니다.
아직까지 공식적으로 내놓은 setup-tool 은 없으며 공식 doc 에서는 아래와 같이 소개하고 있습니다.
kubeadm
kops
kubespray
저는 해당 setup tool 들 중 아래 블로그 글을 읽어 본 후 kubespray 를 선택하였습니다.
우선 kops 의 경우 stack overflow 의 글과 같이 bare metal 에 지원하지는 않는 듯 합니다.
참고 : stack overflow - Installing K8s using kOps on local machine
그렇기 때문에 저는 kubeadm 과 kubespray 중 어떤 setup tool 을 활용할 지 고민 했습니다.
그 중 kubespray 가 ansible 과의 연동을 잘 지원한다고 적혀 있어 kubespray 를 통해 cluster 를 구성해볼 계획 입니다.
참고 : kubeadm vs kubespray
참고 : kubespray 공식 Doc
Kubespray를 이용하여 GCE, Azure, OpenStack, AWS, vSphere, Equinix Metal(전 Packet), Oracle Cloud infrastructure 또는 베어메탈 등에서 운영되는 쿠버네티스 클러스터를 설치할 수 있습니다.
Kubespray는 Ansible 플레이북, 인벤토리, 프로비저닝 도구와 일반적인 운영체제, 쿠버네티스 클러스터의 설정 관리 작업에 대한 도메인 지식의 결합으로 만들어졌습니다. Kubespray는 아래와 같은 기능을 제공합니다.
참고 : Ansible 설명 및 세팅