본문 바로가기

분류 전체보기

(345)
포드와 클러스터 노드의 오토스케일링 쿠버네티스의 스케일링 방안 - 포드에서 실행되는 애플리케이션은 리플리케이션컨트롤러, 레플리카셋, 디플로이먼트 또는 확장 가능한 리소스의 복제본 필드를 늘려서 수동으로 스케일링 가능 - 컨테이너의 리소스 요청 및 제한을 늘려 수직적으로 스케일 조정 가능 (현재 포드가 실행되는 동안이 아니라 포드 생성 시에만 수행할 수 있음) 1. 포드의 수평적 오토스케일링 [HorizontalPodAutoscaler(HPA)] 포드의 수평적 오토스케일링은 컨트롤러가 관리하는 포드 복제본의 수를 자동으로 조정한다. 이것은 HorizontalPodAutoscalet 리소스를 만들어 활성화 및 구성되는 Horizontal 컨트롤러가 수행한다. 컨트롤러는 포드 매트릭을 주기적으로 확인하고 HorizontalPodAutoscale..
HEALTH CHECKS 실습 (Liveness Probe/Readiness Probe) Kubernetes는 어떠한 이유로 충돌이 발생하면 컨테이너를 다시 시작한다. Traffic을 보낼 정상 컨테이너를 식별하고 필요할 때 다시 시작하도록 구성할 수 있는 Liveness 및 Readiness Probe를 사용한다. ㅁ Liveness Probe: Kubernetes에서 Pod가 살아있는지 죽었는지 확인할 때 사용된다. Pod는 다양한 이유로 Dead 상태로 될 수 있는데 Kubernetes는 Liveness probe가 통과하지 못하면 Pod를 죽이고 다시 만든다. clarkshim.tistory.com/76?category=1003649 라이브니스 프로브 (Liveness Probe) 쿠버네티스는 라이브니스 프로브 (Liveness probe)를 통해 컨테이너가 아직 살아 있는지 확인 할..
Readiness Probe - Pod가 연결을 수락할 준비가 됐을 때 신호 보내기 레디네스 프로브는 주기적으로 호출되고 특정 포드가 클라이언트 요청의 수락 여부를 결정한다. 컨테이너의 레디네스 프로브가 성공을 반환한다면 컨테이너가 요청을 받아드릴 준비가 되었다는 신호다. 준비가 됐다는 표시는 분명히 각 컨테이너에 국한된 것이다. 쿠버네티스는 단지 컨테이너에서 실행 중인 애플리케이션이 간단한 GET/ 요청에 응답하는지 또는 특정 URL 경로에 도달할 수 있는지 확인하거나 필요에 따라서 애플리케이션이 준비됐는지 확인하기 위해 전체 체크리스트를 수행하기도 한다. ㅁ 레디네스 프로브(Readiness Probe)의 타입 ㅇ 프로세스를 실행시키는 Exec 프로브, 컨테이너의 상태는 프로세스의 종료 상태 코드에 의해 결정 ㅇ HTTP GET 요청을 컨테이너에게 보내고 응답의 HTTP 상태 코드를..
Kong Functional Requirements 1. API Management - API 게이트웨이는 정책 적용 및 메시지 처리 기능의 기초를 제공 - 사용 가능한 게이트웨이는 REST API에 대해서만 좁게 초점을 맞춘 기능부터 REST API, SOAP API, 응용 프로그램 메시징, 파일 전송, 보안 통합 및 모바일 앱 지원에 대한 매우 광범위한 기능에 이르기까지 다양하다 - 사용 된 독립 실행형 또는 API 관리 솔루션의 일부로 게이트웨이는 신뢰 지원 보안(예: 인증, 권한 부여) 및 공격 보호 보안(예: 서비스 거부 또는 잘못된 요청 방지)에 중요한 인프라를 제공한다. Kong은 다음과 같이 설명된 일반적인 API 관리 기능을 가볍고 확장 가능하며 유연하게 높은 Throughput 관리 계층으로 통합한다. Kong Enterprise는 아래..
AWS CodePipeline AWS CodePipeline은 빠르고 안정적으로 애플리케이션과 인프라의 업데이터를 위한 릴리스 파이프라인을 자동화할 수 있도록 서비스 형태로 제공되는 완전 관리형 지속적 전달(Continuous Delivery)을 제공하는 서비스 AWS CodePipeline은 코드에 변경이 있을 때 마다 사용자가 사전에 정의한 릴리스 모델을 기반으로 애플리케이션의 릴리스 프로세스의 빌드, 테스트, 배포 단계에 걸친 프로세스에 대해 자동화를 수행. 이를 통해 애플리케이션의 변경 사항이나 새로운 기능을 신속하고 안정적으로 제공 AWS CodePipeline은 AWS CodeCommit, GitHub, Amazon ECR 또는 Amazon S3에 바로 파이프라인에 대한 소스코드를 가져올 수 있으며 AWS CodeBuild..
AWS CodeDeploy AWS CodeDeploy는 Amazon EC2, Amazon ECS, AWS Lambda 및 On-Premise 서버와 같은 다양한 컴퓨팅 서비스에 대해 소프트웨어 배포를 자동화하여 제공하는 완전 관리형 배포 서비스 AWS CodeDeploy는 지속적인 배포(Continuous Deploy)를 지원하는 대표적인 CD 도구로써, AWS CodeDeploy를 사용하게 되면 새로운 기능 및 문제가 되는 코드에 대해 빠르고 신속하게 배포할 수 있다. AWS CodeDeploy를 사용하면 AWS Console 또는 AWS CLI를 통해 배포를 시작하고, 배포 상태에 대한 추적을 할 수 있으며, 상세한 보고서를 통해 애플리케이션의 수정 버전이 언제 어디에 배포되었는지 확인할 수 있고, 푸시 알림을 통해 배포에 대..
AWS CodeBuild AWS CodeBuild는 소프트웨어 개발에 필요한 소스코드를 컴파일하는 단계에서부터 테스트 후 소프트웨어 배포까지의 단계를 지원하는 완전 관리형 지속적 통합(Continuous Integration)서비스 CodeBuild를 사용하면 자체 빌드 서버가 필요하지 않으며, 빌드 서버를 프로비저닝하거나, 운영/관리 및 확장을 수행할 필요가 없다. AWS CodeBuild는 빌드를 수행할 볼륨에 따라 인프라가 자동으로 확장 및 축소를 지원하여, 제출되는 빌드에 대해 죽각적으로 처리되므로, 여러 빌드를 동시에 처리할 수 있기 때문에 빌드를 위해 대기하지 않고 빠르고 효율적으로 빌드 작업을 수행한다. AWS CodeBuild는 Apache Maven, Gradle 등과 같이 널리 사용되는 프로그래밍 언어 및 빌드..
AWS CodeCommit AWS CodeCommit이란 안전한 Git 기반의 Repository를 클라우드 기반으로 제공하는 완전 관리형 소스 제어 서비스로 일반적인 애플리케이션 개발을 진행하면서 개발된 소스를 저장하고 제어할 수 있는 기능을 제공 CodeCommit은 관리형 클라우드 서비스이므로 소스코드를 저장하기 위한 리포지토리를 생성만 하면 되며, 프로비저니이 및 확장할 하드웨어나 설치, 구성, 운영할 소프트웨어가 필요 없다. 또한 AWS CodeCommit의 가져오기 요청, 분기 및 병합 기능을 활용하면 팀에서 다른 개발자나 구성원과 협업을 할 수 있으며, 이를 통해 보다 효율적으로 소스코드를 관리할 수 있다. AWS CodeCommit은 협업자를 수행하는 내부 구성원에게 코드에 대한 검토를 요청하고 이에 대한 Feedb..