Upgrade to Pro — share decks privately, control downloads, hide ads and more …

秋のIBM Dojo OpenShift(Minishift) 101 入門 / Autumn Dojo OpenShift101

Kyoko Nishito
November 11, 2019

秋のIBM Dojo OpenShift(Minishift) 101 入門 / Autumn Dojo OpenShift101

2019/11/05(火)実施 秋のIBM Dojo #4 OpenShift(Minishift) 101 入門
2019/11/11(月)実施 IBM Dojo 追加コース:OpenShift(Minishift) 101 入門
の資料です。
(尚URL等は11/11実施のものとなります)

Kyoko Nishito

November 11, 2019
Tweet

More Decks by Kyoko Nishito

Other Decks in Technology

Transcript

  1. ⽬次 1. What is Containers (コンテナ)? 2. What is Kubernetes?

    3. What is OpenShift? 4. KubernetesとOpenShiftの違い 5. ワークショップ: OpenShift101
  2. コンテナを使った開発の流れ Dockerfileなど Docker イメージなど コンテナー レジストリ マニフェストで コンテナ⾃体の 詳細を記述 開発者

    コンテナー イメージ作成 イメージの 登録 開発者 アプリ実⾏ アプリ開発 3段階のプロセス
  3. コンテナーのポータビリティ nコンテナーのポータビリティ •アプリケーション稼働に必要な依存ファイルを パッケージングできる •物理サーバーに固定されない → 同じアーキテクチャの環境であれば ポータビリティが存在する システム基盤 (クラウド)

    ホストOS システム基盤 (オンプレミス) ホストOS コ ン テ ナ エ ン ジ ン App1 Bin/Lib s App2 Bin/Lib s App3 Bin/Lib s 「僕の環境では動いた」 問題が発⽣しない コ ン テ ナ エ ン ジ ン App3 Bin/Lib s
  4. Kubernetesとは 20 コンテナーの運⽤実⾏と管理を⾏うオーケストレーションツール • コンテナーが⼤量になってくると管理しきれない部分をカバー • 複数のDockerホストの管理 • 死活監視 •

    スケジューリング • スケーリング • 障害時のリカバリー • アプリ実⾏に必要なインフラリソースを管理 • 永続的なストレージ • ネットワーク • クレデンシャル情報 etc… • 宣⾔的設定モデル • 「あるべき状態」を記述すると、それを実現し続けようとしてくれる • 障害時も⾃動で復旧作業を実施
  5. Kubernetesのまとめ 動画をもう⼀度⾒たい⽅はこちら: • https://developer.ibm.com/jp/new-builders/kubernetes/ ⽂章での説明もあります • コンテナーのオーケストレーション・ツール • 理想状態を宣⾔すると、その状態を維持しようとしてくれる •

    3つの主要コンポーネント • Pod, Deployment, Service • PodはDeploymentによって作成され、管理されます。 Deploymentによって作成されたPodへのアクセスは、 Serviceを使⽤することで容易になります。
  6. © 2019 IBM Corporation OpenShiftは、Kubernetesとの互換性を維持しながら、CICD機能を強化、開発者 に代わって、ビルド、リポジトリ登録、デプロイを⾃動実⾏します。 OPENSHIFT 機能拡張 OpenShift CICD利⽤

    アプリケーション (コンテナ) Kubernetes アプリケーション (コンテナ) Ubuntu / CentOS… Linux Kubernetes アプリケーション (コンテナ) コンテナ ランタイム Linux OS コンテナ オーケストレーション Kubernetesの標準機能 で構築したアプリケーション どちらでも 動作可能 RHEL / RHCOS コンテナ ランタイム OpenShiftのまとめ
  7. KubernetesとOpenShiftの違い まとめ • Deploy: • ソースコードからコンテナ作成とデプロイまでの⾃動化 • Manage: • Webコンソールとコマンドラインの両⽅から操作可能。

    • 実⾏状態のメトリックス監視とログ分析も提供 • 運⽤: • Ansible Playbookを使ってオートスケーリングが可能 • Security: • Project単位で簡単に管理可能 動画をもう⼀度⾒たい⽅はこちら: • https://youtu.be/cTPFwXsM2po • 英語のみ
  8. 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 より抜粋
  9. 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アプリケーションの公開
  10. 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
  11. 5-5. 補⾜ • Minishiftの停⽌コマンド $ minishift stop • Minishiftの起動、初期メモリ・ディスクの制限 $

    minishift start --memory 2G --disk-size 10G --vm-driver <drivername> • Minishift VM削除(VM再作成したい場合などに、、、) $ minishift delete • Minishift101 コマンドラインで作成したProjectをWebコン ソールで表⽰(developerでログイン) $ oc policy add-role-to-user admin developer