SlideShare une entreprise Scribd logo
1  sur  15
Rancher1.6→2.x系の
migrationについて調べてみた
Rancher Meetup #02 in Kyoto
やっさん
@yassan168
v1.6系→v2.x系のmigration
「v2.1で対応するよ」って言っていた v2.1が 2018/10/5 が出ました
んで、こんなドキュメントも追加されました
cf. Migrating from Rancher v1.6 Cattle to v2.x | Rancher Labs
キタコレ。
これで今までどおり簡単にアップグレード出来る
だったら良かった。。。
公式の見解
※October 2018 Online Meetup: Migrating from Rancher 1.6 to Rancher 2.1 – YouTube より抜粋
簡単な比較
1.6 2.1
Orchestration Engine Cattle Kubernetes(k8s)
YAML Rancher+Docker Compose k8s
Catalog Rancher+Docker Compose Helm
Data Storage mysql etcd
Dev Language Java、Golang Golang
Networking ipsec、vxlan flanel、canal
Storage Rancher Strage framework Persistence volumes、storage classes
Metadata Pull-based via Rancher metadata Push-based k8s events
API Rancher v1/v2 Rancher v3、k8s API
CLI racher、rancher-compose rancher、kubectl
Loadbalancers HAProxy Nginx Ingress
Applications Stack+Services+Containers Namespace+Workloads+Pods
※October 2018 Online Meetup: Migrating from Rancher 1.6 to Rancher 2.1 – YouTube より抜粋
何もかもが根本から違うので、
まぁ、仕方無いっちゃ仕方無い。。
結論:やること
1. ドキュメントに従ってv2の環境をインストール
2. 認証の設定
• ローカル認証は常にON
• 必要に応じてその他の認証(AD/LDAP、GitHub、AzureAD、SAML、ADFS)の設定
3. ClusterとProjectの構築
※v1.6で言うところのEnvironmentの構築
4. Namespaceの作成
※v1.6で言うところのStacks
5. 自分のアプリをv2用に変換してインポート
• Cattleで作成してた場合:Docker ComposeとRancher Composeをk8s用に変換
• k8sで作成していた場合:k8sへインポート
結論:やること
つまり、一から作ろうぜ。
とは言え、マイグレーションも大変ですが、
k8sの構築や運用の方がもっと大変な気がする。
以下の最高の本を読んで、k8sの理解も合わせてやっていくしか無い。
ただし、救いはある
と言っているだけあって、移行の為のドキュメントや動画は沢山ある。
•まずはこれを読む
• Migrating from Rancher v1.6 Cattle to v2.x | Rancher Labs
•公式Blogの移行の記事一覧 Cattle to K8s
DNSとかDocker Composeのlinkの話 Service Discovery in Rancher 2.0
配置先とか順番などのSchedulingの話 Scheduling Workloads in Rancher 2.0
Healthcheckの話 Application Healthchecks in Rancher 2.0
ポートマッピングの話 How to Publicly Expose Your Services in Rancher 2.0
ただし、救いはある
動画コンテンツ
•October 2018 Online Meetup: Migrating from Rancher 1.6 to Rancher 2.1 –
YouTube
•Migrating Applications from Rancher 1.6 to Rancher 2.0: Walkthrough Video
- YouTube
v2への移行ツールについて
公式から出ているmigration tool(rancher/migration-tools)はmakeが必
要。
ちなみに、公式の移行ドキュメントと操作が変わってました。
変換には、 parse オプションが必要です。
migration-tools parse --docker-file <docker-compose.yml>
--rancher-file <rancher-compose.yml>
--output-file <テキストのフルパス>
実行すると、output-file、移行の為に必要なチェックポイントとアドバイスを
書いたテキストと変換したYAMLファイルが生成されます。
また、exportオプションが追加されていて、v1.6から引っこ抜けるようです
さっそく試す
自分のCattleのPrivate Catalog( yassan/rancher-catalog)で試して
みた。
エラー。。。
$ ../bin/migration-tools parse --docker-file (略)/redash/0/docker-compose.yml.tpl 
--rancher-file (略) /redash/0/rancher-compose.yml
INFO[2018-11-08 14:10:36] ---Starting migration helper tool parse command---
[ERROR] Parsing docker compose files: Failed to parse the docker-compose yaml file, error: yaml: line 6: could not
find expected ':'
残念なお知らせ
どうやら、Cattleで多用していた分岐には、まだ、対応していなかった。。
※公式の rancher/community-catalog でも同様なので、現状は対応してないようです。
version: '2'
services:
server:
image: redash/redash:${REDASH_IMAGE_VERSION}
labels:
{{- if eq .Values.INIT_REDASH_DB "true" }}
io.rancher.sidekicks: server-init
{{- end }}
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.affinity:host_label:
${REDASH_HOST_LABEL}
command: server
デッドラインは、、、
•v1.6は2019/12/31でサポート終了
•その後は、セキュリティfixのみ
•EOLは、2020/1/30
なので、まだ、時間はあります!

Contenu connexe

Plus de YASUKAZU NAGATOMI

Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.YASUKAZU NAGATOMI
 
データ分析基盤として Rancher・k8s で始まるのか調査してみた
データ分析基盤として Rancher・k8s で始まるのか調査してみたデータ分析基盤として Rancher・k8s で始まるのか調査してみた
データ分析基盤として Rancher・k8s で始まるのか調査してみたYASUKAZU NAGATOMI
 
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~YASUKAZU NAGATOMI
 
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~YASUKAZU NAGATOMI
 
redashのプラベートカタログ作成してつまづいたアレやコレや
redashのプラベートカタログ作成してつまづいたアレやコレやredashのプラベートカタログ作成してつまづいたアレやコレや
redashのプラベートカタログ作成してつまづいたアレやコレやYASUKAZU NAGATOMI
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話YASUKAZU NAGATOMI
 
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?YASUKAZU NAGATOMI
 
PM Beginners #06 : MTGの理想と現実
PM Beginners #06 : MTGの理想と現実PM Beginners #06 : MTGの理想と現実
PM Beginners #06 : MTGの理想と現実YASUKAZU NAGATOMI
 
プロジェクトマネジメントと開発を両立したい!
プロジェクトマネジメントと開発を両立したい!プロジェクトマネジメントと開発を両立したい!
プロジェクトマネジメントと開発を両立したい!YASUKAZU NAGATOMI
 
PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?YASUKAZU NAGATOMI
 
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]YASUKAZU NAGATOMI
 

Plus de YASUKAZU NAGATOMI (11)

Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
 
データ分析基盤として Rancher・k8s で始まるのか調査してみた
データ分析基盤として Rancher・k8s で始まるのか調査してみたデータ分析基盤として Rancher・k8s で始まるのか調査してみた
データ分析基盤として Rancher・k8s で始まるのか調査してみた
 
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
 
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
 
redashのプラベートカタログ作成してつまづいたアレやコレや
redashのプラベートカタログ作成してつまづいたアレやコレやredashのプラベートカタログ作成してつまづいたアレやコレや
redashのプラベートカタログ作成してつまづいたアレやコレや
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
 
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
 
PM Beginners #06 : MTGの理想と現実
PM Beginners #06 : MTGの理想と現実PM Beginners #06 : MTGの理想と現実
PM Beginners #06 : MTGの理想と現実
 
プロジェクトマネジメントと開発を両立したい!
プロジェクトマネジメントと開発を両立したい!プロジェクトマネジメントと開発を両立したい!
プロジェクトマネジメントと開発を両立したい!
 
PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?
 
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
 

Rancher1.6→2.x系の migrationについて調べてみた