이 페이지에서는 Cloud Code에서의 Kubernetes 개발에 대해 간략하게 설명합니다.
Cloud Code에서 Kubernetes 탐색기 사용
Kubernetes 탐색기를 사용하면 IDE에서 직접 클러스터, 노드, 워크로드 등에 대한 정보에 액세스할 수 있습니다. 또한 Kubernetes 탐색기를 사용하여 현재 컨텍스트 설정, 로그 스트리밍 및 보기, 대화형 터미널 열기, 리소스 설명 조회를 수행할 수 있습니다.
Cloud Code는 MacOS/Linux의 $HOME/.kube
디렉터리 또는 Windows의 %USERPROFILE%\.kube
에 있는 기본 kubeconfig 파일을 사용하여 Kubernetes 리소스를 검색합니다. Kubernetes 탐색기 내에서 새 Kubeconfig 파일을 전환하거나 추가할 수 있습니다. Kubeconfig 파일은 클러스터에 인증하기 위한 Kubernetes 클러스터 세부정보, 인증서, 보안 비밀 토큰이 포함된 YAML 파일입니다.
기본 kubeconfig 이외의 kubeconfig 파일을 사용하려면 kubeconfig 파일 작업 가이드를 참조하세요.
Kubernetes 탐색기 액세스
Kubernetes 리소스를 보고 관리하려면 오른쪽 측면 패널에서 액세스할 수 있는 Kubernetes 탐색기를 사용합니다. 또는 Tools(도구) > Cloud Code > Kubernetes > View Cluster Explorer(클러스터 탐색기 보기)를 사용하여 액세스할 수 있습니다.개발 또는 디버깅 세션을 시작하면 개발 세션 섹션에 구조화된 로깅 뷰가 표시됩니다.
기본 작업
Kubernetes 탐색기를 구동하는 도구는 kubectl
입니다. 클러스터에 액세스하도록 kubectl
구성 파일을 구성했다면 Kubernetes 탐색기를 사용하여 클러스터를 추가하고 컨텍스트가 활성 상태이든 비활성 상태이든 사용 가능한 모든 네임스페이스, 리소스, 클러스터용 노드를 찾아볼 수 있습니다.
Kubernetes 탐색기에서 아이콘을 통해 액세스할 수 있는 사용 가능한 일반적인 Kubernetes 작업은 다음과 같습니다.
- 샘플에서 새 Kubernetes 애플리케이션을 만듭니다.
- 탐색기를 새로고침합니다.
- 웹브라우저에서 Cloud Code Kubernetes 문서를 엽니다.
Kubernetes 탐색기에서 아이콘을 통해 액세스할 수 있는 일반적인 추가 Kubernetes 디버깅 작업은 다음과 같습니다.
- 현재 실행/디버그 구성을 실행합니다.
- 디버그 모드에서 실행 구성을 시작합니다.
- 활성 디버깅 세션을 중지합니다.
리소스 이름 복사
모든 Kubernetes 리소스 이름을 클립보드에 복사할 수 있습니다(컨테이너 및 클러스터 이름 포함). 리소스 이름을 복사하려면 리소스를 마우스 오른쪽 버튼으로 클릭하고 리소스 이름 복사를 선택합니다.
리소스 새로고침
Kubernetes 탐색기는 변경 사항을 감시하고 업데이트를 반영하도록 자동으로 새로고침합니다. Kubernetes 리소스를 새로고침하여 최신 정보를 가져 오려면 리소스를 마우스 오른쪽 버튼으로 클릭하고 새로고침을 선택합니다.
Kubernetes 탐색기의 새로고침 버튼을 사용하여 전체 Kubernetes 탐색기를 강제로 새로고침할 수도 있습니다.리소스 설명
클러스터가 아닌 리소스의 세부정보를 표시하려면 리소스를 마우스 오른쪽 버튼으로 클릭한 후 설명을 선택합니다. 리소스 정보가 Kubernetes 탐색기 콘솔 패널에 표시됩니다.리소스를 클릭하여 리소스 세부정보를 볼 수도 있습니다. 메타데이터가 연결되어 있으면 Kubernetes 탐색기의 리소스 세부정보 패널에서 메타데이터를 사용할 수 있습니다.
Skaffold 옵션
- Skaffold 구성 -
skaffold.yaml
구성 파일을 선택합니다. 프로젝트에skaffold.yaml
이 있으면 자동으로 감지됩니다. - 배포 프로필 -
skaffold.yaml
파일에 구성된 사용 가능한 옵션에서 프로필을 선택합니다. - 환경 변수 - Skaffold 배포 프로세스에 전달할 추가 환경 변수를 구성할 수 있습니다. Skaffold 플래그를 이 필드에서 사용할 환경 변수로 구성할 수도 있습니다. 사용 가능한 Skaffold 환경 변수의 전체 목록은 Skaffold CLI 참조 문서를 확인하세요.
- 세부정보 수준 -
trace
,debug
,info
,warn
,error
또는fatal
으로 출력 세부정보 수준을 설정할 수 있습니다. 기본 세부정보 수준은warn
입니다.
Kubernetes 옵션
배포 컨텍스트 - 애플리케이션이 배포된 Kubernetes 컨텍스트를 나타냅니다. 배포 컨텍스트가 지정되지 않은 경우의 기본 동작은 현재 시스템 컨텍스트(있는 경우)에 배포하는 것입니다.
현재 컨텍스트에 배포하지 않으려면 실행/디버그 설정의 배포 섹션에서 다음을 선택합니다.
- Minikube 클러스터에 로컬로 배포 - 앱을 실행하기 위해 Cloud Code 관리형 Minikube 클러스터를 시작하고 배포가 중지된 후 클러스터를 중지합니다. Minikube 클러스터가 이미 실행 중인 경우 Cloud Code는 기존 Minkube 클러스터를 사용하여 배포합니다.
컨텍스트 전환 및 배포 - 배포 시 시스템의 현재 컨텍스트를 지정된 컨텍스트로 변경합니다.
완료 시 배포 삭제 - 배포가 종료되면 Kubernetes 배포가 삭제됩니다. 기본 동작입니다. 또는 배포가 삭제되지 않도록 이 설정을 전환할 수 있습니다.
시작 구성 맞춤설정
애플리케이션 실행 방법을 구성하려면 skaffold.yaml
파일을 맞춤설정하면 됩니다.
원격 YAML 보기
Kubernetes 탐색기에서 바로 클러스터의 리소스 YAML을 볼 수 있습니다. Kubernetes 탐색기에서 포드 같은 리소스로 이동하고 리소스 이름을 마우스 오른쪽 버튼으로 클릭하여 원격 YAML 보기를 선택합니다.지정된 리소스에 해당하는 YAML 파일이 새 편집기 탭에서 열립니다.
로그 보기
Kubernetes 리소스의 로그를 Kubernetes 탐색기 콘솔로 스트리밍하고 확인하여 진행 상황을 모니터링할 수 있습니다.
애플리케이션이 일반 또는 개발 모드로 빌드되고 실행되면 IDE 내에서 애플리케이션의 로그 스트리밍을 모니터링할 수 있습니다.
Kubernetes 탐색기로 이동하여 특정 서비스의 로그를 볼 수도 있습니다.
로그를 보려는 리소스(예: 포드, 배포 또는 서비스)를 선택합니다.
리소스를 마우스 오른쪽 버튼으로 클릭하고 Stream Logs(로그 스트림)를 선택합니다. 또는 pod에서 실행되는 개별 컨테이너의 로그를 스트리밍할 수 있습니다.
그러면 Kubernetes 탐색기 콘솔에 로그가 출력됩니다.
배포의 리소스 상태를 보려면 다음 안내를 따르세요.
포드, 배포, 노드의 상태: 이러한 Kubernetes 리소스에는 라벨 옆에 색이 지정된 상태 표시가 있습니다. 빨간색은 실패한 상태, 노란색은 시작/종료/경고, 녹색은 바람직한 정상 상태입니다.
배포된 리소스 설명: 리소스를 마우스 오른쪽 버튼으로 클릭하고 설명을 선택하면 배포된 리소스에 대해
kubectl describe
를 실행하여 세부정보를 표시할 수 있습니다.
터미널 실행
포드 및 컨테이너의 경우 포드 또는 컨테이너를 마우스 오른쪽 버튼으로 클릭하고 터미널 열기를 선택하여 대화형 터미널을 열 수 있습니다.
리소스 관련 작업
Kubernetes 탐색기에는 클러스터, 네임스페이스, 노드, 워크로드(예: 배포, 복제본, 포드, 컨테이너 등), 서비스 및 인그레스, 구성(보안 비밀, 구성 맵 등), 스토리지(볼륨 등)가 표시됩니다. Kubernetes 탐색기를 사용하면 이러한 리소스 중 일부에 대해 고유한 작업을 수행할 수 있습니다.
측면 패널에서 Kubernetes 탐색기에 액세스하거나 도구 > Cloud Code >Kubernetes > 클러스터 탐색기 보기로 이동할 수 있습니다.
배포된 리소스의 세부정보를 표시하려면 Kubernetes 탐색기에서 리소스 라벨을 마우스 오른쪽 버튼으로 클릭한 다음 설명을 클릭합니다.
클러스터
- Google Kubernetes Engine 클러스터 추가: Kubernetes 탐색기 내에서 GKE 클러스터 추가를 클릭하여 기존 표준 클러스터나 Autopilot GKE 클러스터를 추가하거나 새로 만듭니다.
클러스터 추가 대화상자가 나타나고 사용할 프로젝트 및 클러스터를 선택하거나 새 클러스터를 만들 수 있습니다.
완료되면 확인을 클릭하고 Kubernetes 탐색기를 통해 선택한 클러스터 및 해당 기본 리소스에 액세스합니다.현재 컨텍스트로 설정: 구성된
kubectl
컨텍스트가 기본적으로 이 클러스터에 액세스할 수 있도록 지정된 클러스터를 활성으로 설정합니다.
Kubernetes 탐색기가 자동으로 새로고침되고 해당하는 클러스터 옆에 Kubernetes 기호가 표시됩니다.
클러스터에 여러 컨텍스트가 구성되어 있으면 사용 가능한 컨텍스트 중 하나를 선택하여 현재 컨텍스트로 설정할 수 있습니다.
네임스페이스
현재 컨텍스트로 설정: 구성된
kubectl
컨텍스트가 기본적으로 이 네임스페이스에 액세스할 수 있도록 네임스페이스를 활성으로 설정합니다.
Kubernetes 컨텍스트는 클러스터의 네임스페이스에 빠르게 액세스할 수 있는 단축키입니다. 일반적으로 minikube 또는 GKE 클러스터를 시작할 때 컨텍스트가 자동으로 생성됩니다. 지정된 네임스페이스에 현재 컨텍스트로 설정 옵션이 표시되지 않은 상태에서 관련 컨텍스트를 만들려면 kubectl config set-context
명령어를 사용하여 원하는 클러스터, 사용자, 네임스페이스로 컨텍스트를 설정합니다.
포드
- 로그 보기: 포드에서 Kubernetes 탐색기 콘솔로의 로그를 확인합니다.
터미널 가져오기: Kubernetes 탐색기 콘솔에서 pod의 터미널을 가져옵니다.
또한 실행 중인 pod에는 라벨 옆에 색이 지정된 상태 표시가 있습니다.
- 빨간색: pod가 실패 상태입니다.
- 노란색: pod가 시작 또는 종료 중입니다.
- 녹색: pod가 정상이고 실행 중입니다.
컨테이너
- 로그 보기: 컨테이너에서 Kubernetes 탐색기 콘솔로의 로그를 확인합니다.
- 터미널 가져오기 Kubernetes 탐색기 콘솔에서 컨테이너의 터미널을 가져옵니다.
배포
로그 보기: 배포에서 Kubernetes 탐색기 콘솔로의 로그를 확인합니다.
라이브 배포에는 라벨 및 현재/총 복제본 수 옆에 색이 지정된 상태 표시가 있습니다.
- 노란색: 배포에 최소 가용성이 없거나 이미지 문제가 있습니다.
- 녹색: 배포가 정상이며 최소 가용성이 있습니다.
노드
클러스터의 노드에는 이름 옆에 색이 지정된 상태 표시가 있습니다.
- 노란색: 노드에 메모리 또는 디스크 가용성과 같은 리소스 문제가 있습니다.
- 녹색: 노드가 정상입니다.
커스텀 리소스 정의(CRD)
Kubernetes 탐색기에는 클러스터에 설치되어 사용 가능한 모든 커스텀 리소스 정의(CRD)가 나열됩니다.
다음 단계
- 코드 샘플에서 Kubernetes 애플리케이션을 만들고 배포하여 Kubernetes의 IntelliJ용 Cloud Code 시작하기
- 파일 동기화 및 핫 리로드를 사용하여 개발 속도 높이기
- Cloud Code에서 애플리케이션 디버깅