Cloud Shell용 Cloud Code의 Skaffold 모듈

Skaffold는 Kubernetes 네이티브 애플리케이션을 지속적으로 개발할 수 있게 해주는 명령줄 도구입니다. Skaffold는 애플리케이션 빌드, 푸시, 배포 워크플로를 처리하고 CI/CD 파이프라인 만들기를 위한 빌딩 블록을 제공합니다. Skaffold는 Cloud Code를 구동하는 엔진입니다.

Skaffold 프로젝트는 일반적으로 단일 skaffold.yaml 구성을 사용하여 애플리케이션을 빌드하고 배포하는 방법을 기술합니다. 프로젝트가 커지면 애플리케이션 파이프라인을 개별 부분으로 나누는 것이 유용할 수 있습니다.

Skaffold는 동일한 skaffold.yaml 파일에 함께 배치되고 YAML 문서 구분 기호(---)를 사용하여 분리되거나 상위 수준 skaffold.yaml 파일에서 참조되는 별도의 skaffold.yaml 파일에 배치되는 여러 구성 종속 항목을 지원합니다. .metadata.name 필드를 사용하여 이름을 지정하여 모듈에 구성을 수행할 수 있습니다.

모듈을 사용하면 애플리케이션 일부를 독립적으로 개발하고 디버깅할 수 있습니다. 구성 파일 사이에 그리고 특정 모듈에 종속 항목을 정의할 수 있습니다. 이 기능을 사용하는 단계는 애플리케이션의 일부를 독립적으로 개발을 참조하세요.

Skaffold 모듈을 사용하여 애플리케이션 디버깅

전체 애플리케이션 또는 정의된 모듈 집합을 반복적으로 개발 및 디버깅할 수 있습니다. Skaffold는 모듈 종속 항목과 배포 순서를 관리합니다.

Skaffold 모듈 샘플 시작하기

애플리케이션 모듈을 선택하려면 특정 Skaffold 모듈 및 종속 항목 빌드를 참조하세요.

아직 Skaffold 모듈을 사용해 본 적이 없고 샘플로 기능을 테스트하려면 frontendbackend로 모듈화된 방명록 샘플을 참조하세요.

다양한 기술과 언어를 사용하고 Skaffold 모듈을 사용하여 개발된 대형 엔터프라이즈 애플리케이션 샘플은 Bank of Anthos 샘플을 참조하세요.

일반 사용 사례

이 섹션에서는 IDE에서 모듈을 사용할 수 있는 시기와 방법에 대한 다양한 시나리오를 보여주는 몇 가지 일반적인 사용 사례 예시를 설명합니다.

마이크로서비스 개발

사용자는 주로 frontend 모듈에서 작업하는 프런트엔드 개발자입니다. 마이크로서비스로서 frontend에는 backend 저장소에 대한 명시적인 코드나 라이브러리 종속 항목이 없지만 클러스터에 배포하고 실행하려면 backend가 요구됩니다.

frontend 모듈 정의가 포함된 Skaffold 기반 프로젝트를 사용하여 백엔드팀도 서비스를 배포하는 공유 개발 클러스터에 Cloud Code IDE를 배포하고 이를 디버깅합니다. 이 공유 클러스터는 DevOps팀에서 유지됩니다.

대부분의 경우 backend 코드를 사용 또는 디버깅하거나 Kubernetes 구성을 업데이트할 필요가 없습니다. Skaffold는 frontend에 필요한 다른 구성을 빌드 및 배포합니다. frontend 모듈에서만 반복하도록 Cloud Code 배포 구성을 구성합니다.

로컬 클러스터에 frontendbackend를 모두 배포하면 더 빠른 반복 환경을 얻을 수 있습니다.

교차 경계 마이크로서비스 개발 및 디버깅

여러 마이크로서비스를 함께 디버깅해야 하는 경우 다음을 수행하면 됩니다.

  • 모듈 소스 코드가 있는 모든 하위 디렉터리가 서로 상대적으로 위치한 상위 디렉터리를 엽니다.
  • 배포(구성)할 루트 skaffold.yaml 파일을 선택합니다.
  • 로컬에서 사용할 수 있는 frontendbackend 모듈 (및 해당 변경사항이 있는 경우 해당 Kubernetes 구성 모듈)에서만 반복하도록 Cloud Code 배포 구성을 구성합니다.

정적 데이터 서버가 포함된 별도의 로컬 개발용 루트 skaffold.yaml 파일이 있을 수도 있습니다.

스마트 모듈 YAML 수정

사용자는 Skaffold 모듈을 사용하는 마이크로서비스 개발자팀을 위해 템플릿 저장소를 빌드하는 DevOps 엔지니어입니다. 사용자는 수동으로 Skaffold를 실행하지 않고 모듈 정의에 오류가 없는지 확인합니다(순환 종속 항목 또는 고유하지 않은 모듈 이름 등). Cloud Code IDE를 사용하여 Skaffold YAML 구성 파일을 수정하세요.

다음 단계