Skip to content

Commit

Permalink
Update README.md for future reference
Browse files Browse the repository at this point in the history
  • Loading branch information
arka-pramanik-hpe committed Jul 22, 2024
1 parent bb4cf32 commit ec67342
Showing 1 changed file with 62 additions and 0 deletions.
62 changes: 62 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# cray-istio Upgrade Notes

## Description
Cray-Istio is a customized version of the Istio service mesh tailored for HPE's Cray supercomputers and high-performance computing (HPC) workloads. It optimizes Istio's performance to minimize overhead and maximize speed for demanding HPC tasks. Cray-Istio integrates seamlessly with HPE's HPC ecosystem, allowing coordinated management with schedulers and resource managers. It might also include additional security features relevant to HPC environments. This runs after cray-istio-deploy which creates the Istio CRDs that
are used by this chart (Gateways, VirtualServices, etc.).<br>
Understanding Cray-Istio builds upon the foundation of Istio, an open-source service mesh. Istio provides features like traffic management, security, and observability for microservices, making it valuable for managing complex HPC deployments.

## Pre-requisites
- As part of upgrading to a new version, make sure the latest version images are added to artifactory.
- Helm does not support upgrading CRDs during chart upgrade. They need to be upgraded explicitly which is handled as part of the templates.
- Make sure to update the latest CRDs in following:
- <a href="https://github.com/Cray-HPE/cray-istio/tree/master/kubernetes/cray-istio-operator">cray-istio-operator</a>
- <a href="https://github.com/Cray-HPE/cray-istio/tree/master/kubernetes/cray-istio-deploy">cray-istio-deploy</a>
- <a href="https://github.com/Cray-HPE/cray-istio/tree/master/kubernetes/cray-istio">cray-istio</a>

## Upgrade
Once the changes are done, a tag can be pushed so that the helm charts are added to artifactory in stable directory. These charts can be deployed on a cluster using standard loftsman commands after applying the customizations over them.<br>

## STEPS:

### Create sysmgmt.yaml like the following:

```yaml
apiVersion: manifests/v1beta1
metadata:
name: sysmgmt
spec:
charts:
- name: cray-istio-operator
source: csm-algol60
version: 1.27.0
namespace: istio-system
timeout: 10m
- name: cray-istio-deploy
source: csm-algol60
version: 1.30.0
namespace: istio-system
timeout: 10m
- name: cray-istio
source: csm-algol60
version: 2.11.1
namespace: istio-system
timeout: 20m
```
### Apply the following command to applying the customizations over them:
```sh
manifestgen -c customizations.yaml -i sysmgmt.yaml -o sysmgmt-cust.yaml
```

### Upgrade the charts using loftsman:

```sh
loftsman ship --charts-path <tgz-charts-path> --manifest-path sysmgmt-cust.yaml
```

## Contributing
See the <a href="https://github.com/Cray-HPE/cray-istio/blob/master/CONTRIBUTING.md">CONTRIBUTING.md</a> file for how to contribute to this project.

## License
This project is copyrighted by Hewlett Packard Enterprise Development LP and is distributed under the MIT license. See the <a href="https://github.com/Cray-HPE/cray-istio/blob/master/LICENSE">LICENSE</a> file for details.

0 comments on commit ec67342

Please sign in to comment.