KEMBAR78
Rancher Simple User Guide | PDF
Rancher Simple User Guide
(설치 및 사용 가이드)
freepsw
2017.05
Why Rancher?
3
Kubernetes, Rancher, and Docker Swarm
https://stackshare.io/stackups/kubernetes-vs-rancher-vs-docker-swarm
4
Kubernetes, Rancher, and Docker Swarm
5
Rancher 아키텍처
Rancher supplies the entire software stack needed to manage containers in production.
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 핵심기능
Rancher Quick Start Guide
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
Add host
• Container를 배포하고 관리할 서버들을 등록한다.
• 본 예제에서는 Rancher Server가 실행되고 있는 서버를 선택
• 운영환경에서는 Rancher Server가 실행중인 host가 아닌 별도의 host를 선택한다. (성능고려)
Rancher Quick Start Guide – Host 추가
등록할 서버의 IP를 입력
생성된 명령어를 등록할 서
버에서 실행
잠시 뒤에 등록된 host의 정
보가 표시됨
10
• 초기 Rancher를 설치하면 기본 Environment 환경을 사용하게 된다.
• 이 Environment는 Environment Template에 정의된 Infrastructure service의 set으로 구성된다. (위에서는 healthcheck, scheduler …)
• 사용자는 다양한 environment를 생성(dev, production …)하여 특정 유저에게 필요한 자원을 할당할 수 있다.
Rancher Quick Start Guide – Infrastructure
인프라를 관리하기 위한 서비스인 Infrastructure Service 제공
11
Quick Start Guide – Container 생성하기
2가지 방식으로 생성해도 UI에서 확인가능
UI를 통한 Container 생성 Docker comand를 통한 생성
• Default Stack에 여러개의 service를 추가하여 관리 가능
• 여러 service를 그룹으로 관리할 경우에 필요
• 해당 서버에서 직접 명령어로 실행해도 UI에서 모니터링이 가능함.
12
UI로 생성한 경우 할당받은 IP
Quick Start Guide – Container 생성하기
생성된 container를 Web UI에서 확인
Docker command로 생성한 경
우 할당받은 IP
13
Quick Start Guide – Container 생성하기
Container의 네트워크 대역을 어떻게 지정할 수 있을까?
Label을 이용한 네트워크 지정
• io.rancher.container.network=true 설정을 통해
• docker의 managed network를 사용하도록 지정 가능
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으로
연결해 준다.
Quick Start Guide – Multi Container 생성하기
1안) UI를 활용한 Web Service 생성 방법
RANCHER QUICK GUIDE 참고
Quick Start Guide – Multi Container 생성하기
1안) UI를 활용한 Web Service 생성 결과
• Load balancer인 “letschatapplb”의 80 port를 통해서 접속이 서비스에 접속할 수 있다.
17
Quick Start Guide – 서비스 접속 결과 화면
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이 존재해야 함
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
Quick Start Guide – API KEY 생성
rancher api에 접근에 필요한 인증 KEY (Access Key : Secret Key)
1. Click
2. Click
IP
IP
Quick Start Guide – API KEY 생성
rancher api에 접근에 필요한 인증 KEY (Access Key : Secret Key)
1. KEY Name 입력
2. Click
필요한 서비스 목록 생성된 Container 확인
• Secret Key는 반드시 별도 파일로 보관해야 함.
• 사용자가 관리하는 KEY (Rancher에서 관리하지 않음)
Quick Start Guide – Rancher API 사용하기
Rancher API 목록 확인
Click
IP
IP
Quick Start Guide – Rancher API 사용하기
STACK을 생성할 project 확인하기
Click
• Rancher에 생성된 project 정보 조회
• 처음 rancher를 설치했다면, “Default” project만
존재할 것임.
Quick Start Guide – Rancher API 사용하기
Project의 STACK을 조회
Click
• ”Default” project의 id : “1a5”
• “1a5” project에 생성된 STACK을 조회한다.
Quick Start Guide – Rancher API 사용하기
Project에 STACK 생성하기
• ”Operation” 버튼을 클릭하여 STACK을 생성한다.
Click
Quick Start Guide – Rancher API 사용하기
STACK 정보 입력
주의사항!
• dockerCompose & rancherCompose 입력시
• Yml 구조를 json 구조로 변경하여 입력해야 함.
• YML to JSON 도구를 활용
1. 선택
3. 입력
2. 입력
4. Click
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
Quick Start Guide – Rancher Catalog 사용
Rancher에서 제공하는 Catalog에서 SW를 선택하여 설치
• Rancher에서 사용자가 손쉽게 container기반으로
sw를 설치할 수 있도록 제공
• 지속적으로 catalog가 추가되고 있으며, 향후 서비스
확장시 설치/배포 시간 단축
Catalog 서비스
Click
Quick Start Guide – Rancher Catalog 사용
Hadoop 설치
• Hadoop 설치에 필요한 기본 설정들을 사용자가 정의
• 다양한 설정을 변경하려면,
• 해당 container의 dockerfile을 확인하고,
• 외부에서 ENV로 설정할 수 있는 configuration에 값을 변경
Click
My github project using rancher
docker-vertx-mariadb
• Vertx web app와 mariadb를 rancher를 이용해 배포하는 샘플
ansible-rancher-docker-deploy
• Ansible + rancher + docker를 이용하여 어플리케이션 배포 및 운영을
자동화한 프로젝트 (진행중…)
END

