Skip to content

Latest commit

 

History

History
140 lines (103 loc) · 5.19 KB

minikube.md

File metadata and controls

140 lines (103 loc) · 5.19 KB

Minikube deployment

  1. Install Minikube

    Install Minikube as described in this how-to and run it:

    minikube start
  2. 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

  3. 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.

  4. Create namespaces for the Tools and Lagom services

    kubectl create ./kube/manuell/000.namespaces.yaml
  5. 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

  1. Install the Lagom Kube Service Registry

    kubectl create -f ./kube/manuell/001.lrs.service.yaml
    kubectl create -f ./kube/manuell/002.lrs.deployment.yaml
  2. 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 }}
    ...
  3. 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
  4. Configure the Wolfram Alpha AppID for your build

    If you don't have a Wolfram Alpha AppID yet:

    Enter your AppID into the Wolfram service configuration:

    ...
    - name: WOLFRAM_APPID
      value: {{ WOLFRAM_APPID }}
    ...
  5. 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 }}
    ...
  6. Install the Wolfram Alpha Kube Service

    kubectl create -f ./kube/manuell/007.wolfram-svc.yaml
  7. 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
  8. 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

  9. Launch Telegram and test the bot: /test and /ask {{ question }}