Slide 1

Slide 1 text

IBM Dojo OpenShift(Minishift) 101 Kyoko Nishito Developer Advocate Tokyo City Team

Slide 2

Slide 2 text

Kyoko Nishito IBM Developer Advocate 2 KyokoNishito

Slide 3

Slide 3 text

本⽇のタイムテーブル 14:00-14:05 (5min) オープニング 資料ダウンロード、出席登録 14:05-15:00 (55min) What is Docker/Kubernetes/OpenShift ? 15:00-16:30 (120min) MiniShit101<ワークショップ> 16:30-17:00 (30min) クロージング

Slide 4

Slide 4 text

本⽇の資料 本⽇の資料はこちらからPCにダウンロードお願いし ます。URLをクリックしたり、コマンドをコピペしたりでき ますので、サイトでみるのではなく、ダウンロードをお勧めし ます。 http://ibm.biz/dojo20191111doc

Slide 5

Slide 5 text

出席登録 こちらのURLにアクセスして、IBM Cloudにログイン お願いします。 アカウント未登録の⽅もこちらから登録お願いします。 http://ibm.biz/dojo1111

Slide 6

Slide 6 text

学習の⽬的とゴール ⽬的 Docker/Kubernetes/Openshift概要について理解する ゴール Minishiftを利⽤したアプリケーションを動かせるように なる

Slide 7

Slide 7 text

⽬次 1. What is Containers (コンテナ)? 2. What is Kubernetes? 3. What is OpenShift? 4. KubernetesとOpenShiftの違い 5. ワークショップ: OpenShift101

Slide 8

Slide 8 text

1. What is Containers (コンテナ)? https://developer.ibm.com/jp/new-builders/containerization/

Slide 9

Slide 9 text

コンテナ以前の様⼦ コンテナ⾰命以前の港湾荷役 http://military.wikia.com/wiki/Battle_of_Pusan_Perimeter_logistics ⼤勢の作業員 倉庫に⼀時保管 物流の最⼤の ボトルネック

Slide 10

Slide 10 text

https://www.jsanet.or.jp/seminar/text/seminar_177.html 物流コンテナによる⾰命 コンテナの発明者は、全⽶有数のトラック 運送会社のオーナーとなったマルコム・ マクリーン(Malcom P. McLean) 国際貨物輸送の分野に 海陸⼀貫輸送という⼤変⾰ 1970年代には世界の主要航路のコンテナ 化がほぼ完了した。わずか10年程度でこれ ほど急激な形態の変化が起こったのは海運 史上でも他に例がない。 https://en.wikipedia.org/wiki/Malcom_McLean

Slide 11

Slide 11 text

港湾荷役のボトルネックを解消 物流コストの削減とスピードアップ コンテナ⾰命は業務改⾰ 陸海⼀貫輸送 海上輸送 陸送(トラック) 陸送(鉄道) 港湾荷役 港湾荷役 コンテナ船

Slide 12

Slide 12 text

いま、IT業界の コンテナ⾰命が 始まる

Slide 13

Slide 13 text

What is Container (コンテナ)? https://youtu.be/1PPPUPcUkSs

Slide 14

Slide 14 text

「仮想マシン(VM)」と「コンテナ」 コンテナは仮想マシン(VM)に⽐べてリソース効率がよい スケールアウトが簡単

Slide 15

Slide 15 text

コンテナを使った開発の流れ Dockerfileなど Docker イメージなど コンテナー レジストリ マニフェストで コンテナ⾃体の 詳細を記述 開発者 コンテナー イメージ作成 イメージの 登録 開発者 アプリ実⾏ アプリ開発 3段階のプロセス

Slide 16

Slide 16 text

コンテナーのポータビリティ nコンテナーのポータビリティ •アプリケーション稼働に必要な依存ファイルを パッケージングできる •物理サーバーに固定されない → 同じアーキテクチャの環境であれば ポータビリティが存在する システム基盤 (クラウド) ホストOS システム基盤 (オンプレミス) ホストOS コ ン テ ナ エ ン ジ ン App1 Bin/Lib s App2 Bin/Lib s App3 Bin/Lib s 「僕の環境では動いた」 問題が発⽣しない コ ン テ ナ エ ン ジ ン App3 Bin/Lib s

Slide 17

Slide 17 text

