This document explain how to deploy an EDC with IONOS S3 Extension into a Kubernetes using IONOS's Cloud.
- IONOS Account;
- IONOS Running Kubernetes cluster (if you don't have it, take a look at this);
- IONOS Registry service (if you don't have it, take a look at this);
After building the connector, we can now create the docker container image. Use the following snippet:
cd connector
docker build -t edc-ionos-s3 .
To push your image to your registry just do the following:
docker login -u="<SCOPE NAME>" -p="<PASSWORD GENERATED>" <YOUR REGISTRY NAME>.ionos.com
docker tag edc-ionos-s3:latest <YOUR REGISTRY NAME>.ionos.com/edc-ionos-s3:latest
docker push <YOUR REGISTRY NAME>.ionos.com/edc-ionos-s3:latest
After having the docker image uploaded into your registry, you can now use it to deploy the connector. Follow the next steps:
- Create a secret: required by the Kubernetes to access your registry;
kubectl create secret docker-registry <SECRET NAME> --docker-server=<YOUR REGISTRY NAME>.ionos.com --docker-username=<YOUR USERNAME> --docker-password=<YOUR PASSWORD> --docker-email=<YOUR EMAIL>
- Deploying the connector: for that matter we will use a simple way of doing it;
kubectl run <App Name> --image=<YOUR REGISTRY NAME>.ionos.com/edc-ionos-s3 --overrides='{ "apiVersion": "v1", "spec": { "imagePullSecrets": [{"name": "<YOUR SECRET NAME>"}] } }'
Now, we can access our Connector. There is serveral ways to configure the deployed app for remote accessing. It depends of course on your context. For the sake of simplicity we will use the port-forward
method.
kubectl port-forward edc-ionos-s3 8181:8181 --address='0.0.0.0'
Check if it's up and running by executing the health check:
curl -H "X-Api-Key: password" --fail http://localhost:8181/api/check/health
You will have a return message like the following:
{"componentResults":[{"failure":null,"component":null,"isHealthy":true}],"isSystemHealthy":true}