Skip to content

Instantly share code, notes, and snippets.

@jonathan-kosgei
Created July 19, 2017 09:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonathan-kosgei/c7375ba62e26b5bd7e18fb0bbb983878 to your computer and use it in GitHub Desktop.
Save jonathan-kosgei/c7375ba62e26b5bd7e18fb0bbb983878 to your computer and use it in GitHub Desktop.
Kubernetes Vagrant Setup
$script = <<SCRIPT
# Install docker
curl -fsSL get.docker.com | sh
# Install kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
# Install kubeadm
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
setenforce 0
yum install -y kubelet kubeadm
systemctl enable kubelet && systemctl start kubelet
SCRIPT
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: $script
config.vm.box = "centos/7"
config.vm.define "master"
config.vm.define "client1"
config.vm.define "client2"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment