機械翻訳について

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

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

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

  1. OCKイメージを作成します。

    更新されたKubernetesバージョンを含む新しいOCKイメージを作成してアップロードします。 OCKイメージの作成の詳細は、「Oracle Linux Virtualization ManagerプロバイダのOCKイメージの作成」を参照してください。

  2. VMテンプレートを作成します。

    新しいOCKイメージを使用するVMテンプレートを作成します。 これは、更新されたバージョンのKubernetesを使用して新しいVMを作成するために使用されます。 VMテンプレートの作成の詳細は、「Oracle Linux Virtualization Manager VMテンプレートの作成」を参照してください。

  3. クラスタ構成ファイルを編集します。

    Kubernetesクラスタの作成に使用するクラスタ構成ファイルを編集します。 新しいVMテンプレート名と一致するようにvmTemplateNameエントリを変更します。 controlPlaneMachineセクションとworkerMachineセクションの両方で、このエントリを変更します。 たとえば:

    providers:
      olvm:
    ...
        controlPlaneMachine:
          vmTemplateName: ock-1.32
    ...
        workerMachine:
          vmTemplateName: ock-1.32
    ...
  4. 管理クラスタのロケーションを設定します。

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

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

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

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

  5. ターゲットの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

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

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

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

     kubectl patch -n olvm-cluster kubeadmcontrolplane ocne-control-plane --type=json -p='[{"op":"replace","path":"/spec/version","value":"1.32.0"},{"op":"replace","path":"/spec/machineTemplate/infrastructureRef/name","value":"ocne-control-plane-1"}]'

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

    ヒント:

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

     kubectl --namespace namespace get machine

    Oracle Linux Virtualization Managerコンソールを使用して、作成および破棄されているVMを監視することもできます。

  7. コントロール・プレーン・ノードがアップグレードされていることを確認します。

    ワークロード・クラスタ内のすべてのノードがアップグレードされていることを確認します。 別の端末で、環境変数を使用して、kubeconfigファイルのロケーションをワークロード・クラスタに設定します。

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

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

    クラスタ内のノードをリストします。

    kubectl get nodes

    VERSION列に新しいKubernetesバージョン番号がリストされていることを確認します。

  8. ワーカー・ノードのMachineDeploymentを更新します。

    kubeconfigが管理クラスタに設定されているターミナルで、kubectl patchコマンドを使用してワーカー・ノードのMachineDeploymentを更新します。 ocne cluster stageコマンドの出力に出力されるコマンドを使用します。 たとえば:

    kubectl patch -n olvm-cluster machinedeployment ocne-md-0 --type=json -p='[{"op":"replace","path":"/spec/template/spec/version","value":"1.32.0"},{"op":"replace","path":"/spec/template/spec/infrastructureRef/name","value":"ocne-md-1"}]'

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

  9. ワーカー・ノードがアップグレードされたことを確認します。

    ワークロード・クラスタですべてのワーカー・ノードがアップグレードされていることを確認します。 kubeconfigがワークロード・クラスタに設定されている別の端末で、クラスタ内のノードをリストします。

    kubectl get nodes

    VERSION列に新しいKubernetesバージョン番号がリストされていることを確認します。