This document provides comprehensive instructions for deploying Adabas and Natural components in a local Kubernetes environment, supporting business-critical development and testing scenarios. All deployments (Adabas, Natural, and Adabas Manager) are configured to run within a single dedicated namespace for streamlined management and secure inter-component communication.
- The manifests are designed for use with a local Kubernetes cluster, such as Docker Desktop (with Kubernetes enabled) or Minikube.
- Ensure your local cluster is running and accessible via
kubectlbefore deploying the manifests. - All resources (Deployments, ConfigMaps, Services, and optional Ingress) will be created in the same namespace, which you must create before applying the manifests.
- The setup is intended for local development and testing, but can be adapted for cloud environments if needed.
The provided manifests include Deployments, ConfigMaps, Services, and (optionally) Ingress resources for Adabas, Natural, and Adabas Manager.
- Adabas: Software AG enterprise database system, deployed as a StatefulSet or Deployment. Adabas stands for "Adaptable Database System." It is a high-performance, non-relational (NoSQL) database management system.
- Natural: Proprietary fourth-generation programming language (4GL) by Software AG, designed to work closely with Adabas as the database backend.
- Adabas Manager: Management and monitoring component, deployed as a Deployment.
All components communicate via Kubernetes Services within the same namespace. ConfigMaps are used to provide configuration files. The manifests files are tailored for local use and can be customized as needed.
Before you begin, ensure you have the following installed on your local machine:
- Docker Desktop (with Kubernetes enabled) or Minikube
- kubectl (Kubernetes CLI)
- git
Open a terminal and run:
# Clone the repository and change directory
git clone https://github.com/SoftwareAG/an-k8-local
cd an-k8-local-
Docker Desktop: Ensure Kubernetes is enabled in Docker Desktop settings.
-
Minikube: Start Minikube with:
minikube start
Verify your cluster is running:
kubectl cluster-infoIf you have multiple clusters, ensure you are using the correct context:
kubectl config get-contexts
kubectl config use-context <context-name>Choose a namespace name (e.g., adanat-local) and create it:
kubectl create namespace adanat-localApply all manifest files in the directory to your namespace:
kubectl apply -n adanat-local -f .Note:
- Ensure all required ConfigMaps, Deployments, and Services are present in the local directory.
- If you add or modify manifests, re-run the above command to update the resources.
Check the status of pods and services:
kubectl get pods -n adanat-local
kubectl get svc -n adanat-local- For NodePort or LoadBalancer services, use
kubectl get svc -n adanat-localto find the exposed ports.
To remove all resources from the namespace:
kubectl delete -n adanat-local -f .
kubectl delete namespace adanat-local- Use
kubectl describe <resource> -n adanat-localfor detailed info. - Check logs with
kubectl logs <pod-name> -n adanat-local. - Ensure Docker Desktop or Minikube is running before applying manifests.
- Kubernetes Documentation
- Docker Desktop Kubernetes
- Minikube Documentation
- Rancher Quick Start Guide
- Install Minikube
- Install Docker Desktop
- Install Rancher Locally
For further assistance, contact the project maintainer or refer to the documentation above.