Rancher Simple User Guide

  • 1.
    Rancher Simple UserGuide (설치 및 사용 가이드) freepsw 2017.05
  • 2.
  • 3.
    3 Kubernetes, Rancher, andDocker Swarm https://stackshare.io/stackups/kubernetes-vs-rancher-vs-docker-swarm
  • 4.
  • 5.
    5 Rancher 아키텍처 Rancher suppliesthe entire software stack needed to manage containers in production.
  • 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.
  • 8.
    8 Rancher Quick StartGuide - 설치 제약사항 • 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 Add host • Container를배포하고 관리할 서버들을 등록한다. • 본 예제에서는 Rancher Server가 실행되고 있는 서버를 선택 • 운영환경에서는 Rancher Server가 실행중인 host가 아닌 별도의 host를 선택한다. (성능고려) Rancher Quick Start Guide – Host 추가 등록할 서버의 IP를 입력 생성된 명령어를 등록할 서 버에서 실행 잠시 뒤에 등록된 host의 정 보가 표시됨
  • 10.
    10 • 초기 Rancher를설치하면 기본 Environment 환경을 사용하게 된다. • 이 Environment는 Environment Template에 정의된 Infrastructure service의 set으로 구성된다. (위에서는 healthcheck, scheduler …) • 사용자는 다양한 environment를 생성(dev, production …)하여 특정 유저에게 필요한 자원을 할당할 수 있다. Rancher Quick Start Guide – Infrastructure 인프라를 관리하기 위한 서비스인 Infrastructure Service 제공
  • 11.
    11 Quick Start Guide– Container 생성하기 2가지 방식으로 생성해도 UI에서 확인가능 UI를 통한 Container 생성 Docker comand를 통한 생성 • Default Stack에 여러개의 service를 추가하여 관리 가능 • 여러 service를 그룹으로 관리할 경우에 필요 • 해당 서버에서 직접 명령어로 실행해도 UI에서 모니터링이 가능함.
  • 12.
    12 UI로 생성한 경우할당받은 IP Quick Start Guide – Container 생성하기 생성된 container를 Web UI에서 확인 Docker command로 생성한 경 우 할당받은 IP
  • 13.
    13 Quick Start Guide– Container 생성하기 Container의 네트워크 대역을 어떻게 지정할 수 있을까? Label을 이용한 네트워크 지정 • io.rancher.container.network=true 설정을 통해 • docker의 managed network를 사용하도록 지정 가능
  • 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.
    Quick Start Guide– Multi Container 생성하기 1안) UI를 활용한 Web Service 생성 방법 RANCHER QUICK GUIDE 참고
  • 16.
    Quick Start Guide– Multi Container 생성하기 1안) UI를 활용한 Web Service 생성 결과 • Load balancer인 “letschatapplb”의 80 port를 통해서 접속이 서비스에 접속할 수 있다.
  • 17.
    17 Quick Start Guide– 서비스 접속 결과 화면
  • 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.
    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.
    Quick Start Guide– API KEY 생성 rancher api에 접근에 필요한 인증 KEY (Access Key : Secret Key) 1. Click 2. Click IP IP
  • 21.
    Quick Start Guide– API KEY 생성 rancher api에 접근에 필요한 인증 KEY (Access Key : Secret Key) 1. KEY Name 입력 2. Click 필요한 서비스 목록 생성된 Container 확인 • Secret Key는 반드시 별도 파일로 보관해야 함. • 사용자가 관리하는 KEY (Rancher에서 관리하지 않음)
  • 22.
    Quick Start Guide– Rancher API 사용하기 Rancher API 목록 확인 Click IP IP
  • 23.
    Quick Start Guide– Rancher API 사용하기 STACK을 생성할 project 확인하기 Click • Rancher에 생성된 project 정보 조회 • 처음 rancher를 설치했다면, “Default” project만 존재할 것임.
  • 24.
    Quick Start Guide– Rancher API 사용하기 Project의 STACK을 조회 Click • ”Default” project의 id : “1a5” • “1a5” project에 생성된 STACK을 조회한다.
  • 25.
    Quick Start Guide– Rancher API 사용하기 Project에 STACK 생성하기 • ”Operation” 버튼을 클릭하여 STACK을 생성한다. Click
  • 26.
    Quick Start Guide– Rancher API 사용하기 STACK 정보 입력 주의사항! • dockerCompose & rancherCompose 입력시 • Yml 구조를 json 구조로 변경하여 입력해야 함. • YML to JSON 도구를 활용 1. 선택 3. 입력 2. 입력 4. Click
  • 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.
    Quick Start Guide– Rancher Catalog 사용 Rancher에서 제공하는 Catalog에서 SW를 선택하여 설치 • Rancher에서 사용자가 손쉽게 container기반으로 sw를 설치할 수 있도록 제공 • 지속적으로 catalog가 추가되고 있으며, 향후 서비스 확장시 설치/배포 시간 단축 Catalog 서비스 Click
  • 29.
    Quick Start Guide– Rancher Catalog 사용 Hadoop 설치 • Hadoop 설치에 필요한 기본 설정들을 사용자가 정의 • 다양한 설정을 변경하려면, • 해당 container의 dockerfile을 확인하고, • 외부에서 ENV로 설정할 수 있는 configuration에 값을 변경 Click
  • 30.
    My github projectusing rancher docker-vertx-mariadb • Vertx web app와 mariadb를 rancher를 이용해 배포하는 샘플 ansible-rancher-docker-deploy • Ansible + rancher + docker를 이용하여 어플리케이션 배포 및 운영을 자동화한 프로젝트 (진행중…)
  • 31.