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.

Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~

3,915 views

Published on

July Tech Festa 2017でのプレゼン資料です。
Rancherを用いて複数のクラウドサービス上へ分散してコンテナオーケストレーションツール(KubernetesとMesos)の環境を構築します。

Published in: Technology

Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~

  1. 1. Rancherで作る お⼿軽コンテナ運⽤環境!! 〜 Kubenetes & Mesos 牧場でコンテナ⽜を飼おう!〜 Rancher JP ”Cowboys” _・)つかまん @tsukaman
  2. 2. Who am I ? • 名前:_・)つかまん( @tsukaman ) • 仕事:⽇本ヒューレット・パッカード株式会社 PointNext Hybrid IT CoE 所属 • 担当:打楽器 • 参加:Rancher JP、Mesos User Group Tokyo、 TokyoHacker Space 他 いろいろと・・・ • 好き:⾳楽、息⼦と遊ぶ、ガジェットIYH、眼鏡 • 最近:GPD Pocketが届いて嬉しい 2
  3. 3. 3 今⽇お伝えしたいこと
  4. 4. 4 眼鏡っていいよね!
  5. 5. 5 じゃなくて
  6. 6. 6 ウシかわいいよウシ
  7. 7. 7
  8. 8. 8
  9. 9. 9 Rancherはオープンソースの コンテナ管理プラットフォーム
  10. 10. 10 コンテナ(※1)っていいよね!Docker環 境さえあればどこでも動くし、イメー ジをレポジトリで共有しやすいし、HW 部分から仮想化するVMと違ってアプリ ケーションプロセスのみの仮想化だか らオーバーヘッドも少なくて起動もは やい!アプリケーションのデプロイに ちょうどいいって感じ! でも実際に運⽤するときは、Docker環境 を提供するホストのクラスタ管理とか、 コンテナ間の依存を意識したスケジュー リングや健全性監視とか、ネットワーク やロギングや名前解決やボリュームとか の管理もちょうどいい感じにやってくれ る仕組みも何か考えて⽤意しなくちゃい けないのよね〜。 ※2 彼⼥達はアプリ開発者で⾃分のお茶を淹れてます ※1 ここではDockerコンテナのことを指しています
  11. 11. この仕組みのことを⼀般的に ”コンテナオーケストレーションツール” といいます 11
  12. 12. 12 このへんのが ソレ です。
  13. 13. 13 主なオーケストレーションツール Kubernetes(k8s)(https://kubernetes.io) Google社が⾃社サービス向け⼤規模コンテナ管理システムの ”Borg”をベースにオープンソースプとして開発したもの。 ⻑年培ったコンテナ運⽤ノウハウを活かしたツールとなっており、 Google Container Engineでも利⽤される。現在はCNCFが管理。 Apache Mesos(http://mesos.apache.org) UCバークレー校の研究から始まり現在はApache財団で管理される。 DC全体のリソースを集約し、巨⼤なリソースプールとして管理できる。 Marathonなど多様な処理フレームワークと組み合わせることができる。 ビッグデータに強みがあり、TwitterやAirbnb、Appleなどで採⽤される。 Docker Swarm(https://www.docker.com) Docker社が提供するDocker標準とも⾔えるオーケストレーションツール。 複数のDocker環境(ホスト)を1つのリソースプールのように扱うことができる。 以前はDocker Swarmとして独⽴した存在だったが、現在はDocker Engineに Swarm Modeとして組み込まれて使い勝⼿が向上している。
  14. 14. 14 主なオーケストレーションツール これ全部 で できるよ!
  15. 15. 15 主なオーケストレーションツール これ全部 で できるよ! Cattleとか Windowsとか 他にもあるよ
  16. 16. 16 各種コンテナオーケストレーションツールが ”環境”としてテンプレート化されており、 簡単に構築できるようになっています。
  17. 17. 17 ちなみにこんなイメージ(私の妄想) らんちゃー (かんりしゃ) こんてな (うし) かんきょう (ぼくじょう)
  18. 18. 18 こんなのが簡単につくれちゃう! Kubernetes牧場 Mesos牧場 Swarm牧場 Cattle牧場 ※ 必要な⼟地(マシンリソース)は別途購⼊(課⾦)してください。 おんぷれみす帝国内 ぱぶりっくくらうど公国内
  19. 19. Rancherの主要なコンポーネント 19 http://rancher.com/docs/rancher/v1.6/en/ より引⽤
  20. 20. 20 Rancherのチャームポイント♥ インストールが楽! ♥ 画⾯が綺麗! ホスト追加も簡単! カタログが便利! コミュニティが熱い! マルチな環境で使える! 実績豊富でサポートも充実! 操作がわかりやすい! 簡単なのにパワフル! 充実のRBAC機能! とても語りきれません!
  21. 21. 21 ウシかわいいよウシ♥
  22. 22. 22 それでは、作ってみましょうか。
  23. 23. 今回のデモ環境 TRY Rancher(https://try.rancher.com) Rancher Labs社が提供するRancherのお試し環境。 Githubアカウントがあれば誰でも無償でRancherの機能を利⽤できる。 Rancherがどんなものなのかちょっと触ってみたいって時に最適。 CloudGarage(https://cloudgarage.jp) NHNテコラス社が提供する定額型パブリッククラウドサービス。 安価に複数台のインスタンスを⽉単位で定額利⽤することができる。 Rancher Agentを複数台⽤意してクラスタ構成を使いたいときに便利。 Packet(https://www.packet.co.jp) Packet社が提供するベアメタルクラウドサービス。 安価にベアメタルサーバを時間単位で利⽤することができる。 仮想サーバではなく物理サーバを占有利⽤できるので⾼パフォーマンス。 23
  24. 24. 今回のデモ環境 TRY Rancher(https://try.rancher.com) CloudGarage(https://cloudgarage.jp) Packet(https://www.packet.co.jp) 24 利⽤無料!! 複数VMが安い! ベアメタルが安い!
  25. 25. 今回のデモ環境 25 お財布に優しい!!
  26. 26. デモの流れ(完成形) 26 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成
  27. 27. 参考構成(より安価に使う場合) 27 デモではCloudGarageは BOX3 / 2GB プラン を利⽤しています。BOX3 / 1GB プラン だとKubernetes環境にはリソースが不⾜しますので、Packetと環境を⼊れ替えて 構築してください(無料お試しプランは現在ポート制限があるので不向き)。
  28. 28. デモの流れ 28 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成
  29. 29. 29 https://try.rancher.com にアクセスし、 必要に応じてお好みの表⽰⾔語に切り替えます。
  30. 30. 30 ”GitHubで認証”をクリックします。
  31. 31. 31 GitHubにログインします。
  32. 32. 32 認証内容を確認して、問題が無ければ ”Authorize rancher”をクリックします。
  33. 33. 33 Try Rancherにログインできたことを確認します。
  34. 34. デモの流れ 34 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成
  35. 35. デモの流れ 35 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ できた!
  36. 36. デモの流れ 36 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓
  37. 37. 37 画⾯左上の環境メニューから ”環境を管理”をクリックします。
  38. 38. 38 ”環境のテンプレート”の内容を確認します。 その後、”環境を追加”をクリックします。
  39. 39. 39 ”名前”と”詳細情報”に任意の内容を⼊⼒し、 環境のテンプレートに”Kubernetes“を選択します。 その後、”作成”をクリックします。
  40. 40. 40 同様の⼿順で、“環境の追加”から Mesos環境も作成します。
  41. 41. 41 KubernetesとMesosの環境が 作成できたことを確認します。
  42. 42. デモの流れ 42 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓
  43. 43. デモの流れ 43 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓ できた!
  44. 44. デモの流れ 44 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓
  45. 45. 45 https://id.cloudgarage.jp/login にアクセスし、 CloudGarageにログインします。
  46. 46. 46 ”+ インスタンスを追加する”をクリックします。
  47. 47. 47 インスタンス選択では”2GBタイプ” を選択し、 イメージ選択に”RancehrOS”の”1.0.3_64bit_ISO”を 選択します(OSバージョンが異なっても可)。
  48. 48. 48 ”インスタンス名”を任意名で⼊⼒します。 その後、”インスタンス作成”をクリックします。
  49. 49. 49 インスタンスが作成されたことを確認します。 その後、インスタス名をクリックします。
  50. 50. 50 インスタンスのグローバルネットワーク側 IPアドレスをメモしておきます。 その後、”コンソール表⽰”をクリックします。
  51. 51. 51 コマンドラインで ʼsudo passwd rancherʼ を実⾏し、 rancherユーザのパスワードを変更します。 このパスワードはSSHログインで使⽤します。
  52. 52. 52 コマンドラインで ʼsudo ros engine listʼ を実⾏し、 使⽤可能なdockerバージョンを確認します。 現在、Kubernetesは「1.12.XX」のみの対応です。
  53. 53. 53 SSHログイン⽤の秘密鍵/公開鍵を作成します。 今回はローカル環境に作業ディレクトリを作成し、 ’ssh-keygen –t ed25519’ を実⾏しています。
  54. 54. 54 ⽣成した公開鍵をコピーして”cloud-config.yml”を 作成(1)し、内容を編集(2)します。 編集後、メモしておいたIPアドレスを使い、 インスタンスにrancherユーザでSCP転送(3)します。
  55. 55. cloud-config.ymlの内容 #cloud-config ssh_authorized_keys: - ssh-ed25519 AAAA… rancher: docker: engine: docker-1.12.6 55 ⽣成した公開鍵の内容をこの⾏に 埋め込みます。 以前に確認した利⽤可能な “1.12.XX“のDockerバージョンを この⾏で指定します。 YAML形式では”TAB”でのインデントは使えません。 必ず”空⽩”で各⾏のインデントを⾏ってください。 また、インデント位置を各⾏で揃える必要があります。
  56. 56. 56 インスタンスにrancherユーザでSSHログイン(1)します。 ログイン後、”cloud-config.yml”を確認(2)します。 ʼsudo ros install –c config-engine.yml –d /dev/vdaʼ を 実⾏(3)してRancherOSをインストールします。
  57. 57. 57 インストールの継続と再起動を確認する質問が 途中で表⽰されますがどちらも’y’と回答します。
  58. 58. 58 インストールが完了したらISOを取り出します。 コンソール表⽰を確認し、再起動が完了したら ”ISOイメージのアンマウント”をクリックします。
  59. 59. 59 ISOイメージのアンマウントの確認がでますので、 ”OK”をクリックします。
  60. 60. 60 ISOイメージアンマウントの完了を確認します。 この後、画⾯の指⽰に従ってインスタンスの 再起動(強制)を⾏います(コマンド不可)。
  61. 61. 61 CloudGarageの管理画⾯に戻り、インスタンスの 詳細情報から”再起動(強制)”をクリックします。
  62. 62. 62 インスタンス再起動(強制)の確認がでますので、 ”OK”をクリックします。
  63. 63. 63 同様の⼿順を繰り返し、RancherOSインスタンスを 合計3台稼働(全て2GBプラン)させ、さらに 各インスタンスのグローバルIPの値をメモします。
  64. 64. 64 各インスタンスのホスト公開鍵情報を ローカル環境のknown_hostsから削除します。 ’ssh-keygen –R 各IPアドレス’を実⾏します。
  65. 65. デモの流れ 65 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓
  66. 66. デモの流れ 66 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓ ✓ できた!
  67. 67. デモの流れ 67 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓ ✓
  68. 68. 68 Rancher管理画⾯の左上にある環境メニューから、 以前に作成したKubernetes環境をクリックします。
  69. 69. 69 ”ホストを追加”をクリックします。
  70. 70. 70 ”Custom”を選択し、5番の項⽬のコマンド内容を クリップボードにコピーします。
  71. 71. 71 以前に⽣成した秘密鍵を利⽤し各インスタンスに rancherユーザでSSHログイン(1)します。 ログイン後、コピーしたコマンドを実⾏します(2)。 1台⽬
  72. 72. 72 2台⽬ 2台⽬のインスタンスでも同様に コピーしたコマンドを実⾏します。
  73. 73. 73 3台⽬ 3台⽬のインスタンスでも同様に コピーしたコマンドを実⾏します。
  74. 74. 74 コマンドの実⾏が完了したら、 ログアウトして構いません。
  75. 75. 75 Rancher管理画⾯の上部にある インフラストラクチャメニューから、 ”ホスト”をクリックします。
  76. 76. 76 各インスタンス(ホスト)内にKubernetes環境で 必要となるコンテナ群が⾃動的に デプロイされていく様⼦が確認できます。
  77. 77. デモの流れ 77 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓ ✓
  78. 78. デモの流れ 78 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓ ✓ ✓ できた!
  79. 79. デモの流れ 79 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓✓ ✓
  80. 80. 80 https://app.packet.net/#/login にアクセスし、 Packetにログインします。
  81. 81. 81 Projectを新規作成します。 既存のProjectを利⽤しても構いません。
  82. 82. 82 Project Nameに任意名を⼊⼒します。
  83. 83. 83 ”Create Project”をクリックします。
  84. 84. 84 Projectが作成されたら、Projectの管理画⾯より ”Setting”をクリックします。
  85. 85. 85 Project IDの値をメモしておきます。
  86. 86. 86 画⾯左側の”API Keys”をクリックします。 その後、画⾯中央の”here”をクリックして、 API Keyを新規作成します。
  87. 87. 87 API Key Nameに任意名を⼊⼒し、 ”Generate”をクリックします。
  88. 88. 88 TOKENの値をメモしておきます。
  89. 89. 89 Rancher管理画⾯の左上にある環境メニューから、 以前に作成したMesos環境をクリックします。
  90. 90. 90 ”ホストを追加”をクリックします。
  91. 91. 91 ”Packet”を選択(1)し、名前を任意名で⼊⼒(2)します。 数のスライダーを動かし”3”に設定し(3)、メモして おいたProject ID(4)とAPI Key Token(5)を⼊⼒します。
  92. 92. 92 任意のサイズ(1)とリージョン(2)を選択(1)し、 その後、“⽣成” (2)をクリックします。 (今回は ”Sunnyvale、 CA” および ”type0” を選択)
  93. 93. 93 Docker Machineの仕組みにより、 ⾃動的にPacket上でServerの作成が開始されます。
  94. 94. 94 Server作成の様⼦は、Packetの管理画⾯からも 確認することが可能です。 すべてのServerのStatusがGreenになるまで待ちます。
  95. 95. 95 各ホスト内にMesos環境で必要となる コンテナ群が⾃動的にデプロイされていく 様⼦が確認できます。
  96. 96. デモの流れ 96 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓✓ ✓
  97. 97. デモの流れ 97 5 Mesos環境ホストデプロイ3 RancherOSインストール 4 K8s環境ホストセットアップ 1 Try Rancherログイン 2 k8s /Mesos 環境の作成 ✓ ✓✓ ✓ ✓ できた!
  98. 98. 98 それでは、使ってみましょうか。
  99. 99. 99 Kubernetes環境を使ってみよう
  100. 100. 100 各ホストのデプロイが完了したら 画⾯上部にあるKUBERNETESメニューから、 ”ダッシュボード”をクリックします。
  101. 101. 101 ”Kubernetes UI”をクリックします。
  102. 102. 102 Kubernetes UIに接続できることを確認します。
  103. 103. 103 Rancherの管理画⾯に戻り、上部にある KUBERNETESメニューから”CLI”をクリックします。
  104. 104. 104 Kubernetes CLIの画⾯からは直接シェルで kubectlコマンドを実⾏することが可能(1)です。 ローカル環境でkubectlコマンドを実⾏する場合は、 ”設定の⽣成”をクリック(2)します。
  105. 105. 105 kubectlの為のコンフィグ内容が表⽰されるので クリップボードにコピーします。
  106. 106. 106 ローカル環境にkubectlをインストールします。 macOSの場合は home brew を利⽤します。 ’brew install kubectl’ を実⾏します。
  107. 107. 107 ローカル環境に”~/.kube/config”を作成し、 コピーした内容を保存します。
  108. 108. 108 kubectlコマンドを実⾏して動作確認をします。 ‘kubectl version’でバージョン情報が確認できます。 ‘kubectl get nodes’でノード情報が確認できます。
  109. 109. 109 kubectlコマンドを利⽤してKubernetes環境上に Guest Bookアプリケーションをデプロイします。 ‘kubectl create -f https://raw.githubusercontent.com/ kubernetes/kubernetes/master/examples/guestbook/ all-in-one/guestbook-all-in-one.yaml’ のコマンドを 改⾏しないで実⾏します。
  110. 110. guestbook-all-in-one.yaml(参考) apiVersion: v1 kind: Service metadata: name: redis-master labels: app: redis tier: backend role: master 110 spec: ports: - port: 6379 targetPort: 6379 selector: app: redis tier: backend role: master
  111. 111. --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: redis-master spec: replicas: 1 template: metadata: labels: app: redis role: master tier: backend 111 spec: containers: - name: master image: gcr.io/google_containers/redis:e2e # image: redis resources: requests: cpu: 100m memory: 100Mi ports: - containerPort: 6379 guestbook-all-in-one.yaml(参考)
  112. 112. --- apiVersion: v1 kind: Service metadata: name: redis-slave labels: app: redis tier: backend role: slave 112 spec: ports: - port: 6379 selector: app: redis tier: backend role: slave guestbook-all-in-one.yaml(参考)
  113. 113. --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: redis-slave spec: replicas: 2 template: metadata: labels: app: redis role: slave tier: backend 113 spec: containers: - name: slave image: gcr.io/google_samples/gb-redisslave:v1 resources: requests: cpu: 100m memory: 100Mi env: - name: GET_HOSTS_FROM value: dns # or Use -> value: env ports: - containerPort: 6379 guestbook-all-in-one.yaml(参考)
  114. 114. --- apiVersion: v1 kind: Service metadata: name: frontend labels: app: guestbook tier: frontend 114 spec: # type: LoadBalancer ports: - port: 80 selector: app: guestbook tier: frontend guestbook-all-in-one.yaml(参考)
  115. 115. --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: frontend spec: replicas: 3 template: metadata: labels: app: guestbook tier: frontend 115 spec: containers: - name: php-redis image: gcr.io/google-samples/gb-frontend:v4 resources: requests: cpu: 100m memory: 100Mi env: - name: GET_HOSTS_FROM value: dns # or Use -> value: env ports: - containerPort: 80 guestbook-all-in-one.yaml(参考)
  116. 116. 116 Kubernetes UIの画⾯左側にある”Workloads”を クリックすると、アプリケーションのデプロイの 様⼦を確認することができます。
  117. 117. 117 デプロイが完了するまで待機します。
  118. 118. 118 デプロイが完了したら画⾯左側メニューにある ”Services”をクリックし、frontendサービスに External Endpointがないことを確認します。
  119. 119. 119 Rancher管理画⾯の上部にあるKUBERNETESメニュー から”インフラストラクチャスタック”をクリック します。
  120. 120. 120 kubernetes-ingress-lbの項⽬にある” ”を クリックし、”ロードバランサーを追加”を 選択します。
  121. 121. 121 名前(1)とリクエストホストポート(2)に任意の値を ⼊⼒します。また、対象サービス(3)は”frontend”、 対象ポート(4)は”80”をそれぞれ指定して ”作成”(5)をクリックします。
  122. 122. 122 ロードバランサーが作成されるまで待機します。 完了後インフォメーションボタン(1)をクリックし、 さらにポート情報のリンクをクリックします。
  123. 123. 123 Guestbookアプリケーションに アクセスできることを確認します。
  124. 124. 124 Rancherの管理画⾯に戻り、上部にある インフラストラクチャメニューから、 ”ホスト”をクリックします。
  125. 125. 125 画⾯左上の”システムコンテナの表⽰”の チェックを外し、LBのコンテナを確認します。 LBコンテナが載っているホスト名をクリックします。
  126. 126. 126 ホストの情報を確認します。
  127. 127. 127 ホスト情報の中にあるコンテナ⼀覧から kubernetes-ingress-lbsのLBコンテナを⾒つけて、 名前をクリックします。
  128. 128. 128 LBコンテナの情報を確認します。
  129. 129. 129 画⾯右上の” ”をクリックし、 ”シェルを実⾏”を選択します。 …
  130. 130. 130 Rancherの管理画⾯からコンテナ内部の Shellが利⽤できることを確認します。 確認後は”閉じる”をクリックします。
  131. 131. 131 画⾯右上の” ”をクリックし、 ”ログを⾒る”を選択します。 …
  132. 132. 132 Rancherの管理画⾯からコンテナのログが 確認できることを確認します。 確認後は”閉じる”をクリックします。
  133. 133. 133 Mesos環境を使ってみよう
  134. 134. 134 各ホストのデプロイが完了したら 画⾯上部にあるMESOSメニューから、 ”概要”をクリックします。
  135. 135. 135 ”Mesos UI”をクリックします。
  136. 136. 136 Mesos UIに接続できることを確認します。
  137. 137. 137 Mesos環境に切り替え”概要”の画⾯に進みます。 画⾯左側にある”フレームワークを起動”を クリックします。
  138. 138. 138 Rancherのカタログ画⾯に切り替わります。 デフォルトでカタログにはMesosフレームワークの ”Chronos”と”Marathon”が登録されています。
  139. 139. 139 Chronosの”詳細をみる”をクリックします。
  140. 140. 140 デフォルトの内容のまま”起動”をクリックします。
  141. 141. 141 Marathonも同様にカタログの”詳細を⾒る”から デフォルトの内容のまま”起動”をクリックします。
  142. 142. 142 インフラストラクチャスタックの画⾯に ChronosとMarathonが追加されたことを確認します。 chronosの名前の左側にある”+”をクリックし、 展開された項⽬からポート番号をクリックします。
  143. 143. 143 Chronos UIが表⽰されることを確認します。 確認出来たら画⾯上部中央にある”+ New Job”を クリックします。
  144. 144. 144 NAMEに任意のジョブ名、COMMANDに”date”、 SCHEDULEの右端の欄に”T1M”をそれぞれ⼊⼒し、 上部の”✓Create”をクリックします。
  145. 145. 145 ChronosにJobが新しく登録され、 さらに実⾏されたことを確認します。
  146. 146. 146 Mesos UI上でも実⾏されたジョブのTaskが 表⽰されることを確認します。 確認後、Task右端の”Sandbox”をクリックします。
  147. 147. 147 ”stdout”をクリックし、実⾏したTaskの 標準出⼒の内容を表⽰します。
  148. 148. 148 dateコマンドが実⾏されたことを確認します。
  149. 149. 149 1分間隔でJobが実⾏されている様⼦を確認します。
  150. 150. 150 Rancherの管理画⾯に戻ります。 インフラストラクチャスタックの中の marathonの名前の左側にある”+”をクリックし、 展開された項⽬からポート番号をクリックします。
  151. 151. 151 Marathon UIが表⽰されることを確認します。 確認出来たら画⾯中央にある”Create Application”を クリックします。
  152. 152. 152 任意のID名を⼊⼒します。
  153. 153. 153 左側メニューの”Docker Container”(1)をクリックし、 Image名に”nginx”(2)を⼊⼒します。 ⼊⼒後、”Create Application”(3)をクリックします。
  154. 154. 154 デプロイが完了するまで待機します。 完了後、アプリケーション名をクリックします。
  155. 155. 155 アプリケーションの情報を確認します。 接続先IPアドレスの80番ポートにアクセスします。 (表⽰のポート番号はここでは無視します)
  156. 156. 156 nginxの画⾯が表⽰されることを確認します。
  157. 157. 157 Marathon UIに戻ります。 アプリケーション情報の画⾯左上にある ”Scale Application”をクリックします。
  158. 158. 158 アプリケーションをスケールする数として ”3”を⼊⼒します。 ⼊⼒後、”Scale Application”をクリックします。
  159. 159. 159 スケール数に応じてコンテナが増減します。 スケールする様⼦をMarathon UI上で確認します。
  160. 160. 160 Mesos UI上でも稼働しているAppplicationのTaskを 確認することが可能です。
  161. 161. 161 同様にRancherのホスト画⾯などからでも Applicationコンテナの情報を確認できます。
  162. 162. 162 どう?ウシかわいいでしょ?
  163. 163. Rancherのことで困ったら Rancher JPを頼ってください!! ⽇本のRancherコミュニティである”Rancher JP”では、 Slackを開設しており毎⽇活発なコミュニケーションがとられています。 Meetupやもくもく会も毎⽉開催されており、困ったことがあったら すぐに相談できる仲間が沢⼭みつかります。 Rancher JPについての詳細は・・・ Rancher JPの活動や参加⽅法などは、次のスライドで公開しています。 まずは気軽にSlackに参加してみてください! 163 ”Rancher JPが仲間になりたそうにこちらを⾒ている” https://www.slideshare.net/tsukaman/rancher-jp
  164. 164. 今後のRancher JPの予定 09/01(⾦) Rancher Meetup #01 in Sapporo https://rancherjp.connpass.com/event/63218/ 09/08(⾦) CROSS 2017(パネルディスカッションに参加) http://2017.cross-party.com 09/09(⼟)-10(⽇) OSC Tokyo / Fall(出展 & セミナー) https://www.ospn.jp/osc2017-fall/ 09/13(⽔) Rancher Meetup Tokyo #09 https://rancherjp.connpass.com/event/63963/ 9/下旬 Rancher ハンズオン #03 & もくもく会(仮) 164ご参加お待ちしております!!
  165. 165. 165 またな!

×