Skip to content

A repo with enough documenation and projects to get a local Kubernetes running under various configurations

License

Notifications You must be signed in to change notification settings

johnmanko/soup-to-nuts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

soup to nuts header image

Purpose

What this project is

This repo is going to be a living guide with valid configurations, manifests, instructions and projects.

Feel free to contribute with PRs to add/correct information, or provide additional sample deployable projects.

What this project is NOT

This is NOT a substitute for each project's (Istio, Cilium, Rancher Desktop) documentation. Rather, it's simply TL;DR guide to get running quickly.

I highly encourage you to visit the documentation of the installations you plan to use. You'll gain a greater understanding of each.

  • Cilium CNI + Service Mesh.

  • Istio CNI Extension (requires primary CNI installed) + Service Mesh.

  • Rancher Desktop - A Kubernetes runtime.

  • Docker Desktop - Used for running both Docker workloads (see infra-services/out-cluser), but includes a basic Kubernetes runtime.

  • Kind - A Kubernetes runtime that installs on Docker or Docker Desktop

  • Knative - A cluster extension to add serverless function support

  • Minikube - A Kubernetes runtime. Not covered in this guide yet, but pull requests are welcome.

  • Flannel - Simple CNI

  • Quarkus - A cloud-native Java framework for building cloud-native services and serverless functions

  • Spring Boot - An opinionated Java framework for building microservices

  • Hapi.js - A Node.js framework for building node-based microservices

  • Kafka - An open-source distributed event streaming platform, which serve as the basis for events in our cluster. Note, Knative requires a bus backend.

  • Valkey - A fork of Redis, which will be used for in-memory caching

  • Homebrew - Software package manager

  • jq - A cli utility for parsing, querying and formatting json

  • GraalVM - GraalVM compiles your Java code to native binary, ideal for cloud deployments that need high performance and low start-up latency

  • Node.js - A javascript server

Cluster Formulas

Here are a few formulas to try when creating your cluster.

Please consider adding your own to this list

Organization

Cluster Config

Details for installing and configuring your cluster before deploying services and functions.

  • cluster-config - Information on various configurations for running a local Kubernetes cluster
    • cilium - Cilium related configuration info
    • docker-desktop - Docker Desktop related configuration info
    • istio - Istio related configuration info
    • kind - Kind related configuration info
    • manifests - Global Kubernetes manifests you should apply to your cluster
    • rancher-desktop - Rancher Desktop related configuration info
    • knative

Infrastructure Services

Basic configurations for deploying supporting services required for more of one services.

  • infra-services - Directory for installing supporting services, either in Docker or within your Kubernetes cluster
    • in-cluster - Services that could be installed in your cluster. These are dev/test level configurations and should not be used for production
    • out-cluster - Services that could be installed in your local Docker (Desktop). The provided compose.yaml should bring up a local Docker stack of services you can use from your Kubernetes cluster.

Projects

Same projects that you can deploy to your cluster. Topics in Quarkus, Spring Boot, Knative functions and more.

  • projects - Various source projects you can build and deploy to your cluster. Most projects have a k8s folder with additional manifests, which are configured to use the services and namespaces provided in ./cluster-config/manifests.
    • functions - Knative functions
    • manifests - Common manifests that are application related (as opposed to cluster related). These could be common ConfigMaps, Secrets, etc.
    • services - Microservices to be deployed as fully running containers.

About

A repo with enough documenation and projects to get a local Kubernetes running under various configurations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published