Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

479 views

Published on

2018/11/09 Rancher Meetup in Kyoto #02 LT資料

Published in: Engineering
  • Be the first to comment

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

  1. 1. Rancher1.6→2.x系の migrationについて調べてみた Rancher Meetup #02 in Kyoto やっさん @yassan168
  2. 2. v1.6系→v2.x系のmigration 「v2.1で対応するよ」って言っていた v2.1が 2018/10/5 が出ました んで、こんなドキュメントも追加されました cf. Migrating from Rancher v1.6 Cattle to v2.x | Rancher Labs
  3. 3. キタコレ。 これで今までどおり簡単にアップグレード出来る
  4. 4. だったら良かった。。。
  5. 5. 公式の見解 ※October 2018 Online Meetup: Migrating from Rancher 1.6 to Rancher 2.1 – YouTube より抜粋
  6. 6. 簡単な比較 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 より抜粋
  7. 7. 何もかもが根本から違うので、 まぁ、仕方無いっちゃ仕方無い。。
  8. 8. 結論:やること 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へインポート
  9. 9. 結論:やること つまり、一から作ろうぜ。 とは言え、マイグレーションも大変ですが、 k8sの構築や運用の方がもっと大変な気がする。 以下の最高の本を読んで、k8sの理解も合わせてやっていくしか無い。
  10. 10. ただし、救いはある と言っているだけあって、移行の為のドキュメントや動画は沢山ある。 •まずはこれを読む • 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
  11. 11. ただし、救いはある 動画コンテンツ •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
  12. 12. 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から引っこ抜けるようです
  13. 13. さっそく試す 自分の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 ':'
  14. 14. 残念なお知らせ どうやら、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
  15. 15. デッドラインは、、、 •v1.6は2019/12/31でサポート終了 •その後は、セキュリティfixのみ •EOLは、2020/1/30 なので、まだ、時間はあります!

×