All Projects → cloudnative-tech → kubeadm-vagrant

cloudnative-tech / kubeadm-vagrant

Licence: Apache-2.0 license
Setup Kubernetes Cluster with Kubeadm and Vagrant

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to kubeadm-vagrant

kubernetes-cluster
Vagrant As Automation Script
Stars: ✭ 34 (-30.61%)
Mutual labels:  vagrant, kubernetes-cluster, vagrantfile, kubeadm
Kontainerd
Creating a kubernetes kubeadm cluster using Vagrant machines as nodes and Containerd as a container runtime
Stars: ✭ 16 (-67.35%)
Mutual labels:  vagrant, kubernetes-cluster, kubeadm
rak8s
Stand up a Raspberry Pi based Kubernetes cluster with Ansible
Stars: ✭ 362 (+638.78%)
Mutual labels:  kubernetes-cluster, kubectl, kubeadm
Rak8s
Stand up a Raspberry Pi based Kubernetes cluster with Ansible
Stars: ✭ 354 (+622.45%)
Mutual labels:  kubernetes-cluster, kubectl, kubeadm
GPU-Kubernetes-Guide
How to setup a production-grade Kubernetes GPU cluster on Paperspace in 10 minutes for $10
Stars: ✭ 34 (-30.61%)
Mutual labels:  kubernetes-cluster, kubectl, kubeadm
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 (+3471.43%)
Mutual labels:  vagrant, kubernetes-cluster, vagrantfile
kubernetes the easy way
Automating Kubernetes the hard way with Vagrant and scripts
Stars: ✭ 22 (-55.1%)
Mutual labels:  vagrant, kubernetes-cluster
vagrant-r10k
UNSUPPORTED - SEEKING MAINTAINER - Vagrant middleware plugin to retrieve puppet modules using r10k.
Stars: ✭ 36 (-26.53%)
Mutual labels:  vagrant, vagrantfile
Vagrantfile
Vagrant 配置示例
Stars: ✭ 50 (+2.04%)
Mutual labels:  vagrant, vagrantfile
sig-windows-dev-tools
This is a batteries included local development environment for Kubernetes on Windows.
Stars: ✭ 52 (+6.12%)
Mutual labels:  vagrant, vagrantfile
vagrant-ids
An Ubuntu 16.04 build containing Suricata, PulledPork, Bro, and Splunk
Stars: ✭ 21 (-57.14%)
Mutual labels:  vagrant, vagrantfile
Gbt
Highly configurable prompt builder for Bash, ZSH and PowerShell written in Go.
Stars: ✭ 457 (+832.65%)
Mutual labels:  vagrant, kubectl
Kainstall
Use shell scripts to install kubernetes(k8s) high availability clusters and addon components based on kubeadmin with one click.使用shell脚本基于kubeadmin一键安装kubernetes 高可用集群和addon组件。
Stars: ✭ 198 (+304.08%)
Mutual labels:  kubernetes-cluster, kubeadm
K8s In 30mins
Learn how to set up the Kubernetes cluster in 30 mins and deploy the application inside the cluster.
Stars: ✭ 172 (+251.02%)
Mutual labels:  kubernetes-cluster, kubectl
Primehub
A toil-free multi-tenancy machine learning platform in your Kubernetes cluster
Stars: ✭ 160 (+226.53%)
Mutual labels:  kubernetes-cluster, kubectl
Terraform Aws Kubernetes
Terraform module for Kubernetes setup on AWS
Stars: ✭ 159 (+224.49%)
Mutual labels:  kubernetes-cluster, kubeadm
kubernetes-starterkit
A launchpad for developers to learn Kubernetes from scratch and deployment of microservices on a kubernetes cluster.
Stars: ✭ 39 (-20.41%)
Mutual labels:  kubernetes-cluster, kubectl
Detectionlab
Automate the creation of a lab environment complete with security tooling and logging best practices
Stars: ✭ 3,237 (+6506.12%)
Mutual labels:  vagrant, vagrantfile
build-inspector
Inspect your builds to look for changes in filesystem, network traffic and running processes.
Stars: ✭ 12 (-75.51%)
Mutual labels:  vagrant, vagrantfile
Kubectl Trace
Schedule bpftrace programs on your kubernetes cluster using the kubectl
Stars: ✭ 1,194 (+2336.73%)
Mutual labels:  kubernetes-cluster, kubectl

Setup Kubernetes Cluster with Kubeadm and Vagrant

Introduction

With reference to steps listed at Using kubeadm to Create a Cluster for setting up the Kubernetes cluster with kubeadm. I have been working on an automation to setup the cluster. The result of it is kubeadm-vagrant, a github project with simple steps to setup your kubernetes cluster with more control on vagrant based virtual machines.

Installation

  • Download and install Vagrant specific to your OS

  • Install few Vagrant plugins required for setting it up.

vagrant plugin install vagrant-hostmanager
vagrant plugin install vagrant-hosts
vagrant plugin install vagrant-env

git clone https://github.com/cloudnative-tech/kubeadm-vagrant

  • For setting up up the Nodes configure the cluster parameters in .env file. Refer section below for details of configuration options.

vi .env

  • Create a directory to store artifacts created during cluster creation.

mkdir .data

  • Spin up the cluster

vagrant up

  • This will spin up new Kubernetes cluster. You can check the status of cluster with following command,
    • For Master Node
      vagrant ssh k8s-master
      sudo su
      kubectl get pods --all-namespaces
      
    • For Worker Node
      vagrant ssh k8s-node-<NodeNumber>
      

Cluster Configuration Options

  1. Generic Properties
  • BOX_IMAGE is currently default with "generic/ubuntu1804" box which is custom box created which can be used for setting up the cluster with basic dependencies for kubernetes node.
  • PROVIDER is currently default with "virtualbox" It may change in future with more providers.
  • KUBE_VERSION is the version of Kubernetes cluster you want to set up with. The main branch will always have the latest available versions. You can find older versions in the releases.
  • NW_PLUGIN is the network plugin you wish to enable with the Kubernetes cluster. Currently it supports calico an weave
  • A secure dashboard is enabled by default. To enable INSECURE_DASHBOARD can be used. Set its value to yes
    • You can login to dashboard using https://<MASTER_IP>:31443 and the .kube/config file from your vagrant directory.
  • A Load Balancer IP Pool can be provided with LB_IPPOOL. The format is the range of IP addresses in your host-only network.
  • The sandbox by default will install HELM v 3.x. To disable it, update INSTALL_HELM to no
  • The sandbox by default will enable operator-sdk and OLM. To disable it, update ENABLE_OLM to no
  1. Master Node Properties
  • Set SETUP_MASTER to true if you want to setup the node. This is true by default for spawning a new cluster. You can skip it for adding new worker nodes.
  • Set MASTER_IP to a preferred value from the subnet of your virtualbox host-only network.
  • Specify custom POD_NW_CIDR of your choice for particular NW_PLUGIN
  • Specify Master node hostname with MASTER_HOSTNAME
  • Provide your recommended values for MASTER_CPU AND MASTER_MEMORY. The minimum values for both are 2 and 2048 respectively.
  1. Worker Noder Properties
  • Set SETUP_NODES to true/false depending on whether you are setting up worker nodes in the cluster.
  • Specify NODE_COUNT as the count of worker nodes in the cluster
  • Specify NODE_IP_NW as the network IP which can be used for assigning dynamic IPs for cluster nodes from the same network as Master
  • Specify Worker node hostname with NODE_HOSTNAME
  • Provide your recommended values for NODE_CPU AND NODE_MEMORY. The minimum values for both are 1 and 1024 respectively.
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].