機械翻訳について

ノードのアップグレード

Kubernetesノードをリリース1からリリース2にアップグレードします。

クラスタ内の各ノードについて、次のステップを実行してリリース1からリリース2にアップグレードします。

重要:

コントロール・プレーン・ノードを最初にアップグレードし、次にワーカー・ノードをアップグレードする必要があります。

ノードの準備

リリース1のクラスタからKubernetesノードを削除し、リリース2のイグニッション構成を使用してそれらを再度追加します。

  1. kubeconfigファイルのロケーションを設定します。
    リリース1のkubeconfigファイルのロケーションをKUBECONFIG環境変数として設定します。 たとえば:
    export KUBECONFIG=~/.kube/kubeconfig.mycluster

    重要:

    Kubernetes構成ファイルは、リリース1クラスタの名前(Kubernetesモジュール名)として保存する必要があります。

  2. ノード名を検索します。

    クラスタでアップグレードするノードの名前を検索します。

    kubectl get nodes
  3. ノード名を設定します。

    ノード名を環境変数として設定します。

    export TARGET_NODE=nodename
  4. ノードをドレインします。

    kubectl drainコマンドを使用して、ノードをドレインします。

    コントロール・プレーン・ノードの場合は、次を使用します:

    kubectl drain $TARGET_NODE --ignore-daemonsets

    ワーカー・ノードの場合は、次を使用します:

    kubectl drain $TARGET_NODE --ignore-daemonsets --delete-emptydir-data
  5. ノードをリセットします。

    ocne cluster consoleコマンドを使用して、ノードをリセットします。 次の構文を使用します:

    ocne cluster console 
    [{-d|--direct}]
    {-N|--node} nodename
    [{-t|--toolbox}]
    [-- command] 

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

    たとえば:

    ocne cluster console --node $TARGET_NODE --direct -- kubeadm reset -f
  6. ノードをクラスタに戻します。
    1. ノードがコントロール・プレーン・ノードの場合:

      コントロール・プレーン・ノードを追加する場合は、暗号化された証明書バンドルと結合トークンの2つのものを作成する必要があります。

      次のコマンドを実行して、コントロール・プレーン・ノードのOSコンソールに接続し、証明書バンドルを作成します:

      ocne cluster console --node control_plane_name --direct -- kubeadm init phase upload-certs --certificate-key certificate-key --upload-certs

      control_plane_nameを、リリース1クラスタで実行されているコントロール・プレーン・ノードに置き換えます。

      重要:

      これはターゲット・ノードではなく、kubeadm initコマンドの実行に使用される別のコントロール・プレーン・ノードです。

      certificate-keyを、ocne cluster joinコマンドを使用してコントロール・プレーン・ノードのイグニッション情報を生成したときに表示される出力に置き換えます。

      次のコマンドを実行して、結合トークンを作成します:

      ocne cluster console --node control_plane_name --direct -- kubeadm token create token

      control_plane_nameを、リリース1クラスタで実行されているコントロール・プレーン・ノードに置き換えます。

      「トークン」を、ocne cluster joinコマンドを使用してコントロール・プレーン・ノードのイグニッション情報を生成したときに表示される出力に置き換えます。

      重要:

      トークンが24時間以上前に生成された場合は、有効期限が切れている可能性があり、Ignitionファイルを再生成する必要があります。これにより、新しいトークンも生成されます。

      kubectl get nodesコマンドを使用して、コントロール・プレーン・ノードがクラスタに追加されていることを確認します。 これにはしばらく時間がかかる場合があります。

      kubectl get nodes
    2. ノードがワーカー・ノードの場合:

      ワーカー・ノードを追加する場合は、結合トークンを作成する必要があります。 次のコマンドを実行して、コントロール・プレーン・ノードのOSコンソールに接続し、このステップを実行します:

      ocne cluster console --node control_plane_name --direct -- kubeadm token create token

      control_plane_nameを、リリース1クラスタで実行されているコントロール・プレーン・ノードに置き換えます。

      「トークン」を、ocne cluster joinコマンドを使用してワーカー・ノードのIgnition情報が生成されたときに表示される出力に置き換えます。

      重要:

      トークンが24時間以上前に生成された場合は、有効期限が切れている可能性があり、Ignitionファイルを再生成する必要があります。これにより、新しいトークンも生成されます。

      kubectl get nodesコマンドを使用して、ワーカー・ノードがクラスタに追加されていることを確認します。 これにはしばらく時間がかかる場合があります。

      kubectl get nodes

ディスクの交換

Oracle Linux Virtualization Managerブート・ディスクを交換し、構成ディスクをVMに追加し、再起動してリリース2イメージをインストールします。 次に、ノードはリリース2イメージを実行し、Kubernetesクラスタに再度追加されます。

  1. Oracle Linux Virtualization Managerコンソールにサインインします。
  2. VMを停止します。
  3. 既存のブート・ディスクを削除します。
  4. OCKディスクを接続します。

    クローニングされたOCKイメージ・ディスクのいずれかをVMに接続します。 bootable=trueオプションが設定されていることを確認します。

  5. 構成ディスクを接続します。

    「構成ディスクの作成」で作成したラベルCONFIG-2を使用して、適切な構成ディスクを接続します。 ノードに適したイグニッション情報を含む構成ディスクを接続してください。

  6. VMをブートします。

    新しいOCKディスクおよびIgnition構成を含む構成ディスクを使用して、VMを起動します。

    VMは新しいディスクを使用して起動します。 VMは、構成ディスクに含まれるIgnition情報を使用してクラスタに結合されます。

Uncordonノード

クラスタ・ワークロードを実行できるように、Kubernetesノードをコード解除します。

  1. ノード名を検索します。

    uncordonするノードの名前を検索します。

    kubectl get nodes
  2. ノードをコード解除します。

    kubectl uncordonコマンドを使用して、ノードをコード解除します。

    kubectl uncordon node_name 

    たとえば:

    kubectl uncordon ocne-control-plane-1
  3. ノードが使用可能であることを確認します。

    kubectl get nodesコマンドを使用して、STATUS列がReadyに設定されていることを確認します。

    kubectl get nodes

ノード・アップグレードの検証

リリース2のOSを実行しているノードを確認します。

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

    Kubernetesクラスタ内のノードをリストして、必要なすべてのノードがリストされていることを確認します。

    kubectl get nodes
  2. ノードに関する情報を表示します。

    ocne cluster infoコマンドを使用して、ノードに関する情報を表示します。 構文は次のとおりです。

    ocne cluster info
    [{-N|--nodes}] nodename, ...
    [{-s|--skip-nodes }]

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

    たとえば:

    ocne cluster info --nodes ocne-control-plane-1
  3. ノード情報を検証します。

    ocne cluster infoコマンドの出力が次のようになっている場合、ノードはリリース2イメージを実行しています:

    Node: ocne-control-plane-1
      Registry and tag for ostree patch images:
        registry: container-registry.oracle.com/olcne/ock-ostree
        tag: 1.29
        transport: ostree-unverified-registry
      Ostree deployments:
          ock 5d6e86d05fa0b9390c748a0a19288ca32bwer1eac42fef1c048050ce03ffb5ff9.1 (staged)
        * ock 5d6e86d05fa0b9390c748a0a19288ca32bwer1eac42fef1c048050ce03ffb5ff9.0

    OSTreeベースのイメージ情報が出力に表示されます。

    出力にこの情報が含まれていない場合、ノードはリリース2のイメージを実行せず、次のようになります:

    Node: ocne-control-plane-2
      Registry and tag for ostree patch images:
      Ostree deployments: