SlideShare a Scribd company logo
Rancher2.0への移行に向けて
Minehiko Nohara
Macnica Networks, Corp.
1
本資料について
2
・ 本資料に記載されている会社名、商品、サービス名等は各社
の登録商標または商標です。なお、本資料中では、「™」、「®」は
明記しておりません。
・本資料は、出典元が記載されている資料、画像等を除き、弊社
が著作権を有しています。
・著作権法上認められた「私的利用のための複製」や「引用」など
の場合を除き、本資料の全部または一部について、無断で複製・
転用等することを禁じます。
・本資料は作成日現在における情報を元に作成されております
が、その正確性、完全性を保証するものではありません。
免責事項
自己紹介
• なまえ: 野原 峰彦 (のはら みねひこ)
• 2006年にマクニカグループに入社
– 自社SaaSサービス開発担当
– Eメールアーカイブ製品担当
– Web Analytics製品担当
– 仮想分散型Firewall製品担当
– オーバーレイ型SDN製品担当
– Hyper Converged System製品担当 他
• 現在はWeb分離セキュリティ製品のMenlo Securityや、Kubernetes用のHCIの
Diamantiを担当
3
マクニカネットワークスとは
• “より優れた製品やサービスを”
私たちは世界から最高水準のテクノロジーをベースに、お客
様に最適のITソリューションを提供する技術商社です
4
ビジネスドメイン
Enterprise IT
Network
Big DataSDx
NFV
Cloud
Infrastructure
Mobile
Telecom
Storage
Security
5
ビジネスドメイン
Enterprise IT
Network
Big DataSDx
NFV
Cloud
Infrastructure
Mobile
Telecom
Storage
Security
一緒に働いていただける方、絶賛
募集中です!
6
マクニカのRANCHER利用ユースケース
振り返り
7
製品の技術サポート業務の課題
• 多くの製品のサポートにおいて、解析ツール、監視ツールなどの
環境が必要
– 2006年ごろは毎回サーバーを物理で構築してアプリをインストール
(1日がかりの作業)
– 2010年ごろから仮想マシンで運用を開始するも、スケールやバックアップ、
リストア、利用可能なリソースの逼迫など、まだ課題は多かった
– 2015年ごろより、徐々に環境をDockerに移行
• Zabbix、Nagiosなどの運用監視サーバー
• Webサーバー
• Squidサーバー
• 各種DBサーバーなど
• 取り扱い製品の一部をDockerイメージ化
8
Dockerを使うことで・・
• メリット
– リソース削減
– ポータビリティ
– 高速デプロイ
– Dependency問題からの開放
• デメリット
– 運用(デプロイメントや監視、スケール管理など)
– 独自のコマンド
– 永続データのバックアップ
9
Rancherとの出会い
• 2015年春、OpenStack Summitのブースに立ち寄り、製品を知った
– 当時からコンセプトは非常に優れていたが、当時はあまり安定していなかった印象。
• 2016年夏ごろ、社内エンジニア向けDocker Private Cloud構築がプロジェクト化
– RancherのGAリリースを知り、評価の結果、Rancher 1.1による構築を決定。
• 2016年10月末から社内でのサービス提供開始!
– エンジニアの一時利用のPaaSに特化して提供
10
Rancherとは?
• コンテナのデプロイから運用管理を一元的にWeb GUIから実行できるソフトウェ
ア。
• Dockerのホストとしてオンプレだけでなく、さまざまなクラウド上のホストとの連携
や自動プロビジョニングをサポートする。連携やプロビジョニングのための操作も
非常にシンプル。
• ソフトウェアはdockerイメージでも提供されているため、dockerが入ったマシンが
あれば誰でも無料で簡単に使うことができる。
11
オンプレ クラウド
・・and more
マクニカ Dockerクラウド: App as a Service
• Rancherが提供するWeb UIで簡単操作!
12
マクニカDockerクラウド構成
• ユーザーインターフェイスはRancher1.1からスタートし、現在は1.5.6
• Appカタログは、Privateカタログを利用
– 信頼されたOfficialイメージはDocker HUBより取得
– オリジナルのイメージは原則オンプレのDockerレジストリより取得することで、問
題のあるアプリの利用を極力避ける
• Docker HostはUbuntuおよびCoreOSを利用
– Quota(リソース制限)を目的として、Docker Hostはユーザーごとに独立したもの
を提供
– 仮想環境上に構築しているため、リソースはオーバーコミット前提
– ユーザー自身によるホストの追加も可能
• 各ホストのバックアップはNutanixのスナップショット機能を利用
13
カタログ2
マクニカDockerクラウドの構成
社員A 社員B 社員C 社員D
Docker Hub
GitHub.com自社作成イメージ系
信頼性の高いオフィ
シャルなイメージなど
イメージ取得 イメージ取得
カタログ1
Docker
Registry
Ubuntu Ubuntu Ubuntu Ubuntu
Backup
Backup
GitHub Enterprise
Prism + vSphere 14
RancherのPrivateカタログ
• Docker-composeベースのyamlファイルで記述
• Rancher-composeと組み合わせて、UIからの変数の代入が可能
• ローカルのレジストリを利用する場合はimageに指定する
例: dockerrepo.macnica.net:5000/noharaimage:latest
※ composeファイルはバージョンごとに用意するため、バージョン
に応じてレジストリを変更することも可能。
15
Rancher利用のメリット
• 利用したいアプリケーションを瞬時に起動できる
– Dockerの知識や面倒なインストール作業は不要。
• Dockerコンテナの中のshell画面にGUIから簡単にアクセス
– dockerコンテナが稼動しているホストを探す必要がない
– ホストにログインして、コマンドでコンテナIDを探したり、コンテナの中
に入るためのコマンドを実行するような手間がない
• 必要に応じてLBなどのインフラを容易に追加できる
16
RANCHER2.0へ!
GAリリース後のマイグレーションに向けて
17
前提条件
• 現状はまだTechPreview版しか提供されていないため、ベータ
またはGA版リリース後に追加テストを実施の上、環境を移行す
る
• TechPreview版ではRBACなど一部の機能制限があるため、
ベータまたは GA版リリース後に再検証する
18
背景(モチベーション)
• Rancherを利用し続けるために、いずれUpgradeは必須
• 社内では既にKubernetesクラスタが動作している
– Kubernetesナレッジの活用/蓄積
– 既存クラスタの管理の統合
– Rancher上で既存のpodスペックファイルが利用できる
– Kubernetesを利用した製品との連携
19
kubernetesとは
• コンテナのオーケストレーションツールで、デプロイやスケール管理、リ
ソース管理、セルフヒーリングを行う、Googleが開発したOSS。
– 複数台のノードをクラスタ化してコンテナを展開することが可能。
– MesosphereのDC/OSや、Docker Swarmが競合としてよく比較されていた。
• K8s(k+8文字<ubernete>+s)とも呼ばれる。
• ギリシャ語で船の操縦士の意味の言葉。
• 現在はDocker社を含む多くの製品がkubernetesをサポートし、事実上コン
テナオーケストレーターのスタンダードになったといわれる。
• Rancherも独自のオーケストレーター(Cattle)を提供していたが、version2.0
からはKubernetesをサポートする。
20
①②③④⑤⑥⑦⑧
Rancher2.0
21
評価のポイント
• 既存環境と同等の機能が提供できること
– マルチテナンシーとQuota
– Privateカタログの利用
– Docker Registryの利用
※マクニカのユースケースでは、データの引継ぎは不要
• 拡張として期待すること
– 既存のPodスペックファイルが利用できる
– Kubectlによるpod管理ができる
– 他のkubernetesクラスタの統合管理ができる
22
評価の結果
• 既存環境と同等の機能が提供できること
– マルチテナンシーとQuota 現状はテストできない (CLIでnamespaceは作成できるが、
Rancherには反映されない模様)
– Privateカタログの利用  OK
– Docker Registryの利用  NG
• 拡張として期待すること
– 既存のPodスペックファイルが利用できる  OK ただし、一部動かせていないものも
– Kubectlによるpod管理ができる  OK
– 他のkubernetesクラスタの統合管理ができる OK ただし、期待動作までは至らず一旦
保留
※ 限られた時間内での評価であるため、原因を調査し切れていない結果である点、ご了承ください。
23
既存環境と同等の機能
評価結果1
24
マルチテナンシーとQuota
• マルチテナンシーはTechPreview版の制限(GA後は出来る前
提でよい)
• Quotaは現状の仮想マシン分割の方式化に加え、Kubernetes
のQuota機能も選択肢となる想定
25
Privateカタログの利用
• Privateカタログは問題なく動作!コンテナも正常起動する。
26
Docker Registryの利用
• コンテナが起動/終了を繰り返す状態に(未解決)
– 同じイメージをdocker hubから起動すると問題ない
– レジストリからイメージのPullは出来ている
– PODが作成され、Runningになるが、すぐにStopし、また起動。これをずっ
と繰り返している状態。コンテナにはアクセスできず。
– Beta以降で再度テスト。
–
Starting Running Stopped
27
「既存環境と同等の機能」としては概ね良さそう
• マルチテナンシーとQuota
– マルチテナンシーはTechPreview版の制限であるため、GA版での正常動作に
期待
– Quotaは、マルチテナンシーが動作すれば、現在のホスト分割方式で問題ない。
• Privateカタログの利用
– docker-composeで作成したカタログがそのまま動いたことで、非常に安心した。
• Docker Registryの利用
– これは環境の問題もあり得る。Beta以降にもう少し調査する。
全般には動作は非常に安定しているため、好印象。
Docker registryのみ解決が必要。
28
拡張として期待すること
評価結果2
29
拡張として期待すること
• Podスペックファイルの利用について
– 一部を除き、社内で利用するものが問題なく利用できた
• PersistentVolumeについては正しく動作せず、調査が必要。
• RancherのStackの定義方法が良くわからない。
• Kubectlの利用について
– 可能
• UIからアクセスするか、kubectl-shellのコンテナにログインして実行。
• デフォルトがcattle-systemというnamespaceになっているので、--namespaceオプショ
ンでdefaultを指定したり、--all-namespacesオプションなどを利用する。
(Rancherとして、current-contextを設定してよいのかどうか未確認)
30
既存のPodスペックファイル
• Kind:replicationcontroller  デプロイ可能
• Kind:deployment  デプロイ可能
• Kind:service  デプロイ可能
• Kind:persistentvolume  NG
• Kind:persistentvolumeclaim  NG (パラメータの問題かも?)
※ 今回の評価では、上記以外は未検証
31
Kubectlの利用
• Container>Advancedの画面からLaunch kubectlボタン
32
気になった点(今後確認)
• Kubectlで稼働中のpodスペックから抜粋した次のパラメーターを設定して
も、やはりstackはDefaultになる(パラメーターが足りない?)
– annotations:
io.rancher.stack.name:
io.rancher.stack_service.name:
– PodスペックファイルをインポートしたときにGUIで指定したStackが、空のまま残る
(消えない)
• YamlでNamespaceを指定するとエラーになる(作成したnamespaceがダッ
シュボードで選択できず)
– Failed to apply Kubernetes resource ReplicationController/nginx: exit status 1
(error: the namespace from the provided object "nohara" does not match the
namespace "default". You must pass '--namespace=nohara' to perform this
operation. )
33
他のKubernetesクラスタの統合管理
• Kubernetesを効率的かつ高パフォーマンスで安定利用するた
めの、分散ストレージを搭載したHCI製品を管理対象に。
– Kubernetes自体を便利に使えるものではない
– Rancherと連携でき、POD管理が簡易にできれば・・
34
対象製品のkubernetesクラスタの管理
• 起動中のPODが全てRancherから見えるようになった。
• 起動中のPODのShellにRancherのWeb UIから直接アクセスで
きるようになった。
• Web UIからyamlをUploadしてPODを起動することができるよう
になった。
• 本製品に対しては、PersistentVolumeもデプロイできた。
– 本製品とのインテグレーションにより、永続データの利用も可能に。
35
PODの状態管理や再起動、shellへのアクセス
36
まだ出来ていないこと
• カタログからのアプリ起動
– 本製品のネットワークを利用するためにはpodスペックファイル上の
annotationsでネットワーク名を指定する必要がある。
– Rancher2.0のGA版リリース以降、ナレッジなどを見ながら方法を模索
し、テストする。
• できればカタログでPODスペックファイルも利用したい。
37
RANCHER2.0のインストール
Tips
38
TechPreviewのインストール
• インストールはdocker版を使えば非常に簡単
https://rancher.com/rancher2-0/
$ sudo docker run -d --restart=unless-stopped -p 8080:8080
rancher/server:preview
• 数分程度でRancherサーバーが起動し、使える状態になる。
• Dockerが利用可能なLinuxマシンで実行
– Ubuntu 16.04 (kernel v3.10+) または RHEL/CentOS 7.3
– 4GB以上のメモリ、 80GB以上のローカルストレージが利用可能
39
Rancher2.0のインストールでハマったところ
• インストール直後、コンテナが全てエラーになる
40
よく見ると、systemのPODの一部でエラー
• IPSECのPODがエラーになる
– System error: mountpoint for devices not found
– https://github.com/moby/moby/issues/14353
 上記URLで紹介されているスクリプトで解決可能