コンテナのまとめ • 仮想マシン(VM)に⽐べてリソース効率がよい • ボータビリティーが⾼い • スケールアウトが容易 • 3段階のプロセスをコンテナのpushに使⽤することで、より アジャイルなDevOpsと継続的インテグレーションおよびデ リバリーが可能になる 動画をもう⼀度⾒たい⽅はこちら: • https://developer.ibm.com/jp/new-builders/containerization/ ⽂章での説明もあります

Slide 18

Slide 18 text

2. What is Kubernetes? https://developer.ibm.com/jp/new-builders/kubernetes/

Slide 19

Slide 19 text

2. What is Kubernetes? https://youtu.be/zGXYRQ-8pU0

Slide 20

Slide 20 text

Kubernetesとは 20 コンテナーの運⽤実⾏と管理を⾏うオーケストレーションツール • コンテナーが⼤量になってくると管理しきれない部分をカバー • 複数のDockerホストの管理 • 死活監視 • スケジューリング • スケーリング • 障害時のリカバリー • アプリ実⾏に必要なインフラリソースを管理 • 永続的なストレージ • ネットワーク • クレデンシャル情報 etc… • 宣⾔的設定モデル • 「あるべき状態」を記述すると、それを実現し続けようとしてくれる • 障害時も⾃動で復旧作業を実施

Slide 21

Slide 21 text

Kubernetesの代表的な機能 スケールアウト 負荷分散 バージョン管理 (ロールアウト) ネットワーク管理 永続ストレージ管理 死活監視 ⾃⼰復旧 CPU / Memory リソース管理

Slide 22

Slide 22 text

Kubernetesのまとめ 動画をもう⼀度⾒たい⽅はこちら: • https://developer.ibm.com/jp/new-builders/kubernetes/ ⽂章での説明もあります • コンテナーのオーケストレーション・ツール • 理想状態を宣⾔すると、その状態を維持しようとしてくれる • 3つの主要コンポーネント • Pod, Deployment, Service • PodはDeploymentによって作成され、管理されます。 Deploymentによって作成されたPodへのアクセスは、 Serviceを使⽤することで容易になります。

Slide 23

Slide 23 text

3. What is OpenShift?

Slide 24

Slide 24 text

What is OpenShift? https://youtu.be/KTN_QBuDplo

Slide 25

Slide 25 text

© 2019 IBM Corporation OpenShiftは、Kubernetesとの互換性を維持しながら、CICD機能を強化、開発者 に代わって、ビルド、リポジトリ登録、デプロイを⾃動実⾏します。 OPENSHIFT 機能拡張 OpenShift CICD利⽤ アプリケーション (コンテナ) Kubernetes アプリケーション (コンテナ) Ubuntu / CentOS… Linux Kubernetes アプリケーション (コンテナ) コンテナ ランタイム Linux OS コンテナ オーケストレーション Kubernetesの標準機能 で構築したアプリケーション どちらでも 動作可能 RHEL / RHCOS コンテナ ランタイム OpenShiftのまとめ

Slide 26

Slide 26 text

Red Hat OpenShift on IBM Cloud IBM Cloud™上のRedHat®OpenShift®は、⾼度にスケーラブルで信頼性の⾼いIBM Cloudプラットフォームで完全に管理されたOpenShiftクラスターを提供する包括的な サービスです。 The WeatherCompany®で毎⽇2,500億のオンデマンド予測を維持す るKubernetesサービスに直接統合されています。

Slide 27

Slide 27 text

4. KubernetesとOpenShiftの違い

Slide 28

Slide 28 text

Kubernetes and OpenShift: What's the Difference? https://youtu.be/cTPFwXsM2po

Slide 29

Slide 29 text

KubernetesとOpenShiftの違い まとめ • Deploy: • ソースコードからコンテナ作成とデプロイまでの⾃動化 • Manage: • Webコンソールとコマンドラインの両⽅から操作可能。 • 実⾏状態のメトリックス監視とログ分析も提供 • 運⽤: • Ansible Playbookを使ってオートスケーリングが可能 • Security: • Project単位で簡単に管理可能 動画をもう⼀度⾒たい⽅はこちら: • https://youtu.be/cTPFwXsM2po • 英語のみ

Slide 30

Slide 30 text

5. Minishift101 ワークショップ https://www.okd.io/minishift/ より

Slide 31

Slide 31 text

5. Minishift101 ワークショップ 5-1. IBM CloudでOpenShiftを使う 5-2. Minishift とは 5-3. Minishift101 –ハンズオン– 5-4. 追加ハンズオン

