-
Notifications
You must be signed in to change notification settings - Fork 122
Add Helm charts for Vespa multinode HA deployment #1702
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Thanks for the awesome contribution, @nikitok 🙏 We'll look into it and get back to you. |
Values such as `config.serverReplicas`, `services.content.replicas`, and `services.content.storage` can be adjusted in `values.yaml` to match your requirements for scaling and resource configuration. For example: | ||
```yaml | ||
config: | ||
serverReplicas: 5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
serverReplicas: 5 | |
serverReplicas: 3 |
Let's keep three as the default number of config servers recommended across all documentation. More than that adds extra operational work, with minimal advantages.
memory: "1.5G" | ||
limits: | ||
memory: "1.5G" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make memory configurable from values for easier override?
- name: vespa-logs | ||
mountPath: /opt/vespa/logs | ||
- name: vespa-workspace | ||
mountPath: /workspace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this mount point used for? I can't find any references to it anywhere else in the chart.
accessModes: [ "ReadWriteOnce" ] | ||
resources: | ||
requests: | ||
storage: 5Gi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make volume claim sizes configurable for easier override?
- /bin/sh | ||
- -c | ||
- | | ||
until curl -f http://vespa-configserver-0.vespa-internal.vespa.svc.cluster.local:19071/state/v1/health; do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to get vespa-internal
and vespa
(namespace) values from the templating functionality to support other values for this without changing the chart?
done | ||
containers: | ||
- name: vespa-admin | ||
image: vespaengine/vespa |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be nice to support specifying the Vespa version, defaulting to latest
.
requests: | ||
memory: "1G" | ||
limits: | ||
memory: "1G" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make configurable?
requests: | ||
memory: "1.5G" | ||
limits: | ||
memory: "1.5G" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make configurable?
requests: | ||
memory: "1.5G" | ||
limits: | ||
memory: "1.5G" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make configurable? Memory requirements are very application package and query patterns dependant.
Added Helm charts for deployment, based on
Multinode-HA
, to allow for more convenient management.Created charts to simplify the deployment of a multi-zone Vespa application.
Architecture of the charts:
configserver
with high-availability support.configserver
initialization, leveraginginitContainers
.Added a readiness mechanism for
configserver
:These changes simplify the deployment process and ensure the proper sequence for starting components.