- remove namespace, since it's best practice to use the cli to add it, @roschaefer points out - organize templates into directories - migrations should be ran after the backend has started... - should init really be ran every time??
Kubernetes Configuration for Human Connection
Deploying Human Connection with kubernetes is straight forward. All you have to do is to change certain parameters, like domain names and API keys, then you just apply our provided configuration files to your cluster.
Configuration
Change into the ./deployment directory and copy our provided templates:
# in folder deployment/human-connection/
$ cp templates/secrets.template.yaml ./secrets.yaml
$ cp templates/configmap.template.yaml ./configmap.yaml
Change the configmap.yaml in the ./deployment/human-connection directory as needed, all variables will be available as
environment variables in your deployed kubernetes pods.
Probably you want to change this environment variable to your actual domain:
# in configmap.yaml
CLIENT_URI: "https://nitro-staging.human-connection.org"
If you want to edit secrets, you have to base64 encode them. See kubernetes documentation.
# example how to base64 a string:
$ echo -n 'admin' | base64
YWRtaW4=
Those secrets get base64 decoded and are available as environment variables in
your deployed kubernetes pods.
Create a namespace
# in folder deployment/
$ kubectl apply -f namespace.yaml
If you have a kubernets dashboard
deployed you should switch to namespace human-connection in order to
monitor the state of your deployments.
Create persistent volumes
While the deployments and services can easily be restored, simply by deleting and applying the kubernetes configurations again, certain data is not that easily recovered. Therefore we separated persistent volumes from deployments and services. There is a dedicated section. Create those persistent volumes once before you apply the configuration.
Apply the configuration
# in folder deployment/
$ kubectl apply -f human-connection/
This can take a while because kubernetes will download the docker images. Sit
back and relax and have a look into your kubernetes dashboard. Wait until all
pods turn green and they don't show a warning Waiting: ContainerCreating
anymore.