Skip to content

Instantly share code, notes, and snippets.

@sashaaro
Last active December 5, 2020 18:23
Show Gist options
  • Save sashaaro/e18e20b3ea2456164ecc0cc835a10cc3 to your computer and use it in GitHub Desktop.
Save sashaaro/e18e20b3ea2456164ecc0cc835a10cc3 to your computer and use it in GitHub Desktop.
k8s vagrant nodes for kubespray
ssh-keygen -f ~/.ssh/kubespray_id_rsa
vagrant up node1 node2 node3

see https://github.com/kubernetes-sigs/kubespray#ansible

One node example in inventory/mycluster/inventory.ini

[all]
node1 ansible_host=192.168.50.2 ansible_user=root ansible_ssh_private_key_file=/home/sasha/.ssh/ansible_id_rsa

Add to inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.yml

kubelet_cgroup_driver: "cgroupfs"
sudo ansible-playbook -i inventory/mycluster/inventory.ini --flush-cache --become --become-user=root cluster.yml -e "kubelet_cgroup_driver=cgroupfs"
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.provision "disable swap", type: "shell", inline: "swapoff -a"
config.vm.provision "disable selinux", type: "shell", inline: "sudo setenforce 0 && sed -i 's/SELINUX=\(enforcing\|permissive\)/SELINUX=disabled/g' /etc/selinux/config"
config.vm.provision "enable ip forward", type: "shell", inline: "sysctl -w net.ipv4.ip_forward=1" # TODO make permanent
id_rsa_pub = File.read("#{Dir.home}/.ssh/kubespray_id_rsa.pub")
config.vm.provision "copy ssh public key", type: "shell",
inline: "mkdir /root/.ssh && echo \"#{id_rsa_pub}\" >> /home/vagrant/.ssh/authorized_keys && echo \"#{id_rsa_pub}\" >> /root/.ssh/authorized_keys"
config.vm.define "node1", primary: true do |node|
node.vm.network "private_network", ip: "192.168.50.2"
node.vm.provider "virtualbox" do |v|
v.cpus = 2
v.memory = 2300
end
end
config.vm.define "node2", autostart: false do |node|
node.vm.network "private_network", ip: "192.168.50.3"
node.vm.provider "virtualbox" do |v|
v.cpus = 2
v.memory = 2000
end
end
config.vm.define "node3", autostart: false do |node|
node.vm.network "private_network", ip: "192.168.50.4"
node.vm.provider "virtualbox" do |v|
v.cpus = 2
v.memory = 2000
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment