클러스터 자동 크기 조정 HPA는 필요에 따라 새 Pod로 확장된다. 결국에는 클러스터 리소스는 모두 소진되고 예약된 Pod는 보류 상태가 된다. 클러스터 자동 크기 조정기란? 클러스터 자동 크기 조정기는 리소스 제약으로 인해 노드에서 예약할 수 없는 Pod를 감시한다. 그러면 클러스터에서 클러스터의 노드 수가 자동으로 늘어난다. 클러스터에 부하를 도입하여 자동 크기 조정을 강제로 적용해 보겠다. ratings-api 배포에서 인위적으로 CPU의 리소스 request와 limit를 cpu: "1000m"으로 증가하여 이러한 상황을 시뮬레이션하고 다시 배포할 수 있다. 이렇게 하면 Pod가 실제로 사용할 수 있는 것보다 더 많은 리소스를 클러스터 전체에 요청할 수밖에 없다. 그런 다음, 자동 크기 조정을 ..
본 실습의 클러스터 자동 크기 조정과 관련해서 여러 번 시도 해봤지만 테스트가 정상적으로 이루어 지지 않아 원인 분석 후 추가 정리하고자 한다. 따라서 먼저 HPA에 대한 부분을 먼저 정리하여 게시한다. # 6월 13일 업데이트 사항 : 스케일링 테스트 방안 새로 정리하여 업데이트. Fruit Smoothies는 전 세계에 대규모 팔로워 기반이 있는 매장을 보유하고 있으므로 많은 사용자가 평가 웹 사이트를 사용하여 좋아하는 스무디 맛을 평가할 것으로 예상된다. 애플리케이션의 인기가 높아짐에 따라, 애플리케이션의 규모를 적절하게 조정하여 수요 변화를 관리해야 한다. 평가 수가 증가함에 따라 애플리케이션이 응답성을 유지하도록 해야한다. 이번 실습에서는 다음을 수행한다. AKS Horizontal Pod Au..
Fruit Smoothies 마케팅 캠페인의 성공은 평가 웹 사이트의 지속적인 성능이다. 성능은 클러스터의 성능에 따라 달라지며 애플리케이션의 다양한 구성 요소를 모니터링하고, 로그를 보고, 애플리케이션이 중지되거나 일부 부분에 오류가 발생할 때마다 경고를 받을 수 있는지에 달려 있다. 사용 가능한 도구의 조합으로 애플리케이션의 경고 기능을 설정할 수 있다. 이번 실습에서는 다음을 수행한다. Log Analytics 작업 영역 만들기 AKS 모니터링 추가 기능 사용 AKS 이벤트 로그 검사 및 클러스터 상태 모니터링 라이브 로그 데이터를 사용하도록 Kubernetes RBAC 구성 라이브 컨테이너 로그와 AKS 이벤트 보기 Log Analytics 작업 영역 만들기 컨테이너용 Azure Monitor란 ..
사용자 데이터의 온라인 보안 및 개인 정보 보호는 회사로서의 Fruit Smoothies의 주요 관심사이다. 평가 웹 사이트에서는 모든 고객에게 HTTPS 연결을 허용하는 것이 중요하다. NGINX 인그레스 컨트롤러는 TLS 종료를 지원하며 HTTPS에 대한 인증서를 검색하고 구성하는 여러 가지 방법을 제공한다. 이 실습에서는 자동 Let's Encrypt 인증서 생성 및 관리 기능을 제공하는 cert-manager를 사용하는 방법을 보여 준다. 이번 실습에서 다음을 수행한다. Helm을 사용하여 인증서 관리자 배포 Let's Encrypt용 ClusterIssuer 리소스 배포 수신 시 평가 웹 서비스에 대해 SSL/TLS 사용 애플리케이션 테스트 인증서 관리자 배포 cert-manager는 클라우드 ..
이전 단원에서 각 인스턴스에 대한 액세스를 허용하는 두 가지 방법으로 Fruit Smoothies의 평가 웹 사이트 및 RESTfull API를 노출했다. API는 클러스터 내에서 사용하기 위한 내부 IP 주소를 만드는 ClusterIP를 사용하여 ratings-api 서비스를 통해 노출된다. 이 값을 선택하면 클러스터 내에서만 서비스에 연결할 수 있다. 웹 사이트는 Azure에서 공용 IP 주소를 만들어서 Azure 로드밸런서에 할당하는 LoadBalancer를 사용하여 ratings-web 서비스를 통해 노출된다. 이 값을 선택하면 클러스터 외부에서 서비스에 연결할 수 있음을 상기한다. 부하 분산 장치는 공개적으로 액세스할 수 있는 IP를 통해 평가 웹 사이트를 노출하지만 고려해야 할 제한 사항이 있..
Fruit Smoothies의 평가 웹 사이트는 여러 구성 요소로 구성된다. 웹 프런트 엔드, 캡처된 데이터를 저장하는 문서 데이터베이스 및 웹 프런트 엔드가 데이터베이스와 통신할 수 있도록 하는 RESTful 평가 API가 있다. 개발 팀은 MongoDB를 평가 웹 사이트에서 선택한 문서 저장소 데이터베이스로 사용하고 있다. 이전 단원에서는 평가 API를 배포했다. 이 단원에서는 배포를 계속하고 평가 웹 프런트 엔드를 배포한다. 평가 웹 프런트 엔드는 Node.js 애플리케이션이다. 여러분은 이미 Azure Container Registry 인스턴스를 만들었다. 이 인스턴스를 사용하여 프런트 엔드의 Docker 이미지를 빌드하고 리포지토리에 저장했다. 이번 실습에서는 다음을 수행한다. 웹 프런트 엔드에..
Fruit Smoothies의 평가 웹 사이트는 여러 구성 요소로 구성된다. 웹 프런트 엔드, 캡처된 데이터를 저장하는 문서 데이터베이스 및 웹 프런트 엔드가 데이터베이스와 통신할 수 있도록 하는 RESTful 평가 API가 있다. 개발 팀은 MongoDB를 평가 웹 사이트에 대해 선택한 문서 저장 데이터베이스로 사용하고 있다. 이전 단원에서 Helm을 사용하여 MongoDB를 배포했다. 이 단원에서는 배포를 계속하고 평가 API를 배포한다. 평가 API는 Express 프레임워크를 사용하여 작성된 Node.js 애플리케이션이다. 이 애플리케이션은 MongoDB 데이터베이스에서 항목 및 해당 평가를 검색하고 저장한다. Azure Container Registry 인스턴스를 이미 만들었음을 기억하실 것이다..
Fruit Smoothies의 평가 웹 사이트는 여러 구성 요소로 구성된다. 웹 프런트 엔드, 캡처된 데이터를 저장하는 문서 데이터베이스 및 웹 프런트 엔드가 데이터베이스와 통신할 수 있도록 하는 RESTful API가 있다. 개발 팀은 MongoDB를 평가 웹 사이트에 대해 선택한 문서 저장 데이터베이스로 사용하고 있다. 이 실습에서는 Helm을 사용하여 AKS(Azure Kubernetes Service) 클러스터로 MongoDB를 배포한다. 또한 Kubernetes 시크릿을 사용하여 MongoDB 연결 사용자 이름 및 암호를 저장하는 방법도 확인할 수 있다. 이 예제 아키텍처는 애플리케이션에서 데이터를 저장하는 데 사용할 클러스터에 MongoDB를 배포한다. 이 방법은 테스트 환경과 개발 환경에서 ..
Fruit Smoothies 소프트웨어 개발 및 운영 팀은 새로 개발된 모든 애플리케이션을 컨테이너화하기로 했다. 컨테이너화된 애플리케이션은 팀 상호 간에 혜택을 제공한다. 예를 들면 다음과 같다. 호스팅 환경 관리의 용이성 소프트웨어 딜리버리의 지속성 보장 서버 하드웨어의 효율적 사용 환경 간 애플리케이션의 이식성 팀에서는 모든 컨테이너를 중앙의 안전한 위치에 저장하고 결정을 내릴 때 Azure Container Registry를 사용하도록 했다. 이 실습에서는 다음을 수행하게 된다. Azure CLI를 사용하여 컨테이너 레지스트리 만들기 Azure Container Registry 작업을 사용하여 컨테이너 이미지 빌드 Azure Container Registry에서 컨테이너 이미지 확인 Azure C..
Fruit Smoothies는 Kubernetes를 컴퓨팅 플랫폼으로 사용하고자 한다. 개발 팀은 이미 애플리케이션 개발 및 배포에 컨테이너를 사용하고 있으며 오케스트레이션 플랫폼을 사용하면 애플리케이션의 빠른 빌드, 제공 및 스케일링 할 수 있다. 이렇게 하려면 Kubernetes 환경의 기반을 배포해야 한다. 이 실습에서는 다음을 수행한다. 새 리소스 그룹 만들기 클러스터 네트워킹 구성 Azure Kubernetes Service 클러스터 만들기 kubectl을 사용하여 Kubernetes 클러스터에 연결 Kubernetes 네임스페이스 만들기 새 리소스 그룹 만들기 먼저 리소스를 배포할 리소스 그룹을 만들어야 한다. 1. Azure 계정으로 로그인 하고 우측 상단의 Azure Cloud Shell을..