본문 바로가기

Devops44

[ArgoCD] ArgoCD란 ArgoCD ArgoCD는 쿠버네티스 환경에 사용되는 선언적 GitOps 지속적인 배포 툴이다. ※ GitOps : Git 저장소를 진실의 근원으로 사용하여 인프라와 애플리케이션의 상태를 선언적으로 관리하는 방식    ArgoCD의 저장소(Repository)는 기본적으로 Git, Github 및 Gitlab을 활용할 수 있고, 추가로 Helm 기반의 Repository도 활용이 가능하다.   위 저장소에 저장된 템플릿으로는, 아래 항목들을 이용할 수 있고, 이를 토대로 배포가 된다.kustomize applicationshelm chartsjsonnet filesPlain directory of YAML/json manifestsAny custom config management tool configu.. 2024. 11. 14.
[Calico] Multiple Interface에서 특정 Network Interface만 사용 or 제외 https://docs.tigera.io/calico/latest/getting-started/kubernetes/quickstart Quickstart for Calico on Kubernetes | Calico DocumentationInstall Calico on a single-host Kubernetes cluster for testing or development in under 15 minutes.docs.tigera.io  Calico를 처음에 설치할 때, Tigera operator를 설치하고 이후 Custom Resource를 설치한다.  일반적인 상황에서는 이 부분을 수정할 일이 없다고 보나, 클러스터의 특정 제약 조건(IP 대역 지정 / 특정 인터페이스 사용 등)에 의해 수정할 일이.. 2024. 11. 7.
[Containerd] Image Pull의 Registry에 Http 또는 Self-Signed Certification 사용 시 기본적으로 Containerd에서 이미지를 Pull을 할 때에는 Https를 사용하여 Pull을 한다. 여기서 Registry의 Url이 Http로 되어 있거나, 인증서가 공식적으로 발급된 게 아니라면(자기 서명 인증서 등), 에러를 반환한다.  그래서 Containerd에서 CLI를 이용하여 이미지를 Pull 하려면 아래와 같은 --skip-verify나 --plain-http와 같은 옵션들이 존재한다.     여기서 쿠버네티스의 CRI로 사용하게 된다면, 당연히 위의 옵션을 이용할 수 없다. 그렇기에 /etc/containerd/config.toml을 수정해야 한다.   다음과 같이 [plugins."io.containerd.grpc.v1.cri".registry.configs]의 하위에 내용을 추가.. 2024. 11. 5.
[Linux] 메모리 Buffer/Cache 비우기 이전 글에서는 컴퓨터 자원과 그 사용량을 확인할 수 있는 명령어를 알아보았다.  [Linux/Ubuntu] 메모리 / 디스크 / 디렉토리 용량 확인많은 사람들이 AWS에서 Ubuntu를 기반으로 EC2 인스턴스를 많이 생성해서 운용하는 것으로 알고 있는데, 운용함에 있어 알아두면 좋은 명령어들이다. 1. 메모리 확인 # 기본 명령어 $ free # 가독성을ssnotebook.tistory.com  서버에 Database나 Kafka와 같은 메시지 브로커를 올려서 IO가 많이 발생하게 된다면, 아래 사진과 같이 Buff/Cache가 많이 쌓이게 된다.   필요에 따라 쌓인 캐시를 비워줄 수 있지만, 캐시를 바로 비우면 데이터 손실이 일어날 수 있기에 아래 명령어를 통하여 캐시를 스토리지와 동기화를 시켜준다.. 2024. 8. 13.
[Kong] Kubernetes 환경 내 Prometheus의 Metric 수집 및 확인 쿠버네티스 클러스터에서 Ingress Controller로 Nginx나 Kong이 많이 이용된다.  여기서 Ingress(Gateway)를 통하여, 클러스터에 들어오는 트래픽과 Latency는 UX 개선에 참고할 수 있는 중요한 Metric이다.  해당 글을 통하여, Helm 차트로 설치한 Kong Proxy(Gateway)의 메트릭을 Prometheus를 이용하여 수집하고 Grafana 대시보드를 이용하여 확인하는 과정을 알아볼 것이다.  1. Helm values.yaml 수정 admin 활성화 메트릭을 수집하기 위하여 kong admin을 활성화시켜 주고 http 이용을 위하여 활성화한다. [Default에서 수정한 옵션] admin.enabled : false  ->  true admin.type.. 2024. 8. 2.
[Kubernetes] Pgadmin4 Ingress 적용 데이터베이스에 접속하여 관리를 할 수 있는 툴이 여러 가지 있는데, 사람들이 가장 많이 사용하는 툴로 Dbeaver가 있고, PostgreSQL 같은 경우 Pgadmin4라는 전용 툴도 따로 존재한다. (다른 예 : MySQL의 Workbench) 여기서 Pgadmin4 같은 경우, 웹으로 접속하여 설치형 애플리케이션과 동일하게 이용할 수 있는 컨테이너 이미지가 존재하고, 이를 쿠버네티스 Ingress를 적용하여 접속하는 방법을 알아볼 것이다.  문제점 Kubernetes에서 Ingress로 클러스터 내부의 서비스를 이용할 때, 일반적으로 애플리케이션 API는 Prefix에 오는 Path를 제거해 주는 방식으로 많이 이용하는데, 이는 구현된 API의 로직에 따라 에러가 발생할 수 있다. Prefix를 제.. 2024. 7. 7.