IntelliJ용 Cloud Code에서 Google Cloud 및 Kubernetes YAML 파일 작업

Cloud Code는 스키마 기반 검증, 진단, 빠른 문서를 포함하여 Google Cloud 및 Kubernetes 관련 구성 파일을 수정하는 데 도움이 되도록 설계되었습니다.

지원되는 YAML 구성 파일

Cloud Code는 즉시 사용할 수 있는 Kubeflow와 같은 인기 Kubernetes CRD도 지원합니다.

YAML 지원 사용 설정 또는 사용 중지

YAML 지원을 사용 설정 또는 사용 중지하려면 파일 > 설정 > 도구 > Gemini + Google Cloud Code > Kubernetes(Windows 및 Linux)로 이동하거나 IntelliJ IDEA > 설정 > 도구 > Gemini + Google Cloud Code > Kubernetes(macOS)로 이동하여 YAML 지원 사용 설정 체크박스를 선택 또는 선택 해제하여 기능 사용 여부를 설정하세요.

커스텀 스키마 사용

Cloud Code를 사용하면 파일 > 설정 > 도구 > Gemini + Google Cloud Code > Kubernetes(Windows 및 Linux)로 이동하거나 IntelliJ IDEA > 설정 > 도구 > Gemini + Google Cloud Code > Kubernetes(macOS의 경우)로 이동한 다음 CRD 스키마 위치 섹션을 참조하여 자체 CRD 스키마에 IntelliJ를 설정할 수 있습니다.

로컬 파일 또는 URL을 가리킬 수 있습니다. github.com를 가리키는 URL은 자동으로 raw.githubusercontent.com로 변환됩니다.

클러스터에서 스키마 가져오기

Kubernetes 탐색기에서 Kubernetes v1.16+를 실행하는 클러스터로 전환하면 Cloud Code는 설치된 모든 CRD의 스키마를 자동으로 가져옵니다.

추가 Skaffold 지원

Skaffold는 Cloud Code를 구동하는 기본 엔진으로, 애플리케이션을 빌드, 푸시, 배포하고 CI/CD 파이프라인을 만들 수 있도록 지원합니다.

Cloud Code에는 Skaffold 구성 파일 관리를 위한 추가 지원이 제공됩니다. 프로젝트를 열면 Cloud Code는 최신 상태가 아닌 Skaffold 스키마를 감지하고 기존 Skaffold YAML 구성 파일의 Skaffold 스키마가 최신 버전이 아닐 경우 이벤트 로그를 통해 버전을 업그레이드 하도록 알림을 표시합니다.

기존 Skaffold YAML 파일이 최신 버전이 아니므로 Skaffold 스키마 버전을 업그레이드 하도록 사용자에게 표시되는 이벤트 로그의 알림

또는 도구 > Gemini + Cloud Code > Kubernetes > Skaffold 스키마 업그레이드 확인으로 이동하여 스키마를 업그레이드할 수 있는지 확인합니다.

스니펫으로 구성

일반 YAML 스키마에 바로 사용할 수 있는 스니펫(옵션을 보려면 Ctrl+Space 사용)으로 권장사항을 준수하면서 오류 없이 새 YAML 파일을 시작하거나 기존 YAML 파일에 추가할 수 있습니다. 또한 필드 하나를 입력하면 Cloud Code가 나머지 인스턴스를 자동으로 입력하므로, 반복 필드 작업이 더 수월해집니다.

반복되는 필드에 스니펫 사용

Cloud Code는 다음 스니펫을 제공합니다.

  • Cloud Build - Cloud Run deployment
  • Cloud Build - Docker container build
  • Cloud Build - GKE deployment
  • Cloud Build - GKE Skaffold deployment
  • Cloud Build - Go build
  • Cloud Build - Terraform plan + apply
  • Config Connector - BigQueryDataset
  • Config Connector - BigQueryTable
  • Config Connector - BigtableCluster
  • Config Connector - BigtableInstance
  • Config Connector - PubSubSubscription
  • Config Connector - PubSubTopic
  • Config Connector - RedisInstance
  • Config Connector - SpannerInstance
  • Kubernetes - ConfigMap
  • Kubernetes - Deployment
  • Kubernetes - Ingress
  • Kubernetes - Pod
  • Kubernetes - Service
  • Migrate to Containers - Export
  • Migrate to Containers - PersistentVolumeClaim
  • Migrate to Containers - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

