CKAD 試験問題 1
展示する:

形式 A でログ ファイルを書き込むコンテナーと、ログ ファイルを形式 A から形式 B に変換するコンテナーがある場合、最初のコンテナーのログ ファイルが 2 番目のコンテナーによって変換され、形式 B でログが出力されるように、両方のコンテナーを実行するデプロイメントを作成します。
タスク:
* デフォルトの名前空間に、deployment-xyz という名前のデプロイメントを作成します。
* プライマリーを含む
lfccncf/busybox:1 コンテナ、名前は logger-dev
* サイドカーのIfccncf/fluentd:v0.12コンテナ(adapter-zen)を含む
* 両方のコンテナに共有ボリューム /tmp/log をマウントします。これはポッドが削除されると保持されません。
* logger-devに指示する
コマンドを実行するコンテナ

ログはプレーンテキスト形式で /tmp/log/input.log に出力されます。例の値は次のとおりです。

* アダプタ zen サイドカー コンテナは /tmp/log/input.log を読み取り、データを Fluentd JSON 形式で /tmp/log/output.* に出力します。このタスクを完了するために Fluentd の知識は必要ありません。これを実現するには、/opt/KDMC00102/fluentd-configma p.yaml で提供されている仕様ファイルから ConfigMap を作成し、その ConfigMap をアダプタ zen サイドカー コンテナの /fluentd/etc にマウントするだけです。

形式 A でログ ファイルを書き込むコンテナーと、ログ ファイルを形式 A から形式 B に変換するコンテナーがある場合、最初のコンテナーのログ ファイルが 2 番目のコンテナーによって変換され、形式 B でログが出力されるように、両方のコンテナーを実行するデプロイメントを作成します。
タスク:
* デフォルトの名前空間に、deployment-xyz という名前のデプロイメントを作成します。
* プライマリーを含む
lfccncf/busybox:1 コンテナ、名前は logger-dev
* サイドカーのIfccncf/fluentd:v0.12コンテナ(adapter-zen)を含む
* 両方のコンテナに共有ボリューム /tmp/log をマウントします。これはポッドが削除されると保持されません。
* logger-devに指示する
コマンドを実行するコンテナ

ログはプレーンテキスト形式で /tmp/log/input.log に出力されます。例の値は次のとおりです。

* アダプタ zen サイドカー コンテナは /tmp/log/input.log を読み取り、データを Fluentd JSON 形式で /tmp/log/output.* に出力します。このタスクを完了するために Fluentd の知識は必要ありません。これを実現するには、/opt/KDMC00102/fluentd-configma p.yaml で提供されている仕様ファイルから ConfigMap を作成し、その ConfigMap をアダプタ zen サイドカー コンテナの /fluentd/etc にマウントするだけです。
CKAD 試験問題 2
コンテクスト
チームが Kubernetes 上でコンテナを実行する必要がある場合は、コンテナを実行するポッドを定義する必要があります。
タスク
以下の項目を完了してください:
* YAML形式のポッドマニフェストを作成する
/opt/KDPD00101/podl.yml は、次のコマンドライン引数を使用して、イメージ Ifccncf/arg-output を使用して app1cont という名前のコンテナを実行する app1 という名前のポッドを作成します: -lines 56 -F
* 前の手順で作成したYAMLファイルを使用して、kubect1コマンドでポッドを作成します。
* ポッドの実行中に、kubect1 コマンドを使用してポッドに関する概要データを JSON 形式で表示し、出力を /opt/KDPD00101/out1.json というファイルにリダイレクトします。
* 作業に必要なファイルはすべて空の状態で作成されており、便利です。

チームが Kubernetes 上でコンテナを実行する必要がある場合は、コンテナを実行するポッドを定義する必要があります。
タスク
以下の項目を完了してください:
* YAML形式のポッドマニフェストを作成する
/opt/KDPD00101/podl.yml は、次のコマンドライン引数を使用して、イメージ Ifccncf/arg-output を使用して app1cont という名前のコンテナを実行する app1 という名前のポッドを作成します: -lines 56 -F
* 前の手順で作成したYAMLファイルを使用して、kubect1コマンドでポッドを作成します。
* ポッドの実行中に、kubect1 コマンドを使用してポッドに関する概要データを JSON 形式で表示し、出力を /opt/KDPD00101/out1.json というファイルにリダイレクトします。
* 作業に必要なファイルはすべて空の状態で作成されており、便利です。

CKAD 試験問題 3
コンテクスト

Web アプリケーションでは、キャッシュとして特定のバージョンの Redis を使用する必要があります。
タスク
次の特性を持つポッドを作成し、完了したら実行したままにします。
* ポッドは Web 名前空間で実行する必要があります。
名前空間はすでに作成されています
* ポッドの名前はcacheにする必要があります
* 3.2タグ付きのIfccncf/redisイメージを使用する
* ポート6379を公開する

