본문 바로가기

전체 글

(49)
ArgoCD Image Updater은 무엇이고 어떻게 사용할까요? 이번 포스팅은 ArgoCD 에서 배포되는 쿠버네티스 워크로드의 이미지를 관리해주는 ArgoCD Image Updater에 대해 알아보겠습니다. https://argocd-image-updater.readthedocs.io/en/stable/ 왜 필요할까요? 기본적인 쿠버네티스 워크로드에서는 배포하려는 이미지를 변경하기 위해 매니페스트에 해당 이미지의 이름과 태그를 명시하게 되는데요. 배포하고 싶은 이미지의 태그를 변경할 때마다 이를 일일이 변경해 주어야하는 것은 번거로운 일입니다. 또한, 사용하고 있는 태그의 규칙에 따라 요구사항에 맞춰 자동으로 배포하거나 이를 자동으로 업데이트하여 관리해야 하는 상황이 있을 수 있습니다. ArgoCD Image Updater는 이러한 요구사항을 만족할 수 있는 도구 중..
neo4j database connect (ingress nginx) neo4j 벡터 db를 쿠버네티스 상에 배포하면서 웹 콘솔에서 DB와 연결이 안되는 문제가 있었습니다. neo4j의 경우에는 DB connect 진행 시에 Bolt라는 프로토콜을 사용합니다. nginx ingress controller의 경우에는 http(s) 프록시를 지원하기 때문에  7687 (Bolt) 포트 프록시 설정을 해주어야 합니다. 1. neo4j 콘솔(웹 7474 포트)과 neo4j DB connect(7687)를 위한 ingress를 분리합니다. 2. ingress-nginx namespace에 아래와 같이 configmap을 생성합니다. namespace와 service는 설정한 이름으로 변경하시길 바랍니다.apiVersion: v1kind: ConfigMapmetadata: name..
kubeflow 1.9 마이그레이션 kubeflow 1.8버전에서 1.9버전으로 마이그레이션을 진행하면서 변경사항 때문에 발생했었던 문제와 해결했었던 방법을 정리해보려고 합니다.  저는 kubeflow manifest방식으로 kubeflow를 설치하였습니다.https://github.com/kubeflow/manifests GitHub - kubeflow/manifests: A repository for Kustomize manifestsA repository for Kustomize manifests. Contribute to kubeflow/manifests development by creating an account on GitHub.github.com  kubeflow manifest를 설치하면서 어려웠던 점은 kubeflow는 ..
우분투 쿠버네티스 1.31 클러스터 생성하기 OS : Ubuntu 22.04 kubeadm을 이용하여 쿠버네티스 클러스터를 구축해 보겠습니다.  공통) 모든 노드에서 진행 1. swap 비활성화# swap 활성화 되어있는지 확인free -h# 해당 파일을 수정하여 swap 부분을 주석 처리sudo vi /etc/fstab# 주석 처리#/swapfile none swap sw 0 0  2. docker 설치curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh# 사용자에게 docker 권한 부여 (dial unix /var/run/docker.sock: connect: permission d..
Kind 클러스터 외부에서 접근하기 (metallb + nginx) 오늘은 kind 클러스터에 배포한 서비스 (to pod)에 접근할 수 있도록 설정을 진행하겠습니다. 외부 네트워크 -> kind 클러스터가 존재하는 호스트 시스템 -> nginx 컨테이너 -> kind 컨테이너 -> loadbalancer service -> pod 위와 같은 순서로 라우팅이 진행됩니다. 차근차근 진행해 보도록 합시다!  1. 쿠버네티스 서비스 외부에 노출하기 우선 외부에서 클러스터 내부의 서비스로 접근 하려면 접근하려는 서비스가 LoadBalancer(혹은 NodePort) Type이어야 합니다. GCP나 AWS의 경우 서비스의 Type을 LoadBalancer로 설정하면 자동으로 사용할 수 있는 로드밸런서가 해당 서비스에 할당되는데요. 저희는 클라우드 환경이 아니기 때문에 베어메탈 환..
kind 환경에서 GPU 사용하기 OS : Ubuntu 22.04.4 LTSkind : version 0.24.0nvidia graphic driver version : 550.90.07  이번에는 kind cluster 환경에서 GPU를 사용할 수 있는 환경을 구축해보겠습니다. kind 설치와 환경 설정은 링크 에서 확인하시면 됩니다.  1. nvidia container toolkit 설치curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-..
Ubuntu 22.04 환경에서 kind 클러스터 구축하기 Ubuntu 환경에서 kind를 이용하여 쿠버네티스 클러스터를 구축해 보겠습니다. kind는 Kubernetes In Docker의 약자이며, 쿠버네티스 노드 = container 와 같은 개념입니다. 따라서, 사용자는 container를 사용할 수 있는 환경이면, 멀티 노드 클러스터를 구축하거나 HA 클러스터를 구축할 수도 있습니다. 다음 설치 과정은 Ubuntu OS를 설치한 직후를 가정하고 작성하였습니다.  OS : Ubuntu 22.04.4 LTSkind : 0.24.0 0. 기본 환경 구성sudo apt updatesudo apt upgrade sudo apt install curl  1. docker 설치curl -fsSL https://get.docker.com -o get-docker.sh..
쿠버네티스 + wsl2 (하지마세요...) 오랜만에 글을 작성해보려고 합니다. 주제는~! 당신이 쿠버네티스 클러스터를 구축하고 싶으면 wsl을 피해라...입니다~! 여기까지만 읽어보고 wsl을 포기한다면 이 글은 성공적이네요.  다만 이 포스팅은 지극히 주관적인 저의 견해이며, 아직 식견이 부족한 초보 엔지니어가 작성한 글임을 참고해주세요~    만약 납득이 되지 않는다면 제가 이렇게 생각한 이유를 읽어보시길 바랍니다.  1. 설정해야 할 것이 2배 우선 wsl2 환경에다가 쿠버네티스 클러스터를 구축하려면 wsl설정도 같이 해주어야 하는데요. 그까짓거 별거 아니라고 생각하실 수도 있습니다. 하지만 빠르게 구축해보고 싶으신 분들에게는 그냥 리눅스를 새로 설치하시는게 더 빠를 것입니다. (경험) wsl은 기본적으로 IP를 따로 할당 받게 되는데요. ..