diff --git a/README.md b/README.md index 9326e5ae8..914ebf209 100644 --- a/README.md +++ b/README.md @@ -107,40 +107,55 @@ _(Note that in previous versions, the `mysqlserver` environment variable used at and the `mysqlserver` environment variable is now no longer supported.)_ -Instructions to run on kubernetes +Instructions to run on Kubernetes ================================= -You can also run Fineract using containers on a kubernetes cluster. +General Clusters +---------------- + +You can also run Fineract using containers on a Kubernetes cluster. Make sure you set up and connect to your Kubernetes cluster. You can follow [this](https://cwiki.apache.org/confluence/display/FINERACT/Install+and+configure+kubectl+and+Google+Cloud+SDK+on+ubuntu+16.04) guide to set up a Kubernetes cluster on GKE. Make sure to replace `apache-fineract-cn` with `apache-fineract` -Now from your cloud shell, run the following commands: +Now e.g. from your Google Cloud shell, run the following commands: 1. `git clone https://github.com/apache/fineract.git ; cd fineract/kubernetes` -1. `sh kubectl-startup.sh` +1. `./kubectl-startup` -To shutdown and reset your cluster, run: - `sh kubectl-shutdown.sh` +To shutdown and reset your Cluster, run: -Alternatively, you can run fineract on a local kubernetes cluster(minikube). + ./kubectl-shutdown + +Using Minikube +-------------- + +Alternatively, you can run fineract on a local kubernetes cluster using [minikube](https://minikube.sigs.k8s.io/docs/). As Prerequisites, you must have `minikube` and `kubectl` installed on your machine; see [Minikube & Kubectl install](https://kubernetes.io/docs/tasks/tools/install-minikube/). -Now to run a new Fineract instance on minikube you can simply: +Now to run a new Fineract instance on Minikube you can simply: 1. `git clone https://github.com/apache/fineract.git ; cd fineract/kubernetes` 1. `minikube start` -1. `sh kubectl-startup.sh` -1. `minikube service fineract-server --url` -1. Fineract will run at the provided url +1. `./kubectl-startup.sh` +1. `minikube service fineract-server --url --https` +1. Fineract is now running at the printed URL (note HTTP), which you can check e.g. using: -NB : Change protocol from `http` to `https` + http --verify=no --timeout 240 --check-status get $(minikube service fineract-server --url --https)/fineract-provider/actuator/health -To check the status of your containers on your local kubernetes cluster, run: - `minikube dashboard` +To check the status of your containers on your local minikube Kubernetes cluster, run: + + minikube dashboard + +You can check Fineract logs using: + + kubectl logs deployment/fineract-server To shutdown and reset your cluster, run: - `sh kubectl-shutdown.sh` + + ./kubectl-shutdown + +We have [some open issues in JIRA with Kubernetes related enhancement ideas](https://jira.apache.org/jira/browse/FINERACT-783?jql=labels%20%3D%20kubernetes%20AND%20project%20%3D%20%22Apache%20Fineract%22%20) which you are welcome to contribute to. Checkstyle @@ -154,7 +169,7 @@ You could also use Checkstyle directly in your IDE (but you don't neccesarily ha Code Coverage Reports ============ -The project uses Jacoco to measure unit tests code coverage, to generate a report run the following command: +The project uses Jacoco to measure unit tests code coverage, to generate a report run the following command: `./gradlew clean build jacocoTestReport` diff --git a/kubernetes/kubectl-shutdown.sh b/kubernetes/kubectl-shutdown.sh old mode 100644 new mode 100755 index 17c849314..e42361b39 --- a/kubernetes/kubectl-shutdown.sh +++ b/kubernetes/kubectl-shutdown.sh @@ -18,8 +18,7 @@ # under the License. # - kubectl delete -f secrets.yml kubectl delete -f fineractmysql-configmap.yml kubectl delete -f fineractmysql-deployment.yml -kubectl delete -f fineract-server-deployment.yml \ No newline at end of file +kubectl delete -f fineract-server-deployment.yml diff --git a/kubernetes/kubectl-startup.sh b/kubernetes/kubectl-startup.sh old mode 100644 new mode 100755 index 27fef6d46..a3e393a58 --- a/kubernetes/kubectl-startup.sh +++ b/kubernetes/kubectl-startup.sh @@ -19,10 +19,10 @@ # echo "Setting Up Fineract service configuration..." -kubectl apply -f secrets.yml +kubectl apply -f secrets.yml kubectl apply -f fineractmysql-configmap.yml -echo "" +echo echo "Starting fineractmysql..." kubectl apply -f fineractmysql-deployment.yml @@ -37,6 +37,6 @@ while [[ ${fineractmysql_status} -ne 'Running' ]]; do fineractmysql_status=$(kubectl get pods ${fineractmysql_pod} --no-headers -o custom-columns=":status.phase") done -echo "" +echo echo "Starting fineract server..." kubectl apply -f fineract-server-deployment.yml