Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
7ff13bd
1.0.1 upgrade cluster
yuqiu123 Aug 9, 2023
51a7ff4
add content about 1.0.1 upgrade cluster
yuqiu123 Aug 9, 2023
22570e4
resolve conflict
yuqiu123 Aug 9, 2023
738d92a
new format fix
yuqiu123 Aug 9, 2023
5d5dffa
added new content of open iscsi
yuqiu123 Aug 9, 2023
28edcfe
Merge branch 'release-1.0.1' of github.com:iomesh/docs into release-1…
yuqiu123 Aug 9, 2023
34cfe1d
Added revision based on jinxin's comments
yuqiu123 Aug 9, 2023
4250a3a
Merge branch 'release-1.0.1' of github.com:iomesh/docs into release-1…
yuqiu123 Aug 14, 2023
49375c1
Fixed format issues
yuqiu123 Aug 14, 2023
743fa9c
Merge branch 'release-1.0.1' of github.com:iomesh/docs into release-1…
yuqiu123 Aug 14, 2023
ecde6b2
Added release notes
yuqiu123 Aug 14, 2023
69ff71f
Added release notes
yuqiu123 Aug 14, 2023
7ec7fd5
Fix an expression
yuqiu123 Aug 14, 2023
eacbab6
Merge branch 'release-1.0.1' of github.com:iomesh/docs into release-1…
yuqiu123 Aug 14, 2023
6e19691
Fixed release notes
yuqiu123 Aug 14, 2023
615f3d8
Merge branch 'release-1.0.1' of github.com:iomesh/docs into release-1…
yuqiu123 Aug 14, 2023
8f4436e
Typo fix
yuqiu123 Aug 14, 2023
a940511
Merge branch 'release-1.0.1' of github.com:iomesh/docs into release-1…
yuqiu123 Aug 14, 2023
f03b16a
Fixed IOMesh setup
yuqiu123 Aug 14, 2023
2ac66c8
Revised IOMesh setup
yuqiu123 Aug 15, 2023
1a2c41f
Revised format in IOMesh setup
yuqiu123 Aug 15, 2023
2d0d6cb
Resolve conflict
yuqiu123 Aug 16, 2023
ef230b1
Revised PV authentication
yuqiu123 Aug 16, 2023
434326a
Merge branch 'release-1.0.1' of github.com:iomesh/docs into release-1…
yuqiu123 Aug 16, 2023
52f8aa3
added test comments
yuqiu123 Aug 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/advanced-functions/external-storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ After the access point is configured, IOMesh can provide storage externally to a

