Google Cloud Console Marketplace에서 애플리케이션을 배포합니다
이 섹션에서는 Google Cloud Console을 사용하여 온프레미스의 Anthos GKE 클러스터에 애플리케이션을 배포하는 방법을 자세히 설명합니다.
필수 구성 요소
-
Anthos 클러스터는 Google Cloud Console에 배포되어 등록되어 있습니다
-
Anthos 클러스터에 구성된 MetalLB 로드 밸런서
-
클러스터에 애플리케이션을 배포할 수 있는 권한이 있는 계정입니다
-
관련 비용이 있는 애플리케이션을 선택한 경우 Google Cloud의 청구 계정(선택 사항)
응용 프로그램 배포
이 활용 사례에서는 Google Cloud Console을 사용하여 Anthos 클러스터 중 하나에 간단한 WordPress 애플리케이션을 배포합니다. 구축 시 NetApp ONTAP에서 제공하는 영구 스토리지가 사전 정의된 스토리지 클래스 형태로 사용됩니다. 그런 다음 MetalLB 로드 밸런서가 IP 주소를 제공하고 이를 전 세계에 노출하도록 애플리케이션 기본 서비스를 수정하는 두 가지 방법을 시연합니다.
이러한 방식으로 응용 프로그램을 배포하려면 다음 단계를 수행하십시오.
-
배포하려는 클러스터에 Google Cloud Console에서 액세스할 수 있는지 확인합니다.
-
왼쪽 메뉴에서 응용 프로그램 을 선택하고 맨 위에 있는 3점 옵션 메뉴를 선택한 다음 Marketplace에서 배포 를 선택합니다. 그러면 Google Cloud Marketplace에서 응용 프로그램을 선택할 수 있는 새 창이 나타납니다.
-
이 경우 WordPress에서 설치할 응용 프로그램을 검색합니다.
-
WordPress 응용 프로그램을 선택하면 개요 화면이 표시됩니다. 구성 버튼을 클릭합니다.
-
다음 페이지에서 구축할 클러스터를 선택해야 합니다(여기서는 Demo-Cluster). 새 네임스페이스 및 애플리케이션 인스턴스 이름을 선택하거나 생성하고 WordPress 애플리케이션과 그 지원 MariaDB 데이터베이스에 필요한 스토리지 클래스 및 영구 볼륨 크기를 선택합니다. 두 경우 모두 ONTAP-NAS-CSI 스토리지 클래스를 선택했습니다.
공용 IP 액세스 사용 을 선택하지 마십시오. 이렇게 하면 사내 Anthos 배포에서 액세스할 수 없는 NodePort 유형의 서비스가 생성됩니다. -
배포 단추를 클릭하면 응용 프로그램 세부 정보를 제공하는 페이지가 나타납니다. CLI를 사용하여 이 페이지를 새로 고치거나 클러스터에 로그인하여 배포 상태를 확인할 수 있습니다.
-
CLI는 응용 프로그램 네임스페이스에서 POD 정보를 가져오기 위한 명령을 실행하여 응용 프로그램 배포 시 응용 프로그램의 상태를 확인하는 데 사용할 수 있습니다. "kubbtl get POD-n anthos-wp"
이 스크린샷에는 오류 상태의 배포자 POD가 있습니다. 이는 정상적인 현상입니다. 이 POD는 Google Cloud Console에서 다른 포드가 초기화 프로세스를 시작한 후 자동으로 종료되는 응용 프로그램을 배포하는 데 사용하는 도우미 포드입니다. -
잠시 후 응용 프로그램이 실행 중인지 확인합니다.
응용 프로그램을 노출합니다
애플리케이션을 배포한 후 두 가지 방법으로 전 세계에 연결할 수 있는 IP를 할당할 수 있습니다.
Google Cloud Console 사용
Google Cloud Console을 사용하여 응용 프로그램을 노출하고 브라우저에서 서비스에 대한 YAML 출력을 편집하여 공개적으로 연락할 수 있는 IP를 설정할 수 있습니다. 이렇게 하려면 다음 단계를 수행하십시오.
-
Google Cloud Console의 왼쪽 메뉴에서 서비스 및 수신 을 클릭합니다.
-
워드프레스-워드프레스-svc 서비스를 클릭합니다. 그러면 서비스 세부 정보 화면이 열립니다. 맨 위에 있는 편집 단추를 클릭합니다.
-
서비스에 대한 YAML 정보가 포함된 편집 서비스 세부 정보 페이지가 열립니다. 'clusterIP'로 설정된 'sepec:' 섹션과 'type:' 값이 표시될 때까지 아래로 스크롤합니다. 이 값을 'loadbalancer'로 변경하고 Save 버튼을 클릭한다.
-
서비스 세부 정보 페이지로 돌아가면 이제 Type: 필드에 로드 밸런서가 나열되고 External endpoints: 필드에 MetalLB 풀에서 할당된 IP 주소와 애플리케이션에 액세스할 수 있는 포트가 나열됩니다.
Kubbtl로 서비스 패치
CLI 및 "kubbeck patch" 명령을 사용하여 배포를 수정하고 공개적으로 연결할 수 있는 IP를 설정하여 응용 프로그램을 노출할 수 있습니다. 이렇게 하려면 다음 단계를 완료하십시오.
-
"kubbeck get services -n anthos -wp" 명령을 사용하여 네임스페이스에서 POD와 관련된 서비스를 나열합니다.
-
다음 명령어를 이용하여 서비스 유형을 ClusterIP에서 loadbalancer를 입력하여 수정한다.
kubectl patch svc wordpress-wordpress-svc -p '{"spec": {"type": "LoadBalancer"}}' -n anthos-wp'.
이 새로운 서비스 유형에는 MetalLB 풀에서 사용 가능한 IP 주소가 자동으로 할당됩니다.
노출된 외부 IP에서 애플리케이션을 방문합니다
공개적으로 연결할 수 있는 IP 주소를 사용하여 응용 프로그램을 노출했으므로 브라우저를 사용하여 WordPress 인스턴스를 방문할 수 있습니다.