How to run the modules
Each module brings its own set of requirements and runtime environment. Some may only require simple python code, others may require building and running containers or deploy several deployments on a kubernetes cluster.
The modules are thus supported by development platforms that may run on local computers and rely on a local ande development kubernetes cluster.
Requirements
The development platforms relies on the requirements and tools below:
Minikube
Minikube runs a local Kubernetes cluster, ideal for development and testing.
Minikube is installed by following the guide here.
Verify the installation with:
Start the local minikube instance with:
In Ubuntu 24.04, this will typically show:
😄 minikube v1.33.1 on Ubuntu 24.04
🎉 minikube 1.34.0 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.34.0
💡 To disable this notice, run: 'minikube config set WantUpdateNotification false'
✨ Using the docker driver based on existing profile
👍 Starting "minikube" primary control-plane node in "minikube" cluster
🚜 Pulling base image v0.0.44 ...
🔄 Restarting existing docker container for "minikube" ...
🐳 Preparing Kubernetes v1.30.0 on Docker 26.1.1 ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Kubectl
Kubectl is a command-line tool for interacting with Kubernetes clusters. It allows you to manage and inspect cluster resources. While not strictly required, it's highly recommended for debugging and interacting with your Kubernetes environment.
Kubectl is installed by following the instructions documented here.
Verify the installation with:
If the minikube cluster is up, this will typically display:
Client Version: v1.30.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.0
Skaffold
Skaffold is used to build, push, and deploy applications to Kubernetes.
Skaffold is installed by following the instructions documented here.
Verify the installation with:
Helm
Helm is a package manager for Kubernetes, enabling you to manage Kubernetes applications easily.
Helm is installed by following the steps documented here.
Verify the installation with:
Clone the development platforms repository
The development platforms enabling rununing the training modules are located in the git repository https://github.com/eoap/dev-platform-eoap.
Clone this repository with:
Then change directory to the cloned repository folder:
Each development platform is in a folder named after the learning module.
Example:
The module Mastering Earth Observation Application Packaging with CWL is in git repository https://github.com/eoap/mastering-app-package.
Its development platform it in the folder mastering-app-package
.
Run a development platform
Change directory to the learning module, e.g.:
Install the development platform with: