"tests/vscode:/vscode.git/clone" did not exist on "ece76a62018f91f149c60f82590fc7e7e7ff5df4"
Unverified Commit 46d9f448 authored by mohammedabdulwahhab's avatar mohammedabdulwahhab Committed by GitHub
Browse files

fix: disable etcd subchart by default (#6329)


Signed-off-by: default avatarmohammedabdulwahhab <furkhan324@berkeley.edu>
parent a2a6917f
...@@ -33,7 +33,7 @@ dependencies: ...@@ -33,7 +33,7 @@ dependencies:
- name: etcd - name: etcd
version: 12.0.18 version: 12.0.18
repository: "https://charts.bitnami.com/bitnami" repository: "https://charts.bitnami.com/bitnami"
condition: etcd.enabled condition: global.etcd.install
- name: kai-scheduler - name: kai-scheduler
version: v0.9.4 version: v0.9.4
repository: oci://ghcr.io/nvidia/kai-scheduler repository: oci://ghcr.io/nvidia/kai-scheduler
......
...@@ -27,7 +27,7 @@ The Dynamo Platform Helm chart deploys the complete Dynamo Kubernetes Platform i ...@@ -27,7 +27,7 @@ The Dynamo Platform Helm chart deploys the complete Dynamo Kubernetes Platform i
- **Dynamo Operator**: Kubernetes operator for managing Dynamo deployments - **Dynamo Operator**: Kubernetes operator for managing Dynamo deployments
- **NATS**: High-performance messaging system for component communication - **NATS**: High-performance messaging system for component communication
- **etcd**: Distributed key-value store for operator state management - **etcd**: Distributed key-value store for service discovery (optional, disabled by default)
- **Grove**: Multi-node inference orchestration (optional) - **Grove**: Multi-node inference orchestration (optional)
- **Kai Scheduler**: Advanced workload scheduling (optional) - **Kai Scheduler**: Advanced workload scheduling (optional)
...@@ -98,7 +98,7 @@ The chart includes built-in validation to prevent all operator conflicts: ...@@ -98,7 +98,7 @@ The chart includes built-in validation to prevent all operator conflicts:
|-----|------|---------|-------------| |-----|------|---------|-------------|
| dynamo-operator.enabled | bool | `true` | Whether to enable the Dynamo Kubernetes operator deployment | | dynamo-operator.enabled | bool | `true` | Whether to enable the Dynamo Kubernetes operator deployment |
| dynamo-operator.natsAddr | string | `""` | NATS server address for operator communication (leave empty to use the bundled NATS chart). Format: "nats://hostname:port" | | dynamo-operator.natsAddr | string | `""` | NATS server address for operator communication (leave empty to use the bundled NATS chart). Format: "nats://hostname:port" |
| dynamo-operator.etcdAddr | string | `""` | etcd server address for operator state storage (leave empty to use the bundled etcd chart). Format: "http://hostname:port" or "https://hostname:port" | | dynamo-operator.etcdAddr | string | `""` | etcd server address for an external etcd instance. Only needed when using external etcd without the bundled subchart. Format: "http://hostname:port" or "https://hostname:port" |
| dynamo-operator.nats.enabled | bool | `true` | Whether the NATS is enabled | | dynamo-operator.nats.enabled | bool | `true` | Whether the NATS is enabled |
| dynamo-operator.modelExpressURL | string | `""` | URL for the Model Express server if not deployed by this helm chart. This is ignored if Model Express server is installed by this helm chart (global.model-express.enabled is true). | | dynamo-operator.modelExpressURL | string | `""` | URL for the Model Express server if not deployed by this helm chart. This is ignored if Model Express server is installed by this helm chart (global.model-express.enabled is true). |
| dynamo-operator.namespaceRestriction | object | `{"enabled":false,"lease":{"duration":"30s","renewInterval":"10s"},"targetNamespace":null}` | Namespace access controls for the operator | | dynamo-operator.namespaceRestriction | object | `{"enabled":false,"lease":{"duration":"30s","renewInterval":"10s"},"targetNamespace":null}` | Namespace access controls for the operator |
...@@ -163,7 +163,7 @@ The chart includes built-in validation to prevent all operator conflicts: ...@@ -163,7 +163,7 @@ The chart includes built-in validation to prevent all operator conflicts:
| kai-scheduler.enabled | bool | `false` | Whether to enable Kai Scheduler for intelligent resource allocation, if enabled, the Kai Scheduler operator will be deployed cluster-wide | | kai-scheduler.enabled | bool | `false` | Whether to enable Kai Scheduler for intelligent resource allocation, if enabled, the Kai Scheduler operator will be deployed cluster-wide |
| kai-scheduler.global.tolerations | list | `[]` | Node tolerations for kai-scheduler pods | | kai-scheduler.global.tolerations | list | `[]` | Node tolerations for kai-scheduler pods |
| kai-scheduler.global.affinity | object | `{}` | Affinity for kai-scheduler pods | | kai-scheduler.global.affinity | object | `{}` | Affinity for kai-scheduler pods |
| etcd.enabled | bool | `true` | Whether to enable etcd deployment, disable if you want to use an external etcd instance. For complete configuration options, see: https://github.com/bitnami/charts/tree/main/bitnami/etcd , all etcd settings should be prefixed with "etcd." | | global.etcd.install | bool | `false` | Whether to install the bundled etcd subchart. When true, deploys etcd and auto-configures the operator with its address. Use dynamo-operator.etcdAddr to point at an external instance instead. |
| etcd.image.repository | string | `"bitnamilegacy/etcd"` | following bitnami announcement for brownout - https://github.com/bitnami/charts/tree/main/bitnami/etcd#%EF%B8%8F-important-notice-upcoming-changes-to-the-bitnami-catalog, we need to use the legacy repository until we migrate to the new "secure" repository | | etcd.image.repository | string | `"bitnamilegacy/etcd"` | following bitnami announcement for brownout - https://github.com/bitnami/charts/tree/main/bitnami/etcd#%EF%B8%8F-important-notice-upcoming-changes-to-the-bitnami-catalog, we need to use the legacy repository until we migrate to the new "secure" repository |
| nats.enabled | bool | `true` | Whether to enable NATS deployment, disable if you want to use an external NATS instance. For complete configuration options, see: https://github.com/nats-io/k8s/tree/main/helm/charts/nats , all nats settings should be prefixed with "nats." | | nats.enabled | bool | `true` | Whether to enable NATS deployment, disable if you want to use an external NATS instance. For complete configuration options, see: https://github.com/nats-io/k8s/tree/main/helm/charts/nats , all nats settings should be prefixed with "nats." |
...@@ -174,7 +174,24 @@ For detailed NATS configuration options beyond `nats.enabled`, please refer to t ...@@ -174,7 +174,24 @@ For detailed NATS configuration options beyond `nats.enabled`, please refer to t
### etcd Configuration ### etcd Configuration
For detailed etcd configuration options beyond `etcd.enabled`, please refer to the official Bitnami etcd Helm chart documentation: etcd is **no longer required** for the Dynamo platform. The operator uses Kubernetes-native service discovery by default, and the bundled etcd subchart is **disabled by default**.
To enable the bundled etcd subchart (e.g., for etcd-based service discovery):
```yaml
global:
etcd:
install: true
```
To use an external etcd instance instead:
```yaml
dynamo-operator:
etcdAddr: "http://my-external-etcd:2379"
```
For detailed etcd configuration options, please refer to the official Bitnami etcd Helm chart documentation:
**[etcd Helm Chart Documentation](https://github.com/bitnami/charts/tree/main/bitnami/etcd)** **[etcd Helm Chart Documentation](https://github.com/bitnami/charts/tree/main/bitnami/etcd)**
## 📚 Additional Resources ## 📚 Additional Resources
......
...@@ -27,7 +27,7 @@ The Dynamo Platform Helm chart deploys the complete Dynamo Kubernetes Platform i ...@@ -27,7 +27,7 @@ The Dynamo Platform Helm chart deploys the complete Dynamo Kubernetes Platform i
- **Dynamo Operator**: Kubernetes operator for managing Dynamo deployments - **Dynamo Operator**: Kubernetes operator for managing Dynamo deployments
- **NATS**: High-performance messaging system for component communication - **NATS**: High-performance messaging system for component communication
- **etcd**: Distributed key-value store for operator state management - **etcd**: Distributed key-value store for service discovery (optional, disabled by default)
- **Grove**: Multi-node inference orchestration (optional) - **Grove**: Multi-node inference orchestration (optional)
- **Kai Scheduler**: Advanced workload scheduling (optional) - **Kai Scheduler**: Advanced workload scheduling (optional)
...@@ -93,7 +93,24 @@ For detailed NATS configuration options beyond `nats.enabled`, please refer to t ...@@ -93,7 +93,24 @@ For detailed NATS configuration options beyond `nats.enabled`, please refer to t
### etcd Configuration ### etcd Configuration
For detailed etcd configuration options beyond `etcd.enabled`, please refer to the official Bitnami etcd Helm chart documentation: etcd is **no longer required** for the Dynamo platform. The operator uses Kubernetes-native service discovery by default, and the bundled etcd subchart is **disabled by default**.
To enable the bundled etcd subchart (e.g., for etcd-based service discovery):
```yaml
global:
etcd:
install: true
```
To use an external etcd instance instead:
```yaml
dynamo-operator:
etcdAddr: "http://my-external-etcd:2379"
```
For detailed etcd configuration options, please refer to the official Bitnami etcd Helm chart documentation:
**[etcd Helm Chart Documentation](https://github.com/bitnami/charts/tree/main/bitnami/etcd)** **[etcd Helm Chart Documentation](https://github.com/bitnami/charts/tree/main/bitnami/etcd)**
......
...@@ -96,7 +96,7 @@ spec: ...@@ -96,7 +96,7 @@ spec:
{{- end }} {{- end }}
{{- if .Values.etcdAddr }} {{- if .Values.etcdAddr }}
- --etcdAddr={{ .Values.etcdAddr }} - --etcdAddr={{ .Values.etcdAddr }}
{{- else }} {{- else if and .Values.global .Values.global.etcd .Values.global.etcd.install }}
- --etcdAddr={{ .Release.Name }}-etcd.{{ .Release.Namespace }}.svc.cluster.local:2379 - --etcdAddr={{ .Release.Name }}-etcd.{{ .Release.Namespace }}.svc.cluster.local:2379
{{- end }} {{- end }}
{{- if and .Values.dynamo.istio.enabled .Values.dynamo.istio.gateway }} {{- if and .Values.dynamo.istio.enabled .Values.dynamo.istio.gateway }}
......
...@@ -14,6 +14,13 @@ ...@@ -14,6 +14,13 @@
# limitations under the License. # limitations under the License.
# Used to generate top-level secrets (overridden by custom-values.yaml) # Used to generate top-level secrets (overridden by custom-values.yaml)
global:
etcd:
# -- Whether this chart should install the bundled etcd subchart.
# When true, deploys etcd and auto-configures the operator with its address.
# When false, etcd is not deployed. Use dynamo-operator.etcdAddr to point at an external instance if you are bringing your own etcd.
install: false
# Subcharts configuration # Subcharts configuration
# Dynamo operator configuration # Dynamo operator configuration
...@@ -24,7 +31,7 @@ dynamo-operator: ...@@ -24,7 +31,7 @@ dynamo-operator:
# -- NATS server address for operator communication (leave empty to use the bundled NATS chart). Format: "nats://hostname:port" # -- NATS server address for operator communication (leave empty to use the bundled NATS chart). Format: "nats://hostname:port"
natsAddr: "" natsAddr: ""
# -- etcd server address for operator state storage (leave empty to use the bundled etcd chart). Format: "http://hostname:port" or "https://hostname:port" # -- etcd server address for an external etcd instance. Only needed when using external etcd without the bundled subchart. Format: "http://hostname:port" or "https://hostname:port"
etcdAddr: "" etcdAddr: ""
nats: nats:
...@@ -275,12 +282,9 @@ kai-scheduler: ...@@ -275,12 +282,9 @@ kai-scheduler:
# -- Affinity for kai-scheduler pods # -- Affinity for kai-scheduler pods
affinity: {} affinity: {}
# etcd configuration - distributed key-value store for operator state # etcd configuration - distributed key-value store
# Installation is controlled by global.etcd.install above.
etcd: etcd:
# -- Whether to enable etcd deployment, disable if you want to use an external etcd instance. For complete configuration options, see: https://github.com/bitnami/charts/tree/main/bitnami/etcd , all etcd settings should be prefixed with "etcd."
enabled: true
image: image:
# -- following bitnami announcement for brownout - https://github.com/bitnami/charts/tree/main/bitnami/etcd#%EF%B8%8F-important-notice-upcoming-changes-to-the-bitnami-catalog, we need to use the legacy repository until we migrate to the new "secure" repository # -- following bitnami announcement for brownout - https://github.com/bitnami/charts/tree/main/bitnami/etcd#%EF%B8%8F-important-notice-upcoming-changes-to-the-bitnami-catalog, we need to use the legacy repository until we migrate to the new "secure" repository
repository: bitnamilegacy/etcd repository: bitnamilegacy/etcd
......
...@@ -201,7 +201,6 @@ helm install dynamo-platform ./platform/ \ ...@@ -201,7 +201,6 @@ helm install dynamo-platform ./platform/ \
--create-namespace \ --create-namespace \
--set "dynamo-operator.controllerManager.manager.image.repository=${DOCKER_SERVER}/dynamo-operator" \ --set "dynamo-operator.controllerManager.manager.image.repository=${DOCKER_SERVER}/dynamo-operator" \
--set "dynamo-operator.controllerManager.manager.image.tag=${IMAGE_TAG}" \ --set "dynamo-operator.controllerManager.manager.image.tag=${IMAGE_TAG}" \
--set etcd.enabled=false \
--set dynamo-operator.imagePullSecrets[0].name=docker-imagepullsecret --set dynamo-operator.imagePullSecrets[0].name=docker-imagepullsecret
``` ```
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment