Skip to content

Latest commit

 

History

History
executable file
·
74 lines (50 loc) · 2.76 KB

README.md

File metadata and controls

executable file
·
74 lines (50 loc) · 2.76 KB

Local Fuel Cluster

A dockerized fuel-data-systems for Kubernetes.

This repo contains instructions how to spin up a full local kubernetes cluster with a fuel-publisher service and all supporting infrastructure.

The latter is intended for local development, but it also allows us to deploy the Helm charts to a cloud-based infra with ease.

Requirements

The following are prerequisites for spinning up the fuel-data-systems cluster locally:

  • kubectl https://www.howtoforge.com/how-to-install-kubernetes-with-minikube-ubuntu-20-04/

  • Tilt: https://docs.tilt.dev/install.html

  • minikube based on the following description: https://phoenixnap.com/kb/install-minikube-on-ubuntu https://minikube.sigs.k8s.io/docs/start/

...or alternatively use this tool which will automatically set up your cluster: https://github.com/tilt-dev/ctlptl##minikube-with-a-built-in-registry

Setup

  1. To setup and start the local environment, run:

    make cluster-setup # Sets up both minikube and kubernetes configuration

    Alternatively, you can run the setup steps individually:

    make minikube-setup # Sets up minikube with required addons
    make k8s-setup      # Configures kubernetes with proper namespace and context

    You can also start the minikube cluster without running the setup script:

    make minikube-start # Start minikube cluster
  2. Start the Tilt services:

    make cluster-up # Starts Tiltfile services

You can use the following commands to manage the services:

make cluster-up     # Start services
make cluster-down   # Stop services
make cluster-reset  # Reset services
make minikube-start # Start minikube (if you've already run setup before)

Using k9s for an interactive terminal UI

Install k9s from here

Run it with k9s --context=<your kubectl context> --namespace=<namespace you want to watch> e.g. k9s --context=minikube --namespace=fuel-streams. You can do things like view logs with l, describe with d, delete with Ctrl+d.

Useful links

  • How kubernetes works
  • Kubernetes concepts
  • Kubectl overview
  • Kubectl cheat sheet
  • Helm chart tutorial, then examine the helm charts in this repository, and the values yaml files that are used to template them. The defults values are in the charts themselves as values.yaml, and the values for specific configurations are at values/<name>.yaml.
  • Tilt tutorial