rancher1.6 기본 운영 방법
Stack 등록 및 설정
[STACKS] - [User] -[Add Stack] 선택
- Name
- Stack Name 등록
- Description
- 간단한 설명 등록
- Optional:docker-compose.yml
- deploy 할 "docker-compose.yml" 소스 등록
- 소스를 직접 입력 하거나, 파일을 upload 할수 있음.
- Optional:rancher-compose.yml
- "rancher-compose.yml"이 있으면 등록 (옵션)
- 주로 scale 이나, Health_check 정책이 등록 됨.
- 소스를 직접 입력하거나, 파일을 upload 할수 있음.
Add Stack
Label 설정 (Node Label 설정 ) - 사전작업
- 배포대상 Node를 지정하기 위해서는 label 설정이 필요 함. (중요)
- label 지정이 없이 deploy 가 될경우, rancher에 등록된 Host중 임의의 서버에 배포가 될 수 있기때문에, 가능한 label 정의를 먼저하고 stack 설정 할것.
- 생성된 Node중 deploy 할 대상을 지정하여 label을 먼저 등록해줌.
- label 은 "Key = Value" 형태로 등록
Label 설정 (Stack Label 설정 )
- Stack에서 label 변경작업은 "Scheduling"에서 진행
- host label (default)
- container with label
- service with the name
- container with the name
- 만약 label정의가 사전에 협의 되어 있다면, 아래와 같이 "docker-compose.yml" 소스에 label을 추가하고 deploy 하는 것이 좋음.
1 2 3 4 5 6 7 8 9 | version: '2' services: rabbitmq: image: rabbitmq:management ports: - 5672:5672/tcp - 15672:15672/tcp labels: io.rancher.scheduler.affinity:host_label: rabbitmq=true |
STACK 메뉴 정리
- STACK관리를 위한 UI 로 서비스의 모든 정보를 볼수 있음.
- 주요기능
- rolling upgrade
- Scale In / out
- service stop / start
- Add service ( "Add Load Balancer")
- Container 내용 수정 (upgrade / rollback)
Add Service
- Add Load Balancer 생성 예시
- 연결할 도메인 및 외부 포트 및 경로 지정
- 연결할 Container 지정 및 포트 지정.
- Load Balancer 생성 후 Stack 관리용 UI
- Load Balancer용 Container 가 생성 됨.
- 보통 외부 포트는 "80" 으로하지만, TEST를 위해 다른포트(8089)로 지정하였음.
- Docker-compose 와 rancher-compose 에 LB관련 내용 자동 추가 됨.
STACK 메뉴 정리 II
- Service 관련 명령어
- Stop Services
- Service Stop / Start
- View Graph
- Stack에 포함된 Container들의 관계를 Graph로 보여줌.
- View Config
- 현재 상황의 docker-compose & rancher-compose 내역을 보여 줌.
- Export Config
- 현재 상황의 docker-compose & rancher-compose 내역을 Zip으로 압축하여 다운로드 함.
- Delete
- Service를 삭제 함.
- View In API
- Api 내역을 보여 줌.
- Edit
- 수정 (간단한 내용만 수정)
STACK 메뉴 정리 II
- Container 관련 명렁어
- Upgrade
- Container 내용 수정 (완료 후 auto rolling upgrade 지정 가능)
- Restart
- Stop
- Delete
- View In API
- Clone
- Edit
- Scale 조정 가능
- 가령, 최초 deploy 후 , 오류가 발생할 경우가 있는데. scale을 "0"으로 변경 후 원인 분석할때 좋음. (나는 이럴때 사용함 )
Host 메뉴 정리 추가 ( Shell 접속 및 log 보기)
- Deploy된 Container 추가 정보 확인
- Shell
- logs
- Shell 접속
- log 보기