ワーカー・ノードにサポートされているイメージ(カスタム・イメージを含む)およびシェイプ

Kubernetes Engine (OKE)によって作成されたクラスタ内のワーカー・ノードに指定できるイメージおよびシェイプについて学習します。

次のように指定することで、クラスタ内のワーカー・ノードを構成できます。

  • ワーカー・ノードに使用するオペレーティング・システム・イメージ(管理対象ノードおよび自己管理ノードのみ)。このイメージは、ワーカー・ノードのオペレーティング・システムおよびその他のソフトウェアを決定する仮想ハード・ドライブのテンプレートです。
  • ワーカー・ノード(管理対象ノード、自己管理ノードおよび仮想ノード)に使用するシェイプ。シェイプは、ワーカー・ノードとして使用される、新しく作成される各インスタンスに割り当てるCPUの数とメモリー量です。

このトピックでは、Kubernetes Engineでサポートされている、Oracle Cloud Infrastructureで提供されるイメージおよびシェイプについて説明します。一部のシェイプは、特定のテナンシで使用できない場合があることに注意してください。

管理対象ノードでサポートされるイメージ

Kubernetes Engineは、Oracle Cloud Infrastructureで提供される最新のOracle Linuxイメージの一部(すべてではない)を使用したワーカー・ノード(管理対象ノードのみ)のプロビジョニングをサポートします。

管理対象ノードのプロビジョニング時には、次のOracle Linuxイメージを使用できます。

Kubernetes Engineでサポートされているイメージを表示するには:

  • コンソールを使用して「カスタム作成」ワークフローでクラスタを作成する場合は、「すべてのイメージの参照」ウィンドウで、サポートされているプラットフォーム・イメージおよびOKEイメージのリストを表示します。
  • CLIを使用する場合は、次のように入力して、サポートされているプラットフォーム、OKEおよびカスタム・イメージを(レスポンスのdata: sources:セクションで)確認します:
    oci ce node-pool-options get --node-pool-option-id all
Oracle Linux 8イメージを使用する場合、次の点に注意してください:
  • Oracle Linux 8は、連邦コンピュータ・システムの標準およびガイドラインのセットであるFederal Information Processing Standards (FIPS)をサポートしています。Oracle Linux 8イメージを使用する場合、FIPSモードを有効にできます。詳細は、Oracle Linux 8ドキュメントのFIPSモードでのシステムの構成を参照してください。
  • Oracle Linux 8イメージを選択して、Kubernetes 1.20.x以降を実行しているノード・プールに管理対象ノードをプロビジョニングできます。
  • DockerはOracle Linux 8イメージに含まれていません。かわりに、Kubernetes 1.20.x以降を実行しているノード・プールでは、Kubernetes EngineによってCRI-Oコンテナ・ランタイムとcrictl CLIがインストールおよび使用されます(詳細は、Kubernetes EngineでのKubernetesバージョン1.20のサポートに関するノートを参照)。

OKEイメージ

OKEイメージは、Oracleによって提供され、プラットフォーム・イメージの上に構築されます。OKEイメージは、必要なすべての構成および必要なソフトウェアとともに、管理対象ノードのベース・イメージとして使用するように最適化されます。クラスタおよびノード・プールを作成および更新するときに、管理対象ノードのベース・イメージとしてOKEイメージを選択できます。OKEイメージを使用すると、プラットフォーム・イメージおよびカスタム・イメージと比較して、実行時の管理対象ノードのプロビジョニングにかかる時間が最小化されます。OKEイメージを使用すると、プラットフォーム・イメージと比較して、管理対象ノードのプロビジョニング時間が半分以上短縮されます。

Kubernetes Engineで現在サポートされているOKEイメージを表示するには:

  • コンソールを使用してカスタム作成ワークフローでクラスタを作成する場合は、「すべてのイメージの参照」ウィンドウで「イメージ・ソース」として「OKEイメージ」を選択し、サポートされているOKEイメージのリストを表示します。
  • CLIを使用する場合は、次のように入力して、サポートされているイメージを(レスポンスのdata: sources:セクションで)確認します:
    oci ce node-pool-options get --node-pool-option-id all

OKEイメージ名の形式は次のとおりです(図に示すように、イメージ名にOKEがあります)。

<platform-image-name>-OKE-<kubernetes-version>-<OKE-build-number>

例: Oracle-Linux-8.9-2024.01.26-0-OKE-1.29.1-679

OKEイメージ名には、含まれているKubernetesバージョンのバージョン番号が含まれていることに注意してください。ノード・プールを作成および更新するときにKubernetesバージョンを指定する場合、選択するOKEイメージのバージョン番号はノード・プールと同じである必要があります。