> **_NOTE_**: To use this function, the external Kubernetes cluster should be able to access IOMesh `DATA_CIDR` that was configured in [Prerequisites](../deploy-iomesh-cluster/prerequisites#network-requirements).

1. Set up [`open-iscsi`](../deploy-iomesh-cluster/setup-worker-node) on the worker nodes of the external Kubernetes cluster.
1. Set up [`open-iscsi`](../appendices/setup-worker-node) on the worker nodes of the external Kubernetes cluster.

2. Add the Helm chart repository.
```shell
Expand Down
2 changes: 1 addition & 1 deletion docs/advanced-functions/localpv-manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ The following example assumes that the local PV is created in the `/var/iomesh/l
| `parameters.csi.storage.k8s.io/fstype ` | The filesystem type when the `volumeMode` is set to `Filesystem`, which defaults to `ext4`. |
| `volumeBindingMode` | Controls when volume binding and dynamic provisioning should occur. IOMesh only supports `WaitForFirstConsumer`. |

When creating a StorageClass, you have the option to configure `deviceSelector` to filter disks as desired. For configuration details, refer to [`Device Selector`](../deploy-iomesh-cluster/setup-iomesh.md) and [Kubernetes Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/).
When creating a StorageClass, you have the option to configure `deviceSelector` to filter disks as desired. For configuration details, refer to [`Device Selector`](../deploy-iomesh-cluster/install-iomesh) and [Kubernetes Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/).

For example, `iomesh.com/bd-driveType: SSD` means the StorageClass will only filter SSD for creating local PVs.

Expand Down
1 change: 0 additions & 1 deletion docs/advanced-functions/manage-multiple-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ IOMesh CSI Driver is shared by all IOMesh clusters to facilitate connection, whi
- Verify that all requirements in [Prerequisites](../deploy-iomesh-cluster/prerequisites.md) are met.
- The IOMesh version should be 1.0.0 or above.
- A Kubernetes cluster consisting of at least 6 worker nodes.
- Verify that [`open-iscsi`](../deploy-iomesh-cluster/setup-worker-node) has been set up for each worker node.

**Procedure**

Expand Down
75 changes: 68 additions & 7 deletions docs/appendices/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,71 @@ title: Release Notes
sidebar_label: Release Notes
---

## IOMesh 1.0.1 Release Notes
### What's New
#### New Feature
Automatically configures `open-iscsi` for all schedulable nodes in the Kubernetes cluster when deploying IOMesh or adding nodes to the IOMesh cluster.

#### Resolved Issues
- The I/O performance was not as expected due to inconsistent port information between the `chunk` service registered with the `meta` service and the locally recorded port information. The issue has been resolved in this release.
- IOMesh was unable to run in Kubernetes clusters of 1.21 or earlier versions due to incompatibility between the `zookeeper-operator` version and Kubernetes version. The issue has been resolved in this release.
- In Kubernetes clusters 1.20 or earlier versions, when enabling the NDM webhook, the creation of BlockDevice and BlockDeviceClaim failed due to empty CR parameters. The issue has been resolved in this release.

### Specifications

| Component | Version|
| -------| -------|
|iomesh-operator|1.0.1|
|csi-driver| 2.6.0|
|zbs|5.3.0|
|zookeeper|3.5.9|
|node-disk-manager|1.8.0|
|hostpath-provisioner|0.5.3|
|block-device-monitor|0.1.0|
|local-pv-manager|0.1.0|

### Compatibility

#### Server Architecture Compatibility for IOMesh

IOMesh is compatible with Intel x86_64, Hygon x86_64 or Kunpeng AArch64 architectures.

#### Kubernetes and Linux OS Compatibility for IOMesh

<table>
<thead>
<tr class="header">
<th>Software/OS</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Kubernetes</td>
<td>
<ul>
<li>Kubernetes 1.17-1.25</li>
<li>OpenShift 3.11-4.10</li>
</ul></td>
</tr>
<tr class="even">
<td>Linux OS</td>
<td>
<ul>
<li>CentOS 7</li>
<li>CentOS 8</li>
<li>CoreOS</li>
<li>RHEL 7</li>
<li>RHEL 8</li>
<li>OpenEluer 22.03 LTS</li>
</tbody>
</table>

>_NOTE_: IOMesh has no dependencies on the Linux OS version. The versions listed above are tested versions only.

## IOMesh 1.0.0 Release Notes

### What's New

#### New Features
**Installation & Deployment**
- Adds support for deploying IOMesh on the Hygon x86_64 and Kunpeng AArch64 architectures.
Expand Down Expand Up @@ -81,8 +142,8 @@ IOMesh is compatible with Intel x86_64, Hygon x86_64 or Kunpeng AArch64 architec
<td>Kubernetes</td>
<td>
<ul>
<li>Kubernetes v1.17-v1.25</li>
<li>OpenShift v3.11-v4.10</li>
<li>Kubernetes 1.17-1.25</li>
<li>OpenShift 3.11-4.10</li>
</ul></td>
</tr>
<tr class="even">
Expand Down Expand Up @@ -167,8 +228,8 @@ IOMesh is compatible with Intel x86_64 and AMD x86_64 architectures.
<td>Kubernetes</td>
<td>
<ul>
<li>Kubernetes v1.17-v1.24</li>
<li>OpenShift v3.11-v4.10</li>
<li>Kubernetes 1.17-1.24</li>
<li>OpenShift 3.11-4.10</li>
</ul></td>
</tr>
<tr class="even">
Expand Down Expand Up @@ -262,8 +323,8 @@ IOMesh Compatibility
<td>Kubernetes</td>
<td>
<ul>
<li>Kubernetes v1.17-v1.21</li>
<li>OpenShift v3.11-v4.8</li>
<li>Kubernetes 1.17-1.21</li>
<li>OpenShift 3.11-4.8</li>
</ul></td>
</tr>
<tr class="even">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ title: Set Up Worker Node
sidebar_label: Set Up Worker Node
---

Once you have confirmed that all requirements in [Prerequisites](../deploy-iomesh-cluster/prerequisites) are met, set up `open-iscsi` for each worker node on which IOMesh will be installed and running.

It is important to note that if you intend for IOMesh to provide storage to other nodes within this Kubernetes cluster, you will also need to set up `open-iscsi` for those nodes.
Before setting up `open-iscsi` for the worker nodes on which IOMesh will be installed and running, ensure all requirements in [Prerequisites](../deploy-iomesh-cluster/prerequisites) are met.

1. On the node console, run the following command to install `open-iscsi`.

Expand Down
80 changes: 66 additions & 14 deletions docs/cluster-operations/upgrade-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@ title: Upgrade Cluster
sidebar_label: Upgrade Cluster
---

You have the option to upgrade the IOMesh cluster from version 0.11.1 to 1.0.0 either online or offline. Before proceeding, consider the following:
You have the option to upgrade the IOMesh cluster either online or offline. Before proceeding, consider the following:
- Upgrade is not supported if the Kubernetes cluster has only 1 meta pod or 1 chunk pod.
- Due to the limitations of the Kubernetes CRD upgrade mechanism, the IOMesh cluster upgraded to 1.0.0 from 0.11.1 cannot run on the Kubernetes cluster of version 1.25 or above.
- Due to the limitations of the Kubernetes CRD upgrade mechanism, the IOMesh cluster upgraded to this release from 0.11.1 cannot run on the Kubernetes cluster of version 1.25 or above.

> _NOTE:_
> There might be temporary I/O latency fluctuations during the upgrade.
> _NOTE:_ There might be temporary I/O latency fluctuations during the upgrade.

## Upgrade from 0.11.1 to 1.0.1

**Procedure**
<!--DOCUSAURUS_CODE_TABS-->
<!--Online Upgrade-->

1. Delete the default StorageClass.

IOMesh 1.0.0 has a different default StorageClass with updated parameters compared to the previous version. You just need to delete the old one and any PVC using it will not be impacted.
This release of IOMesh has a different default StorageClass with updated parameters compared to the previous version. You just need to delete the old one and any PVC using it will not be impacted.

```shell
kubectl delete sc iomesh-csi-driver
Expand All @@ -27,14 +27,14 @@ You have the option to upgrade the IOMesh cluster from version 0.11.1 to 1.0.0 e
```shell
kubectl delete Validatingwebhookconfigurations iomesh-validating-webhook-configuration
```
3. Install the CRD of IOMesh 1.0.0.
3. Install the CRD of IOMesh 1.0.1.

```shell
kubectl apply -f https://iomesh.run/config/crd/iomesh.com_blockdevicemonitors.yaml
```
4. Get the new fields and values added in IOMesh 1.0.0.
4. Get the new fields and values added in IOMesh 1.0.1.
```shell
wget https://iomesh.run/config/merge-values/v1.0.0.yaml -O merge-values.yaml
wget https://iomesh.run/config/merge-values/v1.0.1.yaml -O merge-values.yaml
```
5. Edit the YAML file `merge-values.yaml`. Set the value of the `iomesh.edition` field to match the edition specified for the previous version of IOMesh.
```yaml
Expand All @@ -45,9 +45,8 @@ You have the option to upgrade the IOMesh cluster from version 0.11.1 to 1.0.0 e
6. Upgrade the IOMesh cluster, which will merge new fields and values while keeping existing ones. Then wait for a few minutes till all pods are running.

```bash
helm upgrade --namespace iomesh-system iomesh iomesh/iomesh --version v1.0.0 --reuse-values -f merge-values.yaml
helm upgrade --namespace iomesh-system iomesh iomesh/iomesh --version v1.0.1 --reuse-values -f merge-values.yaml
```

7. Verify that all pods are in `Running` state. If so, then IOMesh has been successfully upgraded.
```bash
watch kubectl get pod --namespace iomesh-system
Expand All @@ -56,7 +55,7 @@ You have the option to upgrade the IOMesh cluster from version 0.11.1 to 1.0.0 e
<!--Offline Upgrade-->
1. Delete the default StorageClass.

IOMesh 1.0.0 has a different default StorageClass with updated parameters compared to the previous version. You just need to delete the old one and any PVC using it will not be impacted.
This release of IOMesh has a different default StorageClass with updated parameters compared to the previous version. You just need to delete the old one and any PVC using it will not be impacted.

```shell
kubectl delete sc iomesh-csi-driver
Expand All @@ -67,15 +66,17 @@ You have the option to upgrade the IOMesh cluster from version 0.11.1 to 1.0.0 e
```shell
kubectl delete Validatingwebhookconfigurations iomesh-validating-webhook-configuration
```
3. Download [IOMesh Offline Installation Package](../appendices/downloads). Make sure to replace `<VERSION>` with `v1.0.0` and `<ARCH>` based on your CPU architecture.
3. Download [IOMesh Offline Installation Package](../appendices/downloads) on each worker node and the master node. Then run the following command to unpack the installation package on each worker node and the master node.

Make sure to replace `<VERSION>` with `v1.0.1` and `<ARCH>` based on your CPU architecture. Then refer to [Custom Offline Installation](../deploy-iomesh-cluster/install-iomesh.md#offline-installation) to load the IOMesh image on each worker node.
- Hygon x86_64: `hygon-amd64`
- Intel x86_64: `amd64`
- Kunpeng AArch64: `arm64`

```shell
tar -xf iomesh-offline-<VERSION>-<ARCH>.tgz && cd iomesh-offline
```
4. Install the CRD of IOMesh 1.0.0.
4. Install the CRD of IOMesh 1.0.1.

```shell
kubectl apply -f ./configs/iomesh.com_blockdevicemonitors.yaml
Expand All @@ -99,3 +100,54 @@ You have the option to upgrade the IOMesh cluster from version 0.11.1 to 1.0.0 e
watch kubectl get pod --namespace iomesh-system
```
<!--END_DOCUSAURUS_CODE_TABS-->

## Upgrade from 1.0.0 to 1.0.1
<!--DOCUSAURUS_CODE_TABS-->
<!--Online Upgrade-->

1. Temporarily disable IOMesh Webhook to avoid upgrade failure. Once the upgrade is successful, it will be automatically enabled again.

```shell
kubectl delete Validatingwebhookconfigurations iomesh-validating-webhook-configuration
```

2. Upgrade the IOMesh cluster, which will keep existing fields and values. Then wait for a few minutes till all pods are running.

```bash
helm upgrade --namespace iomesh-system iomesh iomesh/iomesh --version v1.0.1 --reuse-values -f merge-values.yaml
```

3. Verify that all pods are in `Running` state. If so, then IOMesh has been successfully upgraded.
```bash
watch kubectl get pod --namespace iomesh-system
```

<!--Offline Upgrade-->
1. Temporarily disable IOMesh Webhook to avoid upgrade failure. Once the upgrade is successful, it will be automatically enabled again.

```shell
kubectl delete Validatingwebhookconfigurations iomesh-validating-webhook-configuration
```
3. Download [IOMesh Offline Installation Package](../appendices/downloads) on each worker node and the master node. Then run the following command to unpack the installation package on each worker node and the master node.

Make sure to replace `<VERSION>` with `v1.0.1` and `<ARCH>` based on your CPU architecture. Then refer to [Custom Offline Installation](../deploy-iomesh-cluster/install-iomesh.md#offline-installation) to load the IOMesh image on each worker node.

- Hygon x86_64: `hygon-amd64`
- Intel x86_64: `amd64`
- Kunpeng AArch64: `arm64`

```shell
tar -xf iomesh-offline-<VERSION>-<ARCH>.tgz && cd iomesh-offline
```

3. Upgrade the IOMesh cluster, which will merge new fields and values while keeping existing ones. Then wait for a few minutes till all pods are running.

```bash
./helm upgrade --namespace iomesh-system iomesh ./charts/iomesh --reuse-values -f ./configs/merge-values.yaml
```

4. Verify that all pods are in the `Running` state. If so, then IOMesh has been successfully upgraded.
```bash
watch kubectl get pod --namespace iomesh-system
```
<!--END_DOCUSAURUS_CODE_TABS-->
Loading