전체 글 208

AWS EKS

참고 블로그: https://velog.io/@rockwellvinca/EKS-AWS-EKS%EC%9D%98-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EC%97%94%ED%8A%B8%ED%8F%AC%EC%9D%B8%ED%8A%B8%EB%9E%80 EKS(Elastic Kubernetes Service) Public + Private Endpoint Access EKS Cluster: Public + Private Control Plane(api server): Public Worker Node: Private Nodegroup 생성할 때, Nodegroup에 왜 Public Subnet 할당이 안되나 했음 ㅡㅡ (에러는 해당 서브넷이 IPv4 자동 Public IP 할당 활성화..

AWS/Service 2024.04.15

[K8S 환경에 Kafka 및 EFK 배포] 구성도

참고 블로그https://potato-yong.tistory.com/126https://coding-start.tistory.com/m/383 쿠버네티스 로깅 파이프라인 이번에 CKA 자격증 따면서 배운 쿠버네티스와 AWS 강의 들으며 흥미 돋은 Kafka와EFK 조합을 사용하여 쿠버네티스 로깅 파이프라인을 구성해보려고 한다.  구성도fluentd  →  kafka  →  elasticsearch  →  kibana  →  visualizationlogstash 없어도 될듯 ..?  fluentd 여러 다양한 리소스에서 로그 및 이벤트를 수집하여 이를 여러 대상으로 전달하도록 설계주로 컨테이너 로그 수집daemonset으로 생성 kafkahelm을 사용하여 설치  (https://coding-start..

AWS/Project 2024.04.08

Amazon MSK

참고 블로그: https://velog.io/@dlatkdrb980219/AWS-MSKApache KafkaProducer∙ 메세지(이벤트)를 생산(Write)하는 주체∙ 프로듀서는 메세지 전송 시 토픽을 지정∙ 파티션은 라운드로빈 방식 혹은 파티션 번호를 지정하여 넣을 수 있음∙ 같은 키를 갖는 메세지는 같은 파티션에 저장되며 순서 유지Kafka 클러스터∙ Kafka의 Broker들의 모음∙ Kafka는 확장성과 고가용성을 위해 Broker들이 클러스터로 구성되어 있다.Broker∙ 각각의 Kafka 서버∙ 메시지를 저장하고 복제하는 서버∙ 동일 노드에 여러 Broker를 띄울 수 있다.Zookeeper∙ Kafka 클러스터 정보 및 분산처리 관리 등 메타 데이터가 저장된 스토리지∙ Kafka를 띄우기..

AWS/Service 2024.04.04

[Terraform] 용어