Web アプリケーションでは、キャッシュとして特定のバージョンの Redis を使用する必要があります。
タスク
次の特性を持つポッドを作成し、完了したら実行したままにします。
* ポッドは Web 名前空間で実行する必要があります。
名前空間はすでに作成されています
* ポッドの名前はcacheにする必要があります
* 3.2タグ付きのIfccncf/redisイメージを使用する
* ポート6379を公開する
CKAD 試験問題 4
別紙を参照してください。

構成コンテキストの設定:
[学生@ノード-1] $ | kubectl
使用コンテキスト k8s の設定
コンテクスト
ポーラー ポッド内のコンテナーは、ポート 90 で nginxsvc サービスに接続するようにハードコードされています。このポートが 5050 に変更されると、この新しいポートに接続するようにコンテナーを適応させる追加のコンテナーをポーラー ポッドに追加する必要があります。これは、ポッド内のアンバサダー コンテナーとして実現する必要があります。
タスク
* nginxsvc サービスを更新して、ポート 5050 でサービスを提供します。
* ポート 90 にバインドされた haproxy という名前の HAproxy コンテナーをポーラー ポッドに追加し、拡張ポッドをデプロイします。イメージ haproxy を使用して、/opt/KDMC00101/haproxy.cfg にある構成を、haproxy-config という名前の ConfigMap とともにコンテナーにマウントして、haproxy.cfg が /usr/local/etc/haproxy/haproxy.cfg で使用できるようにします。接続が新しいサービス エンドポイントに正しくプロキシされるように、ポーラー コンテナーの args を更新して、nginxsvc ではなく localhost に接続するようにしてください。ポーラーの args でエンドポイントのポートを変更しないでください。最初のポーラー ポッドを作成するために使用された仕様ファイルは、/opt/KDMC00101/poller.yaml にあります。

構成コンテキストの設定:
[学生@ノード-1] $ | kubectl
使用コンテキスト k8s の設定
コンテクスト
ポーラー ポッド内のコンテナーは、ポート 90 で nginxsvc サービスに接続するようにハードコードされています。このポートが 5050 に変更されると、この新しいポートに接続するようにコンテナーを適応させる追加のコンテナーをポーラー ポッドに追加する必要があります。これは、ポッド内のアンバサダー コンテナーとして実現する必要があります。
タスク
* nginxsvc サービスを更新して、ポート 5050 でサービスを提供します。
* ポート 90 にバインドされた haproxy という名前の HAproxy コンテナーをポーラー ポッドに追加し、拡張ポッドをデプロイします。イメージ haproxy を使用して、/opt/KDMC00101/haproxy.cfg にある構成を、haproxy-config という名前の ConfigMap とともにコンテナーにマウントして、haproxy.cfg が /usr/local/etc/haproxy/haproxy.cfg で使用できるようにします。接続が新しいサービス エンドポイントに正しくプロキシされるように、ポーラー コンテナーの args を更新して、nginxsvc ではなく localhost に接続するようにしてください。ポーラーの args でエンドポイントのポートを変更しないでください。最初のポーラー ポッドを作成するために使用された仕様ファイルは、/opt/KDMC00101/poller.yaml にあります。
CKAD 試験問題 5
展示する:

コンテクスト
ポッドはクラスター上で実行されていますが、応答していません。
タスク
望ましい動作は、エンドポイントが /healthz エンドポイントで HTTP 500 を返したときに、Kubemetes がポッドを再起動することです。サービスであるプローブポッドは、ポッドが失敗している間はトラフィックを送信してはなりません。以下を完了してください。
* アプリケーションにはエンドポイント /started があり、HTTP 200 を返すことでトラフィックを受け入れることができるかどうかを示します。エンドポイントが HTTP 500 を返す場合、アプリケーションの初期化はまだ完了していません。
* アプリケーションには別のエンドポイント /healthz があり、HTTP 200 を返すことでアプリケーションが期待どおりに動作しているかどうかを示します。エンドポイントが HTTP 500 を返す場合、アプリケーションは応答しなくなります。
* これらのエンドポイントを使用するために提供されたプローブポッドポッドを構成する
* プローブはポート8080を使用する必要があります

コンテクスト
ポッドはクラスター上で実行されていますが、応答していません。
タスク
望ましい動作は、エンドポイントが /healthz エンドポイントで HTTP 500 を返したときに、Kubemetes がポッドを再起動することです。サービスであるプローブポッドは、ポッドが失敗している間はトラフィックを送信してはなりません。以下を完了してください。
* アプリケーションにはエンドポイント /started があり、HTTP 200 を返すことでトラフィックを受け入れることができるかどうかを示します。エンドポイントが HTTP 500 を返す場合、アプリケーションの初期化はまだ完了していません。
* アプリケーションには別のエンドポイント /healthz があり、HTTP 200 を返すことでアプリケーションが期待どおりに動作しているかどうかを示します。エンドポイントが HTTP 500 を返す場合、アプリケーションは応答しなくなります。
* これらのエンドポイントを使用するために提供されたプローブポッドポッドを構成する
* プローブはポート8080を使用する必要があります