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.
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
-
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
-
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)
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
.
- 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 atvalues/<name>.yaml
. - Tilt tutorial