Terraform 키워드 terraformprovider Terraform 자체에 대한 설정을 작성하는 블록 Terraform과 외부 서비스를 연결해주는 기능 resourcedata 인프라 구성요소 Terraform 외부에 정의되어 있는 정보를 가져와서 사용할 수 있게 해주는 기능 variablelocals개발자로부터 입력받는 변수. 재사용성 O지역변수 선언 키워드. 현재 파일에서만 사용 가능outputmodule인프라에 대한 정보를 명령줄에 노출(숨기기 가능)시킬 수 있으며 자식 모듈의 output 값에 접근하여 사용할 수 있게 해주는 기능하나의 폴더 내에 있는 Terraform 구성 파일들의 집합 terraformterraform {  required_providers {    aws = {   ..

IaC/Terraform 2024.04.02

[Terraform] 환경 구성

참조 문서: https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html 1. Terraform 설치VS Code에서 Extensions > HashiCorp HCL 설치환경변수 설정 2. AWS IAM 계정 생성AccessKey 발급: AWS Console 액세스가 아닌 프로그래밍 방식 액세스가 필요하므로, 자격 증명 유형은 액세스 키 이다. 3. AWS CLI 설치https://awscli.amazonaws.com/AWSCLIV2.msi설치 확인$ aws --versionaws-cli/2.15.34 Python/3.11.8 Windows/10 exe/AMD64 prompt/off 4. 액세스 키 설정$ aws c..

IaC/Terraform 2024.04.02

IaC 도구 비교

Terraform Ansible CloudFormation 유형 프로비저닝 구성 관리 프로비저닝 오픈소스 여부 공개 공개 비공개 적용 대상 클라우드 멀티 멀티 AWS 전용 정책 설정 가능 불가능 부분적 구성 방식 Immutable mutable Immutable 라이프사이클 관리 가능 불가능 부분적 온프레미스 지원 부분적 부분적 불가능 ✔︎ Immutable : 인프라스트럭처의 상태를 변경할 때, 기존 인프라스트럭처를 수정하거나 업데이트하는 것이 아니라 새로운 인프라스트럭처를 생성하여 이전 상태의 인프라스트럭처를 교체하는 방식을 의미한다. Ansible 프로비저닝보다 구성 관리에 더 큰 장점을 가지고 있고, 테라폼으로 자원을 생성(프로비저닝)하고 앤서블로 생성된 자원에 대한 구성 관리하는 방식으로 조합해..

IaC 2024.04.02

[세미나] RedHat container Day 2024

기업의 컨테이너 전환 여정과 시사점결론 : 기업이 컨테이너 전환시, 단계별로 레드햇이 지원하는 서비스 및 상품 홍보하는 내용 이었습니다. 컨테이너 전환 과정의 어려움플랫폼 신규 구축대상 애플리케이션 선정ex) 어떤 업무를 올려야 하는가? → 개발자들의 수고 ↓, "의미" 있는 애플리케이션을 올려야 한다.                                                                     ※ 의미 = 투자 비용이 높은 도입과 관련된 전반적 기술적 의사 결정ex) 버전 변경으로 인한 여러가지 이슈사항 고려, 개발자들의 공수 고려클라우드 네티이브 애플리케이션 개발플랫폼 확산주요 고려 사항인프라클러스터와 컨테이너 자원 관리 방안, 멀티 클러스터, 스토리지 유형 등애플리케이션..

영구 볼륨 클레임

컨피그 & 스토리지 API 카테고리 설정/기밀 정보/영구 볼륨 등에 관련된 리소스 - 시크릿 - 컨피그맵 - 영구 볼륨 클레임 볼륨, 영구 볼륨, 영구 볼륨 클레임의 차이 볼륨 사용 가능한 볼륨을 매니페스트에 직접 지정하여 사용할 수 있게 하는 것 사용자가 설정된 볼륨을 사용할 수 있지만, 쿠버네티스에서 신규 볼륨을 생성하거나 기존 볼륨을 삭제하는 작업은 할 수 없다. 매니페스트에서 볼륨 리소스 생성 불가능 영구 볼륨 외부 영구 볼륨을 제공하는 시스템과 연계하여 신규 볼륨을 생성하거나 기존 볼륨을 삭제하는 등의 작업이 가능하다. 구체적으로 매니페스트에서 영구 볼륨 리소스를 별도로 생성하는 형태다. 볼륨과 같은 플러그인 제공 예를 들어 GCP, AWS 볼륨 서비스에서는 영구 볼륨 플러그인과 볼륨 플러그인 ..

Kubernetes 2024.02.20

ConfigMap(컨피그맵)

작성중 컨피그 & 스토리지 API 카테고리 설정/기밀 정보/영구 볼륨 등에 관련된 리소스 - 시크릿 - 컨피그맵 - 영구 볼륨 클레임 설정 정보 등 key-value 값으로 저장할 수 있는 데이터 저장 리소스다. nginx.conf나 http.conf 같은 설정 파일 자체도 저장할 수 있다. 컨피그맵 생성 kubectl로 파일에서 값을 참조하여 생성(--from-file) kubectl로 직접 값을 전달하여 생성 (--from-literal 매니페스트로 생성(-f) ku커 빌드 시 컨테이너 이미지에 추가 이미지를

Kubernetes 2024.02.20

Secret(시크릿)

컨피그 & 스토리지 API 카테고리 설정/기밀 정보/영구 볼륨 등에 관련된 리소스 - 시크릿 - 컨피그맵 - 영구 볼륨 클레임 # 직접 옵션에서 type과 값을 지정하여 시크릿 생성 $ kubectl create secret generic --save-config sample-basic-auth \ --type kubernetes.io/basic-auth \ --from-literal=username=root --from-literal=password=rootpassword MySQL 데이터베이스에 접속하려면 사용자명이나 패스워드 등의 기밀 정보가 필요하다. 쿠버네티스에서 애플리케이션을 실행할 경우, 이와 같은 기밀 정보를 컨테이너로 전달하는 방법으로는 어떤 것이 있을까? 도커 빌드 시 컨테이너 이미지에..

Kubernetes 2024.02.19