profile 72

[Terraform] 테라폼 기초 설명 & init 코드 구성 요소

Terraform 이란?- 하시코프사에서 공개한 IaC 도구- 블록에서 작성된 타겟 리소스에 대한 api 를 테라폼 프로바이더가 호출- 실행(apply) 하면 생성되는 tfstate 파일을 기준으로 상태를 비교하여 선언된 형태에 맞춤 HCL 이란?- HashiCorp configuration language - 하시코프사에서 IaC와 구성 정보를 명시하기 위해 개발된 오픈 소스 도구- 테라폼에서 HCL이 코드의 영역을 담당- 인프라가 코드로 표현되고, 이 코드는 곧 인프라이기 때문에 선언적 특성을 갖게 되고 튜링 완전한 Turing-complete 언어적 특성을 가짐- 일반적인 프로그래밍 언어의 조건문 처리 같은 동작 가능- 자동화와 더불어, 쉽게 버저닝해 히스토리를 관리하고 함께 작업 할 수 있는 기반..

[Terraform] EKS IaC

Amazon EKS Workshop Study 2기8주차EKS IaC ( Terraform )eks 환경을 테라폼으로 구성해보기 실습환경 구성윈도우에서 구성하려면 mac 환경에서보다 이것저것 해 줘야할 게 많다. brew 짱짱맨.. wsl2 설치 > 실행 > 테라폼 설치wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_re..

[ArgoCD] ArgoCD 설치 및 실습

Argo 개념 ArgoCD란? - gitops를 구현하기 위해 쿠버네티스 어플리케이션 자동배포를 위한 오픈소스 - ci/cd 중 cd 를 담당 - 선언적 어플리케이션 관리를 사용 : 명시적으로 원하는 상태를 선언, argoCD가 클러스터 상태와 비교하여 선언된 상태로 유지 - 활용 ci/cd 아키텍처 api 서버 : Web UI, CLI 및 CI/CD 시스템에서 사용되는 API를 노출하는 gRPC/REST 서버 애플리케이션 관리 및 상태 보고 애플리케이션 작업 호출 (예: 동기화, 롤백, 사용자 정의 작업) 리포지토리 및 클러스터 자격 증명 관리 (K8s 시크릿으로 저장) 외부 식별 공급자로의 인증 및 인증 위임 RBAC 시행 Git 웹훅 이벤트를 수신 및 전달하는 리스너/포워더 Repository Se..

Infra & DevOps/CICD 2024.04.20

[Jenkins]Jenkins 설치 및 실습

Jenkins 개념 - 지속적 통합 & 배포를 위한 워크플로우 제어에 사용되는 툴 - 자바 기반의 오픈소스 -> 자바와 친화성이 높음 - 아파치 톰캣처럼 서블릿 컨테이너 내부에서 실행되는 서버 시스템 - 파이프라인이라고 부르는 스크립트 작성 -> 각 빌드 단계마다 세부적으로 젠킨스의 태스크 정의 가능 - 다양한 플러그인 연동 제공 Build Plugins : Maven, Ant, Gradle … VCS Plugins : Git, SVN … Languages Plugins : Java, Python, Node.js … - github action 과 함께 CI/CD 툴로 많이 거론 됨 - 간단한 비교 요약 - 워크플로우 예시 최신 코드 가져오기 : 개발을 위해 중앙 코드 리포지터리에서 로컬 시스템으로 애플..

Infra & DevOps/CICD 2024.04.19

[EKS] CI/CD

Amazon EKS Workshop Study 2기 7주차 CI/CD eks 환경에서 젠킨스와 argoCD 를 활용한 CI/CD 파이프라인 구축 실습환경 구성 curl -O https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/K8S/eks-oneclick6.yaml # default 네임스페이스 적용 kubectl ns default # 노드 정보 확인 : t3.medium kubectl get node --label-columns=node.kubernetes.io/instance-type,eks.amazonaws.com/capacityType,topology.kubernetes.io/zone # ExternalDNS MyDomain..

