반응형

전체 글 301

Helm Chart 생성 및 패키징 (gh-pages)

Overview이번 글에서는 직접 개발한 Kubernetes Operator(예: helios-lb)를 Helm Chart로 패키징하고, GitHub Pages 기능을 활용해 Helm Chart Repository를 구축 및 배포하는 전 과정을 다룬다. helm create 명령어를 통해 Helm Chart의 기본 구조를 생성하고, CRD, 컨트롤러, RBAC, 서비스 등 필요한 리소스를 templates/에 정의한다. 이후 Helm의 `package, repo index` 명령을 통해 `.tgz` 패키지와 `index.yaml` 을 생성한 후, GitHub의 `gh-pages` 브랜치에 업로드함으로써 Helm Chart를 외부에 서비스할 수 있는 레포지토리를 구축한다. 이 과정을 통해 Helm Char..

Kubernetes Operator(CRD, CR) 생성(With kubebuilder)

Overview이번 글에서는 Kubebuilder를 활용하여 Kubernetes Operator를 개발하는 전반적인 과정을 살펴본다.Kubebuilder는 Kubernetes의 표준 API 패턴을 따르며, CRD 생성부터 컨트롤러 구현, 테스트, 빌드, 배포까지 효율적인 워크플로우를 제공한다.직접 Operator를 만들고 Docker 이미지로 빌드하여 배포하는 방법까지 다루므로, 실제 프로젝트에 적용하기 위한 기반을 마련할 수 있다. k8s-namespace-sync, helios-lb 등 실 사례를 통해 Operator 구조를 이해하고, 마커 기반의 CRD 정의, Makefile을 통한 테스트 및 빌드 자동화 등 실무에 꼭 필요한 요소들도 함께 다뤘다.     📅 관련 글2024.04.15 - [Co..

Kubernetes Operator 및 Custom Resource Definitions(CRDs) 이해하기

OverviewKubernetes Operator와  Custom Resource Definitions (CRDs) 대해서 알아본다.   Kubernetes Operator Kubernetes 생태계에서 Operator는 Kubernetes 애플리케이션을 패키징, 배포, 관리하는 방법이다. Kubernetes 애플리케이션은 Kubernetes에 배포되고 Kubernetes API 및 kubectl 도구를 사용하여 관리된다. Operator는 클러스터 상태를 감시한 다음 필요한 경우 변경을 수행하거나 요청하는 루프인 컨트롤러의 Kubernetes 원칙을 따른다. Operator는 Kubernetes를 확장하여 특정 애플리케이션의 전체 수명주기 관리를 자동화한다. ​ 왜 Operator를 사용해야 할까?Ku..

Kubernetes Headless Service란?

OverviewKubernetes에서 일반적인 Service는 클러스터 내의 파드들 사이에 로드 밸런싱과 가상 IP(ClusterIP)를 제공하는 방식으로 작동한다. 하지만, 데이터베이스나 Stateful 애플리케이션처럼 각 파드에 직접적인 네트워크 접근이 필요한 경우에는 이 방식이 적합하지 않다. 이런 상황에서 사용하는 것이 바로 Headless Service이다. `Headless Service는 clusterIP: None` 으로 설정되어 있으며, DNS를 통해 각 파드의 개별 IP를 직접 노출시켜준다.  이로 인해 클라이언트는 파드 하나하나에 직접 접근할 수 있게 되고, 이는 클러스터링 기반 DB 시스템(Cassandra, MongoDB 등)이나 StatefulSet 환경에서 매우 유용하게 활용된..

AWS DynamoDB란?

OverviewAmazon DynamoDB는 AWS가 제공하는 완전관리형 서버리스 NoSQL 데이터베이스로, 대규모 애플리케이션에서 실시간 성능과 높은 확장성을 요구할 때 이상적인 선택이다.테이블 기반의 비정형 데이터 저장 구조와 자동 확장 기능, 그리고 AWS 서비스와의 밀접한 통합을 통해 빠르고 안정적인 데이터 처리를 가능하게 한다. 특히 게임, IoT, 모바일 백엔드, 전자상거래 등 다양한 실시간 기반 워크로드에서 활발히 사용되고 있으며, DynamoDB Streams와 Lambda를 활용하면 이벤트 기반 아키텍처도 손쉽게 구축할 수 있다.  이 글에서는 DynamoDB의 핵심 개념, 기능, 사용 사례, 다른 데이터베이스와의 비교 등을 통해 전반적인 이해를 돕고자 한다.       📅 관련 글20..

AWS 2024.11.27

[IT 용어 5.] CI/CD란?

OverviewCI/CD는 현대 소프트웨어 개발 및 운영에서 핵심적인 자동화 전략으로, 코드 통합부터 테스트, 빌드, 배포까지의 전 과정을 자동화함으로써 개발 생산성과 서비스 안정성을 극대화하는 방법론이다.CI (지속적 통합)는 개발자들이 변경한 코드를 공유 저장소에 자주 통합하며, 자동 테스트 및 빌드로 오류를 빠르게 식별한다.CD (지속적 배포)는 이 통합된 코드를 고객 환경까지 자동 배포하여, 더 빠르고 안정적인 소프트웨어 전달을 가능하게 한다.  CI/CD는 단순한 자동화를 넘어, 팀의 협업 방식과 고객 피드백을 빠르게 반영하는 DevOps 및 Agile 개발 문화의 핵심 요소로 자리잡고 있다.        📅 관련 글https://somaz.tistory.com/category/IaC/CI%2..

IT 용어 2024.11.25

EKS Pod Identity Addon

OverviewAmazon EKS Pod Identity는 EKS에서 Kubernetes 서비스 계정과 IAM 역할을 간편하게 연결하여 Pod 단위의 AWS 자격 증명 제공을 자동화하는 기능이다.2023년 12월 정식 출시되었으며, 기존 IRSA(서비스 계정용 IAM 역할) 방식보다 구성 및 운영이 간단하고 유연하다는 장점이 있다.EKS Pod Identity는 클러스터에 별도의 OIDC 설정 없이 IAM 역할을 매핑할 수 있어, 멀티 클러스터 환경이나 CI/CD 자동화, 보안 통제에 탁월한 기능이다. 본 글에서는 기존 IRSA와의 차이점, 작동 원리, 실습 방법, 실무 활용 포인트까지 모두 정리한다.       📅 관련 글2022.02.13 - [AWS] - AWS IAM (Identity and A..

AWS 2024.11.24

[IT 용어 4.] Semantic Versioning (SemVer)란?

OverviewSemantic Versioning (SemVer)는 소프트웨어의 버전을 의미 있게 관리할 수 있도록 도와주는 버전 체계이다.단순한 숫자 나열이 아니라 버전 번호에 의미를 부여함으로써, 사용자와 개발자 모두가 변경의 영향 범위를 쉽게 파악할 수 있도록 설계되었다.  SemVer는 다음과 같은 형식으로 구성된다.MAJOR.MINOR.PATCH`MAJOR`: 호환되지 않는 변경이 있을 때 증가`MINOR`: 호환되는 새로운 기능이 추가될 때 증가`PATCH`: 호환되는 버그 수정이 이루어졌을 때 증가  이러한 규칙은 버전의 일관성을 유지하면서도, 팀 간 협업 및 라이브러리 소비자와의 신뢰 있는 계약(contract) 을 제공하는 데 핵심 역할을 한다. 또한, `alpha, beta, rc` 와..

IT 용어 2024.11.23

[CS 지식18.] Quantum Computing(양자 컴퓨팅)

Overview양자 컴퓨팅(Quantum Computing)은 기존 컴퓨터와는 전혀 다른 방식으로 정보를 처리하는 차세대 컴퓨팅 기술이다.기존 컴퓨터는 비트(Bit)를 이용해 0 또는 1로 데이터를 표현하지만, 양자 컴퓨터는 큐비트(Qubit)를 활용해 0과 1을 동시에 표현할 수 있다.이러한 ‘중첩(Superposition)’과 ‘얽힘(Entanglement)’ 등의 양자역학적 현상을 이용하면 특정 복잡한 계산을 기하급수적으로 빠르게 수행할 수 있게 된다.  암호 해독, 신약 개발, 최적화 문제 해결 등 현재의 컴퓨팅 한계를 뛰어넘는 혁신적 가능성으로 주목받고 있으며, IBM, Google, D-Wave, Rigetti 등 글로벌 기업들이 경쟁 중인 핵심 기술 중 하나다.      📅 관련 글2023..

CS 지식 2024.11.22

ALB access Log 활성화 → S3 권한 설정 및 로그 저장

Overview이 글에서는 AWS Application Load Balancer(ALB)의 Access Log 기능 활성화부터 S3 권한 설정, 그리고 로그 저장 방식까지 실무 중심으로 자세히 정리했다.ALB의 접근 로그는 보안 및 트래픽 분석을 위한 중요한 데이터로, 로그를 안정적으로 수집하고 저장하기 위한 S3 버킷 구성이 필수이다. 특히 Kubernetes 환경에서는 `alb.ingress.kubernetes.io/load-balancer-attributes` 어노테이션을 통해 손쉽게 로그 설정이 가능하며, 서비스 주체(logdelivery.elasticloadbalancing.amazonaws.com)를 활용한 정확한 S3 권한 정책 구성이 핵심이다.       📅 관련 글2022.02.13 -..

AWS 2024.11.21
반응형