Hope this post isn’t a pain but i’m having some trouble getting Mender to run in my Kubernetes environment (specifically OpenShift).
In the integration git repo, there is a (minimal) diagram of all of the services which make up the Mender application.
However, when going through the cluster-setup.md, I can’t seem to find how the storage-proxy fits in to a deployment (it’s conspicuously missing from the Kubernetes section of the doc).
My assumption is that the storage-proxy will need a Kubernetes service to allow a connection from the mender-deployments component. But, in the doc, it seems to just want to setup direct connection between mender-deployments and minio. Is the doc out of date?
Hi @sabjorn , unfortunately this document is definitely out of date and not something that we officially maintain.
I was not even aware it existed and will probably remove it to avoid future confusion or make it more explicit that it is not a maintained/official document.
My suggestion would be to look at the docker-compose files to figure out how it is all connected in that particular setup and try to mimic that.
My assumption is that the storage-proxy will need a Kubernetes service to allow a connection from the mender-deployments component.
Your assumption is correct, one service is required for internal communication (let’s call it minio_internal_service for instance) with deployments service and another one for external (minio_external_service). When a deployment is available then deployments service calls S3 API (minio_internal_service) to generate unique URI for a device to download an artifact and this URI should contain IP/FQDN of minio_external_service.
It’s not necessary to use Minio, any S3 API compatible storage can be used, so, you can also try to use Ceph. We didn’t test it but I believe it should work.
P.S.: It would be really great contribution if you share your configuration with the community.
Quick question:
What is mender-etcd for? It appears in the kubernetes files but I can’t find any reference to it otherwise…
@sabjornmender-etcd is not needed and can be removed.
Also integration/extra/kubernetes contains 4 mender-mongo-* deployments and related services which is outdated, in some of previous releases this all was merged to use one single DB instance.