[EKS] Security

Amazon EKS Workshop Study 2기 6주차 Security 보안...선수 지식이 꽤 필요했다 실습환경 구성 기존 실습 했던대로 배스천 1 에 워커노드 여럿붙어있는 상황 + 새로운 워커가 와서 그의 새 pc( 또 다른 배스천 1)에 권한 등을 제한, 설치 하는 시나리오의 실습 yaml 파일 다운 > 클라우드 포메이션 스택 배포 > 확인 > 작업용 배스천 ssh 접속 curl -O https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/K8S/eks-oneclick5.yaml 기본설정 네임스페이스 default 설정 : 이번 챕터에선 네임스페이스 구분 주의 > external DNS 설정 > kube-ops-view, AWS..

[EKS] Autoscaling

Amazon EKS Workshop Study 2기 5주차 Autoscaling 이번 시간에 배울 것은 eks의 오토스케일링. EKS 환경에서 여러가지 방식으로 오토스케일을 걸어보는 실습 ecs 오토스케일링에 대해서는 다뤄봤는데, 쿠버네티스의 오토스케일링은 크게 다를 것이 있을까? k8s 의 오토스케일링 - 쿠버네티스 클러스터 오토스케일링은 쿠버네티스에서 기본적으로 제공하는 기능 - Cluster AutoScaler는 Pod의 리소스 요청에 따라 클러스터의 노드를 추가하거나 제거 - 클러스터 내의 노드(VM 또는 물리 서버)를 자동으로 확장하거나 축소하여 애플리케이션의 수요에 맞춰 자원을 동적으로 조정 - 주로 Horizontal Pod Autoscaler(HPA)와 함께 사용 EKS 의 오토스케일링 -..

[EKS] Observability

Amazon EKS Workshop Study 2기 4주차 Observability eks 에서 프로메테우스, 그라파나 등을 활용하여 로그를 수집, 분석, 알람하기 실무를 경험 하기 전엔 주로 인프라 자원을 새로 구축, 마이그레이션 하는 것에 치중되어 학습했다. 그래서 스터디에선 살짝 가볍게 이런게 있다~ 하고 넘어갔던 부분이지만 실무에서 운영환경에서 프로덕트의 안정성, 운영, 비용 등을 고려할 때 굉장히 중요한 부분은 프로덕트의 상황을 읽어내는 것이었다. eks 환경에서 서비스의 가시성을 높이기 위한 실습 환경 세팅 계속해서 이전 주차의 내용들이 포함된 환경 셋팅 yaml 을 이용한 클라우드 포메이션 배포 yaml 파일 더보기 AWSTemplateFormatVersion: '2010-09-09' Met..

[EKS] Storage

Amazon EKS Workshop Study 2기 3주차 EKS Storage & node group : 쿠버네티스의 저장소에 대해서 실습환경 사전 설치 - cloudformation 사용 - yaml 파일 사용 aws cloudformation deploy --template-file eks-oneclick2.yaml --stack-name myeks --parameter-overrides KeyName= SgIngressSshCidr=$(curl -s ipinfo.io/ip)/32 MyIamUserAccessKeyID= MyIamUserSecretAccessKey= ClusterBaseName= --region ap-northeast-2 bastion ec2 ip 확인 aws cloudformati..

[EKS] network

Amazon Eks Workshop Study 2기 2주차 eks 노드 - 파드 통신을 중점적으로 VPC CNI 사전 개념 정리 https://bravesunfish.tistory.com/69 [EKS] VPC CNI CNI 개념 - Container Network Interface - CNCF(Cloud Native Computing Foundation)의 프로젝트 중 하나 - 컨테이너 간의 네트워킹을 제어할 수 있는 플러그인을 만들기 위한 표준 - 쿠버네티스에서는 Pod 간의 통신을 bravesunfish.tistory.com 참고 자료 https://malwareanalysis.tistory.com/555 pkos 스터디 2주차 2편 - AWS VPC CNI 이 글은 쿠버네티스에서 AWS VPC C..