All Projects → bitnami → Kube Manifests

bitnami / Kube Manifests

Licence: apache-2.0
A collection of misc Kubernetes configs for various jobs, as used in Bitnami's production clusters.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Kube Manifests

Kube Aws
[EOL] A command-line tool to declaratively manage Kubernetes clusters on AWS
Stars: ✭ 1,146 (+730.43%)
Mutual labels:  kubernetes-cluster
K8s Gitops
Kubernetes cluster managed by GitOps - Git as a single source of truth, automated pipelines, declarative everything, next-generation DevOps
Stars: ✭ 110 (-20.29%)
Mutual labels:  kubernetes-cluster
Kubernetes Vagrant Centos Cluster
Setting up a distributed Kubernetes cluster along with Istio service mesh locally with Vagrant and VirtualBox, only PoC or Demo use.
Stars: ✭ 1,750 (+1168.12%)
Mutual labels:  kubernetes-cluster
Kubectl Trace
Schedule bpftrace programs on your kubernetes cluster using the kubectl
Stars: ✭ 1,194 (+765.22%)
Mutual labels:  kubernetes-cluster
Simplekube
[DEPRECATED] A simple way to bootstrap a Kubernetes cluster.
Stars: ✭ 95 (-31.16%)
Mutual labels:  kubernetes-cluster
Innovate Digital Bank
This repository contains instructions to build a digital bank composed of a set of microservices that communicate with each other. Using Nodejs, Express, MongoDB and deployed to a Kubernetes cluster on IBM Cloud.
Stars: ✭ 115 (-16.67%)
Mutual labels:  kubernetes-cluster
Match
🔮 Scalable reverse image search built on Kubernetes and Elasticsearch
Stars: ✭ 1,121 (+712.32%)
Mutual labels:  kubernetes-cluster
Ansible Role K3s
Ansible role for installing k3s as either a standalone server or HA cluster.
Stars: ✭ 132 (-4.35%)
Mutual labels:  kubernetes-cluster
Hacker Container
Container with all the list of useful tools/commands while hacking and pentesting Kubernetes Clusters
Stars: ✭ 105 (-23.91%)
Mutual labels:  kubernetes-cluster
Kubespray
Deploy a Production Ready Kubernetes Cluster
Stars: ✭ 11,588 (+8297.1%)
Mutual labels:  kubernetes-cluster
Gameon Java Microservices On Kubernetes
This code demonstrates deployment of a Microservices based application Game On! on to Kubernetes cluster. Game On! is a throwback text-based adventure built to help you explore microservice architectures and related concepts.
Stars: ✭ 88 (-36.23%)
Mutual labels:  kubernetes-cluster
Instance Manager
Create and manage instance groups with Kubernetes
Stars: ✭ 95 (-31.16%)
Mutual labels:  kubernetes-cluster
Owasp Workshop
owasp-workshop: Orchetraing containers with Kubernetes
Stars: ✭ 116 (-15.94%)
Mutual labels:  kubernetes-cluster
Governor
A collection of cluster reliability tools for Kubernetes
Stars: ✭ 71 (-48.55%)
Mutual labels:  kubernetes-cluster
Kubernetes Reflector
Custom Kubernetes controller that can be used to replicate secrets, configmaps and certificates.
Stars: ✭ 129 (-6.52%)
Mutual labels:  kubernetes-cluster
Private Aks Cluster
This sample shows how to create a private AKS cluster in a virtual network along with a jumpbox virtual machine.
Stars: ✭ 63 (-54.35%)
Mutual labels:  kubernetes-cluster
Kubeiql
A GraphQL interface for Kubernetes.
Stars: ✭ 112 (-18.84%)
Mutual labels:  kubernetes-cluster
Cerebral
Kubernetes cluster autoscaler with pluggable metrics backends and scaling engines
Stars: ✭ 138 (+0%)
Mutual labels:  kubernetes-cluster
Ansible Rpi K8s Cluster
Deploy Raspberry Pi Kubernetes cluster using Ansible
Stars: ✭ 131 (-5.07%)
Mutual labels:  kubernetes-cluster
Refarch Cloudnative Kubernetes
Reference Implementation for Microservices based on Kubernetes and the IBM Container Service.
Stars: ✭ 115 (-16.67%)
Mutual labels:  kubernetes-cluster

Bitnami kube-manifests

A collection of misc kubernetes configs for various jobs, as used in Bitnami's production clusters. This is probably not useful directly for anyone else, but we hope it serves as a non-demo example of "real" Kubernetes configuration.

Most of the code comments and instructions below are intended for Bitnami employees making changes to our production clusters.

Uses jsonnet and kubectl command line tools. See Makefile for a docker container with these installed.

Cheat Sheet

# Rebuild generated json (from jsonnet).
# Any modified files should be included in your git commit.
make build

# Run test-suite
make test

# Create resources
./tools/kubecfg.sh squid.jsonnet create
# Update resources
./tools/kubecfg.sh squid.jsonnet update

# Same thing directly for whatever reason
jsonnet -J lib squid.jsonnet | kubectl replace -f -
# .. or using the generated json
kubectl replace -R -f generated/one.k8s.dev.bitnami.net/squid

Workflow

  • Usual github pull-request workflow: Fork the github repo, clone locally and make your desired change to the jsonnet files using your favourite editor.

  • Run make to regenerate the JSON. Add the generated files to your commit. You (and your reviewer) can use these to confirm that your jsonnet change does what you expect.

  • If you need to iterate interactively, you can push your change to our dev cluster using ./tools/kubecfg.sh one.k8s.dev.bitnami.net/foo.jsonnet update. Try to clean up after yourself.

  • When ready, push to personal github fork and create a pull request in the usual github way.

  • Our jenkins instance will run tests/test_*.sh and report success/failure on the pull-request.

  • After jenkins success and appropriate reviewer approval, merge the pull request into the master branch.

  • Jenkins will now automatically run ./tools/deploy.sh against each cluster.

Tests

./tests/test_*.sh will be run against the codebase before merge.

Note that tests/test_generated.sh asserts that generated/ is up to date, effectively requiring every substantive jsonnet change to run tools/rebuild.sh.

Directory Layout

The interesting bit is these directories:

├── common
│   └── config
├── one.k8s.dev.bitnami.net
│   └── config
├── one.k8s.int.bitnami.net
│   └── config
└── one.k8s.web.bitnami.net
    └── config

Most of the configuration is in per-component files in common/. These files are then assembled and "specialised" in per-cluster files below each of the cluster-named directories. There is a similar foo/config/ directory stack used in a similar way for non-Kubernetes config files (mostly prometheus at the moment).

The jsonnet files rely heavily on lib/kube.libsonnet, which contains jsonnet black-magic to help construct objects that conform to the regular Kubernetes (JSON/YAML) API schema.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].