ページの先頭行へ戻る
Enterprise Service Development Platform V1.1.0 操作ガイド
FUJITSU Software

3.4 Podの更新

  1. Ansibleサーバにログインします。詳細は、「第1章 共通の操作」を参照してください。

  2. 以下の方法に従って、更新します。

    既に作成されたDeploymentを更新することで、Podをロールアウトすることができます。

    ロールアウトを実行するためには、Deploymentに定義したPodのテンプレート(spec.template)を更新した後に、以下のコマンドを実行します。

    kubectl apply -f <更新したDeploymentのマニフェストファイル>

    上のコマンドを実行すると、ロールアウトが自動的にトリガーされます。 ロールアウトが発生すると、Deploymentは、古いReplicaSetとは別に、新しいReplicaSetを作成して、Podを置き換えます。 ロールアウトの状態は、以下のコマンドで確認します。

    kubectl rollout status deployment <Deploymentの名前>

    ロールアウトが成功すると、以下のようなメッセージが出力されます。

    deployment "<Deploymentの名前>" successfully rolled out"

    時間が経過しても、上のメッセージが出力されない場合、ロールアウトが失敗している可能性があります。 kubectl get rsおよびkubectl get podsを実行して、新しいReplicaSetおよびPodの状態を確認してください。 Podの状態がRunningでない場合、ロールアウトが失敗していると考えられます。 kubectl rollout undo deployment <Deploymentの名前>を実行して、更新をロールバックすることができます。 ロールアウト時に、Podをどのように置き換えるかは、Strategy(spec.strategy)で定義します。 Strategyには、以下の2つの方式があります。

    • RollingUpdate
    • Recreate

    Strategyの方式は、spec.strategy.typeで指定します。 RollingUpdateを選択すると、Deploymentは古いPodと新しいPodのレプリカ数を調節しながら、既存のPodを少しずつ置き換えます。 Recreateを選択すると、既存のPodがすべて削除された後に、新しいPodが作成されます。 デフォルトでは、RollingUpdateが選択されます。

    その他の詳細については、Kubernetesの公式ドキュメントを参照してください。