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

OpenShift入門~S2Iを使ったアプリのデプロイ~

osonoi
October 06, 2020

 OpenShift入門~S2Iを使ったアプリのデプロイ~

osonoi

October 06, 2020
Tweet

More Decks by osonoi

Other Decks in Technology

Transcript

  1. 出席の確認にこちらからログインしてください。 IBM Cloud へのアクセスは上記URLから行ってください https://ibm.biz/BdqJzB • IBM Cloud ログイン アカウントをすでにお持ちの方は、

    こちらからログインしてください • IBM Cloud ライトアカウント作成 アカウントをお持ちでない方は、 ご登録をお願いします 【本⽇のお願い】
  2. コンテナを使った開発の流れ Dockerfileなど Docker イメージなど コンテナー レジストリ マニフェストで コンテナ⾃体の 詳細を記述 開発者

    コンテナー イメージ作成 イメージの 登録 開発者 アプリ実⾏ アプリ開発 3段階のプロセス
  3. Kubernetesとは 12 コンテナーの運⽤実⾏と管理を⾏うオーケストレーションツール • コンテナーが⼤量になってくると管理しきれない部分をカバー • 複数のDockerホストの管理 • 死活監視 •

    スケジューリング • スケーリング • 障害時のリカバリー • アプリ実⾏に必要なインフラリソースを管理 • 永続的なストレージ • ネットワーク • クレデンシャル情報 etc… • 宣⾔的設定モデル • 「あるべき状態」を記述すると、それを実現し続けようとしてくれる • 障害時も⾃動で復旧作業を実施
  4. Kubernetesで覚えておきたい概念 Pod Kubernetes における最⼩の管理単位 - Podの中には 1つ以上 の コンテナが含まれる -

    Pod単位でスケールイン・スケールアウトする - PodごとにIPアドレスがアサインされる Pod IP 10.1.206.34 10.1.206.128
  5. Kubernetesで覚えておきたい概念 Deployment Podを管理するための定義 - Podのアップデート、履歴 - Podの必要稼働数を定義(ReplicaSet) - K8Sの Scheduler

    がどのノードにアサイン するかは考慮してくれる Pod IP 10.1.206.34 10.1.206.110 ノード ノード ReplicaSet - 必要数2 - 現⾏ 2
  6. © 2019 IBM Corporation OpenShiftは、Kubernetesとの互換性を維持しながら、CICD機能を強化、開発者 に代わって、ビルド、リポジトリ登録、デプロイを自動実行します。 OPENSHIFT 機能拡張 OpenShift CICD利⽤

    アプリケーション (コンテナ) Kubernetes アプリケーション (コンテナ) Ubuntu / CentOS… Linux Kubernetes アプリケーション (コンテナ) コンテナ ランタイム Linux OS コンテナ オーケストレーション Kubernetesの標準機能 で構築したアプリケーション どちらでも 動作可能 RHEL / RHCOS コンテナ ランタイム OpenShiftとは
  7. Projects vs. Products Production-Grade Open Source Project quarterly minor releases,

    no Long Term Support community support platform certification: (AKS, EKS, GKE, IKS) core framework / limited security platform or user responsible to integrate beyond core Production-Grade Open Source based Product quarterly releases, support for major release 3+ years enterprise support ecosystem certification: platform and app containers k8s core plus abstractions / dashboard / security opinions and integration of common features
  8. K8s Deploy Dockerhub等 Build docker レジストリ Dockerfile ソースコード (Java, js,

    Py..etc) Catalog template (JSON/YAML) s2i Build lOpenShiftへの⼊⼒は様々なパターンがあります OpenShiftへの様々な⼊⼒のパターン Github等 file clipboard (folder) 【Dockerfile,ソース,Templateの置き場所】 公開されているイメージをそのまま取り込む ⾃作イメージを取り込む (OpenShift上でBuild) 既存イメージにソースを注⼊ 直接実⾏ カタログに登録 DevOps Pipeline アプリやミドルウエアといった直接的なソースではなく、 アプリやミドルウエアをOpenShift上どう動かすか、と いう構成/定義類を雛型として記述したものです
  9. Github上にあるコードからアプリをOpenShift上にDeployします。 K8s Deploy Dockerhub等 Build docker レジストリ Dockerfile ソースコード (Node.js)

    Catalog template (JSON/YAML) S2I Build (OpenShift上でBuild) DevOps Pipeline アプリやミドルウエアといった直接的なソー スではなく、アプリやミドルウエアを OpenShift上どう動かすか、という構成/定義 類を雛型として記述したものです 今回のハンズオンで使うS2Iとは Github等
  10. 1. OpenShift環境の準備 (ワークショップ⽤のIBM Cloud環境にご⾃⾝のIBM Cloud IDを関連付ける) 注意事項 ・ブラウザはFirefox, Chromeをご利⽤ください ・本ワークショップ⽤のIBM

    Cloud環境はセミナー開催時から 24時間限定でお使いいただけます ・ローカルでOpenShiftを検証する環境を構築されたい場合は、 Appendix. Minishiftをご利⽤ください
  11. 1. OpenShift環境の準備 (ワークショップ⽤のIBM Cloud環境にご⾃⾝のIBM Cloud IDを関連付ける) 注意事項 ・ブラウザはFirefox, Chromeをご利⽤ください ・本ワークショップ⽤のIBM

    Cloud環境はセミナー開催時から 24時間限定でお使いいただけます ・ローカルでOpenShiftを検証する環境を構築されたい場合は、 Appendix. Minishiftをご利⽤ください
  12. 免責事項 67 IBM Dojoは、開発者の⽅を対象に、IBM Cloudを主とした技術情報をお伝えする⽬的で開催して います。講師や運営スタッフにより、開催毎に最適と判断した内容でお届けしています。 現在、ハンズオンを伴う講義はお客様の費⽤負担がない環境と⼿順でご案内しています。 講義終了後、想定外の費⽤が発⽣しないよう、不要になりました制作物はお客様ご⾃⾝で削除を お願いいたします。講師陣はみなさまの利⽤状況を確認することはできません。 ご理解とご協⼒をお願いいたします。

    削除⽅法については講義内にご案内いたします。 ご不安な点がございましたら、当⽇確認をお願いいたします。 講義終了後のご請求のお問い合わせにつきましては、弊社サポートセンターまで、次のいづれか の⽅法でお問い合わせください。 IBM Cloudダッシュボードの「サポート」メニューから「Case」を作成してください IBM Cloudサポートセンター「相談する」ボタンからチャットまたは電話でご連絡ください https://www.ibm.com/jp-ja/cloud/support ご参加ありがとうございました。