개발자를 위한 학습 경로
큐레이팅된 학습 경로에 따라 Kubernetes 클러스터에 컨테이너화된 고가용성 앱을 배치하고 IBM Cloud Kubernetes Service의 강력한 도구를 사용하여 구역 또는 지역에 걸쳐 워크로드를 자동화, 격리, 보호, 관리 및 모니터합니다.
클러스터에 액세스
CLI를 설정하고 클러스터에 액세스하여 클러스에 대한 작업을 시작합니다.
- CLI 설정: 클러스터를 작성하고 관련 작업을 수행하도록 CLI를 설정하십시오. 클러스터를 사용하실 때는 명령어 참조 문서를 참고하시고, CLI 변경 로그를 통해 CLI 버전 업데이트 내용을 확인하시기 바랍니다.
- 사용자 권한: 클러스터 관리자가 클러스터에 액세스할 수 있는 적절한 IBM Cloud IAM 역할을 제공했는지 확인하십시오.
- 클러스터 액세스: 퍼블릭 또는 프라이빗 클라우드 서비스 엔드포인트르 통해 클러스터에 액세스하십시오.
도움이 필요하십니까? 클러스터 및 마스터 문제점 해결 및 작업자 노드 문제점 해결을 확인하십시오.
배치 계획
앱을 배치하기 전에 앱이 올바르게 액세스되고 기타 서비스와 통합될 수 있도록 우선 앱 설정 방법을 결정합니다.
- Kubernetes 고유: Kubernetes 고유 앱을 개발하기 위한 전략을 계획하십시오.
- 고가용성: 고가용성 배치를 위한 전략을 계힉하십시오.
서버리스를 찾고 계십니까? Code Engine을 사용해 보십시오.
앱 개발
Kubernetes 오브젝트의 구성을 선언하는 YAML 파일에서 앱을 구성하고 앱 버전화 전략을 계획합니다.
- 앱 개발:
- Kubernetes 원시 앱 배치의 기본사항을 검토하십시오.
- 공용 또는 개인용 이미지 레지스트리의 이미지에서 앱 컨테이너를 빌드하십시오.
- Kubernetes 오브젝트의 구성을 선언하는 YAML 파일에 앱 요구사항을 지정하십시오.
- 앱 버전화:
- 개발, 테스트, 운영 환경 등 여러 환경에 맞춰 구성 설정을 계획하여 구성 YAML 파일을 관리하세요.
- 다중 클러스터, 공용 및 사설 환경 또는 클라우드 제공자에서도 앱을 실행할 경우 배치 자동화를 지원하도록 애플리케이션을 패키지하십시오.
도움이 필요하십니까? 앱 및 통합 문제점 해결을 확인하십시오.
앱 배치
앱 구성 파일을 실행하여 앱을 클러스터에 배치합니다.
도움이 필요하십니까? 앱 및 통합 문제점 해결을 확인하십시오.
테스트, 로그 및 모니터
앱에서 성능 테스트를 수행하는 동안 문제를 해결하고 Kubernetes 클러스터 및 앱의 상태와 성능을 향상시키도록 로깅 및 모니터링을 설정합니다.
테스트 환경에서 다양한 비이상적인 시나리오(예: 구역의 실패를 복제하도록 구역에서 모든 작업자 노드 삭제)를 의도적으로 작성하십시오. 로그 및 메트릭을 검토하여 앱이 복구되는 방식을 확인하십시오.
- 액세스 테스트: 작업자 노드에 공용 또는 사설 NodePort를 작성하여 앱에 대한 액세스를 테스트하십시오.
- 모니터링:
- 로컬 시스템에서 Kubernetes 대시보드를 열어서 앱 리소스에 대한 정보를 보십시오.
- 앱의 성능 및 상태에 대한 작동 가시성을 확보하기 위해 IBM Cloud® Monitoring와 같은 모니터링 솔루션을 선택하십시오.
- 로깅: 컨테이너 로그를 모니터하기 위한 로깅 솔루션을 선택(예: IBM Cloud Logs)하십시오.
도움이 필요하십니까? 로깅 및 모니터링 문제점 해결을 확인하십시오.
앱 업데이트
사용자의 작동 중단 시간 없이 앱의 롤링 업데이트 및 롤백을 수행합니다.
- 전략 업데이트: 앱을 최신 상태로 유지하기 위한 전략을 계획하십시오.
- 업데이트 설정:
- 롤링 업데이트를 배치 파일에 추가하십시오.
- Istio 관리 추가 기능을 사용하여 A/B, canary 및 단계적 롤아웃을 수행하십시오.
- 클러스터용 지속적 배포 파이프라인을 설정합니다.
- 스케일링: 수평 팟(Pod) Auto-Scaling을 사용하여 CPU를 기반으로 한 앱의 인스턴스 수를 자동으로 늘리거나 줄이십시오.
앱 보호
권한 없는 사용자가 민감한 앱 정보에 액세스하지 못하도록 Kubernetes 시크릿을 사용하여 인증 정보 또는 키와 같은 기밀 정보를 저장하고 Kubernetes 시크릿에 있는 데이터를 암호화합니다.
- 시크릿:
- 앱에서 액세스할 수 있는 Kubernetes 시크릿에 개인 정보 또는 민감한 정보를 저장하십시오.
- KMS 제공자를 사용하여 시크릿을 암호화하십시오.
- 시크릿이 암호화되었는지 확인하십시오.
- 팟(Pod) 간 트래픽: Istio 서비스 메시 내의 마이크로서비스 간 트래픽에 대한 mTLS 암호화를 사용으로 설정하십시오.
앱 노출
공개적으로 클러스터의 앱을 인터넷에 노출하거나 비공개로 사설 네트워크에만 클러스터의 앱을 노출합니다.
- 서비스 발견 계획:
- Kubernetes 서비스 개발의 기본사항을 이해하십시오.
- 앱에 대한 수신 트래픽의 요구사항에 맞는 앱 노출 서비스를 선택하십시오.
- 앱 노출:
-
로드 밸런서:
- 클래식 클러스터:
- NLB 1.0 또는 NLB 2.0을 작성하십시오.
- NLB에 대한 DNS 하위 도메인을 등록하십시오.
- VPC 클러스터: VPC 로드 밸런서를 설정합니다.
- 클래식 클러스터:
-
Ingress: 공용 또는 사설 네트워크에 대한 Ingress 구성.
-
도움이 필요하십니까? Ingress 문제점 해결 및 로드 밸런서 문제점 해결을 확인하십시오.
앱 스토리지 추가
- 요구사항: 스토리지 솔루션에 대한 요구사항을 판별하십시오.
- 솔루션 선택: 스토리지 요구사항을 사용하여 옵션 을 비교하여 스토리지 솔루션을 선택하십시오.
도움이 필요하십니까? 지속적 스토리지 솔루션의 문제점 해결 페이지를 확인하십시오.
통합 추가
클러스터의 다양한 외부 서비스 및 카탈로그 서비스를 앱과 통합하여 앱 기능을 향상시킵니다.
-
지원되는 통합 검토:
-
클러스터에 서비스 추가: 통합을 클러스터에 추가하려면 클러스터 관리자에게 요청하십시오.
-
앱에서 서비스에 액세스: 앱이 서비스에 액세스할 수 있는지 확인하십시오. 예를 들어, 앱에서 IBM Cloud 서비스 인스턴스에 액세스하려면 Kubernetes 시크릿에 저장된 서비스 인증 정보를 앱에서 사용할 수 있어야 합니다.
도움이 필요하십니까? 앱 및 통합 문제점 해결을 확인하십시오.