IBM Cloud 1기 활동 - 강의번역 프로젝트.
원본 강의
cognitiveclass.ai/courses/kubernetes-course
강의의 한글자막 제공을 위해 srt 파일로 번역하는 프로젝트를 진행 중입니다.
문맥이 어색하거나 내용이 잘못되었다고 느껴지시면 댓글로 남겨주세요.
이 모듈의 마지막 영상에서는 애플리케이션에서 외부 서비스를 사용하는 방법을 살펴봅니다.
쿠버네티스에서 이를 수행하는 방법은 배포에 외부 서비스를 바인딩하는 것입니다. 이 섹션에서는 Watson Tone Analyzer 서비스를 애플리케이션에 바인딩 해 봅니다. 시작해봅시다!
Service binding을 사용하면 IBM Cloud 서비스 인스턴스를 쿠버네티스 클러스터에 바인딩할 수 있습니다. 서비스 자격 증명값은 클러스터에 배포된 어떤 애플리케이션에서도 Secrets 형태로 사용 가능합니다. Deployment에 Kubernetes Secrets을 volumn 형태로 마운트하면, IBM Cloud Identity and Access Management (IAM) API 키를 pod에서 실행되는 컨테이너에 적용할 수 있습니다. 볼륨 마운트 디렉토리에 "binding"이라는 JSON 파일이 생성됩니다.
카탈로그에서 IBM Cloud에서 제공하는 다양한 서비스를 볼 수 있습니다. 이미지 인식에서부터 자연 언어 처리 및 챗봇 제작에 이르기까지 다양합니다. 우리는 Tone Analyzer 서비스를 사용하여 바인딩을 설명할 것입니다. 이 서비스는 언어 분석을 사용하여 주어진 텍스트에서 어조를 감지합니다. 이 서비스는 JavaScript로 SDK를 제공합니다. 이 서비스를 사용하려면 우리의 Deployment에 바인딩해서 서비스 인증 정보를 자동으로 사용할 수 있도록 합니다. 그런 다음 코드에서 바인딩의 인증 정보를 사용해 Tone Analyzer 서비스를 호출합니다. 이 서비스에 대한 자세한 내용은 IBM Cloud 문서에서 확인할 수 있습니다.
첫 번째 단계에서는 CLI를 사용하여 서비스를 생성합니다. IBM Cloud 웹 사이트의 카탈로그를 사용하여 서비스를 생성할 수도 있습니다. 두 번째 단계에서는 "service bind" 명령을 사용하여 새로 생성한 서비스를 클러스터에 바인딩합니다. 서비스가 클러스터에 바인딩되고 나면, Secrets 객체의 서비스 인증정보에 접근할 수 있게 됩니다.
Kubernetes 클러스터에 등록된 Secrets를 확인하는 명령은 화면에 표시된 것과 같습니다. IBM Cloud Kubernetes Service에서 제공하는 Kubernetest Dashboard에서도 확인할 수 있습니다.
서비스를 클러스터에 바인드하면, 해당 서비스의 Secrets가 환경변수 형태로 생성되어 사용 가능해집니다. binding.apikey, binding.username, binding.password는 각각 Watson Tone Analyzer 인스턴스에 사용할 수 있는 apikey, 사용자명, 패스워드를 의미합니다.
이 슬라이드는 node.js 애플리케이션 예시입니다. binding.apikey, binding.username, binding.password 환경변수를 사용해서 IBM Cloud Kubernetes Service에 배포될 Express.js 애플리케이션입니다.
정리하자면, Deployment에 외부 서비스를 바인딩하면 서비스에서 사용할 수 있는 인증 정보를 제공받게 됩니다. 인증 정보는 Secrets 형태로 저장되며, 이전 강의에서 설명한 volumn 형태로 사용할 수 있습니다.
축하합니다! 이번 모듈을 마무리하셨습니다. 이제 사용자 수요에 맞춰 애플리케이션을 확장하고, ConfigMaps과 Secrets같은 표준 방식을 활용할 수 있게 되었습니다. 또한 외부 서비스를 바인딩하고 사용하는 방법을 배우셨습니다.
'학습일지 > 클라우드' 카테고리의 다른 글
Architecting with Google Compute Engine - Design Process ch2. Business Logic Layer (0) | 2020.12.30 |
---|---|
Architecting with Google Compute Engine - Design Process ch1. Defining Service (0) | 2020.09.21 |
[IBM Cloud 강의번역 프로젝트] - ch3-4. ConfigMaps and Secrets (0) | 2020.09.11 |
[IBM Cloud 강의번역 프로젝트] - ch3-3. Rolling Update (0) | 2020.09.10 |
[IBM Cloud 강의번역 프로젝트] - ch3-2. AutoScaling (0) | 2020.09.09 |