Added requirements analysis and design proposal for Helm deployment for eSDK #38
Added requirements analysis and design proposal for Helm deployment for eSDK #38anvithks wants to merge 4 commits intoHuawei:masterfrom
Conversation
| - ClusterRoleBinding | ||
|
|
||
| Sample: | ||
| ```text |
| High availability support of controller plugin will be part of future work. | ||
|
|
||
| Sample: | ||
| ```text |
| - Keep username and password secure | ||
|
|
||
| ##### Other Non Functional Requirements (Scalability, HA etc…) | ||
| - Image size should be be large. |
| - This folder contains samples with some examples of basic deployments | ||
|
|
||
| ### Helm repository | ||
| <!-- - If time permits and required --> |
There was a problem hiding this comment.
IMO, If helm repository is not planned to support, Remove the section
| ### Configuration Management | ||
| Helm uses a packaging format called charts. A chart is a collection of files that describe a related set of Kubernetes | ||
| resources. Charts are created as files laid out in a particular directory tree. They can be packaged into versioned | ||
| archives to be deployed. |
There was a problem hiding this comment.
cosmetic comment: "They can be packaged into versioned archives to be deployed." --> "The same directory tree can be archived and used for deployment"
|
|
||
| #### Charts.yaml | ||
|
|
||
| ```text |
| #### values.yaml | ||
| The file maintains default values of different configurable attributes in templates files. | ||
|
|
||
| ```text |
| mountPath: /registration | ||
|
|
||
| - name: huawei-csi-driver | ||
| image: {{ required "Must provide the CSI controller service node image." .Values.images.huaweiCsiNodeService }} |
There was a problem hiding this comment.
typo: "Must provide the CSI controller service node image." --> ""Must provide the CSI node service image.""
| ``` | ||
|
|
||
| ##### huawei.csi.configmap.yaml | ||
| ```text |
| https://rafay.co/the-kubernetes-current/helm-chart-hooks-tutorial/ | ||
|
|
||
|
|
||
| **Open Points** |
There was a problem hiding this comment.
IMO, open points can be discussed and resolved
There was a problem hiding this comment.
This is the scratchpad section. The open points do need to be discussed and resolved.
There was a problem hiding this comment.
Removed sections which are not relevant.
| //All raw inputs or discussion points or etc can be added here | ||
| https://github.com/jsafrane/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md#recommended-mechanism-for-deploying-csi-drivers-on-kubernetes | ||
|
|
||
| #### Multiarchitecture images with docker |
There was a problem hiding this comment.
Will remove. this is the scratchpad though.
|
|
||
| https://medium.com/@artur.klauser/building-multi-architecture-docker-images-with-buildx-27d80f7e2408 | ||
|
|
||
| #### Dell powermax CSI Helm deployment |
|
|
||
| - This document assumes Kubernetes as the orchestrator. | ||
| - For the intitial design of the Helm deployment, the current state of the eSDK plugin will be considered. | ||
| - Adapting the deployments of new features should be taken care by the feature owners. |
There was a problem hiding this comment.
Please change :
"should be taken care" -> "should be taken care of"
| - This document assumes Kubernetes as the orchestrator. | ||
| - For the intitial design of the Helm deployment, the current state of the eSDK plugin will be considered. | ||
| - Adapting the deployments of new features should be taken care by the feature owners. | ||
| - eSDK container images should be made available through image repository (local or remote) or should be available locally on the node. |
There was a problem hiding this comment.
Please change :
"or should be available locally on the node" -> "locally on the node"
| - In this release no support for HA of controller plugin. | ||
| - The design for the same will be proposed in a different design document. | ||
| - Secret configuration management of backend storage | ||
| - Currently the username and password are sensitive information for storage backend and are visible in plain text. |
There was a problem hiding this comment.
Where is it stored as of now in plain text?
There was a problem hiding this comment.
This was incorrect. The username and password are stored using the Kubernetes secret resource.
This has been fixed.
| home: https://github.com/Huawei/eSDK_K8S_Plugin | ||
| sources: | ||
| - https://github.com/Huawei/eSDK_K8S_Plugin | ||
| appVersion: "2.2.13"# The version of the app that this contains (optional). Quotes recommended. |
There was a problem hiding this comment.
This will be configurable basically taken from ENV or input, right?
There was a problem hiding this comment.
At the moment we have considered this input manually. Every time there is a new release we need to updated the chart with the latest release number of the application, in this case eSDK release version.
|
We've already developed a Helm chart for deploying the Huawei CSI plugin in the past: https://github.com/adfinis-sygroup/helm-charts/tree/master/charts/huawei-csi-plugin Feel free to take whatever is required to improve your chart from there. I'll look into the current proposal in this PR and provide some feedback from our experience up to now. |
|
Thank you @tongpu .I will check it out. |
Added the requirements analysis and design for Helm deployment of eSDK plugins.
The implementation can be checked using #35