https://github.com/tianon/cgroupfs-mount
• kubectl-shellのPODが起動しない
– Waiting for a pod to・・のまま、数時間放置しても変わらず。
– https://github.com/rancher/rancher/issues/9951
 対象環境のDockerのバージョンが1.13.xで、k8s1.7がサポートしていないために発
生していた。
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-
1.7.md#external-dependency-version-information
• Dockerを1.12.6にダウングレードしたところ、IPSECの問題も発生しなくなった
41
ヘルスチェック
• NamespaceにSystemを選択した状態でContainerの一覧を見る。
42
全てがActiveまたは
Healthyになっている
今回異常が見られたのは
Ipsec
と
Kubectl-shell
今回Rancher2.0を評価した環境
• OS: Ubuntu 16.04 LTS
• Docker: 1.12.6
• Rancher: 2.0 alpha-10 (kubernetesは17.6)
43
QUESTIONS?
最後に
44
Thank you
M.Nohara
45

More Related Content

PDF
20170111 macnica networks-nohara_rancher_usecase
PDF
Rancher による社内向けテナントサービス基盤
PPTX
AI分野におけるコンテナオーケストレーションとは
PDF
Rancherを活用して開発効率を上げる
PPTX
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
PDF
Azure Network Security Group(NSG) はじめてのDeep Dive
PDF
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
PPTX
Rancherカタログ紹介 Hadoop + Yarn
20170111 macnica networks-nohara_rancher_usecase
Rancher による社内向けテナントサービス基盤
AI分野におけるコンテナオーケストレーションとは
Rancherを活用して開発効率を上げる
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Azure Network Security Group(NSG) はじめてのDeep Dive
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
Rancherカタログ紹介 Hadoop + Yarn