Slide 32

Slide 32 text

5-1. IBM CloudでOpenShiftを使う 1. まずはIBMにクラウドにログイン 本⽇は http://ibm.biz/dojo1111 にアクセスして 右上の「ログイン」から ログインしてください 通常は https://cloud.ibm.com/ からログイン可能です

Slide 33

Slide 33 text

5-1. IBM CloudでOpenShiftを使う 2. ダッシュボードから「カタログ」をクリック

Slide 34

Slide 34 text

5-1. IBM CloudでOpenShiftを使う 3. 右上の検索フィールドからlabel: ライトを削除 ↑label: ライトを削除

Slide 35

Slide 35 text

5-1. IBM CloudでOpenShiftを使う 4. 左側のカテゴリーから「コンテナ」をクリック、 「Red Hat OpenShift Cluster」をクリック

Slide 36

Slide 36 text

5-1. IBM CloudでOpenShiftを使う 5. Red Hat OpenShift Cluster作成画⾯が表⽰されます。 ただしライトアカウントでは作成できないため、ライトアカウントの場合 は「アップグレード」ボタンが表⽰されます。

Slide 37

Slide 37 text

5-1. IBM CloudでOpenShiftを使う 6. 「 Red Hat OpenShift Cluster 」を作成します。動画で⾒てみましょう: https://youtu.be/UJ2frartWFk

Slide 38

Slide 38 text

5-1. IBM CloudでOpenShiftを使う 補⾜情報: 3分でわかるIBM Cloudシリーズ(動画) • OpenShiftクラスターに対してocコマンドでアクセスする • OpenShiftクラスターにHelloWorldアプリをデプロイしてみよう IBM Demos (デモ動画サイト、英語): • Red Hat OpenShift on IBM Cloud

Slide 39

Slide 39 text

5-2. Minishift とは • OpenShiftは、Kubernetesに、Red Hat社独⾃の拡張を加え、さらに、 Red Hatのソフトウェア保守とウェブや電話での問い合わせ対応サービ スを提供する企業向けKubernetesのプラットフォーム • OpenShiftは、Red Hat社が提供する有償サービス(サブスクリプショ ン )のもとで利⽤できるソフトウェア • OpenShiftの学習やローカルの開発環境⽤に無償で提供されるのが、 Minishift (OpenShift 3.11に相当) 「MiniShiftに関する疑問の整理、「 Dockerから⼊るKubernetes」執筆打明け話とか、OKDやCRCとの整理など」 https://qiita.com/MahoTakara/items/3c1c208640518e832660 より抜粋

Slide 40

Slide 40 text

5-3. Minishift101 –ハンズオン– http://ibm.biz/minishift101jp • Setup • 「仮想化環境を構成する」の⽇本語版はこちら」 • Windows: ibm.biz/Bdz39H • Mac: ibm.biz/Bdz39E • Lab 1 OpenShiftプロジェクトの作成 • Lab 2 OpenShiftアプリケーションの作成 (ここは読むだけです) • Lab 3 OpenShiftアプリケーションの管理 • Lab 4 OpenShiftアプリケーションの公開

Slide 41

Slide 41 text

5-4. 追加ハンズオン • Node-RED on Minishift https://github.com/yamachan/node-red-workshop- starter/blob/japanese-readme/README-ja.md • RedHat Japanのハンズオントレーニング ⽇本語訳 複数コンテナの連携: https://github.com/osonoi/minishift/tree/master/lab1 様々なデプロイメント⼿法: https://github.com/osonoi/minishift/tree/master/lab2

Slide 42

Slide 42 text

5-5. 補⾜ • Minishiftの停⽌コマンド $ minishift stop • Minishiftの起動、初期メモリ・ディスクの制限 $ minishift start --memory 2G --disk-size 10G --vm-driver • Minishift VM削除(VM再作成したい場合などに、、、) $ minishift delete • Minishift101 コマンドラインで作成したProjectをWebコン ソールで表⽰(developerでログイン) $ oc policy add-role-to-user admin developer

Slide 43

Slide 43 text

IBM Code Patterns https://ibm.biz/ibmcodejp 解説 + デモ動画 + ソースコードが揃ったアプリ開発パターン集

Slide 44

Slide 44 text

開発者向けサイト IBM Developer ibm.biz/IBMDevJP 最新情報やスキルアップに役⽴つ6,000を超える技術記事を提供

Slide 45

Slide 45 text

No content