mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-22 22:30:23 +00:00
doc: update the upgrade documentation to reflect 3.4.0 changes
Mainly removed rbd-nbd mounter specified at the pre-upgrade considerations affecting the restarts. Also updated the 3.3 tags to 3.4 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
This commit is contained in:
parent
ce9e54e5bd
commit
d2def71944
@ -10,6 +10,7 @@
|
|||||||
- [Upgrading from v3.0 to v3.1](#upgrading-from-v30-to-v31)
|
- [Upgrading from v3.0 to v3.1](#upgrading-from-v30-to-v31)
|
||||||
- [Upgrading from v3.1 to v3.2](#upgrading-from-v31-to-v32)
|
- [Upgrading from v3.1 to v3.2](#upgrading-from-v31-to-v32)
|
||||||
- [Upgrading from v3.2 to v3.3](#upgrading-from-v32-to-v33)
|
- [Upgrading from v3.2 to v3.3](#upgrading-from-v32-to-v33)
|
||||||
|
- [Upgrading from v3.3 to v3.4](#upgrading-from-v33-to-v34)
|
||||||
- [Upgrading CephFS](#upgrading-cephfs)
|
- [Upgrading CephFS](#upgrading-cephfs)
|
||||||
- [1. Upgrade CephFS Provisioner resources](#1-upgrade-cephfs-provisioner-resources)
|
- [1. Upgrade CephFS Provisioner resources](#1-upgrade-cephfs-provisioner-resources)
|
||||||
- [1.1 Update the CephFS Provisioner RBAC](#11-update-the-cephfs-provisioner-rbac)
|
- [1.1 Update the CephFS Provisioner RBAC](#11-update-the-cephfs-provisioner-rbac)
|
||||||
@ -25,8 +26,6 @@
|
|||||||
- [4. Upgrade RBD Nodeplugin resources](#4-upgrade-rbd-nodeplugin-resources)
|
- [4. Upgrade RBD Nodeplugin resources](#4-upgrade-rbd-nodeplugin-resources)
|
||||||
- [4.1 Update the RBD Nodeplugin RBAC](#41-update-the-rbd-nodeplugin-rbac)
|
- [4.1 Update the RBD Nodeplugin RBAC](#41-update-the-rbd-nodeplugin-rbac)
|
||||||
- [4.2 Update the RBD Nodeplugin daemonset](#42-update-the-rbd-nodeplugin-daemonset)
|
- [4.2 Update the RBD Nodeplugin daemonset](#42-update-the-rbd-nodeplugin-daemonset)
|
||||||
- [4.3 Manual deletion of RBD Nodeplugin daemonset pods](#43-manual-deletion-of-rbd-nodeplugin-daemonset-pods)
|
|
||||||
- [Handling node reboot hangs due to existing network mounts](#handling-node-reboot-hangs-due-to-existing-network-mounts)
|
|
||||||
- [CSI Sidecar containers consideration](#csi-sidecar-containers-consideration)
|
- [CSI Sidecar containers consideration](#csi-sidecar-containers-consideration)
|
||||||
|
|
||||||
## Pre-upgrade considerations
|
## Pre-upgrade considerations
|
||||||
@ -35,13 +34,10 @@ In some scenarios there is an issue in the CSI driver that will cause
|
|||||||
application pods to be disconnected from their mounts when the CSI driver is
|
application pods to be disconnected from their mounts when the CSI driver is
|
||||||
restarted. Since the upgrade would cause the CSI driver to restart if it is
|
restarted. Since the upgrade would cause the CSI driver to restart if it is
|
||||||
updated, you need to be aware of whether this affects your applications. This
|
updated, you need to be aware of whether this affects your applications. This
|
||||||
issue will happen when using the Ceph fuse client or rbd-nbd:
|
issue will happen when using the Ceph fuse client.
|
||||||
|
|
||||||
CephFS: If you are provision volumes for CephFS and have a kernel less than
|
If you provision volumes for CephFS and have a kernel less than version 4.17,
|
||||||
version 4.17, The CSI driver will fall back to use the FUSE client.
|
the CSI driver will fall back to use the FUSE client.
|
||||||
|
|
||||||
RBD: If you have set the mounter: rbd-nbd option in the RBD storage class, the
|
|
||||||
NBD mounter will have this issue.
|
|
||||||
|
|
||||||
If you are affected by this issue, you will need to proceed carefully during
|
If you are affected by this issue, you will need to proceed carefully during
|
||||||
the upgrade to restart your application pods. The recommended step is to modify
|
the upgrade to restart your application pods. The recommended step is to modify
|
||||||
@ -49,10 +45,10 @@ the update strategy of the CSI nodeplugin daemonsets to OnDelete so that you
|
|||||||
can control when the CSI driver pods are restarted on each node.
|
can control when the CSI driver pods are restarted on each node.
|
||||||
|
|
||||||
To avoid this issue in future upgrades, we recommend that you do not use the
|
To avoid this issue in future upgrades, we recommend that you do not use the
|
||||||
fuse client or rbd-nbd as of now.
|
fuse client as of now.
|
||||||
|
|
||||||
This guide will walk you through the steps to upgrade the software in a cluster
|
This guide will walk you through the steps to upgrade the software in a cluster
|
||||||
from v3.0 to v3.1
|
from v3.3 to v3.4
|
||||||
|
|
||||||
### Snapshot-controller and snapshot crd
|
### Snapshot-controller and snapshot crd
|
||||||
|
|
||||||
@ -99,6 +95,11 @@ to upgrade from cephcsi v3.1 to v3.2
|
|||||||
|
|
||||||
## Upgrading from v3.2 to v3.3
|
## Upgrading from v3.2 to v3.3
|
||||||
|
|
||||||
|
Refer [upgrade-from-v3.2-v3.3](https://github.com/ceph/ceph-csi/blob/v3.3.1/docs/ceph-csi-upgrade.md)
|
||||||
|
to upgrade from cephcsi v3.2 to v3.3
|
||||||
|
|
||||||
|
## Upgrading from v3.3 to v3.4
|
||||||
|
|
||||||
**Ceph-csi releases from devel are expressly unsupported.** It is strongly
|
**Ceph-csi releases from devel are expressly unsupported.** It is strongly
|
||||||
recommended that you use [official
|
recommended that you use [official
|
||||||
releases](https://github.com/ceph/ceph-csi/releases) of Ceph-csi. Unreleased
|
releases](https://github.com/ceph/ceph-csi/releases) of Ceph-csi. Unreleased
|
||||||
@ -107,12 +108,15 @@ that will not be supported in the official releases. Builds from the devel
|
|||||||
branch can have functionality changed and even removed at any time without
|
branch can have functionality changed and even removed at any time without
|
||||||
compatibility support and without prior notice.
|
compatibility support and without prior notice.
|
||||||
|
|
||||||
git checkout v3.3.0 tag
|
**Also, we do not recommend any direct upgrades to 3.4 except from 3.3 to 3.4.**
|
||||||
|
For example, upgrading from 3.2 to 3.4 is not recommended.
|
||||||
|
|
||||||
|
git checkout v3.4.0 tag
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/ceph/ceph-csi.git
|
git clone https://github.com/ceph/ceph-csi.git
|
||||||
cd ./ceph-csi
|
cd ./ceph-csi
|
||||||
git checkout v3.3.0
|
git checkout v3.4.0
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** While upgrading please Ignore warning messages from kubectl output
|
**Note:** While upgrading please Ignore warning messages from kubectl output
|
||||||
@ -237,7 +241,7 @@ For each node:
|
|||||||
- The pod deletion causes the pods to be restarted and updated automatically
|
- The pod deletion causes the pods to be restarted and updated automatically
|
||||||
on the node.
|
on the node.
|
||||||
|
|
||||||
we have successfully upgraded cephfs csi from v3.2 to v3.3
|
we have successfully upgraded cephfs csi from v3.3 to v3.4
|
||||||
|
|
||||||
### Upgrading RBD
|
### Upgrading RBD
|
||||||
|
|
||||||
@ -295,37 +299,6 @@ clusterrole.rbac.authorization.k8s.io/rbd-csi-nodeplugin-rules configured
|
|||||||
clusterrolebinding.rbac.authorization.k8s.io/rbd-csi-nodeplugin configured
|
clusterrolebinding.rbac.authorization.k8s.io/rbd-csi-nodeplugin configured
|
||||||
```
|
```
|
||||||
|
|
||||||
If you determined in [Pre-upgrade considerations](#pre-upgrade-considerations)
|
|
||||||
that you were affected by the CSI driver restart issue that disconnects the
|
|
||||||
application pods from their mounts, continue with this section. Otherwise, you
|
|
||||||
can skip to step 4.2
|
|
||||||
|
|
||||||
```console
|
|
||||||
vi deploy/rbd/kubernetes/csi-rbdplugin.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
kind: DaemonSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
metadata:
|
|
||||||
name: csi-rbdplugin
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: csi-rbdplugin
|
|
||||||
updateStrategy:
|
|
||||||
type: OnDelete
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: csi-rbdplugin
|
|
||||||
spec:
|
|
||||||
serviceAccountName: rbd-csi-nodeplugin
|
|
||||||
```
|
|
||||||
|
|
||||||
in the above template we have added `updateStrategy` and its `type` to the
|
|
||||||
daemonset spec
|
|
||||||
|
|
||||||
##### 4.2 Update the RBD Nodeplugin daemonset
|
##### 4.2 Update the RBD Nodeplugin daemonset
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -334,40 +307,7 @@ daemonset.apps/csi-rbdplugin configured
|
|||||||
service/csi-metrics-rbdplugin configured
|
service/csi-metrics-rbdplugin configured
|
||||||
```
|
```
|
||||||
|
|
||||||
##### 4.3 Manual deletion of RBD Nodeplugin daemonset pods
|
we have successfully upgraded RBD csi from v3.3 to v3.4
|
||||||
|
|
||||||
If you determined in [Pre-upgrade considerations](#pre-upgrade-considerations)
|
|
||||||
that you were affected by the CSI driver restart issue that disconnects the
|
|
||||||
application pods from their mounts, continue with this section.
|
|
||||||
Otherwise, you can skip this section.
|
|
||||||
|
|
||||||
As we have set the updateStrategy to OnDelete the CSI driver pods will not be
|
|
||||||
updated until you delete them manually. This allows you to control when your
|
|
||||||
application pods will be affected by the CSI driver restart.
|
|
||||||
|
|
||||||
For each node:
|
|
||||||
|
|
||||||
- Drain your application pods from the node
|
|
||||||
- Delete the CSI driver pods on the node
|
|
||||||
- The pods to delete will be named with a csi-rbdplugin prefix and have a
|
|
||||||
random suffix on each node. However, no need to delete the provisioner pods
|
|
||||||
csi-rbdplugin-provisioner-* .
|
|
||||||
- The pod deletion causes the pods to be restarted and updated automatically
|
|
||||||
on the node.
|
|
||||||
|
|
||||||
we have successfully upgraded RBD csi from v3.2 to v3.3
|
|
||||||
|
|
||||||
### Handling node reboot hangs due to existing network mounts
|
|
||||||
|
|
||||||
With prior versions of ceph-csi a node reboot may hang the reboot process. This
|
|
||||||
is due to existing cephfs or rbd network mounts not carrying the `_netdev`
|
|
||||||
mount option. The missing mount option is fixed, and future mounts using
|
|
||||||
ceph-csi would automatically carry the required flags needed for a clean
|
|
||||||
reboot.
|
|
||||||
|
|
||||||
It is suggested to upgrade to the latest ceph-csi release and drain application
|
|
||||||
pods on all the nodes so that new mount option `_netdev` can be added to all
|
|
||||||
the mountpoints.
|
|
||||||
|
|
||||||
### CSI Sidecar containers consideration
|
### CSI Sidecar containers consideration
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user