What's hot (20)

PDF
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
PPTX
2020 11/25 第29回 Tokyo Jazug Night 発表資料
PDF
Azure &lt;3 Openness
PPTX
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
PPTX
Black jumbodogをcoreclrで動かしてみた
PPTX
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
PDF
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
PDF
20210925_jazug_azure_what_to_do_first
PDF
これからはじめるインフラエンジニア
PDF
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
PPTX
Kubernetes で変わるインフラ
PPTX
Soft layerと運用管理の自動化・省力化あれこれ
PDF
マイクロサービスっぽい感じの話
PDF
AWSスポットインスタンスの真髄
PDF
DeNAインフラの今とこれから - 今編 -
PDF
Game BaaS Implemented in Ruby
PDF
Spring Bootをはじめる時にやるべき10のこと
PPTX
もしSIerのエンジニアがSRE本を読んだら
PDF
Bicep 入門 MySQL編
PDF
zabbixを使ったクラウド環境の監視とツール連携
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
2020 11/25 第29回 Tokyo Jazug Night 発表資料
Azure &lt;3 Openness
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
Black jumbodogをcoreclrで動かしてみた
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
20210925_jazug_azure_what_to_do_first
これからはじめるインフラエンジニア
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
Kubernetes で変わるインフラ
Soft layerと運用管理の自動化・省力化あれこれ
マイクロサービスっぽい感じの話
AWSスポットインスタンスの真髄
DeNAインフラの今とこれから - 今編 -
Game BaaS Implemented in Ruby
Spring Bootをはじめる時にやるべき10のこと
もしSIerのエンジニアがSRE本を読んだら
Bicep 入門 MySQL編
zabbixを使ったクラウド環境の監視とツール連携
Ad

