Upgrade a Bitbucket cluster through the API without downtime
API のリファレンス
ローリング アップグレード プロセス全体は、次の API によって管理されます。
https://<host>:<port>/rest/zdu/cluster
この API では、次の呼び出しを使用します。
GET /rest/zdu/cluster | クラスタのステータスの概要を確認します。 |
---|---|
アップグレード モードを有効化します。 | |
クラスタのステータスを取得します。 | |
Get an overview of a node's status. | |
アップグレード モードを無効化します。このコールは、アップグレードの進捗が MIXED でない場合にのみ使用できます。 | |
すべてのノードがアップグレードされたら、ローリング アップグレードを終了します。これにより、アップグレード モードが無効化されます。 |
For detailed information about each API call, see Bitbucket REST API Documentation.
Authenticating REST API calls
In a secure environment, you'll need to authenticate your REST API calls. See Personal access tokens and Bitbucket Server REST API Example - Basic Authentication for more information.
Downloading upgrade files
https://www.atlassian.com/software/bitbucket/download
Alternatively, you can also use the Pre-upgrade planning tool to help you download a compatible bug fix version. Choose > Administration > Plan your upgrade to open the tool.
ローリング アップグレードの開始
ローリング アップグレードを開始するには、最初にローリングアップ グレードを有効にします。これを行うには、次のものを使用します。
https://<host>:<port>/rest/zdu/start
Enabling upgrade mode allows your cluster to accept nodes running a later bug fix version. This lets you upgrade one node and let it rejoin the cluster (along with the other non-upgraded nodes). Both upgraded and non-upgraded active nodes work together in keeping Bitbucket available to all users.
まだノードをアップグレードしていない場合、アップグレード モードを無効化できます。
各ノード個別アップグレード
In general, upgrading a node during a rolling upgrade consists of four phases:
Finalizing the rolling upgrade
Once all nodes are upgraded, finalize the rolling upgrade. To do this, use:
https://<host>:<port>/rest/zdu/approve
This call will automatically disable upgrade mode.
After completing the rolling upgrade, you should:
- Update your apps accordingly
- Perform UAT and other tests as needed
ノード ステータス
ノードのステータスを取得するには、次のものを使用します。
https://<host>:<port>/rest/zdu/nodes/<nodeID>
ACTIVE | Bitbucket is connected to the cluster and running with no errors. |
---|---|
STARTING | Bitbucket is still loading, and should transition to Active once finished. |
TERMINATING | Bitbucket was gracefully shut down, and should transition to Offline once finished. |
OFFLINE | Bitbucket is not responding on the node. This node will be removed from the cluster completely if it is still offline after Upgrade mode is disabled. |
エラー | Something went wrong with Bitbucket on the node. |
クラスタ ステータス
クラスタのステータスを取得するには、次のものを使用します。
https://<host>:<port>/rest/zdu/state
STABLE | アップグレード モードをオンにできます。 |
---|---|
READY_TO_UPGRADE | アップグレード モードは有効ですが、まだアップグレードされたノードはありません。最初のノードのアップグレードを開始できます。 |
mixed | At least one node is upgraded, but you haven't finished upgrading all nodes yet. Your cluster has nodes running different Bitbucket versions. You need to upgrade all nodes to the same bug fix version to transition to the next status (READY_TO_RUN_UPGRADE_TASKS) |
READY_TO_RUN_UPGRADE_TASKS | すべてのノードがアップグレード済みです。ローリング アップグレードを完了できます。
|
トラブルシューティング
ローリング アップグレード中のノード エラー
対処方法はいくつかあります。
Shut down Bitbucket gracefully on the node. This should disconnect the node from the cluster, allowing the node to transition to an Offline status.
If you can’t shut down Bitbucket gracefully, shut down the node altogether.
すべてのアクティブ ノードがアップグレードされたら、ローリング アップグレードを完了できます。問題のあるノードの問題を後で調査し、エラーに対処したら、クラスタに再接続できます。
Disabling upgrade mode
- まだアップグレードされていない
- エラー状態になっている
アップグレードされたノードがクラスタに参加するか、ノードがエラー状態になると、クラスタのステータスは Mixed に変わります。
アップグレード モードが無効になっている Mixed ステータス
アップグレード モードが無効のノードが Error 状態の場合、アップグレード モードを有効にすることはできません。問題を修正するか、クラスタからノードを削除して、アップグレード モードを有効にします。