#!/bin/sh # check whether script is sourced [[ "${BASH_SOURCE[0]}" == "${0}" ]] && echo "script is executed, but needs to be sourced" && exit 1 echo "######################################################################################" echo "## Reinit repository" rm -rf kubespray VERSION=${1:-release-2.14} git clone --branch $VERSION https://github.com/kubernetes-sigs/kubespray.git echo "######################################################################################" echo "## Activating pyenv venv" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" pyenv virtualenv 3.8.3 infrapuzzle-bootstrap pyenv activate infrapuzzle-bootstrap python -m pip install -r kubespray/requirements.txt echo "######################################################################################" echo "## Customizing vagrant dev env" mkdir -p kubespray/vagrant cat << EOF > kubespray/vagrant/config.rb \$instance_name_prefix = "k8s" \$vm_cpus = 4 \$num_instances = 1 \$os = "centos" \$subnet = "10.0.20" \$network_plugin = "calico" \$shared_folders = { 'temp/docker_rpms' => "/var/cache/yum/x86_64/7/docker-ce/packages" } \$kube_node_instances_with_disks_number = 0 EOF # make the rpm cache mkdir -p kubespray/temp/docker_rpms echo "###############" echo "Now cd to kubespray and 'vagrant up'" echo "" echo "export KUBECONFIG=\"$( pwd )/kubespray/inventory/sample/artifacts/admin.conf\"" echo "######################################################################################" echo "## Preparing real prod environment" cp -r kubespray/inventory/sample kubespray/inventory/prod rm kubespray/inventory/prod/inventory.ini cp ./prod.ini kubespray/inventory/prod/inventory.ini #gsed -i "s/kube_network_plugin: .*/kube_network_plugin: flannel/" ./kubespray/inventory/prod/group_vars/k8s-cluster/k8s-cluster.yml gsed -i "s/# calico_iptables_backend: \"Legacy\"/calico_iptables_backend: \"NFT\"/" ./kubespray/inventory/prod/group_vars/k8s-cluster/k8s-net-calico.yml #echo 'calico_iptables_backend: "NFT"' >> ./kubespray/inventory/prod/group_vars/k8s-cluster/k8s-net-cluster.yml #gsed -i "s/metrics_server_enabled: .*/metrics_server_enabled: true/" ./kubespray/inventory/prod/group_vars/k8s-cluster/addons.yml