1.3 ランタイム・クラスの設定

Kubernetesランタイム・クラスを作成して、コンテナをデフォルト・ランタイムruncとして実行するかkata-runtimeを使用して実行するかを指定できます。このドキュメント内の例では、名前nativeを使用してruncの使用を指定し、名前kata-containersを使用してkata-runtimeの使用を指定しています。任意の名前を使用できます。

ランタイム・クラスを作成するには、次の手順を実行します。

  1. Kata Containers用ランタイム・クラスのファイルを、kata-runtime.yamlという名前を付け、次の内容を含めて作成します。

    kind: RuntimeClass
    apiVersion: node.k8s.io/v1beta1
    metadata:
        name: kata-containers
    handler: kata

    Kubernetesデプロイメントにそのランタイム・クラスをロードします。

    $ kubectl apply -f kata-runtime.yaml

    これで、ランタイム・クラスkata-containersをポッド構成ファイル内で使用して、コンテナをkata-containersランタイムの使用によってKataコンテナとして実行するように指定できます。このランタイム・クラスを使用してポッドを作成する例については、3.3項のKataコンテナの作成を参照してください。

  2. (オプション) runcのランタイムを指定する必要がある場合は、同様の方法でそれを実行できます。これは必要に応じて行う構成手順です。runcはデフォルトのランタイムであるため、別途指定しないかぎり、ポッドは、自動的にruncを使用して実行されます。このファイルの名前はrunc-runtime.yamlです。

    kind: RuntimeClass
    apiVersion: node.k8s.io/v1beta1
    metadata:
        name: native
    handler: runc 

    Kubernetesデプロイメントにそのランタイム・クラスをロードします。

    $ kubectl apply -f runc-runtime.yaml

    ランタイム・クラスnativeをポッド構成ファイル内で使用して、コンテナをruncランタイムの使用によってrunCコンテナとして実行するように指定できます。

  3. kubectl get runtimeclassを使用すると、Kubernetesクラスタ用の使用可能なランタイム・クラスの一覧を表示できます。例:

    $ kubectl get runtimeclass
    NAME              CREATED AT
    kata-containers   2019-09-11T06:48:12Z
    native            2019-09-11T07:08:56Z