61 lines
2.6 KiB
Bash
Executable File
61 lines
2.6 KiB
Bash
Executable File
#!/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="release-2.26"
|
|
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.10.8 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 "## * syncing config in kubespray dir"
|
|
rsync -a ./inventory/ ./kubespray/inventory/
|
|
echo "## * changing into kubespray dir"
|
|
cd kubespray
|
|
echo "## * execute the following command to force new settings"
|
|
echo "ansible-playbook -i inventory/prod/inventory.ini cluster.yml"
|
|
echo "## * execute the following command to force new settings with forced cluster upgrade"
|
|
echo "ansible-playbook -i inventory/prod/inventory.ini -e upgrade_cluster_setup=true cluster.yml"
|
|
|
|
# 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
|