Similar to 20180123 rancher meetupyokohama_minehiko_nohara (20)

PDF
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
PDF
DynamoDBの初心者に伝えたい初めて触るときの勘所
PDF
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
PDF
経営を支えるIT部門実現の記録2005
PPTX
Robotium を使った UI テスト
PDF
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
PPTX
JVM上でのストリーム処理エンジンの変遷
PDF
Tech deepdive#2 datastore_180317_share
PDF
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
PPTX
20190319 xtech recochoku_15m_pub
PDF
cross2012a fujya
PDF
[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...
PPTX
クラウド開発手法(舩山ストーリー,石川追記)
PPTX
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learned
PDF
MySQL製品概要
PDF
Oracle Database Applianceのご紹介(詳細)
PDF
画像解析最前線!WatsonとTensorFlowを比較してみた
PDF
コンテナ環境でJavaイメージを小さくする方法!
PDF
Essentials of container
PPTX
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
DynamoDBの初心者に伝えたい初めて触るときの勘所
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
経営を支えるIT部門実現の記録2005
Robotium を使った UI テスト
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
JVM上でのストリーム処理エンジンの変遷
Tech deepdive#2 datastore_180317_share
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
20190319 xtech recochoku_15m_pub
cross2012a fujya
[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...
クラウド開発手法(舩山ストーリー,石川追記)
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learned
MySQL製品概要
Oracle Database Applianceのご紹介(詳細)
画像解析最前線!WatsonとTensorFlowを比較してみた
コンテナ環境でJavaイメージを小さくする方法!
Essentials of container
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
Ad

20180123 rancher meetupyokohama_minehiko_nohara