プラットフォーム・イメージ

プラットフォーム・イメージはOracleによって提供され、Oracle Linuxオペレーティング・システムのみが含まれます。管理対象ノードをホストしているコンピュート・インスタンスが初めて起動すると、Kubernetesエンジンは必要なソフトウェアをダウンロード、インストールおよび構成します。

Kubernetes Engineで現在サポートされているプラットフォーム・イメージを表示するには:

  • コンソールを使用してカスタム作成ワークフローでクラスタを作成する場合は、「すべてのイメージの参照」ウィンドウで「イメージ・ソース」として「プラットフォーム・イメージ」を選択し、サポートされているプラットフォーム・イメージのリストを表示します。
  • CLIを使用する場合は、次のように入力して、サポートされているイメージを(レスポンスのdata: sources:セクションで)確認します:
    oci ce node-pool-options get --node-pool-option-id all

    プラットフォーム・イメージ名には、CPUアーキテクチャ参照が含まれる場合と含まれない場合があります。また、OKEは含まれません。例:

    • Oracle-Linux-8.5-Gen2-GPU-2022.04.05-0
    • Oracle-Linux-7.9-2022.04.04-0

カスタム・イメージ

カスタム・イメージはユーザーが提供し、サポートされているプラットフォーム・イメージとOKEイメージの両方に基づくことができます。カスタム・イメージには、Oracle Linuxオペレーティング・システム、およびイメージの作成時に存在していたその他のカスタマイズ、構成およびソフトウェアが含まれます。

Kubernetes Engineがノード・プールで管理対象ノードをプロビジョニングするために使用するイメージを指定する場合、oci ce node-pool-options get --node-pool-option-id allコマンドによって返される明示的にサポートされているOracle Linuxイメージのいずれかではなく、独自のカスタム・イメージを指定できます。カスタム・イメージからプロビジョニングされた管理対象ノードには、イメージ内のカスタマイズ、構成およびソフトウェアが含まれます。Kubernetes Engineでは、oci ce node-pool-options getコマンドによって返されるOracle Linuxイメージの1つに基づくカスタム・イメージのみがサポートされていることに注意してください。

カスタム・イメージから管理対象ノードをプロビジョニングするには、ノード・プールの作成時にCLIまたはAPIを使用してカスタム・イメージのOCIDを指定する必要があります。たとえば、次のように、oci ce node-pool createコマンドを実行し、--node-image-idパラメータを使用してカスタム・イメージのOCIDを指定します:

oci ce node-pool create \
--cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaf______jrd \
--name my-custom-linux-image \
--node-image-id ocid1.image.oc1.iad.aaaaaaaa6______nha \
--compartment-id ocid1.compartment.oc1..aaaaaaaay______t6q \
--kubernetes-version v1.15.7 \
--node-shape VM.Standard2.1 \
--placement-configs "[{\"availability-domain\":\"IqDk:US-ASHBURN-AD-2\", \"capacityReservationId\":\"ocid1.capacityreservation.oc1.iad.anuwcljt2ah______yeq\", \"subnet-id\":\"ocid1.subnet.oc1.iad.aaaaaaaa2xpk______zva\", \"faultDomains\":[\"FAULT-DOMAIN-3\", \"FAULT-DOMAIN-1\"]}, {\"availability-domain\":\"IqDk:US-ASHBURN-AD-1\", \"subnet-id\":\"ocid1.subnet.oc1.iad.aaaaaaaauhls______bpq\", \"faultDomains\": [\"FAULT-DOMAIN-1\", \"FAULT-DOMAIN-2\"]}]" \
--size 1 \
--region=us-ashburn-1

カスタム・イメージを使用する場合は、次の考慮事項に注意してください:

  • Kubernetes Engineはカスタム・イメージの上にKubernetesをインストールし、Kubernetesまたはインストール・ソフトウェアが特定のカーネル構成を変更する可能性があります。
  • カスタム・イメージはyumリポジトリ(パブリックまたは内部)にアクセスできる必要があります。
  • 最適なサポートを得るには、必ず最新のベース・イメージからカスタム・イメージを作成してください。
  • OKEイメージをカスタム・イメージのベースとして使用する場合、OKEイメージは特定のKubernetesバージョンおよびCPUアーキテクチャ用に構築されることに注意してください。カスタム・イメージのベースとして使用するOKEワーカー・ノード・イメージの詳細(OCIDsを含む)を表示するには、イメージ・リリース・ノートを参照してください。
  • クラスタとは異なるテナンシのカスタム・イメージのOCIDを指定する場合は、適切なクロステナンシIAMポリシーを設定する必要があります。詳細は、管理対象ノード・プールの作成または更新時の他のテナンシでのカスタム・イメージへのアクセスを参照してください。

