Kubernetes と暮らす Rancher な生活
JKD 18.12
Go Chiba @go_chiba
About me
Go Chiba
Work
System Integrator
Role
Public/Private Cloud
Container Orchestrator
Contact
Twitter: @go_chiba
普段
Rancher JP
Rancher History
元 Cloud.com の Darren Shepherd 氏によって開発
時は IaaS から Docker のオープンソース化、
コンテナ技術が注目されつつあった...
ちなみに
Rancher History
2014: stampade.io リリース
Rancher History
2015: reancher.io 立ち上げ
Ref: https://www.creationline.com/lab/9356
ホスト
コンテナ
LB
ボリューム
レジストリ
Rancher History
2016 v1.0 リリース
ホスト管理画面
リンクグラフ
パフォーマンス画面
Rancher History
2018 v2.0 リリース
What’s Rancher?
 オープンソースのコンテナ管理ツール
– 複数にわたるクラスタの構築・管理を GUI で
– もちろんクラスタ上で動作するワークロードの管理も
Host Host Host Host Host
C C C C C C C C C C
ココ!
Rancher and Orchestrator
 他のコンテナオーケストレーションツール
と比べると層が違う(異論は認める)
Ref: https://rand.pepabo.com/article/2017/06/28/iot38-matsumotory/
v1.x and v2.x
v1.x v2.x
+
# docker run -d --restart=unless-stopped 
-p 8080:8080 
rancher/server # docker run -d --restart=unless-stopped ¥
-p 80:80 -p 443:443 ¥
-v /host/rancher:/var/lib/rancher ¥
rancher/rancher:latest
v1.x and v2.x
v1.x v2.x
+
Manage Manage
v1.x and v2.x
v1.x v2.x
+
Deploy Deploy
Related Tools
 Rancher といっても様々
よく言う “Rancher” はコチラ
コンテナ向け軽量OS(30MBくらい)
iSCSI をベースとした分散ストレージ
“Rancher k8s Engine”
k8s のインストーラー
Ref: https://github.com/rancher
Features
Multi Cluster Support
Multi Cluster Support
Managed
k8s
Off/On-Prem
IaaS Import
or
Custom
Multi Cluster Support
Underlay k8s docker-machine
Multi Cluster Support
Node Node Node
Underlay k8s
...
Multi Cluster Support
Node Node Node
Underlay k8s
...
Dev QA SRE
RBAC
Auth
Policy
Workloads Management
Workloads Management
k8s ClusterUnderlay k8s
git pull
https://github.com/foo/bar.git
Catalog
Workloads Management
k8s ClusterUnderlay k8s
https://github.com/foo/bar.git
apply
Catalog
Workloads Management
k8s ClusterUnderlay k8s
https://github.com/foo/bar.git
v1 v2
upgrade
roleback
Catalog
Pipeline
Dev Build Test Publish Staging Production
Pipeline
Underlay k8s
OAuth
.rancher-pipeline.yml
deployment.yaml
Pipeline
Underlay k8s
sync
.rancher-pipeline.yml
deployment.yaml
stages:
- name: Build
steps:
- publishImageConfig:
dockerfilePath: ./Dockerfile
buildContext: .
tag: hello-docker
pushRemote: true
registry: index.docker.io
- name: Deploy
steps:
- applyYamlConfig:
path: ./deployment.yaml
timeout: 60
Pipeline
Underlay k8s
sync
.rancher-pipeline.yml
deployment.yaml
kind: Service
apiVersion: v1
metadata:
name: foo-svc
...
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: foo-deploy
labels:
app: foo
Pipeline
Underlay k8s
git pull
.rancher-pipeline.yml
deployment.yaml
k8s Cluster
run executor
Usecases
Usecase
Application 配信基盤
k8s Cluster
Dev / User
Access
deploy
Usecase
開発基盤 w/ CI/CD(On-Prem)
k8s Cluster
Dev
Infra
git push
manage
clusters
git pull
app:ac03
Prod Cluster
Stage Cluster
feature
bugfix
push
image
app:3cv0
Usecase
開発基盤 w/ CI/CD(On-Prem)
Dev Cluster
Dev
Infra
release
Prod Cluster
Stage Cluster
app:v1
git push
manage
clusters
git pull
push
image
Usecase
データ処理基盤
Ref: ABEJAの映像解析を支える仕組みとRancher
Usecase
KaaS(k8s as a Service)基盤
Ref: Rancher2.0で実現する Managed Kubernetes Service
Demo
未だに k8s の構築...
RIO
https://github.com/rancher/rio
RIO
Standalone vs On k8s
Standalone On k8s
Linux
Linux
Linux
Linux
rio
server
rio
agent
join
k8s Cluster
rio-system
rio-default
istio-xxxx
Namespace
Demo
まとめ
 Rancher is 何?
– 気軽に始められるコンテナプラットフォーム
 今後は Rio にも期待
– インフラ(k8s) はより意識しない時代に...?
# docker run -d --restart=unless-stopped ¥
-p 80:80 -p 443:443 ¥
-v /host/rancher:/var/lib/rancher ¥
rancher/rancher:latest
1259
Connpass メンバー
Rancher JP
 Rancher を中心に関連技術追っかける牛達
86
イベント
447
Slack メンバー
Join to our slack
http://slack.rancher.jp
Thank you!!

Kubernetesと暮らすRancherな生活