open-balena
open-balena copied to clipboard
Kubernetes support via Helm chart
I've spent quite some time in creating a Helm Chart for Kubernetes to deploy openBalena via Kubernetes. I'm confident now that this Helm Chart is stable enough to be supported in the main openBalena repository and I'd like to get the opinion of the openBalena contributors as well as the community what could be improved and what's needed to get this PR merged.
The Helm Chart will create the following services, with the same versions as the current openBalena version:
-
openBalena API
- Deployment
- Service for port 80
- Ingress to
api.<hostname>
with TLS rule
-
openBalena VPN
- Deployment
- Service for port 443 and 3128
- Ingress to
vpn.<hostname>
- HAProxy snippet to get the VPN working over port 443
-
openBalena Registry
- StatefulSet with PVC
- Service for port 80
- Ingress to
registry.<hostname>
with TLS rule
-
openBalena S3
- StatefulSet with PVC
- Service for port 80
- Ingress to
s3.<hostname>
with TLS - Can be disabled if you're using an external S3, which can be configured in the
values.yaml
-
openBalena DB
- StatefulSet with PVC
- Service for port 5432
-
Redis
- StatefulSet with PVC
- Service to port 6379
- VPN Tunnel via TLS
- HAProxy Ingress TCP service with TLS to VPN service port 3128
- Ingress to
tunnel.<hostname>
with TLS
This will also resolve #6.
Please let me know what you think!
Any updates on this?
An error occurred whilst building your landr site preview:
{
"name": "Error",
"message": "Command failed with code undefined: /usr/src/app/node_modules/gatsby/cli.js build",
"stack": "Error: Command failed with code undefined: /usr/src/app/node_modules/gatsby/cli.js build\n at Object.exports.run (/usr/src/app/lib/build-runner.js:257:11)\n at async build (/usr/src/app/bot/index.js:132:19)\n at async /usr/src/app/bot/index.js:210:25\n at async Promise.all (index 0)\n at async middleware (/usr/src/app/node_modules/@octokit/webhooks/dist-node/index.js:355:5)"
}
Hi @bartversluijs I would be very interested in this PR. Is there anything that can be done to help getting this through ?
Hi @fabienheureux, I don't think this PR will be merged, but I can be wrong. However, you can still use the Helm chart! Take a look here on how to use it.
I'm using it in production for a few years now and it works really well. And I'm not the only one using it!
When I have the time, I'll create a different repo with just the Helm chart and a script that can convert the current config to a Kubernetes Helm values file. This way, it doesn't need to keep up to date with the master branch here and versioning is somewhat simpler.
Hope it helps!
Thanks a lot for your reply. No worries it does not get merged, I was wondering how stable it was, but if you use it on prod then I will go ahead and start using it 🎉
An external repo would be great, I would be happy to help.
@bartversluijs very excited to deploy to my cluster, thanks for spearheading