-
Install Minikube
Install Minikube as described in this how-to and run it:
minikube start
-
Install the Kubernetes Dashboard // TODO: Minikube has its own dashboard:
minikube dashboard
kubectl create -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/kubernetes-dashboard/v1.5.0.yaml
After installation, launch the dashboard as a proxy:
kubectl proxy --port=8080
It is now accessible at
http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
-
Bootstrap Heapster (including InfluxDB and Grafana) for monitoring, and configure it based on these configuration files
kubectl create -f ./kube/manuell/heapster
Grafana is now available at
http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana
. -
Create namespaces for the Tools and Lagom services
kubectl create ./kube/manuell/000.namespaces.yaml
-
Install the Apache Cassandra database and deploy the configuration files (developed based on these configurations)
kubectl create -f ./kube/manuell/cassandra/cassandra_minikube.yaml
Now, the Kubernetes infrastructure is ready for installation of Lagom Kube Service Registry and Lagom Kube services
-
Install the Lagom Kube Service Registry
kubectl create -f ./kube/manuell/001.lrs.service.yaml kubectl create -f ./kube/manuell/002.lrs.deployment.yaml
-
Configure the Telegram bot token for your build
If you don't have a Telegram bot token yet, create a Telegram bot as described in the Introduction for Telegram developers.
Enter your bot's token into the Telegram bot service configuration:
... value: {{ TELEGRAM_BOT_TOKEN }} ...
-
Install the Lagom services
kubectl create -f ./kube/manuell/003.telegrambot.service.yaml kubectl create -f ./kube/manuell/004.telegrambot.deployment.yaml kubectl create -f ./kube/manuell/005.helloworldsvc.service.yaml kubectl create -f ./kube/manuell/006.helloworldsvc.deployment.yaml
-
Configure the Wolfram Alpha AppID for your build
If you don't have a Wolfram Alpha AppID yet:
- Create an account on the Wolfram Alpha Developer Portal
- Create a new Wolfram Alpha application
Enter your AppID into the Wolfram service configuration:
... - name: WOLFRAM_APPID value: {{ WOLFRAM_APPID }} ...
-
Create a New Relic account
Create an account at New Relic and enter the license key provided both into the Wolfram service configuration and into the Service Registry Deployment configuration:
... - name: NEW_RELIC_LICENSE_KEY value: {{ NEW_RELIC_LICENSE_KEY }} ...
-
Install the Wolfram Alpha Kube Service
kubectl create -f ./kube/manuell/007.wolfram-svc.yaml
-
Configure the Service Registry routing
kubectl port-forward {{ lagom-kube-service-register }} 8000 --namespace=tools kubectl port-forward {{ lagom-kube-service-register }} 9000 --namespace=tools
-
We can now test our application:
- Check if all three services are registered in the Service Registry:
http://127.0.0.1:8000/services
- Check if the HelloWorld service is up:
http://localhost:9000/api/helloworldservice/v1/list-environment
-
Launch Telegram and test the bot:
/test
and/ask {{ question }}