オリジナル問題 LinuCレベル3 プラットフォームスペシャリスト試験 問題 問2
コンテナ技術の利用/コンテナの基本原理と内部構造コンテナランタイムにおける「高レベルランタイム」(containerdやCRI-O等)と「低レベルランタイム」(runcやcrun等)の役割分担として適切なものはどれか。
出典:オリジナル問題 LinuCレベル3 プラットフォームスペシャリスト試験 問題 問2
- A高レベルランタイムはイメージの取得・管理やコンテナのライフサイクル管理、上位のAPI(Kubernetes等との連携)を担当し、低レベルランタイムはOCIランタイム仕様にもとづいて名前空間やcgroupsを使い実際にコンテナプロセスを生成する
- B高レベルランタイムと低レベルランタイムは同じ処理を並行して行う冗長構成である
- C高レベルランタイムはカーネル内で動作し、低レベルランタイムはユーザー空間で動作する
- D低レベルランタイムがイメージのビルドを行い、高レベルランタイムはコンテナの実行のみを行う
正解:A
解説
高レベルランタイム(containerd、CRI-O等)は、イメージの取得・管理、コンテナのライフサイクル管理、KubernetesのCRI(Container Runtime Interface)等の上位APIとの連携を担当します。実際にOCI(Open Container Initiative)ランタイム仕様にもとづいて、名前空間やcgroupsを使いコンテナプロセスを生成するのは、runcやcrunなどの低レベルランタイムの役割です。高レベルランタイムは低レベルランタイムを呼び出して実際の生成処理を委譲します。
選択肢ごとの解説
- A正しい。高レベルランタイムはイメージ管理・ライフサイクル管理・上位APIを担当し、低レベルランタイムが実際のコンテナプロセス生成を担当します。
- B誤り。高レベルランタイムと低レベルランタイムは役割が異なる階層構造であり、同じ処理を並行して行う冗長構成ではありません。
- C誤り。高レベル・低レベルいずれもユーザー空間で動作するプロセスであり、カーネル内で動作するわけではありません。
- D誤り。イメージのビルドはdocker build等の別のツールの役割で、低レベルランタイム(runc等)の役割ではありません。