본문 바로가기

문제해결8

Helm hooks을 사용하여 Namespace에 istio-injection label 설정하기 문제점 Istio를 사용하려면 Istio 환경 설치 외에도 Istio(Envoy) Proxy를 각각의 파드에 Sidecar에 주입해서 사용해야 한다. Sidecar를 주입하기 위해서는 다양한 방법이 존재하는데 일반적으로 Namespace에 istio-injection=enabled 라벨을 추가하여 자동으로 Sidecar를 주입하는 방법이 있다. 파드를 생성하는 워크로드에도 라벨을 추가하여 파드가 생성할 때 사이드카를 자동으로 주입하도록 할 수 있다. 그러나 Helm을 통해 작성된 여러 차트 같은 경우에는 네임스페이스를 “생성”만 해주는 기능만 있을 뿐 위 같은 커스텀 라벨을 붙일 수 없다. 그렇다고 Namespace를 Helm Chart에 넣자니 해당 릴리스가 삭제되면 해당 네임스페이스에 있는 릴리스 외.. 2022. 9. 25.
Fluent Bit Alias 설정으로 Prometheus Metrics을 쉽게 파악하기 Fluent Bit는 CNCF의 프로젝트 중 하나인 Fluentd의 서브 프로젝트이다. Fluentd보다 가볍고 빠르다는 장점을 가지고 있어 K8s에서 로그 데이터를 수집할 때 자주 사용된다. Fluent Bit의 다른 장점 중 하나는 기본적으로 메트릭 정보를 제공한다는 점이다. 특히 HTTP를 통해서 JSON 기반의 메트릭이나 Prometheus 기반의 메트릭 데이터를 제공하기 때문에 쉽게 모니터링할 수도 있다. 제공하는 메트릭은 fluentbit_input_records_total, fluentbit_input_bytes_total, fluentbit_output_proc_records_total, fluentbit_output_proc_bytes_total, fluentbit_output_error.. 2022. 8. 7.
EKS Helm에서 발생하는 Error: Kubernetes cluster unreachable 해결하기 EKS는 Kubernetes latest 버전을 지원하고 있지 못하다 보니 호환성 이슈가 종종 발생하고 있다. 대표적으로 kubectl을 사용했을 때 아래와 같은 오류 문구를 만날 수 있는데 발생한 이유는 EKS에서 지원하는 Kubernetes 버전과 내 환경의 kubernetes 버전과 충돌이 일어나서 발생한 오류이다. Kubernetes를 기반으로 동작하는 Helm 역시 동일한 이슈가 발생할 수 있게되는데 이 역시 Helm의 kubernetes 버전이 EKS와 맞지 않아서 발생하게 된다. 실제로 사용하고 있는 EKS에서 사용하고 있는 Kubernetes는 1.22 버전이지만 현재 사용하고 있는 Helm v3.9.1에서는 Kubernetes 1.24.2를 지원하고 있다. 따라서 EKS에서 지원하고 있는.. 2022. 7. 15.
Nginx로 React, Node 3-Tier Architecture 적용하기 Nginx를 설치하고 HTTPS를 적용해보자 (with Ncloud, Google Domains) 에서 Nginx를 통해 HTTPS를 적용해봤습니다. 이번에는 Ncloud에서 인스턴스를 생성하여 3-Tier Architecture를 적용해보도록 하겠습니다. 목차 3-Tier Architecture란? Presentation Tier 구현하기 Application Tier 구현하기 2편 추가 예정 Data Tier 구현하기 Object Storage로 데이터 백업하기 3-Tier Architecture란? 이번에 프로젝트를 하면서 처음으로 인프라 구조에 대해서 고민을 하게 되었습니다. 인프라에 대해서 공부를 해본 적이 없다 보니 어떤 구조가 있고 어떻게 설계를 해야지 효율적인지 몰라서 처음에는 생각을 많이.. 2021. 11. 3.