-
Notifications
You must be signed in to change notification settings - Fork 8
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
Deployment documentation #427
Conversation
Makes a nice log when using `helm lint` or `helm install` and a value is absent.
Include removing some unused values.
It is now exactly similar to the `settings.py` in the entity-service. Should be kept up to date when veraibales are modified.
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.
Unrequested review :-P
deployment/entity-service/README.md
Outdated
@@ -0,0 +1,29 @@ | |||
Few helm tips: | |||
|
|||
To check if the provided values are sufficient, remove/delete the `Charts` folder and run: |
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.
To check if the provided values are sufficient, remove/delete the `Charts` folder and run: | |
To check that all necessary values have been provided before deployment run: |
Can this point at a released chart? e.g. something like lint my-values.yaml data61/anonlink-service==1.12
?
Point out why the linter doesn't work with sub charts - is there an alternative to deleting the Charts
folder if a user is deploying "properly" from our data61 chart repo with:
helm install data61/entity-service [--values...]
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.
I do not have the impression it can point to a released chart. The help:
This command takes a path to a chart and runs a series of tests to verify that
the chart is well-formed.
And when simply running helm lint
from a random folder:
$ helm lint
==> Skipping .
No chart found for linting (missing Chart.yaml)
Error: 0 chart(s) linted, 1 chart(s) failed
which shows that it is searching for a Chart.yaml
.
- by default, we do not have persistent volume claims (like that, doing `helm delete --purge` removes all the created resources) - by default, ingress is disabled (do not open the service to the oustide of the cluster, as may require domain name, certificates and all) - by default, request only one "normal" worker
It is already the default value file.
Create too much redundancy and hard to find documentation.
…uction-deployment documentation.
… already minimal.
With all these changes, the default |
c3c38bf
to
ae6e5a9
Compare
The force-push was to remove two commits at the end which shouldn't have been directly in this PR. |
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.
Should make debugging a deployment easier!
@@ -77,6 +77,9 @@ spec: | |||
secretKeyRef: | |||
name: {{ template "es.fullname" . }} | |||
key: minioSecretKey | |||
# Flask should get access to more connections if required. It is often asking for run status directly into the database. | |||
- name: DATABASE_MAX_CONNECTIONS |
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.
This could be in the config map as FLASK_DB_MAX_CONNECTIONS
instead of being the only non secret config passed in as an env var.
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.
Created FLASK_DB... and CELERY_DB_... env vars.
@@ -5,39 +5,65 @@ metadata: | |||
labels: | |||
{{- include "es.release_labels" . | indent 4 }} | |||
data: | |||
DEBUG: {{ required "workers.debug is required." .Values.workers.debug | quote }} |
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.
FYI: I think we should be transitioning away from using debug
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.
I agree, even more seeing how much work was done on the log file.
## Maximum number of tasks a pool worker process can execute before it’s replaced with a new one | ||
## Low number is recommended, otherwise the celery workers may exhaust the available memory and threads. | ||
## Cf issue https://github.com/data61/anonlink-entity-service/issues/410 | ||
MAX_TASKS_PER_CHILD: "30" |
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.
that is much much lower than 4096
…mponents. By default, we are using 10 max connection for flask, but 3 for celery.
Includes more than just my PR.
Main changes:
Before asking for review, need to deploy it for tests.