rancher: 建立你的牧場艦隊

Post on 16-Apr-2017

356 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Rancher建立你的牧場艦隊Miles 2015/12/11

Docker 如何應用 用 Docker 建立貨櫃 (Image)

用 Docker Compose 建立戰艦 (Stack)

用 Rancher 建立艦隊 (Production)

起航

Outline

Features

How it works

Components

Access Control

Examples

Conclusion

FAQs

Suggestions

Introdution

Intro

Docker Compose 只能在同一台 host run

跨 host 連 container 有解,但設定很麻煩

Features

Features

所有服務皆使用 Docker Image 執行 可使用 Web UI / API / CLI 管理叢集

Host 間的 networking 設定,可以用 Docker Link 概念簡單達成Host 變動後,連結依然能正確的設定自動佈署規劃容器的設定方法簡單

可使用 Volume 來設定備份v0.47+ 提供了 stroage service ,使用起來會更有彈性

How it works

Rancher

HTTP/HTTPS

Port 500/4500 IPsec

Nginx

PHP DB

Cache

Host

Components

Components (Application)

Services

From Docker Images

Load Balancer

Service Alias

External Service

Stacks

Docker Compose

Rancher Compose

Components (Infrastructure)

Hosts

Containers

Service

Service 為提供應用層級的服務Service 完成啟動至少需要一個以上的 container

在 Rancher 裡, service 間是可以自由互相連接的Docker Compose 的參數都能設定

Docker Compose 的參數是來自 Docker Run 的參數

Service - Health Check

Service - Sidekick

當多個 service 的屬性是綁在一起的時候,可以使用scaling 需要多個 service 同時 scaling

需要放在同一台 host ( 因為需要用 volume form)

Service - Upgrade

Service - Load Balancer

Service - Service Alias, External Service

Stacks

Stack 是一堆 Service 組合而成,提供一系列服務Stack 間的服務都能互相連結

Stacks - Example

Hosts

建 service 之前,要先有 host

host 之間的 container 互連免煩惱,一切自動設定

Hosts

Access Control

Accounts

Environments

Access Controll

Examples

Examples

從無到有建置 Wordpress via Web UI

從無到有建置 Sentry via Rancher Compose

上 code via Web UI

上 code via Rancher Compose

Conclusion

Conclusion

Racnher 最初的設定是針對 production 環境的Rancher 建置 Stack 時,有時候會發現架構上能改善的地方

有提供 API / CLI ,做自動佈署很方便 官方也提供許多 catalog 可以使用,如 Jenkins

FAQs

FAQs

Upgrade 會直接砍掉重練,資料 service 請小心使用 同上, remove host 時,會自動做移機,但也是全部砍掉重練

Volume from 需要同個 host ,規劃 storage 時需注意Service 要外接出去,仍需機器設定配合

Bugs

Load Balancer 可以指向 alias 。但是是沒有用的Load Balancer 可以設定多 FQDN to 多 TCP service 。但是它不會照你想的跑

有時開頁面會一片空,或是 link 是空的, reload 即可 當有指定 host 時, upgrade 需要再重選一次

Suggestions

試著考慮下列情境做改善Service 可以 scaling ,每次增加都會是全新的容器Service upgrade 後會被砍掉重練

application.ini 會被還原 - 每次都要進去 install editor + edit ini

除了 HTTP 外,外接服務會比較困難

Suggestions

Thanks

top related