Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- mode: ruby -*-
- # vi: set ft=ruby :
- # This script to install Kubernetes will get executed after we have provisioned the box
- $script1 = <<-SCRIPT
- # Install kubernetes
- yum update -y
- yum install wget -y
- setenforce 0
- sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
- service firewalld start
- chkconfig firewalld on
- firewall-cmd --permanent --add-port=6443/tcp
- firewall-cmd --permanent --add-port=2379-2380/tcp
- firewall-cmd --permanent --add-port=10250/tcp
- firewall-cmd --permanent --add-port=10251/tcp
- firewall-cmd --permanent --add-port=10252/tcp
- firewall-cmd --permanent --add-port=10255/tcp
- firewall-cmd --reload
- modprobe br_netfilter
- echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
- 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=0
- 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
- # kubelet requires swap off
- swapoff -a
- # keep swap off after reboot
- sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
- yum install kubeadm docker --nogpgcheck -y
- systemctl restart kubelet && systemctl enable kubelet
- systemctl restart docker && systemctl enable docker
- sleep 30
- # Get the IP address that VirtualBox has given this VM
- IPADDR=`ifconfig enp0s8 | grep mask | awk '{print $2}'| cut -f2 -d:`
- echo This VM has IP address $IPADDR
- #adding IP and hostname in /etc/hosts file , if no DNS
- #sed -i '$ a $IPADDR kube-master' /etc/hosts
- # Set up Kubernetes
- NODENAME=$(hostname -s)
- kubeadm init --apiserver-cert-extra-sans=$IPADDR --node-name $NODENAME --pod-network-cidr 172.28.0.0/12
- mkdir -p $HOME/.kube
- cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
- chown $(id -u):$(id -g) $HOME/.kube/config
- #export kubever=$(kubectl version | base64 | tr -d '\n')&env.IPALLOC_RANGE=172.28.0.0/12
- #kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
- SCRIPT
- $script2 = <<-SCRIPT
- # Install kubernetes
- yum update -y
- yum install wget -y
- setenforce 0
- sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
- service firewalld start
- chkconfig firewalld on
- firewall-cmd --permanent --add-port=10250/tcp
- firewall-cmd --permanent --add-port=10255/tcp
- firewall-cmd --permanent --add-port=30000-32767/tcp
- firewall-cmd --permanent --add-port=6783/tcp
- firewall-cmd --reload
- modprobe br_netfilter
- echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
- 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=0
- 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
- # kubelet requires swap off
- swapoff -a
- # keep swap off after reboot
- sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
- yum install kubeadm docker --nogpgcheck -y
- systemctl restart docker && systemctl enable docker
- # Get the IP address that VirtualBox has given this VM
- #IPADDR=`ifconfig enp0s8 | grep mask | awk '{print $2}'| cut -f2 -d:`
- #echo This VM has IP address $IPADDR
- #adding IP and hostname in /etc/hosts file , if no DNS
- #sed -i '$ a $IPADDR kube-worker' /etc/hosts
- SCRIPT
- Vagrant.configure("2") do |config|
- config.vm.define "master" do |master|
- master.vm.provider "virtualbox" do |masterconfig|
- masterconfig.memory = "3024"
- masterconfig.cpus = 3
- end
- master.vm.box = "geerlingguy/centos7"
- master.vm.box_version = "1.2.10"
- master.vm.hostname = "kube-master"
- master.vm.network "private_network", ip: "172.28.128.3",
- virtualbox__intnet: true
- master.vm.provision "shell", inline: $script1
- end
- config.vm.define "worker" do |worker|
- worker.vm.provider "virtualbox" do |workerconfig|
- workerconfig.memory = "2024"
- workerconfig.cpus = 2
- end
- worker.vm.box = "geerlingguy/centos7"
- worker.vm.box_version = "1.2.10"
- worker.vm.hostname = "kube-worker"
- worker.vm.network "private_network", ip: "172.28.128.4",
- virtualbox__intnet: true
- worker.vm.provision "shell", inline: $script2
- end
- end
Add Comment
Please, Sign In to add comment