컨텍스트 완성

Cloud Code는 현재 스키마에 따라 적절한 옵션을 선택하는 데 도움이 되는 컨텍스트 완성 기능을 제공합니다.

Kubernetes 스키마의 컨텍스트 완성

YAML 스키마 검사

Cloud Code는 YAML 파일의 잘못된 태그와 값을 표시하고 가능한 경우 수정을 제안하는 스키마 유효성 검사 기능을 제공합니다.

잘못된 값 1234를 강조표시하기 위해 빨간색으로 밑줄 표시된 이름 필드 값으로 마우스를 가져가면 잘못된 유형 텍스트가 표시됩니다. 예상 문자열입니다.

Skaffold YAML 파일 검사

Cloud Code는 skaffold.yaml 파일의 유효성을 검사할 수 있는 Skaffold 구성 파일 수정을 지원하며 스마트 템플릿을 추가로 제공합니다. Cloud Code에서 기존 앱을 사용하는 방법에 대한 가이드를 참조하세요.

Skaffold yaml 템플릿

컨텍스트로 Skaffold 구성 파일 완성

현재 스키마에 따라 Cloud Code는 적합한 옵션을 선택하는 데 도움이 되는 컨텍스트 완성 기능과 관련 문서를 제공합니다.

Skaffold 완성

빠른 문서를 사용한 정의 검색

구성 파일의 한 줄을 강조 표시하고 보기 > 빠른 문서로 이동하면 Cloud Code에서 관련 문서를 표시합니다.

빠른 문서

구조 및 유효성 문제에 대한 YAML 린트 작업

Cloud Code는 일반적인 스키마 문제에 대한 린트 작업을 지원하고 오류에 대한 설명을 제공합니다.

YAML 파일 린트 작업

YAML 파일 적용

kubectl apply -f를 실행하여 현재 파일을 사용해 구성 변경사항을 적용하려면 IDE의 여백에 있는 kubectl 작업 아이콘(kubectl 작업 아이콘)을 사용하고 적용을 선택합니다. 이렇게 하면 적용을 클릭하기 전에 변경사항을 검토할 수 있는 비교 뷰가 나타납니다.

kubectl 작업 목록에 강조표시된 옵션 적용

YAML 파일 간 차이점 표시

소스 제어의 YAML 파일과 배포된 YAML 파일 간의 차이점을 보려면 편집기의 여백에 있는 kubectl 작업 아이콘(kubectl 작업 아이콘)을 사용하세요. 비교 옵션을 선택하면 두 스키마 파일을 비교하고 대조할 수 있는 비교 뷰를 표시할 수 있습니다.

kubectl 작업 목록에 강조표시된 비교 옵션

YAML 파일의 테스트 실행 수행

파일의 테스트 실행을 수행하고 유효성을 검증하려면 IDE 여백에 있는 kubectl 작업 아이콘(kubectl 작업 아이콘)을 사용하고 서버에서 테스트 실행 또는클라이언트에서 테스트 실행을 선택하세요. 그러면 kubectl apply -f dry-run=server(클라이언트 옵션의 경우 kubectl apply -f dry-run=client)가 실행되며 파일이 성공적으로 생성될 수 있는지를 터미널 창에서 알려줍니다.

kubectl 작업 목록에서 강조 표시된 서버 상의 테스트 실행 옵션

다음 단계

지원 받기

IntelliJ IDE에서 의견을 제출하거나 문제를 신고하려면 도구 > Cloud Code > 도움말 / 정보 > 의견 제출 또는 문제 신고로 이동하여 GitHub에 문제를 신고합니다.