Browse Source
Add support for deployment via kargo-cli
Add support for deployment via kargo-cli
4 changed files with 69 additions and 6 deletions
Unified View
Diff Options
@ -1,16 +1,35 @@ |
|||||
#!/bin/bash |
#!/bin/bash |
||||
echo master > /var/tmp/role |
echo master > /var/tmp/role |
||||
|
|
||||
|
# Packages |
||||
sudo apt-get --yes update |
sudo apt-get --yes update |
||||
sudo apt-get --yes upgrade |
sudo apt-get --yes upgrade |
||||
sudo apt-get --yes install ansible git screen vim telnet tcpdump |
|
||||
|
sudo apt-get --yes install ansible git screen vim telnet tcpdump python-setuptools gcc python-dev python-pip libssl-dev libffi-dev software-properties-common |
||||
|
|
||||
|
# Kargo and custom inventory |
||||
sudo git clone https://github.com/kubespray/kargo /root/kargo |
sudo git clone https://github.com/kubespray/kargo /root/kargo |
||||
sudo git clone https://github.com/adidenko/vagrant-k8s /root/vagrant-k8s |
sudo git clone https://github.com/adidenko/vagrant-k8s /root/vagrant-k8s |
||||
sudo cp -a /root/vagrant-k8s/kargo/inv /root/kargo/inv |
sudo cp -a /root/vagrant-k8s/kargo/inv /root/kargo/inv |
||||
|
|
||||
|
# Kargo-cli |
||||
|
sudo git clone https://github.com/kubespray/kargo-cli.git /root/kargo-cli |
||||
|
sudo sh -c 'cd /root/kargo-cli && python setup.py install' |
||||
|
|
||||
|
# Pip |
||||
|
sudo pip install kpm |
||||
|
|
||||
|
# k8s deploy script and config |
||||
|
sudo sh -c 'cp -a ~/deploy-k8s.kargo.sh /root/ && chmod 755 /root/deploy-k8s.kargo.sh' |
||||
|
sudo cp -a ~/custom.yaml /root/kargo/custom.yaml |
||||
|
|
||||
|
# SSH keys and config |
||||
sudo rm -rf /root/.ssh |
sudo rm -rf /root/.ssh |
||||
sudo mv ~vagrant/ssh /root/.ssh |
sudo mv ~vagrant/ssh /root/.ssh |
||||
sudo echo -e 'Host 10.210.*\n\tStrictHostKeyChecking no\n\tUserKnownHostsFile=/dev/null' >> /root/.ssh/config |
sudo echo -e 'Host 10.210.*\n\tStrictHostKeyChecking no\n\tUserKnownHostsFile=/dev/null' >> /root/.ssh/config |
||||
sudo chown -R root: /root/.ssh |
sudo chown -R root: /root/.ssh |
||||
|
|
||||
|
# Save nodes list |
||||
|
sudo cp ~/nodes /root/nodes |
||||
|
|
||||
|
# README |
||||
sudo echo 'cd /root/kargo ; ansible-playbook -vvv -i inv/inventory.cfg cluster.yml -u root -f 7' > /root/README |
sudo echo 'cd /root/kargo ; ansible-playbook -vvv -i inv/inventory.cfg cluster.yml -u root -f 7' > /root/README |
@ -0,0 +1,2 @@ |
|||||
|
kube_network_plugin: "calico" |
||||
|
kube_proxy_mode: "iptables" |
@ -0,0 +1,19 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
custom_opts='--ansible-opts="-e @kargo/custom.yaml"' |
||||
|
nodes="" |
||||
|
|
||||
|
i=0 |
||||
|
for nodeip in `cat /root/nodes` ; do |
||||
|
i=$(( $i+1 )) |
||||
|
nodes+=" node${i}[ansible_ssh_host=${nodeip},ip=${nodeip}]" |
||||
|
done |
||||
|
|
||||
|
kargo prepare -y --nodes $nodes |
||||
|
kargo deploy -y $custom_opts |
||||
|
deploy_res=$? |
||||
|
|
||||
|
if [ "$deploy_res" -eq "0" ]; then |
||||
|
echo "Setting up kubedns..." |
||||
|
kpm deploy kube-system/kubedns --namespace=kube-system |
||||
|
fi |
Write
Preview
Loading…
Cancel
Save