All Projects → att-comdev → halcyon-vagrant-kubernetes

att-comdev / halcyon-vagrant-kubernetes

Licence: Apache-2.0 License
Vagrant deployment mechanism for halcyon-kubernetes.

Programming Languages

shell
77523 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to halcyon-vagrant-kubernetes

packer-centos
Create CentOS images for different hypervisors with Packer
Stars: ✭ 18 (+50%)
Mutual labels:  vagrant, virtualbox, kvm
ansible virtualization
Ansible Collection: Virtualization roles
Stars: ✭ 31 (+158.33%)
Mutual labels:  vagrant, virtualbox, kvm
yosild
Yosild is a single shell script that builds a full, minimal Linux distribution based on BusyBox.
Stars: ✭ 97 (+708.33%)
Mutual labels:  virtualbox, kvm, libvirt
Nixbox
NixOS Vagrant boxes [[email protected]]
Stars: ✭ 189 (+1475%)
Mutual labels:  vagrant, virtualbox, libvirt
Packer Templates
Scripts and Templates used for generating Vagrant images
Stars: ✭ 219 (+1725%)
Mutual labels:  vagrant, virtualbox, libvirt
Packer Build
Packer Automated VM Image and Vagrant Box Builds
Stars: ✭ 199 (+1558.33%)
Mutual labels:  vagrant, virtualbox, kvm
Robox
The tools needed to robotically create/configure/provision a large number of operating systems, for a variety of hypervisors, using packer.
Stars: ✭ 303 (+2425%)
Mutual labels:  vagrant, virtualbox, libvirt
vagrant-travisci-libvrt
Example project showing how to run Vagrant on TravisCI using libvrt & KVM
Stars: ✭ 25 (+108.33%)
Mutual labels:  vagrant, kvm, libvirt
upstream-institute-virtual-environment
A Vagrant-based image creator for OpenStack Upstream Training sessions
Stars: ✭ 18 (+50%)
Mutual labels:  vagrant, virtualbox, openstack
kubernetes the easy way
Automating Kubernetes the hard way with Vagrant and scripts
Stars: ✭ 22 (+83.33%)
Mutual labels:  vagrant, virtualbox
vagrant-openstack
Vagrant OpenStack-Ansible Environment used by OpenStack Cloud Computing Cookbook 4th Edition
Stars: ✭ 45 (+275%)
Mutual labels:  vagrant, openstack
virtnbdbackup
Backup utiliy for Libvirt / qemu / kvm supporting incremental and differencial backups.
Stars: ✭ 62 (+416.67%)
Mutual labels:  kvm, libvirt
docker-hands-on-guide
Hands on guide for docker, k8s cluster lightweight virtualization.
Stars: ✭ 25 (+108.33%)
Mutual labels:  vagrant, virtualbox
cloudpods
A cloud-native open-source unified multi-cloud and hybrid-cloud platform. 开源、云原生的多云管理及混合云融合平台
Stars: ✭ 1,469 (+12141.67%)
Mutual labels:  openstack, kvm
opnsense-starterkit
Try opnsense, build opnsense images or start development
Stars: ✭ 18 (+50%)
Mutual labels:  vagrant, virtualbox
junos-orchestration-with-vagrant
How to orchestrate and provision Junos virtual machines with Vagrant
Stars: ✭ 14 (+16.67%)
Mutual labels:  vagrant, virtualbox
acquia-cloud-vm
VirtualBox/Vagrant-based VM to closely match Acquia Cloud environment.
Stars: ✭ 20 (+66.67%)
Mutual labels:  vagrant, virtualbox
TYPOTry
A small Vagrant box to try out the most recent TYPO3 release
Stars: ✭ 21 (+75%)
Mutual labels:  vagrant, virtualbox
deploy-vm
Libvirt wrapper to spawn VMs using cloud images
Stars: ✭ 56 (+366.67%)
Mutual labels:  kvm, libvirt
k3s-homeops-ansible
Bootstrap a k3s cluster on top of Ubuntu 20.04
Stars: ✭ 47 (+291.67%)
Mutual labels:  vagrant, virtualbox

halcyon-vagrant-kubernetes

Please see release notes for current and planned features.

A Vagrant deployment of halcyon-kubernetes -- Ansible playbooks for a kubadm-based kubernetes deployment, supporting any cloud and any kubeadm-enabled OS.

Requirements

  • Virtualbox 5.0 (5.2 will not work with Vagrant)
  • Virtualbox Extensions for 5.0
  • Ansible (version 2.1.1 and up tested)
  • Vagrant (1.8.4 or higher, but not 1.9 as there are known issues)
    • Following Vagrant Plugins (installed for you during first deploy):
      • vagrant-env
      • vagrant-git
      • vagrant-openstack-provider
      • vagrant-persistent-storage
  • GNU sed (MacOS ships with BSD sed)

Please see /docs/README.md for more information about SDN providers, plugins, and other useful information. Pull requests are welcome!

Instructions

To use this project, simply use vagrant to bring up your environment:

$ git clone https://github.com/att-comdev/halcyon-vagrant-kubernetes.git
$ cd halcyon-vagrant-kubernetes
$ git submodule init
$ git submodule update
$ cd halcyon-kubernetes; make; source venv/bin/activate; cd -
$ vagrant up

Configuration Helper

A helper script is provided to set up basic common configuration options, it can be used to change the guest OS and Kubernetes version. It also supports changing between the default halcyon-kubernetes config and one optimized for OpenStack Kolla-Kubernetes development. For example, to setup a Kolla development environment running CentOS and Kubernetes v1.4.6 can simply be achieved by running:

$ ./setup-halcyon.sh --guest-os centos --k8s-config kolla --k8s-version v1.4.6

Deploy directly to Openstack:

When you want to use Openstack, edit the options in ./config.rb to match your Openstack project, and deploy with the --provider=openstack flag:

$ vagrant up --provider=openstack

Deploy using Libvirt:

If you would like to use libvirt rather than virtualbox, install the follow vagrant plugin and deploy with the --provider=libvirt flag:

$ vagrant plugin install vagrant-libvirt
$ vagrant up --provider=libvirt

NOTE: Please look over the options in config.rb for modifying number of nodes, subnet, and other information and if you want to make any modifications to the Ansible deployment, make changes to the ./kube-deploy/group_vars/all.yml file.

Accessing the cluster:

To access the deployed cluster either log in to the node kube1:

$ vagrant ssh kube1

or if kubectl is installed locally on the development host, you can alternatively use the provided helper-script to access the cluster:

$ ./get-k8s-creds.sh

Ubuntu Deployment Issues:

If you are deploying project on a Ubuntu 16.04+ host, you may need to install the following dependencies to ensure that the Vagrant plugins get installed properly:

sudo apt-get install ruby-dev zlib1g-dev libgmp-dev libxml2-dev libssl-dev openssl libffi-dev

NOTE: On Ubuntu 16.10, you may have to install libvirt-dev package to ensure the vagrant-libvirt plugin installs properly:

sudo apt-get install libvirt-dev

TODO

  • Add conditionals for various deployments (using vagrant --provider flags; such as AWS provider).
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].