# docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Wed Jun 20 21:43:51 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Wed Jun 20 21:42:00 2018
OS/Arch: linux/amd64
Experimental: false
Rancher 서버 설치
실 서비스에서는 HA 구성을 해야 겠으나 테스트이니 만큼 Single 노드로 설치한다. 간단하게 도커로 설치 할 수 있다.
# docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
Unable to find image 'rancher/rancher:latest' locally
latest: Pulling from rancher/rancher
6b98dfc16071: Pull complete
4001a1209541: Pull complete
...
80번과 443 포트를 설정했다. 이제 웹 브라우저로 접근 할 수 있다.
처음 로그인일 경우 admin 계정에 대한 패스워드를 설정한다.
Rancher Server URL을 설정한다. Rancher 노드를 추가 할 때 사용한다.
첫 번째 클러스터를 만들어보자.
클러스터의 타입을 설정 할 수 있다. Google Cloud Engine, AWS EKS, Azure Kubernetes Service 등의 주요 클라우드 프로바이더에 전개 할 수 있다. AWS EKS를 선택할 경우 설치할 리전(Region), Access key, secret key등을 설정 할 수 있다. 언젠가 사용해 보고 싶기는 한데, 지금은 직접 구성하는 처지라서 CUSTOM을 선택했다.
Custom을 선택하면 나오는 옵션들이다. Cluster Name은 JoincCluster로 했다. Cluster Options에서 가장 중요한 것은 Network Provider를 선택하는게 될 것이다. Calico, Canal, Flannel 중에 선택할 수 있다. Canal은 Flannel+Calico이다. 기능이 많다는 이야기니, 이녀석으로 하기로 했다.
이쯤에서 눈치챘겠지만 Rancher 2.0은 Kubernetes를 기본 플랫폼으로 한다. Kubernetes를 설치하지 않았다고 걱정 할 필요 없다. Rancher가 알아서 설치해 준다.
Rancher Node 추가하기
Add cluster 화면이다. 빨간 부분에 있는 도커 명령어를 추가할 Rancher Node(rancher-01, rancher-02, rancher-03)에서 그대로 실행해주면 된다. Node는 3가지 Role을 가지고 있다.
etcd : etcd 노드는 etcd 데이터베이스를 실행하는데 사용한다. 여기에는 쿠버네티스가 관리하는 모든 클러스터의 데이터를 저장된다. 단일 노드에서 etcd를 실행 할 수도 있지만, 중복 저장을 위해서 3, 5 개 이상의 노드를 설정한다.
Control Plane : Control Plane 노드는 Kubernetes API 서버, 스케줄러 및 컨트롤러 관리자를 실행하는데 사용한다. 단일 노드에서 실행 할 수 있지만, 2개 이상의 노드에서 실행 할 것을 권장한다.
Worker : Worker 노드는 kubelet및 작업을 실행하는데 사용한다. 필요한 경우 스토리지 및 네트워킹 드라이버와 ingress 드라이버도 실행한다.
적어도 하나 이상의 etcd 노드와 Control Plane 노드가 필요하다. 나는 rancher-01을 etcd+Control Plane+Worker 노드로 설정했다. 나머지 노드는 Worker 노드로만 설정했다.
클러스터 대시보드에서 노드 와 클러스트 상태를 확인 할 수 있다.
3개의 노드로 구성된 클러스터를 확인 할 수 있다. 관리자는 전체 CPU Core, 메모리, Pod의 상태를 볼 수 있다.
정리
다음 번에는 지금 구성한 클러스터에에 애플리케이션을 전개해 볼 생각이다.
AWS에 EC2 기반으로 전개해 봐야 겠다. EKS는 아직 서울리전에 없기 때문이다. 굳이 하려고 마음 먹으면 북미리전에서 테스트 할 수는 있겠지만.
Contents
Rancher 2.0 설치 환경
도커 설치
Rancher 서버 설치
Rancher Node 추가하기
정리
Recent Posts
Archive Posts
Tags