Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tech Dojo OpenShift-S2I handson
Search
NoriMuraZ
November 29, 2022
Technology
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Tech Dojo OpenShift-S2I handson
NoriMuraZ
November 29, 2022
More Decks by NoriMuraZ
See All by NoriMuraZ
新卒社員が初めてやってみた!GitHub編(Trying GitHub for the First Time as a New Graduate!)
norimuraz
0
240
新卒社員が初めてやってみた!GitHub編QA(Trying GitHub for the First Time as a New Graduate!)
norimuraz
0
160
いまからでも遅くない!SSL/TLS証明書超入門(It's not too late to start! SSL/TLS Certificates: The Absolute Beginner's Guide)
norimuraz
0
560
Tech Dojo Introduction Of Monitoring
norimuraz
0
560
Other Decks in Technology
See All in Technology
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
5.9k
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
440
ブラウザ研修 2026
recruitengineers
PRO
6
1.1k
Reference-Free Image Quality Assessment for Virtual Try-On via Human Feedback
zozotech
PRO
0
570
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
120
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
4
370
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
960
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
180
LanceDB入門
mocobeta
8
580
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
6k
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
250
強化学習「理論」入門
enakai00
3
3.6k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
From π to Pie charts
rasagy
0
290
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
240
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
Discover your Explorer Soul
emna__ayadi
2
1.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The browser strikes back
jonoalderson
0
1.5k
Transcript
Tech Dojo OpenShift 基本講座 ワークショップ for Developers Presented by: IBM
Customer Success #IBMDojo
目的 OpenShift概要について理解する ゴール OpenShift上にアプリをデプロイできるようになる このコースを学ぶ方の想定スキル コンテナ実行環境を初めて利用する方 本セッションについて
目次 1. コンテナ 2. Kubernetes 3. OpenShift 4. ハンズオンワークショップ
なぜ「今」 コンテナ/Docker/Kubernetesなどの テクノロジーが注目されているのか? 1. コンテナ
コンテナは仮想マシン(VM)に比べてリソース効率がよい スケールアウトが簡単 VM(仮想マシン)とコンテナ VM(仮想マシン型) コンテナ型 システム基盤 ホストOS 仮想化層 ゲストOS ゲストOS
ゲストOS Bin/Libs Bin/Libs Bin/Libs App1 App2 App3 システム基盤 ホストOS コンテナランタイム Bin/Libs Bin/Libs Bin/Libs App1 App2 App3
コンテナを使った開発の流れ Dockerfileなど Docker イメージなど コンテナ レジストリ マニフェストで コンテナ自体の 詳細を記述 開発者
コンテナ イメージ作成 イメージの 登録 開発者 アプリ実行 アプリ開発 3段階のプロセス
dockerを使った例 利用 Build Docker Runtime ソースや 構成情報 内部リポジトリー コンテナ・イメージ Pull
run/exec dockerHub コンテナ dockerHub オンライン上にイメージを保管しておくコンテナレジストリの1種です。 様々なイメージの取得、自作イメージの保管ができます。 Dockerの操作は、提供されているDocker コマンド(CLI)を活用します。ユーザーは、元になる Docker imageをコンテナ化することで、アプリケーションとして利用することができます。
コンテナレジストリ Container Registryはコンテナ・イメージを保管しておくための領域であり、Docker Hubはそのうち の一つです。Container Registryは様々な種類があり、環境・用途によって使い分けが可能です。 種類 概要 例 Docker
Hub 様々なイメージが保管・公開されている。 公開されているイメージを取得したり、作成したイメー ジを保管したりすることができる。 料金を支払うことで、privateなレジストリとしても利用 可能。 - クラウド・サービス 様々なクラウド・ベンダーなどが提供しているサービス。 各ユーザーのPrivateな領域として利用可能。 料金によって、サイズやアクセス回数の制限がある。 IBM Cloud Container Registry Red Hat Quay Amazon ECR GCP Container Registry Azure Container Registry OSS ユーザー固有の環境に独自で作成するRegistry。 環境・導入作業などは必要だが、基本的に自由に利用可 能。 NEXUS OCR (OpenShift Container Registry) Open Source Docker Registry また、各イメージはContainer Registryに作成された領域であるリポジトリ内に保存され、形式は下記の通りです。 <リポジトリ名>/<イメージ名>(:<tag>) (例: ibmcom/websphere-liberty → ibmcomリポジトリ内のwebsphere-libertyイメージ)
コンテナのポータビリティ 👉🏻アプリケーション稼働に必要な依存ファイルを パッケージングできる 👉🏻物理サーバーに固定されない → 同じアーキテクチャの環境であれば ポータビリティが存在する 「僕の環境では動いた」 問題が発生しない システム基盤
(クラウド) ホストOS システム基盤 (オンプレミス) ホストOS コン テナ エン ジン App1 Bin/Libs App2 Bin/Libs App3 Bin/Libs コン テナ エン ジン App3 Bin/Libs
・仮想マシン(VM)に比べてリソース効率がよい ・ポータビリティーが高い ・スケールアウトが容易 ・3段階のプロセスを使用することで、 よりアジャイルなDevOpsと継続的インテグレーション およびデリバリーが可能になる コンテナのまとめ
コンテナとコンテナオーケストレーションって? dockerだけじゃダメなの? 2. Kubernetes
コンテナーの運用実行と管理を行うオーケストレーションツール • コンテナーが大量になってくると管理しきれない部分をカバー • 複数のDockerホストの管理 • 死活監視 • スケジューリング •
スケーリング • 障害時のリカバリー • アプリ実行に必要なインフラリソースを管理 • 永続的なストレージ • ネットワーク • クレデンシャル情報 etc… • 宣言的設定モデル • 「あるべき状態」を記述すると、それを実現し続けようとしてくれる • 障害時も自動で復旧作業を実施 Kubernetesの特徴
Kubernetesの代表的な機能 スケールアウト 負荷分散 バージョン管理 (ロールアウト) ネットワーク管理 永続ストレージ管理 死活監視 自己復旧 CPU
/ Memory リソース管理
Kubernetesアーキテクチャー DB (etcd) API Server Client/User kubectl CLI ・Watcher ・Controller
Networks Volumes Secrets ... Request Monitor WatcherとControllerがデータベース内の変更を反映する。 API Serverは http/RESTによるデータベースのフロントエンド。 Base OS/Kernel Container Runtime Images Ubuntu Liberty Kubelet Kube- Proxy Pod/Service C C C Node
Kubernetesで覚えておきたい概念 Pod Kubernetes における最小の管理単位 - Podの中には 1つ以上 の コンテナが含まれる -
Pod単位でスケールイン・スケールアウトする - PodごとにIPアドレスがアサインされる Pod IP 10.1.206.34 10.1.206.128
Kubernetesで覚えておきたい概念 ReplicaSet Podを管理するための定義 - Podの必要稼働数を定義 - K8sの Scheduler がどのノードにアサイン するかは考慮してくれる
Pod IP 10.1.206.34 10.1.206.110 ノード ノード ReplicaSet - 必要数2 - 現行 2
Kubernetesで覚えておきたい概念 Deployment ワークロード定義体 - Pod - ReplicaSet - ClusterIPs -
NodePort - (Ingress) Pod IP 10.1.206.34 10.1.206.110 Cluster IP 10.0.0.142 169.56.42.73 Ingress IP Deployment
18 Deployment replicas: 3 Ver1.0 replicas: 3 Pod Pod Pod
Ver1.5 replicas: 3 Pod Pod Pod Kubernetesで覚えておきたい概念 Deployment
Kubernetesで覚えておきたい概念 Service Kubernetes外から TCP/IPでアクセ スするための定義 - K8sクラスタ内で一意となるポートがアサイン される - K8sクラスタのどのノードからアクセスしても
当該サービスにルーティングされる - L4ロードバランサー Pod IP 10.1.206.34 10.1.206.110 ノード ノード 30010 30010
・コンテナーのオーケストレーション・ツール ・理想状態を宣言すると、その状態を維持しようとする ・4つの主要コンポーネント 👉🏻 Pod 👉🏻 Deployment 👉🏻 Service 👉🏻
ReplicaSet Kubernetesのまとめ PodはDeploymentによって作成され、管理されます。 Deploymentによって作成されたPodへのアクセスは、 Serviceを使用することで容易になります。
なぜKubernetesではなくOpenShiftを使うのか? そもそも2つの違いは? 3. OpenShift
OpenShiftのしくみ OpenShift 4 Platform ⚓️統合と自動化 ⚓️シームレスなKubernetesデプロイ ⚓️インストールの自動化 ⚓️1クリックでのプラットフォーム更新 ⚓️クラウドリソースのオートスケーリング
OpenShiftは、Kubernetesとの互換性を維持しながら、CICD機能を強化、開発者に代わって、ビルド、 リポジトリ登録、デプロイを自動実行します。 KubernetesとOpenShiftの違い OpenShift 機能拡張 Ubuntu / CentOS… Linux コンテナ
ランタイム Kubernetesの標準機能 で構築したアプリケーション どちらでも 動作可能 RHEL / RHCOS コンテナ ランタイム Kubernetes アプリケーション (コンテナ) Kubernetes アプリケーション (コンテナ) OpenShift CICD利用 アプリケーション (コンテナ)
OpenShiftとKubernetesとの違い ・長期サポートがある https://www.ibm.com/blogs/think/jp-ja/differences-values-openshift-and-kubernetes/ ・脆弱性対応など企業向けセキュリティが強化 ・CI/CDツール環境が整っている
Deploy: ソースコードからコンテナ作成とデプロイまでの自動化 Manage: Webコンソールとコマンドラインの両方から操作可能 運用: 実行状態のメトリックス監視とログ分析も提供 Security: Project単位で簡単に管理可能 OpenShiftのまとめ
IBMが提供するOpenShiftの二つのスタイル
マネージドサービスのOpenShift ROKSは、業界をリードする商用コンテナ管理基 盤であるRed Hat OpenShiftのマネージド・サー ビスです。ROKSを使うことで、お客様は OpenShiftを用いたインフラの構築や維持、運用、 および技術習得の負担を減らし、ビジネス競争力 の源泉となるアプリケーションの開発と管理に専 念できるようになります。
Red Hat OpenShift on IBM Cloud (ROKS)
OpenShiftが動く環境ならどこでも使える オンプレミスからIBM Cloud、さらには他社のパブリッククラウドまで、OpenShiftが動く環境ならどこで も使えるアプリケーション開発/実行基盤です。 IBM Cloud Paks
https://ibm.biz/oss2iws 4. ハンズオンワークショップ
参考情報 ・コンテナとは? https://www.redhat.com/ja/topics/containers ・Kubernetesとは? https://www.redhat.com/ja/topics/containers/what-is-kubernetes 参考動画 ・OpenShiftとは? https://youtu.be/KTN_QBuDplo ・KubernetesとOpenShiftの違い https://youtu.be/cTPFwXsM2po
付録:参考情報
付録:dockerコマンド集(主なもの) 概要 コマンド オプション イメージ取得 image pull {image}:{tag} イメージビルド image
build {image}:{tag} イメージ一覧 image list タグの付与 image tag {image}:{tag} {image}:{新tag} イメージ削除 image rm {image id} コンテナ起動 container run {image}:{tag} -p {host port}:{container port} ポート公開 -d バックグラウンド起動 --rm 停止時にコンテナ削除 コンテナ一覧 ps -a 停止状態含む全てのコンテナを取得 コンテナ停止 container stop {container id} コンテナ削除 container rm {container id} コンテナ内でコマンド実行 container exec {container id} {command} -it インタラクティブに操作 ステータス確認 stats --no-stream 一回のみ表示