How to use this box with Vagrant:

Vagrant.configure("2") do |config|
  config.vm.box = "valengus/flatcar-k8s"
  config.vm.box_version = "1.28.3"
end
vagrant init valengus/flatcar-k8s \
  --box-version 1.28.3
vagrant up

This version was created 5 months ago.

Based on image-builder

Calico images are pre-loaded for offline install

kubectl apply -f /etc/kubernetes/manifests/calico.yaml


Login Credentials:

Username: core

Password: core


Vagrantfile example:

libvirt:
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.define "k8s"  do |config|
    config.vm.hostname =  "k8s"
    config.vm.box =  "valengus/flatcar-k8s"
    config.vm.provider :libvirt do |libvirt|
      libvirt.cpus =  2
      libvirt.memory =  4  *  1024
      libvirt.qemu_use_session =  false
      libvirt.management_network_name =  'vagrant'
      libvirt.management_network_domain =  'local'
    end
    config.vm.provision "shell", inline: <<-SHELL
      kubeadm init
      mkdir  -p  $HOME/.kube
      cp  -i /etc/kubernetes/admin.conf $HOME/.kube/config
      chown $(id  -u):$(id  -g) $HOME/.kube/config
      kubectl apply -f /etc/kubernetes/manifests/calico.yaml
      kubectl taint node "k8s" node-role.kubernetes.io/control-plane:NoSchedule-
    SHELL
  end

end


virtualbox:
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

    config.vm.define "k8s"  do |config|
      config.vm.hostname =  "k8s"
      config.vm.box      =  "valengus/flatcar-k8s"
      config.vm.synced_folder '.', '/vagrant', disabled: true
      config.vm.provider :virtualbox do |virtualbox|
        virtualbox.memory = 4  *  1024
        virtualbox.cpus   = 2
        virtualbox.gui    = true
      end
      config.vm.provision "shell", inline: <<-SHELL
        kubeadm init
        mkdir  -p  $HOME/.kube
        cp  -i /etc/kubernetes/admin.conf $HOME/.kube/config
        chown $(id  -u):$(id  -g) $HOME/.kube/config
        kubectl apply -f /etc/kubernetes/manifests/calico.yaml
        kubectl taint node "k8s" node-role.kubernetes.io/control-plane:NoSchedule-
      SHELL
    end

end

2 providers for this version.
  • libvirt
    amd64 Hosted by Vagrant Cloud (2.15 GB)
  • virtualbox
    amd64 Hosted by Vagrant Cloud (2.13 GB)