
本講座の概要、対象受講生、必要な前提知識、学習環境について解説します。
Udemyを初めて受講する人に向けたUdemyでの受講の仕方。
「視聴方法」「添付リソース」「Q&A」「レビュー」について概要を学びます。
添付リソースを一括ダウンロードできる「Googleドライブ」のリンクがあります。
本セクションで学習する内容について全体像を確認します。
本講座を学習するための環境として「仮想マシン」を利用します。
ホストOSはWindows10、ゲストOSはCentOS。
ゲストOSに必要なスペックはCPU2コア、メモリ3GB以上、ハードディスク16GB以上。
仮想化ソフトには「VMWare Workstation Player(無料)」を利用します。
本レクチャーでは仮想化ソフトのインストール手順を解説します。
ゲストOSとして「CentOS 7」をインストールします。
本レクチャーではインストール手順を解説します。
【お知らせ】
CentOSのサイトが CentOS 8 に更新されていますが、minikube が CentOS 7 での対応となります。
CentOS 7 をダウンロードするためには以下のミラーサイトをご利用ください。
http://ftp.riken.jp/Linux/centos/7.7.1908/isos/x86_64/
http://ftp.tsukuba.wide.ad.jp/Linux/centos/7.7.1908/isos/x86_64/
http://ftp.jaist.ac.jp/pub/Linux/CentOS/7.7.1908/isos/x86_64/
本講座の学習環境として「Docker」および「minikube(Kubernetes)」をインストールします。
手で入れる場合の手順を確認したうえで、実際の手順としては本レクチャー添付のインストールShellスクリプトでインストールを行います。
Kubernetesを使えるようにしてくれるツール「minikube」の使い方を解説します。
ここまでの準備だけだと学習環境が仮想マシンの中になるためやや操作が不便です。
VisualStudioCodeを利用して学習を容易にするための追加の環境構築を行います。
本セクションで学習する内容について全体像を確認します。
Dockerをまずは触ってみてどんなものかイメージをつかみます。
本レクチャーでは「hello-world」Dockerイメージを利用して簡単なDocker操作を試してみます。
Dockerとはどういったもので、どういった特徴があるのか、またその仕組みはどういったもので成り立っているのかについて学習します。
よく聞く「コンテナ」と「仮想マシン」について、それぞれの違いがどのようなものなのかを学習します。
Dockerを学習しているとたびたび目にする「Dockerイメージ」と「Dockerコンテナ」について、それぞれどのような違いなのかを学習します。
本セクションで学習した内容のうちポイントになる点を復習します。
本セクションで学習する内容について全体像を確認します。
Dockerイメージの保存先として利用するDockerHubのアカウントを作成していきます。
DockerHub上に公開されているDockerイメージを探す方法について学習します。
Dockerイメージの基本操作としてイメージの取得、一覧表示、削除を学習します。
Dockerコンテナの操作としてコンテナの実行、停止、実行中コンテナの一覧表示、停止コンテナの削除について学習します。
Dockerの操作には省略形式のコマンドが存在します。ここまでに学習してきたコマンドの省略形について学習します。
Dockerイメージを作成する方法について学習します。
DockerイメージをDockerHubへ公開する方法について学習します。
本セクションで学習した内容のうちポイントになる点を復習します。
本セクションで学習する内容について全体像を確認します。
「hello-world」Dockerイメージを利用した Kubernetes 最初のレクチャーです。
まずは触ってみてなんとなくイメージをつかんでいきいます。
Kubernetesがどんなものであるか、解決できる課題や動作の仕組みについて学習します。
Kubernetesを学習するうえでは「リソース」にどんなものがあるかを知っておくことが重要です。
本レクチャーでは主要なリソースについて全体感を学習します。
Kubernetesを使った開発を行う際、「ネットワーク」がどうなっているかを知っておくことが重要です。
本レクチャーではKubernetesのネットワーク構成について学習します。
Kubernetesネットワークの学習内容を踏まえて、実際の学習環境に置きなおすとどのように捉えられるのかについて考えていきます。
本セクションで学習した内容のうちポイントになる点を復習します。
本セクションで学習する内容について全体像を確認します。
Kubernetesリソースの操作方法としてPodリソースを題材にリソース作成、リソース一覧確認、リソース削除の方法を学習します。
基本と異なる作り方を行うSecretリソースについて、その作成方法を学習します。
Kubernetesリソースを作成するうえでキーとなるマニフェストファイルの記述方法について、本レクチャーではPodリソースを題材に以下の内容を学習します。
kind と apiVersion
metadata
spec
Kubernetesリソースを作成するうえでキーとなるマニフェストファイルの記述方法について、本レクチャーではPodリソースを題材に以下の内容を学習します。
command
args
env
Kubernetesリソースの種類によって指定できる apiVersioin は異なります。
本レクチャーではその apiVersion をどのように探し出すかを学習します。
Kubernetesリソースのリソース名も何度も書いていると面倒になってきます。本レクチャーでは省略表記ができるものについてどう記述するかを学習します。
Kubernetesで開発を行っているとデバッグを行いたいことがあります。
本レクチャーではデバッグで使える方法の一つとして実際にPodの中へ入ってコマンドを実行する方法について学習します。
Kubernetesで開発を行っているとデバッグを行いたいことがあります。
本レクチャーでは資材投入(ホスト→Pod)、ログ取得(Pod→ホスト)を想定したファイル転送を行う方法について学習します。
Kubernetesで開発を行っているとデバッグを行いたいことがあります。
本レクチャーではリソースの状態確認を行う方法について学習します。
本セクションで学習した内容のうちポイントになる点を復習します。
本セクションで学習する内容について全体像を確認します。
Podリソースの作り方について学習します。
ReplicaSetリソースの作り方、Podのスケール方法について学習します。
Deploymentリソースの作り方、ロールバック方法について学習します。
Serviceリソースの細かな種類および作り方について学習します。
ConfigMapリソースの作り方について学習します。
Secretリソースの作り方について学習します。
PersistentVolumeリソースおよびPersistentVolumeClaimリソースの作り方について学習します。
StatefulSetリソースの作り方について学習します。
Ingressリソースの作り方について学習します。
本セクションで学習した内容のうちポイントになる点を復習します。
これから作成していくWebアプリケーションについて、そのシステム全体像やネットワーク構成を確認します。
本セクションを通して利用する「デバッグ用Pod」を準備します。
MongoDBサーバーのDockerイメージを作成します。障害発生などでMongoDBサーバーが立ち上げなおされたとしても正しく動作するようなイメージを作成します。
MongoDBサーバーが利用するストレージの実態(PersistentVolumeとPersistentVolumeClaim)を準備します。
本コースの振り返り
ボーナスレクチャーです。
昨今注目をあびている Docker および Kubernetes 。
これらを用いてWebアプリケーションを構築する方法について実際に演習を通して使えるようになることを目指して学習していきます。
内容は学習環境の構築から基礎、応用と順にレベルアップしていくことで、知識やスキルを積み上げていくことができます。
本講座には「簡単に学習環境を構築できるインストールシェルスクリプト」付き!
これまで学習環境構築で悩んでいた人、DockerもKubernetesも聞いたことあるけどどこから手を付けていいかわからない人…そんなあなたはぜひ受講がおススメです。
【利用環境】
Docker 1.19
Kubernetes 1.15
Nginx 1.17.2
Node.js 10
MongoDB 4.0.5
【必要学習環境】
仮想化ソフトが利用可能なPC(「2011年以降のAtomをのぞくCPU」または「SSE2に対応したCPU」を搭載したPC)
【推奨学習環境】
Windows 10 (ホスト) + CentOS 7 (ゲスト)
【更新履歴】
v1.4.0 2025/02/21 「振り返り」レクチャーを追加
v1.3.4 2021/06/20 CentOS 7.9.2009 向けインストーラーを修正
v1.3.3 2021/06/06 「添付リソースの一括ダウンロード」レクチャーを追加
v1.3.2 2020/10/18 「DBサーバーイメージ作成」の添付シェルスクリプト修正
v1.3.1 2020/09/27 CentOS 7.8.2003 向けインストーラーを修正
v1.3.0 2020/07/25 「Dockerとは」「DockerHubアカウント作成」のレクチャー追加
v1.2.2 2020/05/10 CentOS 7.8.2003 対応したインストーラーに更新
v1.2.1 2020/04/25 CentOS 7.7.1908 対応したインストーラーに更新
v1.2.0 2019/11/12 「Docker基本操作」に「イメージ公開」レクチャーを追加
v1.1.0 2019/10/28 「Kubernetesリソース」セクションを追加
v1.0.1 2019/10/10 「環境構築」セクションの動画を更新
v1.0.0 2019/10/01 初版リリース