Kubernetes ハンズオン演習
ホーム
ホーム
  • 0. ラボの使い方
  • 1. kubectl コマンドを使ってみる
  • 2. マニフェストファイルによる Pod の操作
  • 3. Deployment
  • 4. Service によるアプリケーションの公開
  • 5. デプロイ戦略
  • 6. PersistentVolume と StatefulSet の使用

1. kubectl コマンドを使ってみる

このラボでは Kubernetes の基本コマンドの使い方を学習します。

テキストを参照しながら各問題にチャレンジしてください。
必要があればウェブで調べても構いません。

ステップ 1: 問題 1/12

現在この環境には何個の Pod が存在しますか。

  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
Hints

kubectl get pods コマンドを使用します。

Solution

kubectl get pods コマンドを実行し、Pod 数をカウントします。

Answer

0

ステップ 2: 問題 2/12

イメージ nginx を使用して nginx-1 という名前の Pod を作成してください。

Hints

kubectl run コマンドを使用します。

Solution

kubectl run nginx-1 --image nginx を実行します。

ステップ 3: 問題 3/12

(※ スクリプトの実行が完了してから開始してください)
新しくいくつかの Pod を作成しました。現在この環境に何個の Pod が存在しますか。

  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
Hints

kubectl get pods コマンドを使用します。

Answer

3

ステップ 4: 問題 4/12

新しく作成された Pod には何のイメージが使用されていますか。

  1. nginx
  2. busybox
  3. jenkins
  4. newpods
Hints

kubectl describe コマンドを使用します。

Solution

kubectl describe pod newpods-<id> コマンドを実行し、Containers セクションの Image を確認します。

Answer

busybox

ステップ 5: 問題 5/12

これらの Pod はどのノードにデプロイされていますか。
Pod の詳細を確認して回答してください。

  1. master
  2. master & node01
  3. controlplane
  4. node01
  5. node02
Hints

-o wide オプションを使用して kubectl get コマンドを実行します。

Solution

kubectl get pods -o wide を実行して NODE 列を確認します。

Answer

node01

ステップ 6: 問題 6/12

(※ スクリプトの実行が完了してから開始してください)
新しく webapp という Pod を作成しました。この Pod はいくつのコンテナで構成されていますか?
今のところ Pod の状態は無視して構いません。

  1. 3
  2. 2
  3. 1
  4. 0
Hints

kubectl get pod コマンドか kubectl describe pod コマンドを使用します。

Solution

kubectl get pod webapp を実行して READY 列を確認します。 あるいは、kubectl describe pod webapp を実行して Containers セクションを確認します。

Answer

2

ステップ 7: 問題 7/12

Pod webapp には何のイメージが使用されていますか?

  1. nginx & redis
  2. appsrvx
  3. nginx & appsrvx
  4. busybox
  5. nginx
Hints

kubectl describe コマンドを使用します。

Solution

kubectl describe pod webapp を実行し、各コンテナで使用されているイメージを確認します。

Answer

nginx & appsrvx

ステップ 8: 問題 8/12

Pod webapp の appsrvx コンテナはどのような状態ですか。
Pod の状態が ContainerCreating の場合は、その状態が終了するまで待って回答してください。

  1. Running
  2. Ready
  3. Succeeded
  4. Failed
  5. Waiting
Hints

kubectl describe コマンドを使用します。

Solution

kubectl describe pod webapp を実行して、コンテナ appsrvx の状態を確認します。

Answer

Waiting

ステップ 9: 問題 9/12

Pod webapp の appsrvx コンテナがエラー状態になっているのはなぜですか?

  1. このイメージのアプリケーションがエラーを起こしている
  2. この名前の Docker イメージが Docker Hub に存在していない
  3. NGINX がこのコンテナと通信するように構成されていない
  4. Kubernetes クラスタがエラーを起こしている
Hints

kubectl describe コマンドを使用します。

Solution

kubectl describe pod webapp を実行し、Events セクションを確認します。

Answer

この名前の Docker イメージが Docker Hub に存在していない

ステップ 10: 問題 10/12

kubectl get pods コマンドの出力にある READY 列は何を表示していますか。

  1. Pod の全コンテナ数 / Pod の実行中コンテナ数
  2. 実行中 Pod 数 / 全 Pod 数
  3. Pod の実行中コンテナ数 / Pod の全コンテナ数
  4. 全 Pod 数 / 実行中 Pod 数
Answer

Pod の実行中コンテナ数 / Pod の全コンテナ数

ステップ 11: 問題 11/12

Pod webapp を削除してください。

Hints

kubectl delete pod コマンドを使用します。

Solution

kubectl delete pod webapp を実行します。

ステップ 12: 問題 12/12

以下の設定で Pod を作成してください。

  • Pod 名:redis
  • イメージ:redis:alpine
Hints

kubectl run コマンドを使用します。

Solution

kubectl run redis --image redis:alpine コマンドを実行します。

完了


チャレンジ完了!

お疲れ様でした!

Prev
0. ラボの使い方
Next
2. マニフェストファイルによる Pod の操作