ワーカー・ノードにサポートされているイメージ(カスタム・イメージを含む)およびシェイプ
Container Engine for Kubernetes (OKE)によって作成されたクラスタのワーカー・ノードに指定できるイメージおよびシェイプについて学習します。
次のように指定することで、クラスタ内のワーカー・ノードを構成できます。
- ワーカー・ノードに使用するオペレーティング・システム・イメージ(管理対象ノードおよび自己管理ノードのみ)。このイメージは、ワーカー・ノードのオペレーティング・システムおよびその他のソフトウェアを決定する仮想ハード・ドライブのテンプレートです。
-
ワーカー・ノード(管理対象ノード、自己管理ノードおよび仮想ノード)に使用するシェイプ。シェイプは、ワーカー・ノードとして使用される、新しく作成される各インスタンスに割り当てるCPUの数とメモリー量です。
このトピックでは、Container Engine for Kubernetesでサポートされている、Oracle Cloud Infrastructureで提供されるイメージおよびシェイプについて説明します。一部のシェイプは、特定のテナンシで使用できない場合があることに注意してください。
管理対象ノードでサポートされるイメージ
Container Engine for Kubernetesでは、Oracle Cloud Infrastructureで提供される最新のOracle Linuxイメージの一部(すべてではない)を使用したワーカー・ノード(管理対象ノードのみ)のプロビジョニングがサポートされています。
管理対象ノードのプロビジョニング時には、次のOracle Linuxイメージを使用できます。
Container Engine for Kubernetesでサポートされているイメージを表示するには:
- コンソールを使用してカスタム作成ワークフローでクラスタを作成する場合は、「すべてのイメージの参照」ウィンドウで、サポートされているプラットフォーム・イメージおよびOKEイメージのリストを表示します。
- CLIを使用する場合は、次のように入力して、サポートされているプラットフォーム、OKEおよびカスタム・イメージを(レスポンスの
data: sources:
セクションで)確認します:oci ce node-pool-options get --node-pool-option-id all
- 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以降を実行しているノード・プールでは、Container Engine for KubernetesによってCRI-Oコンテナ・ランタイムおよびcrictl CLIがインストールおよび使用されます(詳細は、Container Engine for Kubernetesサポートfor Kubernetesバージョン1.20に関するノートを参照)。
OKEイメージ
OKEイメージは、Oracleによって提供され、プラットフォーム・イメージの上に構築されます。OKEイメージは、必要なすべての構成および必要なソフトウェアとともに、管理対象ノードのベース・イメージとして使用するように最適化されます。クラスタおよびノード・プールを作成および更新するときに、管理対象ノードのベース・イメージとしてOKEイメージを選択できます。OKEイメージを使用すると、プラットフォーム・イメージおよびカスタム・イメージと比較して、実行時の管理対象ノードのプロビジョニングにかかる時間が最小化されます。OKEイメージを使用すると、プラットフォーム・イメージと比較して、管理対象ノードのプロビジョニング時間が半分以上短縮されます。
Container Engine for Kubernetesで現在サポートされている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オペレーティング・システムのみが含まれます。管理対象ノードをホストしているコンピュート・インスタンスが初めて起動すると、Container Engine for Kubernetesは必要なソフトウェアをダウンロード、インストールおよび構成します。
Container Engine for Kubernetesで現在サポートされているプラットフォーム・イメージを表示するには:
- コンソールを使用してカスタム作成ワークフローでクラスタを作成する場合は、「すべてのイメージの参照」ウィンドウで「イメージ・ソース」として「プラットフォーム・イメージ」を選択し、サポートされているプラットフォーム・イメージのリストを表示します。
- 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オペレーティング・システム、およびイメージの作成時に存在していたその他のカスタマイズ、構成およびソフトウェアが含まれます。
Container Engine for Kubernetesがノード・プールで管理対象ノードをプロビジョニングするために使用するイメージを指定する場合、oci ce node-pool-options get --node-pool-option-id all
コマンドによって返される明示的にサポートされているOracle Linuxイメージのいずれかではなく、独自のカスタム・イメージを指定できます。カスタム・イメージからプロビジョニングされた管理対象ノードには、イメージ内のカスタマイズ、構成およびソフトウェアが含まれます。Container Engine for Kubernetesでは、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
カスタム・イメージを使用する場合は、次の考慮事項に注意してください:
- Container Engine for Kubernetesはカスタム・イメージの上にKubernetesをインストールし、Kubernetesまたはインストール・ソフトウェアは特定のカーネル構成を変更する可能性があります。
- カスタム・イメージはyumリポジトリ(パブリックまたは内部)にアクセスできる必要があります。
- 最適なサポートを得るには、必ず最新のベース・イメージからカスタム・イメージを作成してください。
- OKEイメージをカスタム・イメージのベースとして使用する場合、OKEイメージは特定のKubernetesバージョンおよびCPUアーキテクチャ用に構築されることに注意してください。カスタム・イメージのベースとして使用するOKEワーカー・ノード・イメージの詳細(OCIDsを含む)を表示するには、イメージ・リリース・ノートを参照してください。
カスタム・イメージおよびOracle Cloud Infrastructureの詳細は、カスタム・イメージの管理を参照してください。
管理対象ノードおよび仮想ノードでサポートされるシェイプ
Container Engine for Kubernetesでは、Oracle Cloud Infrastructureで提供される多くの(すべてではない)シェイプを使用したワーカー・ノード(管理対象ノードと仮想ノードの両方)のプロビジョニングがサポートされています。詳細は次のとおりです:
- 管理対象ノード:
- 管理対象ノードに対してサポート: フレキシブル・シェイプ。ただし、バースト可能なインスタンスを作成するためのフレキシブル・シェイプ(VM.Standard.E3など)は除きます。Flex); ベア・メタル・シェイプ(標準シェイプおよびGPUシェイプを含む)、HPCシェイプ(RDMAネットワークを除く)、VMシェイプ(標準シェイプおよびGPUシェイプを含む)、Dense I/Oシェイプ。
サポートされているGPUシェイプのリストは、Container Engine for KubernetesでサポートされているGPUシェイプを参照してください。
- サポートされていません: 専用VMホスト・シェイプ、マイクロVMシェイプ、RDMAネットワークのベア・メタル・インスタンス上のHPCシェイプ、バースト可能なインスタンスを作成するためのフレキシブル・シェイプ(VM.Standard.E3など)。フレックス)。
- 管理対象ノードに対してサポート: フレキシブル・シェイプ。ただし、バースト可能なインスタンスを作成するためのフレキシブル・シェイプ(VM.Standard.E3など)は除きます。Flex); ベア・メタル・シェイプ(標準シェイプおよびGPUシェイプを含む)、HPCシェイプ(RDMAネットワークを除く)、VMシェイプ(標準シェイプおよびGPUシェイプを含む)、Dense I/Oシェイプ。
- 仮想ノード:
- 仮想ノードに対してサポート: Pod.Standard.A1。フレックス、Pod.Standard.E3。フレックス、Pod.Standard.E4。フレックス
- サポート対象外: 他のすべてのシェイプ。
サービス制限およびコンパートメント割当てが原因で、Container Engine for Kubernetesでサポートされていても、特定のテナンシで一部のシェイプを選択できない場合があります。
Container Engine for Kubernetesでサポートされており、テナンシで使用可能なシェイプを表示するには:
- コンソールを使用してカスタム作成ワークフローでクラスタを作成する場合は、「すべてのシェイプの参照」ウィンドウで、サポートされているシェイプのリストを表示します。
- CLIを使用する場合は、次のように入力して、サポートされているシェイプを(レスポンスの
data: shapes:
セクションで)確認します:oci ce node-pool-options get --node-pool-option-id all
コンピュート・サービスの「コンソール」ページ(またはコンピュート・サービスのCLIまたはAPI)を使用して、作成後にワーカー・ノードのシェイプを変更できる場合があります。ただし、Container Engine for Kubernetesでは、「すべてのシェイプの参照」ウィンドウに表示されるシェイプまたはoci ce node-pool-options get --node-pool-option-id all
コマンドによって返されるシェイプのみがサポートされることに注意してください。
Oracle Cloud Infrastructureで提供されるすべてのシェイプの詳細は、コンピュート・シェイプを参照してください。
自己管理ノードでサポートされるイメージおよびシェイプ
Container Engine for Kubernetesでは、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)のいずれかのイメージを選択したら、「シェイプの変更」をクリックして、「すべてのシェイプの参照」ウィンドウで、サポートされているシェイプのリストを表示します。