過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト コンテナ技術の利用 問2

コンテナ技術の利用/コンテナの基本原理と内部構造

コンテナランタイムにおける「高レベルランタイム」(containerdやCRI-O等)と「低レベルランタイム」(runcやcrun等)の役割分担として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「コンテナ技術の利用」に対応。実際の試験問題ではありません)

正解:B

解説

高レベルランタイム(containerd、CRI-O等)は、イメージの取得・管理、コンテナのライフサイクル管理、KubernetesのCRI(Container Runtime Interface)等の上位APIとの連携を担当します。実際にOCI(Open Container Initiative)ランタイム仕様にもとづいて、名前空間やcgroupsを使いコンテナプロセスを生成するのは、runcやcrunなどの低レベルランタイムの役割です。高レベルランタイムは低レベルランタイムを呼び出して実際の生成処理を委譲します。

選択肢ごとの解説

  • A誤り。名前空間やcgroupsを操作して実際にプロセスを生成するのが低レベルランタイム、CRI連携やイメージ取得が高レベルランタイムで、役割が逆です。
  • B正しい。高レベルランタイムがイメージ管理・ライフサイクル管理・上位APIを担い、低レベルランタイムが実際のプロセス生成を担当します。
  • C誤り。高レベル・低レベルのいずれもユーザー空間のプロセスであり、カーネルモジュールとして動作するものではありません。
  • D誤り。両者は同じ階層の別実装ではなく、高レベルランタイムが低レベルランタイムを呼び出して処理を委譲する上下関係にあります。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く