공부하고 기록하는, 경제학과 출신 개발자의 노트

학습일지/클라우드

[IBM Cloud 강의번역 프로젝트] - ch3-5. Service Binding

inspirit941 2020. 9. 12. 03:38
반응형

IBM Cloud 1기 활동 - 강의번역 프로젝트.

원본 강의

cognitiveclass.ai/courses/kubernetes-course

 

Kubernetes and containers on IBM Cloud - Free Kubernetes course by IBM Cognitive Class

About this course Containers and Cloud Native are the most significant invention in IT since the introduction of virtualization. Everyone from a small startup to a large multinational corporation is transitioning to this technology and they are looking for

cognitiveclass.ai

강의의 한글자막 제공을 위해 srt 파일로 번역하는 프로젝트를 진행 중입니다.

문맥이 어색하거나 내용이 잘못되었다고 느껴지시면 댓글로 남겨주세요.


 

이 모듈의 마지막 영상에서는 애플리케이션에서 외부 서비스를 사용하는 방법을 살펴봅니다.

스크린샷 2020-09-08 오후 2 52 13

쿠버네티스에서 이를 수행하는 방법은 배포에 외부 서비스를 바인딩하는 것입니다. 이 섹션에서는 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 문서에서 확인할 수 있습니다.

 

스크린샷 2020-09-08 오후 2 59 33

 

첫 번째 단계에서는 CLI를 사용하여 서비스를 생성합니다. IBM Cloud 웹 사이트의 카탈로그를 사용하여 서비스를 생성할 수도 있습니다. 두 번째 단계에서는 "service bind" 명령을 사용하여 새로 생성한 서비스를 클러스터에 바인딩합니다. 서비스가 클러스터에 바인딩되고 나면, Secrets 객체의 서비스 인증정보에 접근할 수 있게 됩니다.

 

스크린샷 2020-09-08 오후 2 59 48

 

Kubernetes 클러스터에 등록된 Secrets를 확인하는 명령은 화면에 표시된 것과 같습니다. IBM Cloud Kubernetes Service에서 제공하는 Kubernetest Dashboard에서도 확인할 수 있습니다.

 

스크린샷 2020-09-08 오후 3 02 20

 

서비스를 클러스터에 바인드하면, 해당 서비스의 Secrets가 환경변수 형태로 생성되어 사용 가능해집니다. binding.apikey, binding.username, binding.password는 각각 Watson Tone Analyzer 인스턴스에 사용할 수 있는 apikey, 사용자명, 패스워드를 의미합니다.

스크린샷 2020-09-08 오후 3 03 53

 

 

이 슬라이드는 node.js 애플리케이션 예시입니다. binding.apikey, binding.username, binding.password 환경변수를 사용해서 IBM Cloud Kubernetes Service에 배포될 Express.js 애플리케이션입니다.

 

정리하자면, Deployment에 외부 서비스를 바인딩하면 서비스에서 사용할 수 있는 인증 정보를 제공받게 됩니다. 인증 정보는 Secrets 형태로 저장되며, 이전 강의에서 설명한 volumn 형태로 사용할 수 있습니다.

 

스크린샷 2020-09-08 오후 3 10 23

 

축하합니다! 이번 모듈을 마무리하셨습니다. 이제 사용자 수요에 맞춰 애플리케이션을 확장하고, ConfigMaps과 Secrets같은 표준 방식을 활용할 수 있게 되었습니다. 또한 외부 서비스를 바인딩하고 사용하는 방법을 배우셨습니다.

반응형