Cloud Shell 편집기를 사용하여 컨테이너화된 웹 앱을 만들고 로컬에서 테스트한 다음 Google Kubernetes Engine(GKE) 클러스터에 배포하는 방법을 알아봅니다.
Cloud Shell 편집기에서 이 태스크의 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.
시작하기 전에
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
웹 앱 만들기
Cloud Shell 편집기를 앱 제작 환경으로 사용합니다. 편집기에는 Cloud 개발에 필요한 도구가 미리 로드되어 있습니다.
앱을 만들려면 다음 안내를 따르세요.
Cloud Shell 편집기를 실행합니다.
Cloud Code에서 사용자 인증 정보를 사용하여 Google Cloud API를 호출할 수 있도록 승인하라는 메시지가 표시되면 승인을 클릭합니다.
상태 표시줄에서 Cloud Code 메뉴를 실행합니다.
새 애플리케이션을 선택합니다.
샘플 앱 유형으로 Kubernetes 애플리케이션을 선택합니다.
샘플 Kubernetes 앱 목록에서 Go: Hello World를 선택합니다.
앱 위치의 폴더를 선택한 다음 새 애플리케이션 만들기를 클릭합니다.
Cloud Shell 편집기에서 앱이 새로운 작업공간에 로드됩니다. 새로고침하면
로컬 클러스터에서 앱 테스트
이제 앱을 만들었으므로 Cloud Shell의 로컬 Kubernetes 클러스터에서 앱을 실행할 수 있습니다.
- Cloud Shell 터미널을 열려면 터미널 > 새 터미널을 클릭합니다.
로컬 minikube 클러스터를 시작하려면
terminal 명령 프롬프트에서 다음 명령어를 실행합니다.minikube start
minikube 클러스터를 설정하는 데 1분 정도 걸릴 수 있습니다.
Cloud Shell에서 Cloud API를 호출할 수 있도록 승인하라는 메시지가 표시되면 승인을 클릭합니다.
클러스터가 설정되면 다음과 유사한 메시지가 표시됩니다.
Done! kubectl is now configured to use "minikube" cluster...
로컬 클러스터가 구성되면 이 앱을 빌드하고 실행합니다.
- 상태 표시줄에서
Cloud Code 메뉴를 실행합니다. Kubernetes에서 실행 을 선택합니다.메시지가 표시되면 현재 minikube 컨텍스트를 사용할지 확인합니다.
이 프로세스는 몇 분 정도 걸리며
개발 세션 뷰에서 배포 상태를 볼 수 있습니다.개발 세션 뷰에서 다른 노드를 클릭하면 선택한 배포 단계와 관련된 로그 발췌 화면이 표시됩니다.
앱 빌드와 배포가 완료되면 개발 세션에서 뷰에서 포트 전달 URL > 서비스 >
go-hello-world-external 을 펼쳐 서비스의 포트 전달 노드를 찾습니다.앱을 실행하려면
go-hello-world-external 위에 포인터를 가져간 다음 go-hello-world-external를 클릭합니다.
앱 수정
Hello World 앱 구성요소를 이해하려면 앱의 readme.md
- 기본
go-hello-world
웹 앱인 는 수신된 모든 요청에 대해 '실행 중입니다'라는 템플릿 기반 응답을 반환합니다.main.go
- 부하 분산기
go-hello-world-external
서비스인 은 Kubernetes 서비스를 설명하여 앱을 노출합니다.hello.service.yaml
앱을 수정하려면 다음 안내를 따르세요.
- '다시 배포되었습니다'를 출력하도록
파일을 수정합니다. 파일은 자동으로 저장됩니다.main.go
앱 빌드와 배포가 완료되는 데 1분 정도 걸립니다.
개발 세션 뷰를 사용하여 앱이 다시 빌드되는 과정을 모니터링합니다.앱 빌드와 배포가 완료되면 개발 세션 > 포트 전달 URL > 서비스 >
go-hello-world-external 에서 서비스의 포트 전달 노드를 찾습니다.앱을 실행하려면
go-hello-world-external 위에 포인터를 가져가고 URL 열기를 클릭합니다.
앱 로그 보기
실행 중인 앱을 분석하려면 로그 뷰어를 사용하여 로그를 모니터링합니다.
명령어 팔레트(
Ctrl
/Cmd
+Shift
+P
또는 보기 > 명령어 팔레트에서 액세스 가능)를 연 다음 Cloud Code: 로그 보기를 실행하여 로그 뷰어를 실행합니다.이 뷰를 사용하면 앱의 로그를 필터링하고 탐색할 수 있습니다.
배포 필터를 지정하여 앱go-hello-world
의 로그를 확인합니다.'다시 배포되었습니다'라고 표시된 앱 탭으로 전환합니다. 브라우저에서 페이지를 새로고침한 다음 Cloud Shell 탭으로 다시 전환합니다.
로그 뷰어에서 새로 생성된 로그를 보려면
새로고침 을 클릭합니다.
Google Kubernetes Engine 클러스터 만들기
앱을 배포할 새 Google Kubernetes Engine 클러스터를 만들려면 다음 안내를 따르세요.
Cloud Code를 클릭한 다음 Kubernetes 섹션을 펼칩니다.
KubeConfig에 클러스터 추가를 클릭한 다음 빠른 선택 메뉴에서 Google Kubernetes Engine을 클릭합니다.
container.googleapis.com
을 사용 설정하라는 메시지가 표시되면 예를 클릭합니다.+ 새로운 GKE 클러스터 만들기를 클릭합니다.
클러스터 유형으로 표준을 선택합니다.
열기를 클릭하여 Cloud Shell에서 Google Cloud 콘솔을 열 수 있도록 허용합니다.
Google Cloud 콘솔에서 만든 프로젝트를 사용하고, 영역을
us-central1-a
로 설정하고, 클러스터 이름을my-first-cluster
로 설정합니다.만들기를 클릭합니다. 클러스터를 만드는 데 몇 분 정도 걸립니다.
클러스터가 생성되면 빠른 선택 메뉴에서 새로고침을 클릭합니다.
새 클러스터의 이름이 목록에 표시되면 클러스터 이름을 클릭합니다. 새 클러스터가 구성에 추가되고 활성 컨텍스트로 구성됩니다.
GKE 클러스터에 앱 배포
새 클러스터에 앱을 배포하려면 다음 안내를 따르세요.
상태 표시줄을 통해 액세스할 수 있는
Cloud Code 메뉴에서Kubernetes에서 실행 을 선택합니다.새로 만든 클러스터가 앱의 컨텍스트로 되어 있는지 확인합니다.
이미지 레지스트리의 기본 옵션을 확인합니다.
앱 빌드와 배포가 완료되는 데 1분 정도 걸립니다.
개발 세션 뷰를 사용하여 앱이 다시 빌드되는 과정을 모니터링합니다.앱 빌드와 배포가 완료되면 개발 세션 뷰에서 포트 전달 URL > 서비스 >
go-hello-world-external 을 펼쳐 서비스의 포트 전달 노드를 찾습니다.앱을 실행하려면
go-hello-world-external 위에 포인터를 가져가고 go-hello-world-external를 클릭합니다.
삭제
이 빠른 시작에서 만든 클러스터만 삭제하려면 다음 안내를 따르세요.
- 클러스터 이름 위에 마우스 포인터를 올려놓고 Google Cloud 콘솔에서 열기를 클릭합니다.
- 삭제를 클릭한 다음 삭제를 클릭합니다.
프로젝트 및 클러스터를 포함한 관련 리소스를 삭제하려면 다음 안내를 따르세요.
Google Cloud 콘솔의 프로젝트 페이지로 이동합니다.
이 빠른 시작에서 만든 프로젝트를 선택한 후 삭제를 클릭합니다.
확인할 프로젝트 ID를 입력한 후 종료를 클릭합니다.
그러면 프로젝트가 종료되고 삭제 일정이 예약됩니다.
다음 단계
Cloud Shell 편집기 인터페이스의 기능 살펴보기
Cloud Shell 편집기로 디버깅 및 Cloud Shell 편집기의 Kubernetes 애플리케이션 추가 지원 알아보기