Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rancher Simple User Guide

1,321 views

Published on

Rancher Quick user guide
Rancher의 특징을 이해하고, Rancher를 이용하여 Microservice와 같이 확장 가능한 서비스를 구성하는 방법을 3가지로 제시 (web ui, rancher command, web api)

Published in: Software
  • Be the first to comment

Rancher Simple User Guide

  1. 1. Rancher Simple User Guide (설치 및 사용 가이드) freepsw 2017.05
  2. 2. Why Rancher?
  3. 3. 3 Kubernetes, Rancher, and Docker Swarm https://stackshare.io/stackups/kubernetes-vs-rancher-vs-docker-swarm
  4. 4. 4 Kubernetes, Rancher, and Docker Swarm
  5. 5. 5 Rancher 아키텍처 Rancher supplies the entire software stack needed to manage containers in production.
  6. 6. 6 INFRASTRUCTURE ORCHESTRATION • VM이든, Baremetal 서버든 linux가 설치된 환경은 모두 지원 • 주요 서비스로 networking, storage, load balancer, DNS, security가 있으 며, container로 배포된다. CONTAINER ORCHESTRATION AND SCHEDULING • 다양한 orchestration & scheduling SW를 지원한다. (Docker swarm, K8s, Mesos) • Rancher자체 관리도구인 Cattle 지원 (Docker swarm에서 분기되어 자체 발전 중) APPLICATION CATALOG • Multi container cluster를 쉽게 버튼으로 배포할 수 있도록 catalog를 지원 • 사용자가 catalog 표준에 맞게 설정을 하면 rancher UI에서 배포 가능 • 버전 업데이트 등에 편리함. (다양한 Hadoop cluster 배포용도로 활용가능) ENTERPRISE-GRADE CONTROL • 유연한 사용자 인증 플러그인 제공 • RBAC 기반의 권한관리 제공 Rancher 핵심기능
  7. 7. Rancher Quick Start Guide
  8. 8. 8 Rancher Quick Start Guide - 설치 제약사항 • Kernel version 3.10 이상 (Docker 설치) • Docker for Windows and Docker for Mac are not supported. • https://docs.docker.com/engine/installation/linux/centos/ (도커 설치) $ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server # Tail the logs to show Rancher $ sudo docker logs -f <CONTAINER_ID> • Restart option : Container가 재시작할 때 정책을 지정할 수 있다. • unless-stopped : 현재 container의 이전상태가 STOP이면 재시작 하지 말것 • https://docs.docker.com/engine/reference/run/#restart-policies---restart • 이미지 파일 사이즈가 커서 다운받는데 시간이 좀 걸린다. 설치 Web UI 접속 • http://<ip>:8080으로 접속 가능 • 사용자 접근관리가 적용되지 않아, 누구나 접근이 가능하다. • 접근관리가 필요하면 아래 link에 다양한 접근관리 방법을 적용가능 • 가장 간단한 방법은 Rancher서버가 지원하는 local db를 활용하는 것 • http://docs.rancher.com/rancher/v1.5/en/configuration/access-control/
  9. 9. 9 Add host • Container를 배포하고 관리할 서버들을 등록한다. • 본 예제에서는 Rancher Server가 실행되고 있는 서버를 선택 • 운영환경에서는 Rancher Server가 실행중인 host가 아닌 별도의 host를 선택한다. (성능고려) Rancher Quick Start Guide – Host 추가 등록할 서버의 IP를 입력 생성된 명령어를 등록할 서 버에서 실행 잠시 뒤에 등록된 host의 정 보가 표시됨
  10. 10. 10 • 초기 Rancher를 설치하면 기본 Environment 환경을 사용하게 된다. • 이 Environment는 Environment Template에 정의된 Infrastructure service의 set으로 구성된다. (위에서는 healthcheck, scheduler …) • 사용자는 다양한 environment를 생성(dev, production …)하여 특정 유저에게 필요한 자원을 할당할 수 있다. Rancher Quick Start Guide – Infrastructure 인프라를 관리하기 위한 서비스인 Infrastructure Service 제공
  11. 11. 11 Quick Start Guide – Container 생성하기 2가지 방식으로 생성해도 UI에서 확인가능 UI를 통한 Container 생성 Docker comand를 통한 생성 • Default Stack에 여러개의 service를 추가하여 관리 가능 • 여러 service를 그룹으로 관리할 경우에 필요 • 해당 서버에서 직접 명령어로 실행해도 UI에서 모니터링이 가능함.
  12. 12. 12 UI로 생성한 경우 할당받은 IP Quick Start Guide – Container 생성하기 생성된 container를 Web UI에서 확인 Docker command로 생성한 경 우 할당받은 IP
  13. 13. 13 Quick Start Guide – Container 생성하기 Container의 네트워크 대역을 어떻게 지정할 수 있을까? Label을 이용한 네트워크 지정 • io.rancher.container.network=true 설정을 통해 • docker의 managed network를 사용하도록 지정 가능
  14. 14. 14 Quick Start Guide – Multi Container 생성하기 완전한 웹서비스 구성을 위한 컨테이너 구성하기 필요한 서비스 목록 생성된 Container 확인 Load Balancer Web #1 Web #2 Mongo_db • 총 4개의 container가 생성된 것을 볼 수 있다. • 실제 웹에 접속하기 위해서는 load balancer를 통해서 접속이 가능하며 • Load balancer는 80 port로 접속하고, 이를 web의 8080으로 연결해 준다.
  15. 15. Quick Start Guide – Multi Container 생성하기 1안) UI를 활용한 Web Service 생성 방법 RANCHER QUICK GUIDE 참고
  16. 16. Quick Start Guide – Multi Container 생성하기 1안) UI를 활용한 Web Service 생성 결과 • Load balancer인 “letschatapplb”의 80 port를 통해서 접속이 서비스에 접속할 수 있다.
  17. 17. 17 Quick Start Guide – 서비스 접속 결과 화면
  18. 18. Quick Start Guide – Multi Container 생성하기 2안) Rancher CLI를 이용한 서비스 생성방법 https://github.com/freepsw/docker-vertx-mariadb/tree/master/11.rancher • Rancher API KEY를 사전에 발급 받아야 함. (ACCESS KEY , SECRTE KEY) • 명령어 rancher up을 실행하는 경로에 docker-compose.yml과 rancher-compose.yml이 존재해야 함
  19. 19. Quick Start Guide – Multi Container 생성하기 3안) Rancher API를 이용한 서비스 생성방법 https://github.com/freepsw/docker-vertx-mariadb/tree/master/11.rancher • Rancher STACK에서 compose 파일을 확인 가능. • 2개 파일을 복사하여 “rancher up” command를 실행할 디렉토 리에 복사 Click
  20. 20. Quick Start Guide – API KEY 생성 rancher api에 접근에 필요한 인증 KEY (Access Key : Secret Key) 1. Click 2. Click IP IP
  21. 21. Quick Start Guide – API KEY 생성 rancher api에 접근에 필요한 인증 KEY (Access Key : Secret Key) 1. KEY Name 입력 2. Click 필요한 서비스 목록 생성된 Container 확인 • Secret Key는 반드시 별도 파일로 보관해야 함. • 사용자가 관리하는 KEY (Rancher에서 관리하지 않음)
  22. 22. Quick Start Guide – Rancher API 사용하기 Rancher API 목록 확인 Click IP IP
  23. 23. Quick Start Guide – Rancher API 사용하기 STACK을 생성할 project 확인하기 Click • Rancher에 생성된 project 정보 조회 • 처음 rancher를 설치했다면, “Default” project만 존재할 것임.
  24. 24. Quick Start Guide – Rancher API 사용하기 Project의 STACK을 조회 Click • ”Default” project의 id : “1a5” • “1a5” project에 생성된 STACK을 조회한다.
  25. 25. Quick Start Guide – Rancher API 사용하기 Project에 STACK 생성하기 • ”Operation” 버튼을 클릭하여 STACK을 생성한다. Click
  26. 26. Quick Start Guide – Rancher API 사용하기 STACK 정보 입력 주의사항! • dockerCompose & rancherCompose 입력시 • Yml 구조를 json 구조로 변경하여 입력해야 함. • YML to JSON 도구를 활용 1. 선택 3. 입력 2. 입력 4. Click
  27. 27. Quick Start Guide – Rancher API 사용하기 REST 요청 • “Send Request”를 Click하면 정상적으로 STACK이 생성되는 것을 화면에서 확인 가능 Click 1안) UI에서 직접 실행 • 화면에 표시된 Curl command line을 복사하여 실행 • ACCESS_KEY:SECRET_KEY 값을 변경 • Web API를 이용하여 Post/Get 방식으로 직접 호출 2안) REST API 활용 IP IP
  28. 28. Quick Start Guide – Rancher Catalog 사용 Rancher에서 제공하는 Catalog에서 SW를 선택하여 설치 • Rancher에서 사용자가 손쉽게 container기반으로 sw를 설치할 수 있도록 제공 • 지속적으로 catalog가 추가되고 있으며, 향후 서비스 확장시 설치/배포 시간 단축 Catalog 서비스 Click
  29. 29. Quick Start Guide – Rancher Catalog 사용 Hadoop 설치 • Hadoop 설치에 필요한 기본 설정들을 사용자가 정의 • 다양한 설정을 변경하려면, • 해당 container의 dockerfile을 확인하고, • 외부에서 ENV로 설정할 수 있는 configuration에 값을 변경 Click
  30. 30. My github project using rancher docker-vertx-mariadb • Vertx web app와 mariadb를 rancher를 이용해 배포하는 샘플 ansible-rancher-docker-deploy • Ansible + rancher + docker를 이용하여 어플리케이션 배포 및 운영을 자동화한 프로젝트 (진행중…)
  31. 31. END

×