반응형

분류 전체보기 73

[Public Cloud] Pod test

pod 샘플로 만들어서 네트워크 등 확인할 때 pod 생성 코드 apiVersion: v1 kind: Pod metadata: name: awscli namespace: $NAMESPACE labels: sg: $SG spec: containers: - image: amazon/aws-cli command: - sleep - "3600" imagePullPolicy: IfNotPresent name: awscli nodeSelector: Position: $NODE restartPolicy: Always serviceAccountName: $SA NAMESPACE : 파드를 생성할 네임스페이스 SG : 파드에 부여할 시큐리티 그룹 (was, was-using-db, using-db) NODE : 파드가 ..

[Public Cloud] Kyverno ?

Kyverno는 Kubernetes 용 policy engine입니다. Kyverno 정책을 활용하여 kubernetes 리소스가 정책에 부합하는지 검사하고, 필요하면 리소스를 변경하거나 생성할 수 있습니다. 이 문서에서는 Kyverno 구조 및 동작 방식과 활용 방안을 간략히 소개합니다. 맛보기 : Kyverno 정책 설정 및 활용 예시 먼저 모든 Pod는 app.kubernetes.io/name 라벨을 포함하도록 하는 규칙을 포함하는 아래 정책을 배포하고 실제로 어떻게 동작하는지 확인해보려고 합니다. A. Policy 적용하기 아래와 같이 예시 정책을 적용합니다. 만일 아직 Kyverno가 설치되지 않았다면 아래 설치하기 섹션을 먼저 진행합니다. kubectl create -f-

[DevOps] CICD - Github Actions 알아보기

GitHub Actions라고 하는 것은 구체적으로 어떤 것일까? GitHub Actions는 GitHub에서 코드와 함께 실행되는 기본 CI/CD 툴입니다. 실제로 GitHub 저장소(힌트: GitHub Actions가 있는 곳)에 "Actions"라고 표시된 탭이 있습니다. [출처] GitHub의 CI/CD 및 자동화 초보자 가이드 제1장|작성자 단군소프트 Github 한국 총판인 단군소프트에서는 위와 같이 Github Actions에 대해서 설명을 시작하고 있습니다. Microservice-based SaaS Product GitHub Cloud(또는 GitHub.com)는 Git-Server-Engine를 Public SaaS 로 제공되는 서비스입니다. Git repository와 organiza..

[AWS] LandingZone - VPC Design

VPC Design 리전별 CIDR 할당량 정의(가능한 크게, 12bit 이상) 계정당 표준 VPC 수 결정 Egress, East-West, 보안 장비 등 Transit Gateway 에 대한 Quota 참고 -Transit Gateway에 대한 할당량: https://docs.aws.amazon.com/ko_kr/vpc/latest/tgw/transit-gateway-quotas.htm) Decision Point Network VPC 구성 정의 VPN 등 기타 보안장비를 위한 별도 VPC 구성 여부 단일 VPC로 구성 시 VPC 개수가 줄어듬(단일 VPC내에 모두 제어) VPN의 경우 다른 VPC에서 들어오는 트래픽도 NFW을 거치게 하고 싶은 경우 subnet 분리 필요 VPC 내의 라우팅 테이블..

[AWS] LandingZone - OU 설계안

LandingZone과 연계된 OU(Organization Units) 설계부터 확인이 필요하다. ROOT 계정은 모든 AWS의 권한을 가지고 있기 때문에 이것만으로도 원하는 AWS 서비스를 생성하고 사용할 수 있지만 현업에서는 다양한 부서와 지사 등의 관계가 얽혀있기에 엔터프라이즈 환경에서 권한을 어떻게 부여하고 제어할지 잘 설계해야 한다.​ 특정 목적에 의해 AWS 계정을 묶어 관리하는 상위 개념을 OU(Organizational Unit)이라 한다. 개발사라면 개발팀/QA팀/운영팀으로 OU를 나눌 수도 있고 일반 회사라면 영업팀/마케팅팀/개발팀 이렇게 나눌 수도 있겠다. 이렇게 생성한 OU 밑에 하위 AWS 계정을 만들어 독립적으로 관리하고 사용할 수 있도록 한 것이 AWS 계정(account)다...

[AWS] HPA - Horizontal Pod Autoscaler

> 개요 HPA는 지정된 메트릭 값을 기준으로 Pod의 Replica 수를 제어 일반적으로 Pod의 CPU Utilization 메트릭 지정 CPU, Memory 사용량 수집을 위해 EKS Cluster 내 metric-server 구성 필요 기본적인 CPU/Memory 메트릭 이외에도 Custom Metric도 이용 가능 DaemonSet 등 Auto Scaling 적용이 불가능한 Object에는 적용할 수 없음 > 동작 원리 특정 시간 간격마다 kube-controller-manager가 HPA Object에 정의되어 있는 Resource의 utilization을 확인 기본 시간 간격은 15초 kube-controller-manager에 --horizontal-pod-autoscaler-sync-pe..

[AWS] Cluster Autoscaler (CA)

> 개요 CA는 Kubernetes 클러스터 Node의 리소스 사용률에 따라 Worker Node의 Scale out/in을 수행 AWS에서는 Auto Scaling Group을 이용하여 Node의 수를 조정 Kubernetes v1.8 부터 Kubernetes Autoscaler 프로젝트 중 하나로 Cluster Autoscaler v1.0(GA)이 포함 각 Cloud Provider에 맞는 가이드 제공 Cluster Autoscaler on AWS : IAM Policy & OIDC Ferderation, Auto-Discovery Setup이 포함 Cluster Autoscaler on AWS using Helm chart GitHub - kubernetes/autoscaler: Autoscalin..

[AWS] WAF Managed Rule Set 적용 예

> WAF RuleSet 적용 검토 기본 적용 사항 - Known Bad Input/ Managed Common Ruleset RuleSet 적용 권장 사항 AWS Managed Core Rule Set - OWASP Top 10기반 Core Rule, Count Mode로 운용 SQL Database - SQL Injection, Count Mode로 운용 Known bad inputs - Log4J Issue > 3rd Party Managed - Option F5 Managed - Web Exploit / API Audit Fortinet - OWASP Detect/ Deny Rule >Manual Rule Deny Country - Rule Builder 요구 사항에 맞게 추가 - 예시> Kore..

[AWS] Amazon EKS Version - 2

싱글 클러스터 업그레이드 전략 적은 비용으로 업그레이드 가능 기존 시스템을 크게 변경할 필요가 없습니다. 노드 그룹과 cordon, drain, eviction 을 사용하여 무중단 업그레이드 가능 테스트 환경, 소규모 워크로드 등에 적합 Control Plane 하나의 버전씩 업그레이드를 진행합니다. Data Plane(Worker Node) 노드 그룹 버전 업데이트 기본적으로 노드는 한 번에 하나씩 업데이트를 진행합니다. 배포된 애플리케이션이 높은 수준의 중단을 허용할 경우, 작업 병렬 수준을 높여 노드 그룹 버전 업데이트를 완료하는데 걸리는 시간을 줄일 수 있습니다. 노드 개수가 많을 경우 비율로 설정하는 것이 유용합니다. 서비스 불가능 노드(최대)는 숫자 혹은 비율로 설정가능 Rolling Upda..

반응형