SlideShare a Scribd company logo
1 of 31
Download to read offline
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

More Related Content

What's hot

Reusable, composable, battle-tested Terraform modules
Reusable, composable, battle-tested Terraform modulesReusable, composable, battle-tested Terraform modules
Reusable, composable, battle-tested Terraform modulesYevgeniy Brikman
 
Deploy Prometheus - Grafana and EFK stack on Kubic k8s Clusters
Deploy Prometheus - Grafana and EFK stack on Kubic k8s ClustersDeploy Prometheus - Grafana and EFK stack on Kubic k8s Clusters
Deploy Prometheus - Grafana and EFK stack on Kubic k8s ClustersSyah Dwi Prihatmoko
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
 
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Vietnam Open Infrastructure User Group
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
 
OpenStack vs VMware vCloud
OpenStack vs VMware vCloudOpenStack vs VMware vCloud
OpenStack vs VMware vCloudRoozbeh Shafiee
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
 
Intro to Helm for Kubernetes
Intro to Helm for KubernetesIntro to Helm for Kubernetes
Intro to Helm for KubernetesCarlos E. Salazar
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceAmazon Web Services
 
Managing your Hadoop Clusters with Apache Ambari
Managing your Hadoop Clusters with Apache AmbariManaging your Hadoop Clusters with Apache Ambari
Managing your Hadoop Clusters with Apache AmbariDataWorks Summit
 
MySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaMySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaYoungHeon (Roy) Kim
 
Ceph with CloudStack
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStackShapeBlue
 
Kubernetes
KubernetesKubernetes
Kuberneteserialc_w
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to KubernetesImesh Gunaratne
 
Gruntwork Executive Summary
Gruntwork Executive SummaryGruntwork Executive Summary
Gruntwork Executive SummaryYevgeniy Brikman
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentationSuresh Kumar
 
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?OpenStack Korea Community
 
Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Imesh Gunaratne
 

What's hot (20)

Reusable, composable, battle-tested Terraform modules
Reusable, composable, battle-tested Terraform modulesReusable, composable, battle-tested Terraform modules
Reusable, composable, battle-tested Terraform modules
 
Deploy Prometheus - Grafana and EFK stack on Kubic k8s Clusters
Deploy Prometheus - Grafana and EFK stack on Kubic k8s ClustersDeploy Prometheus - Grafana and EFK stack on Kubic k8s Clusters
Deploy Prometheus - Grafana and EFK stack on Kubic k8s Clusters
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
OpenStack vs VMware vCloud
OpenStack vs VMware vCloudOpenStack vs VMware vCloud
OpenStack vs VMware vCloud
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
 
Intro to Helm for Kubernetes
Intro to Helm for KubernetesIntro to Helm for Kubernetes
Intro to Helm for Kubernetes
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line Interface
 
Managing your Hadoop Clusters with Apache Ambari
Managing your Hadoop Clusters with Apache AmbariManaging your Hadoop Clusters with Apache Ambari
Managing your Hadoop Clusters with Apache Ambari
 
MySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaMySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & Grafana
 
Ceph with CloudStack
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStack
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Gruntwork Executive Summary
Gruntwork Executive SummaryGruntwork Executive Summary
Gruntwork Executive Summary
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
 
Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1
 

Similar to Rancher Simple User Guide

[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문Hyunmin Kim
 
[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-to[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-toJi-Woong Choi
 
Cloud life seminar open shift,이준영(배포용)
Cloud life seminar   open shift,이준영(배포용)Cloud life seminar   open shift,이준영(배포용)
Cloud life seminar open shift,이준영(배포용)Software in Life
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기SeungYong Oh
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 rockplace
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
Source To URL Without Dockerfile
Source To URL Without DockerfileSource To URL Without Dockerfile
Source To URL Without DockerfileWon-Chon Jung
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호용호 최
 
Prometheus in openstack-helm
Prometheus in openstack-helmPrometheus in openstack-helm
Prometheus in openstack-helm성일 임
 
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현Hong Min Kim
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)jeongseokoh
 
Open infradays 2019_msa_k8s
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8sHyoungjun Kim
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석Tommy Lee
 
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postInho Kang
 
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기Hyperledger Korea User Group
 
[오픈소스컨설팅]인프라 자동화 도구 Chef
[오픈소스컨설팅]인프라 자동화 도구  Chef[오픈소스컨설팅]인프라 자동화 도구  Chef
[오픈소스컨설팅]인프라 자동화 도구 ChefOpen Source Consulting
 
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy흥래 김
 

Similar to Rancher Simple User Guide (20)

[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
 
Docker osc 0508
Docker osc 0508Docker osc 0508
Docker osc 0508
 
[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-to[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-to
 
Cloud life seminar open shift,이준영(배포용)
Cloud life seminar   open shift,이준영(배포용)Cloud life seminar   open shift,이준영(배포용)
Cloud life seminar open shift,이준영(배포용)
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
Source To URL Without Dockerfile
Source To URL Without DockerfileSource To URL Without Dockerfile
Source To URL Without Dockerfile
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
 
Prometheus in openstack-helm
Prometheus in openstack-helmPrometheus in openstack-helm
Prometheus in openstack-helm
 
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)
 
Open infradays 2019_msa_k8s
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8s
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_post
 
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
 
[오픈소스컨설팅]인프라 자동화 도구 Chef
[오픈소스컨설팅]인프라 자동화 도구  Chef[오픈소스컨설팅]인프라 자동화 도구  Chef
[오픈소스컨설팅]인프라 자동화 도구 Chef
 
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
 
Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화
 

More from SANG WON PARK

Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessSANG WON PARK
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeSANG WON PARK
 
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)SANG WON PARK
 
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimizationSANG WON PARK
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring SANG WON PARK
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3SANG WON PARK
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트SANG WON PARK
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)SANG WON PARK
 
Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리SANG WON PARK
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...SANG WON PARK
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)SANG WON PARK
 
코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)SANG WON PARK
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)SANG WON PARK
 
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5SANG WON PARK
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNNSANG WON PARK
 
Hadoop eco story 이해
Hadoop eco story 이해Hadoop eco story 이해
Hadoop eco story 이해SANG WON PARK
 

More from SANG WON PARK (19)

Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_business
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflake
 
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
 
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimization
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)
 
Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
 
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
 
Hadoop eco story 이해
Hadoop eco story 이해Hadoop eco story 이해
Hadoop eco story 이해
 

Rancher Simple User Guide

  • 1. Rancher Simple User Guide (설치 및 사용 가이드) freepsw 2017.05
  • 3. 3 Kubernetes, Rancher, and Docker Swarm https://stackshare.io/stackups/kubernetes-vs-rancher-vs-docker-swarm
  • 5. 5 Rancher 아키텍처 Rancher supplies the 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 핵심기능
  • 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 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 project using rancher docker-vertx-mariadb • Vertx web app와 mariadb를 rancher를 이용해 배포하는 샘플 ansible-rancher-docker-deploy • Ansible + rancher + docker를 이용하여 어플리케이션 배포 및 운영을 자동화한 프로젝트 (진행중…)
  • 31. END