カスタム・イメージおよびOracle Cloud Infrastructureの詳細は、カスタム・イメージの管理を参照してください。

管理対象ノードおよび仮想ノードでサポートされるシェイプ

Kubernetes Engineは、Oracle Cloud Infrastructureで提供される多くの(すべてではない)シェイプを使用したワーカー・ノード(管理対象ノードと仮想ノードの両方)のプロビジョニングをサポートしています。詳細は次のとおりです:

  • 管理対象ノード:
    • 管理対象ノードに対してサポート: フレキシブル・シェイプ。ただし、バースト可能なインスタンスを作成するためのフレキシブル・シェイプ(VM.Standard.E3など)は除きます。Flex); ベア・メタル・シェイプ(標準シェイプおよびGPUシェイプを含む)、HPCシェイプ(RDMAネットワークを除く)、VMシェイプ(標準シェイプおよびGPUシェイプを含む)、Dense I/Oシェイプ。

      サポートされているGPUシェイプのリストは、Kubernetes Engine (OKE)でサポートされているGPUシェイプを参照してください。

    • サポートされていません: 専用VMホスト・シェイプ、マイクロVMシェイプ、RDMAネットワークのベア・メタル・インスタンス上のHPCシェイプ、バースト可能なインスタンスを作成するためのフレキシブル・シェイプ(VM.Standard.E3など)。フレックス)。
  • 仮想ノード:
    • 仮想ノードに対してサポート: Pod.Standard.A1。フレックス、Pod.Standard.E3。フレックス、Pod.Standard.E4。フレックス
    • サポート対象外: 他のすべてのシェイプ。

サービス制限およびコンパートメント割当てが原因で、Kubernetesエンジンでサポートされているにもかかわらず、特定のテナンシで一部のシェイプを選択できない場合があります。

Kubernetes Engineでサポートされており、テナンシで使用可能なシェイプを表示するには:

  • コンソールを使用してカスタム作成ワークフローでクラスタを作成する場合は、「すべてのシェイプの参照」ウィンドウで、サポートされているシェイプのリストを表示します。
  • CLIを使用する場合は、次のように入力して、サポートされているシェイプを(レスポンスのdata: shapes:セクションで)確認します:
    oci ce node-pool-options get --node-pool-option-id all

コンピュート・サービスの「コンソール」ページ(またはコンピュート・サービスのCLIまたはAPI)を使用して、作成後にワーカー・ノードのシェイプを変更できる場合があります。ただし、Kubernetes Engineは、「すべてのシェイプの参照」ウィンドウに表示されるシェイプまたはoci ce node-pool-options get --node-pool-option-id allコマンドによって返されるシェイプのみをサポートすることに注意してください。

Oracle Cloud Infrastructureで提供されるすべてのシェイプの詳細は、コンピュート・シェイプを参照してください。

自己管理ノードでサポートされるイメージおよびシェイプ

Kubernetes Engineは、Oracle Cloud Infrastructureで提供されるイメージおよびシェイプの一部(すべてではない)を使用した自己管理ノードのプロビジョニングをサポートしています。詳細は次のとおりです:

  • 自己管理ノードでサポートされるイメージ:自己管理ノードをホストするコンピュート・インスタンスに対して選択するイメージは、OKE Oracle Linux 7 (OL7)またはOracle Linux 8 (OL8)イメージのいずれかであり、イメージのリリース日は2023年3月28日以降である必要があります。イメージ要件を参照してください。
  • 自己管理ノードでサポートされるシェイプ:自己管理ノードをホストするコンピュート・インスタンスに対して選択できるシェイプは、コンピュート・インスタンスに対して選択したOKE Oracle Linux 7 (OL7)またはOracle Linux 8 (OL8)イメージによって決まります。サービス制限およびコンパートメント割当てが原因で、OKEイメージでサポートされていても、特定のテナンシで一部のシェイプを選択できない場合があります。

    特定のOKEイメージについてテナンシで使用可能なサポートされているシェイプを表示するには、自己管理ノードの作成の手順に従って、コンソールを使用して自己管理ノードをホストする新しいコンピュート・インスタンスを作成します。OKE Oracle Linux 7 (OL7)またはOracle Linux 8 (OL8)のいずれかのイメージを選択したら、「シェイプの変更」をクリックして、「すべてのシェイプの参照」ウィンドウで、サポートされているシェイプのリストを表示します。