機械翻訳について

OCIクラスタからKubernetesマイナー・リリースへのアップグレード

OCIクラスタを次のKubernetesマイナー・リリースにアップグレードします。

OCIで実行され、ociプロバイダを使用して作成されたクラスタの場合、OCKイメージがそのバージョンで使用可能になったときに、Kubernetesクラスタを次のマイナーKubernetesバージョンにアップグレードします。 これにより、KubernetesクラスタAPIを使用してノードをスケール・インおよびスケール・アウトできます。 ノードが再プロビジョニングされないインプレース・アップグレードを実行するには、「Kubernetesマイナー・リリースへのアップグレード」のステップを使用します。

  1. 管理クラスタのロケーションを設定します。

    管理クラスタには、KubernetesクラスタAPIコントローラが含まれます。 管理クラスタは、ワークロード・クラスタと同じである場合があります。 アップグレードは、管理クラスタを使用して実行されます。

    環境変数を使用して、kubeconfigファイルのロケーションを管理クラスタに設定します。 たとえば:

    export KUBECONFIG=$(ocne cluster show --cluster-name cluster-name)

    cluster_nameを管理クラスタの名前に置き換えます。

  2. ターゲットのKubernetesバージョンを設定します。

    ocne cluster stageコマンドを使用して、ターゲットのKubernetesバージョンをステージングします。 このコマンドを使用してワークロード・クラスタを作成するために使用する構成ファイルを使用します。 次の構文を使用します:

    ocne cluster stage 
    [{-c|--config} path] 
    [{-r|--os-registry} registry]
    [{-t|--transport} transport]
    {-v|--version} version

    構文オプションの詳細は、Oracle Cloud Native Environment: CLIを参照してください。

    たとえば:

    ocne cluster stage --version 1.32 --config mycluster.yaml

    更新されたKubernetesマイナー・バージョンを含むOCKイメージが作成され、OCIオブジェクト・バケット・ストアにアップロードされてから、カスタム・イメージに変換されます。

    このコマンドの出力には、重要な情報が出力されます。 たとえば、出力は次のようになります:

    To update KubeadmControlPlane ocne-control-plane in ocne, run:
        kubectl patch -n ocne kubeadmcontrolplane ocne-control-plane --type=json -p='[{"op":"replace","path":"/spec/version","value":"1.32.5"},{"op":"replace","path":"/spec/machineTemplate/infrastructureRef/name","value":"ocne-control-plane-1"},{"op":"add","path":"/spec/kubeadmConfigSpec/joinConfiguration/patches","value":{"directory":"/etc/ocne/ock/patches"}}]'
    
    To update MachineDeployment ocne-md-0 in ocne, run:
        kubectl patch -n ocne machinedeployment ocne-md-0 --type=json -p='[{"op":"replace","path":"/spec/template/spec/version","value":"1.32.5"},{"op":"replace","path":"/spec/template/spec/infrastructureRef/name","value":"ocne-md-1"}]'
  3. コントロール・プレーン・ノードのKubeadmControlPlaneにパッチを適用します。

    kubectl patchコマンドを使用して、KubeadmControlPlaneを更新します。 ocne cluster stageコマンドの出力に出力されたコマンドを使用します。 たとえば:

     kubectl patch -n ocne kubeadmcontrolplane ocne-control-plane --type=json -p='[{"op":"replace","path":"/spec/version","value":"1.32.5"},{"op":"replace","path":"/spec/machineTemplate/infrastructureRef/name","value":"ocne-control-plane-1"},{"op":"add","path":"/spec/kubeadmConfigSpec/joinConfiguration/patches","value":{"directory":"/etc/ocne/ock/patches"}}]'
  4. コントロール・プレーン・ノードがアップグレードされるまで待機します。

    コントロール・プレーン・ノードは、新しいバージョンのKubernetesを使用して、新しいOCKイメージを使用して再プロビジョニングされます。 これには時間がかかる場合があります。

    ヒント:

    次のものを使用して、新しいノードをモニターし、古いノードを削除しています:

     kubectl --namespace namespace get machine

    ワークロード・クラスタですべてのノードが更新されていることを確認します。 環境変数を使用して、kubeconfigファイルのロケーションをワークロード・クラスタに設定します。 たとえば:

    export KUBECONFIG=$(ocne cluster show --cluster-name cluster-name)

    cluster_nameをワークロード・クラスタの名前に置き換えます。

    クラスタ内のノードをリストし、VERSION列に新しいKubernetesバージョン番号がリストされていることを確認します。

    kubectl get nodes
  5. ワーカー・ノードのMachineDeploymentを更新します。

    kubeconfigファイルのロケーションを管理クラスタに設定します。 たとえば:

    export KUBECONFIG=$(ocne cluster show --cluster-name cluster-name)

    cluster_nameを管理クラスタの名前に置き換えます。

    kubectl patchコマンドを使用して、ワーカー・ノードのMachineDeploymentを更新します。 ocne cluster stageコマンドの出力に出力されたコマンドを使用します。 たとえば:

    kubectl patch -n ocne machinedeployment ocne-md-0 --type=json -p='[{"op":"replace","path":"/spec/template/spec/version","value":"1.32.5"},{"op":"replace","path":"/spec/template/spec/infrastructureRef/name","value":"ocne-md-1"}]'
  6. ワーカー・ノードが更新されるまで待機します。

    ワーカー・ノードは、新しいバージョンのKubernetesを使用して、新しいOCKイメージを使用して再プロビジョニングされます。 これには時間がかかる場合があります。

  7. Kubernetesがアップグレードされたことを確認します。

    ワークロード・クラスタですべてのノードが更新されていることを確認します。 環境変数を使用して、kubeconfigファイルのロケーションをワークロード・クラスタに設定します。 たとえば:

    export KUBECONFIG=$(ocne cluster show --cluster-name cluster-name)

    cluster_nameをワークロード・クラスタの名前に置き換えます。

    クラスタ内のノードをリストし、VERSION列に新しいKubernetesバージョン番号がリストされていることを確認します。

    kubectl get nodes