Kubernetes upgrade orchestration on DC
Initial content submit Implemented review comments on patchset 1 Implemented review comments on patchset 2 Implemented review comments on patchset 3 (Note: This feature cannot be finished until https://review.opendev.org/c/starlingx/docs/+/789644 has merged.) Story: 2008055 Task: 42228 Signed-off-by: Ron Stone <ronald.stone@windriver.com> Change-Id: Id80dddf036d2e646daae3e356963470acfeb8a85 Signed-off-by: Ron Stone <ronald.stone@windriver.com>
This commit is contained in:
parent
34a0a8a963
commit
b963950c47
@ -0,0 +1,264 @@
|
|||||||
|
|
||||||
|
.. ccf1617821548674
|
||||||
|
.. _configuring-kubernetes-update-orchestration-on-distributed-cloud:
|
||||||
|
|
||||||
|
====================================================================
|
||||||
|
Kubernetes Version Upgrade Distributed Cloud Orchestration Procedure
|
||||||
|
====================================================================
|
||||||
|
|
||||||
|
You can configure a *Kubernetes Version Upgrade Distributed Cloud
|
||||||
|
Orchestration Strategy* using the **dcmanager** CLI.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Management-affecting alarms cannot be ignored using relaxed alarm rules
|
||||||
|
during an orchestrated Kubernetes version upgrade operation. For a list of
|
||||||
|
management-affecting alarms, see |fault-doc|:
|
||||||
|
:ref:`Alarm Messages <100-series-alarm-messages>`. To display
|
||||||
|
management-affecting active alarms, use the following command:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ fm alarm-list --mgmt_affecting
|
||||||
|
|
||||||
|
During an orchestrated Kubernetes version upgrade operation, the following
|
||||||
|
alarms are ignored even when the default strict restrictions are selected:
|
||||||
|
|
||||||
|
|
||||||
|
.. _ccf1617821548674-ul-vhg-jxs-tlb:
|
||||||
|
|
||||||
|
**100.103**
|
||||||
|
Memory threshold exceeded
|
||||||
|
|
||||||
|
**200.001**
|
||||||
|
Locked Host
|
||||||
|
|
||||||
|
**280.001**
|
||||||
|
Subcloud resource off-line
|
||||||
|
|
||||||
|
**280.002**
|
||||||
|
Subcloud resource out-of-sync
|
||||||
|
|
||||||
|
**700.004**
|
||||||
|
VM stopped
|
||||||
|
|
||||||
|
**750.006**
|
||||||
|
Automatic Application Re-Apply Is Pending
|
||||||
|
|
||||||
|
**900.001**
|
||||||
|
Patching operation in progress
|
||||||
|
|
||||||
|
**900.007**
|
||||||
|
Kubernetes upgrade in progress
|
||||||
|
|
||||||
|
**900.401**
|
||||||
|
Kubernetes upgrade auto-apply inprogress
|
||||||
|
|
||||||
|
|
||||||
|
.. rubric:: |prereq|
|
||||||
|
|
||||||
|
|
||||||
|
.. _ccf1617821548674-ul-ls2-pxs-tlb:
|
||||||
|
|
||||||
|
Hosts that need to be upgraded must be in the **unlocked-enabled** state.
|
||||||
|
|
||||||
|
.. only:: starlingx
|
||||||
|
|
||||||
|
Kubernetes has been upgraded on the system controller.
|
||||||
|
The managed subclouds are all unlocked and online.
|
||||||
|
|
||||||
|
.. only:: partner
|
||||||
|
|
||||||
|
.. include:: ../_includes/configuring-kubernetes-update-orchestration-on-distributed-cloud.rest
|
||||||
|
|
||||||
|
All :command:`dcmanager` strategies must be deleted.
|
||||||
|
|
||||||
|
The system controller should already be upgraded to the new version of
|
||||||
|
Kubernetes. This will cause the 'audit' for the subclouds note that they are
|
||||||
|
now out of sync.
|
||||||
|
|
||||||
|
Hosts that need to be upgraded must be in the unlocked-enabled state.
|
||||||
|
|
||||||
|
Patches related to Kubernetes version upgrade must be uploaded to the central
|
||||||
|
controller for access by subclouds. For example:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ sw-patch --os-region-name SystemController upload PLATFORM.1.patch
|
||||||
|
~(keystone_admin)]$ sw-patch --os-region-name SystemController upload KUBE.1.patch
|
||||||
|
~(keystone_admin)]$ sw-patch --os-region-name SystemController upload KUBE.2.patch
|
||||||
|
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
#. Create the strategy.
|
||||||
|
|
||||||
|
The *Kubernetes Version Upgrade Distributed Cloud Orchestration Strategy*
|
||||||
|
:command:`create` command creates a series of stages with steps that apply
|
||||||
|
the Kubernetes version upgrade to the hardware.
|
||||||
|
|
||||||
|
A Kubernetes version upgrade requires a reboot. Therefore, the created
|
||||||
|
strategy includes steps that automatically lock and unlock the host to
|
||||||
|
bring the new image function into service.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ dcmanager kube-upgrade-strategy create
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| strategy type | kubernetes |
|
||||||
|
| subcloud apply type | None |
|
||||||
|
| max parallel subclouds | None |
|
||||||
|
| stop on failure | False |
|
||||||
|
| state | initial |
|
||||||
|
| created_at | 2020-11-09T23:00:07.210958 |
|
||||||
|
| updated_at | None |
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
|
||||||
|
The syntax for the :command:`dcmanager kube-upgrade-strategy create` command
|
||||||
|
is:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
dcmanager kube-upgrade-strategy create [-h]
|
||||||
|
[-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--noindent] [--prefix PREFIX]
|
||||||
|
[--subcloud-apply-type {parallel,serial}]
|
||||||
|
[--max-parallel-subclouds MAX_PARALLEL_SUBCLOUDS]
|
||||||
|
[--stop-on-failure] [--force]
|
||||||
|
[--group GROUP]
|
||||||
|
[cloud_name]
|
||||||
|
|
||||||
|
|
||||||
|
where the following are significant for performing an orchestrated Kubernetes
|
||||||
|
upgrade:
|
||||||
|
|
||||||
|
**--subcloud-apply-type**
|
||||||
|
Determines whether the subclouds are upgraded in parallel, or serially. If
|
||||||
|
this is not specified using the CLI, the values for subcloud\_update\_type
|
||||||
|
defined for each subcloud group will be used by default.
|
||||||
|
|
||||||
|
**--max-parallel-subclouds**
|
||||||
|
Sets the maximum number of subclouds that can be upgraded in parallel
|
||||||
|
\(default 20\). If this is not specified using the CLI, the values for
|
||||||
|
max\_parallel\_subclouds defined for each subcloud group will be used by
|
||||||
|
default.
|
||||||
|
|
||||||
|
**--stop-on-failure**
|
||||||
|
**true** \(default\) or **false** — determines whether upgrade
|
||||||
|
orchestration failure for a subcloud prevents application to subsequent
|
||||||
|
subclouds.
|
||||||
|
|
||||||
|
**--group**
|
||||||
|
Optionally pass the name or ID of a subcloud group to the
|
||||||
|
:command:`dcmanager kube-upgrade-strategy` command. This results in a
|
||||||
|
strategy that is only applied to all subclouds in the specified group. If
|
||||||
|
not specified, all subcloud groups are upgraded.
|
||||||
|
|
||||||
|
|
||||||
|
#. Optional: Display the strategy in summary, if required. The Kubernetes
|
||||||
|
upgrade strategy :command:`show` command displays the strategy in a summary.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ dcmanager kube-upgrade-strategy show
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| strategy type | kubernetes |
|
||||||
|
| subcloud apply type | None |
|
||||||
|
| max parallel subclouds | None |
|
||||||
|
| stop on failure | False |
|
||||||
|
| state | complete |
|
||||||
|
| created_at | 2020-11-09 23:00:07.210958 |
|
||||||
|
| updated_at | 2020-11-09 23:01:15.697763 |
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
|
||||||
|
The strategy steps are displayed using the ``--details`` option.
|
||||||
|
|
||||||
|
#. Apply the strategy.
|
||||||
|
|
||||||
|
The scope of the subcloud orchestration is restricted through the 'group'
|
||||||
|
argument.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ dcmanager kube-upgrade-strategy apply
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| strategy type | kubernetes |
|
||||||
|
| subcloud apply type | None |
|
||||||
|
| max parallel subclouds | None |
|
||||||
|
| stop on failure | False |
|
||||||
|
| state | applying |
|
||||||
|
| created_at | 2021-04-13T21:00:19.067829 |
|
||||||
|
| updated_at | 2021-04-13T21:00:38.527080 |
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
|
||||||
|
- Use the :command:`show` command to monitor Kubernetes version upgrade
|
||||||
|
state and percentage completion.
|
||||||
|
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ dcmanager kube-upgrade-strategy show
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| strategy type | kubernetes |
|
||||||
|
| subcloud apply type | None |
|
||||||
|
| max parallel subclouds | None |
|
||||||
|
| stop on failure | False |
|
||||||
|
| state | complete |
|
||||||
|
| created_at | 2020-11-09 23:00:07.210958 |
|
||||||
|
| updated_at | 2020-11-09 23:01:15.697763 |
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
|
||||||
|
#. Monitor the progress of the strategy.
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
~(keystone_admin)$ dcmanager strategy-step list
|
||||||
|
|
||||||
|
+------------------+-------+---------+---------+------------+-------------+
|
||||||
|
| cloud | stage | state | details | started_at | finished_at |
|
||||||
|
+------------------+-------+---------+---------+------------+-------------+
|
||||||
|
| subcloud1 | 2 | initial | | None | None |
|
||||||
|
+------------------+-------+---------+---------+------------+-------------+
|
||||||
|
|
||||||
|
#. Optional: Abort the strategy, if required. This is only used to stop, and
|
||||||
|
abort the entire strategy.
|
||||||
|
|
||||||
|
The Kubernetes Version Upgrade Distributed Cloud Orchestration strategy
|
||||||
|
:command:`abort` command can be used to abort the Kubernetes Version
|
||||||
|
Upgrade Distributed Cloud Orchestration strategy after the current step of
|
||||||
|
the currently applying stage is completed.
|
||||||
|
|
||||||
|
#. Delete the strategy.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
After the *Kubernetes Version Upgrade Distributed Cloud Orchestration
|
||||||
|
Strategy* has been applied \(or aborted\) it must be deleted before
|
||||||
|
another Kubernetes Version Upgrade Distributed Cloud Orchestration
|
||||||
|
strategy can be created. If a Kubernetes upgrade strategy application
|
||||||
|
fails, you must address the issue that caused the failure, then delete
|
||||||
|
and re-create the strategy before attempting to apply it again.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ dcmanager kube-upgrade-strategy delete
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------------------+----------------------------+
|
||||||
|
| strategy type | kubernetes |
|
||||||
|
| subcloud apply type | None |
|
||||||
|
| max parallel subclouds | None |
|
||||||
|
| stop on failure | False |
|
||||||
|
| state | deleting |
|
||||||
|
| created_at | 2020-11-09T23:00:07.210958 |
|
||||||
|
| updated_at | 2020-11-09T23:01:52.620362 |
|
||||||
|
+------------------------+----------------------------+
|
@ -49,6 +49,16 @@ Operation
|
|||||||
changing-the-admin-password-on-distributed-cloud
|
changing-the-admin-password-on-distributed-cloud
|
||||||
updating-docker-registry-credentials-on-a-subcloud
|
updating-docker-registry-credentials-on-a-subcloud
|
||||||
|
|
||||||
|
----------------------------------------------------------
|
||||||
|
Kubernetes Version Upgrade Distributed Cloud Orchestration
|
||||||
|
----------------------------------------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
:caption: Contents:
|
||||||
|
|
||||||
|
the-kubernetes-distributed-cloud-update-orchestration-process
|
||||||
|
configuring-kubernetes-update-orchestration-on-distributed-cloud
|
||||||
|
|
||||||
--------
|
--------
|
||||||
Appendix
|
Appendix
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
.. fez1617811988954
|
||||||
|
.. _the-kubernetes-distributed-cloud-update-orchestration-process:
|
||||||
|
|
||||||
|
====================================================================
|
||||||
|
Kubernetes Version Upgrade Distributed Cloud Orchestration Overviews
|
||||||
|
====================================================================
|
||||||
|
|
||||||
|
For an orchestrated Kubernetes version upgrade across a |prod-dc|, you need to
|
||||||
|
first create a *Kubernetes Version Upgrade Distributed Cloud Orchestration
|
||||||
|
Strategy*, or plan, for the automated Kubernetes version upgrade procedure
|
||||||
|
orchestrated across all subclouds of the Distributed Cloud system.
|
||||||
|
|
||||||
|
You must use the :command:`dcmanager` CLI tool to **create**, and then
|
||||||
|
**apply** the upgrade strategy. A created strategy can be monitored with the
|
||||||
|
**show** command. For more information, see :ref:`Kubernetes Version Upgrade
|
||||||
|
Distributed Cloud Orchestration Procedure
|
||||||
|
<configuring-kubernetes-update-orchestration-on-distributed-cloud>`.
|
||||||
|
|
||||||
|
Kubernetes upgrade orchestration automatically iterates through all managed
|
||||||
|
online subclouds.
|
||||||
|
|
||||||
|
The specific steps involved in a Kubernetes Version Upgrade Distributed Cloud
|
||||||
|
Orchestration for a single or group of hosts in each subcloud includes:
|
||||||
|
|
||||||
|
.. _fez1617811988954-ol-a1b-v5s-tlb:
|
||||||
|
|
||||||
|
#. Create the subcloud patch strategy.
|
||||||
|
|
||||||
|
#. Apply the subcloud patch strategy.
|
||||||
|
|
||||||
|
#. Delete the subcloud patch strategy.
|
||||||
|
|
||||||
|
#. Create the subcloud kube upgrade strategy.
|
||||||
|
|
||||||
|
#. Apply the subcloud kube upgrade strategy.
|
Loading…
x
Reference in New Issue
Block a user