All Projects → hoeghh → kubernetes_the_easy_way

hoeghh / kubernetes_the_easy_way

Licence: MIT license
Automating Kubernetes the hard way with Vagrant and scripts

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to kubernetes the easy way

Kubernetes-and-Cloud-Native-Associate-KCNA
Useful notes for the KCNA - Kubernetes and Cloud Native Associate
Stars: ✭ 162 (+636.36%)
Mutual labels:  cncf, orchestration, k8s
kube-watch
Simple tool to get webhooks on Kubernetes cluster events
Stars: ✭ 21 (-4.55%)
Mutual labels:  cluster, kubernetes-cluster, k8s
Kubernetes Certified Administrator
Online resources that will help you prepare for taking the CNCF CKA 2020 "Kubernetes Certified Administrator" Certification exam. with time, This is not likely the comprehensive up to date list - please make a pull request if there something that should be added here.
Stars: ✭ 3,438 (+15527.27%)
Mutual labels:  cncf, kubernetes-cluster, k8s
multi-master-kubernetes
Multi-master Kubernetes cluster on Exoscale
Stars: ✭ 65 (+195.45%)
Mutual labels:  kubernetes-cluster, k8s, k8s-cluster
K8s Digitalocean Terraform
Deploy latest Kubernetes cluster on DigitalOcean using Terraform
Stars: ✭ 33 (+50%)
Mutual labels:  cluster, kubernetes-cluster, k8s
Metalk8s
An opinionated Kubernetes distribution with a focus on long-term on-prem deployments
Stars: ✭ 217 (+886.36%)
Mutual labels:  kubernetes-cluster, k8s, kubernetes-setup
k8s-istio-demo
Demo showing the capabilities of Istio
Stars: ✭ 22 (+0%)
Mutual labels:  cluster, kubernetes-cluster, k8s
Sonobuoy
Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests and other plugins in an accessible and non-destructive manner.
Stars: ✭ 2,442 (+11000%)
Mutual labels:  cncf, kubernetes-cluster, kubernetes-setup
Kubernetes Gpu Guide
This guide should help fellow researchers and hobbyists to easily automate and accelerate there deep leaning training with their own Kubernetes GPU cluster.
Stars: ✭ 740 (+3263.64%)
Mutual labels:  cluster, kubernetes-cluster, kubernetes-setup
K8s Tew
Kubernetes - The Easier Way
Stars: ✭ 269 (+1122.73%)
Mutual labels:  cluster, cncf, k8s
ansible-role-pacemaker
Ansible role to deploy Pacemaker HA clusters
Stars: ✭ 19 (-13.64%)
Mutual labels:  cluster, pacemaker, corosync
Kubernetes Under The Hood
This tutorial is someone planning to install a Kubernetes cluster and wants to understand how everything fits together.
Stars: ✭ 279 (+1168.18%)
Mutual labels:  virtualbox, kubernetes-cluster, kubernetes-setup
GPU-Kubernetes-Guide
How to setup a production-grade Kubernetes GPU cluster on Paperspace in 10 minutes for $10
Stars: ✭ 34 (+54.55%)
Mutual labels:  kubernetes-cluster, kubernetes-setup, k8s-cluster
kubernetes-cluster
Vagrant As Automation Script
Stars: ✭ 34 (+54.55%)
Mutual labels:  vagrant, kubernetes-cluster, kubernetes-setup
Azure-AKS-ApplicationGateway-WAF
No description or website provided.
Stars: ✭ 16 (-27.27%)
Mutual labels:  cluster, kubernetes-cluster, k8s-cluster
Ansible Role K3s
Ansible role for installing k3s as either a standalone server or HA cluster.
Stars: ✭ 132 (+500%)
Mutual labels:  cluster, kubernetes-cluster, k8s
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 (+7854.55%)
Mutual labels:  vagrant, virtualbox, kubernetes-cluster
packer-windows
Windows Templates for Packer: Windows 11, Windows 10, Windows Server 2022, 2019, 2016, also with Docker
Stars: ✭ 1,116 (+4972.73%)
Mutual labels:  vagrant, virtualbox
opnsense-starterkit
Try opnsense, build opnsense images or start development
Stars: ✭ 18 (-18.18%)
Mutual labels:  vagrant, virtualbox
rbac-tool
Rapid7 | insightCloudSec | Kubernetes RBAC Power Toys - Visualize, Analyze, Generate & Query
Stars: ✭ 546 (+2381.82%)
Mutual labels:  cluster, k8s-cluster

Kubernetes the easy way

This repository tries to automate the guide "Kubernetes The Hard Way" by Kelsey Hightower, using Vagrant and Virtualbox.

Prerequisites

  • Vagrant
  • VirtualBox 5.2
  • kubectl
  • cfssl
  • cfssljson

Documentation

Find my attempt at documenting this here Documentation

Installing cfssl and cfssljson

PKI and TLS Tools by Cloudflare (https://github.com/cloudflare/cfssl)

For Linux :
 curl -o /usr/local/bin/cfssl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
 curl -o /usr/local/bin/cfssljson https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
 chmod +x /usr/local/bin/cfssl*

For Mac :
 curl -o /usr/local/bin/cfssl https://pkg.cfssl.org/R1.2/cfssl_darwin-amd64
 curl -o /usr/local/bin/cfssljson https://pkg.cfssl.org/R1.2/cfssljson_darwin-amd64
 chmod +x /usr/local/bin/cfssl*

For Windows :
  Download https://pkg.cfssl.org/R1.2/cfssl_windows-amd64.exe
  Download https://pkg.cfssl.org/R1.2/cfssljson_windows-amd64.exe
  Do whatever Windows people do

Getting started

First off, edit the file config. Here you can specify how many of each type of nodes you want. Eg. 3 master nodes. Also you can specify the number of CPU and Memory for each type.

Once thats done, just run ./install.sh.

What just happend

The script set the number of nodes you want and the resources they get. It then generates a hosts file with ip's and hostnames. This is used to configure each node in the cluster. Then it generates certificates, based on the hostfile.

Now it calls Vagrant to provition the nodes. While provitioning the nodes, Vagrant will copy scripts and certifiates to each node and execute them. The script can be found under the scripts folder and the certificates under the folder ssl.

Connect local kubectl to the new cluster

Set the current context to kubernets-the-easy-way

kubectl config use-context kubernetes-the-easy-way

Test connection and see worker nodes connected

kubectl get nodes

SSH into machines

Because we trick Vagrant into being dynamic in regards to number of machines, we need to set our variables before we can use Vagrant commands. So in order to use Vagrant commands, after the install.sh script has finished, run this

source config
vagrant ssh k8s-worker-1

Destroy machines

If Kubernetes is not your thing after all, or that you for other reasons want to remove the cluster, simply run this script

./destroy.sh

Important

Remember to run the destroy.sh script before running the install.sh script again.

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