parent
360310b779
commit
6b7a908e50
@ -0,0 +1,12 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then |
||||||
|
echo "This script should be run as root. Aborting..." > /dev/stderr |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
echo "Disabling swap..." |
||||||
|
swapoff -a |
||||||
|
|
||||||
|
echo "Disabling swap permanently ('/etc/fstab.bak' created)..." |
||||||
|
sed -i.bak '/ swap /d' /etc/fstab |
@ -0,0 +1,12 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then |
||||||
|
echo "This script should be run as root. Aborting..." > /dev/stderr |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
echo "Creating SSH key..." |
||||||
|
ssh-keygen -t rsa -b 4096 -q -N "" -f ~/.ssh/id_rsa |
||||||
|
|
||||||
|
echo "Adding SSH key to authorized..." |
||||||
|
cat ~/.ssh/rsa.pub >> ~/.ssh/authorized_keys |
@ -1,11 +1,23 @@ |
|||||||
#!/bin/sh |
#!/bin/sh |
||||||
|
|
||||||
if [ $(id -u) -ne 0 ]; then |
if [ "$(id -u)" -ne 0 ]; then |
||||||
echo "This script should be run as root. Aborting..." > /dev/stderr |
echo "This script should be run as root. Aborting..." > /dev/stderr |
||||||
exit 1 |
exit 1 |
||||||
fi |
fi |
||||||
|
|
||||||
apt-get update |
echo "Updating apt package index..." |
||||||
|
apt-get update > /dev/null |
||||||
|
|
||||||
apt-get install software-properties-common python3-pip |
apt -q -y upgrade |
||||||
|
|
||||||
|
apt-get autoremove --purge |
||||||
|
|
||||||
|
echo "Installing base packages..." |
||||||
|
apt-get -q -y -o Dpkg::Use-Pty=0 install \ |
||||||
|
nano \ |
||||||
|
htop \ |
||||||
|
nload \ |
||||||
|
nethogs |
||||||
|
|
||||||
|
echo "Cleaning apt cache..." |
||||||
|
apt-get clean |
||||||
|
@ -0,0 +1,59 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then |
||||||
|
echo "This script should be run as root. Aborting..." > /dev/stderr |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
# |
||||||
|
# Following this guide: https://kubernetes.io/docs/tasks/tools/install-kubectl/ |
||||||
|
# |
||||||
|
|
||||||
|
echo "Updating apt package index..." |
||||||
|
apt-get update > /dev/null |
||||||
|
|
||||||
|
echo "Installing prerequisites..." |
||||||
|
apt-get -q -y -o Dpkg::Use-Pty=0 install apt-transport-https gnupg2 curl |
||||||
|
|
||||||
|
echo "Adding Kubernetes' repo key..." |
||||||
|
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - |
||||||
|
|
||||||
|
echo "Adding Kubernetes repo..." |
||||||
|
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list |
||||||
|
|
||||||
|
echo "Updating apt package index again..." |
||||||
|
apt-get update > /dev/null |
||||||
|
echo "Installing 'kubectl'..." |
||||||
|
apt-get -q -y -o Dpkg::Use-Pty=0 install kubectl |
||||||
|
|
||||||
|
# TODO: the command `kubectl cluster-info` gives an error and the script |
||||||
|
# provided from the docs gives an error. In the docs they are make |
||||||
|
# some sort of assumption that I cannot still figure out. |
||||||
|
# Ffs this is an entry level doc and they already start to omit not |
||||||
|
# obvious stuff... sorry for not owning a magic crystal ball. >:( |
||||||
|
|
||||||
|
# THIS, is a quality doc: |
||||||
|
# https://www.valent-blog.eu/2019/01/01/installare-kubernetes-in-debian-9/ |
||||||
|
# The lines below comes from this doc. |
||||||
|
|
||||||
|
echo "Installing 'kubelet' and 'kubeadm'..." |
||||||
|
apt-get -q -y -o Dpkg::Use-Pty=0 install kubelet kubeadm |
||||||
|
|
||||||
|
echo "Marking in hold the packages 'kubectl', 'kubelet' and 'kubeadm' in order to prevent them to update in the future..." |
||||||
|
apt-mark hold kubelet kubeadm kubectl |
||||||
|
|
||||||
|
echo "Reloading systemd and restarting 'kubelet' service" |
||||||
|
systemctl daemon-reload |
||||||
|
systemctl restart kubelet |
||||||
|
|
||||||
|
# I guess these are the base images of kubernetes (?) |
||||||
|
echo "Pulling some base images.." |
||||||
|
kubeadm config images pull |
||||||
|
|
||||||
|
echo "Initializing kuvernetes.." |
||||||
|
kubeadm init |
||||||
|
|
||||||
|
echo "Adding kubernetes config to this user home folder (useful for non-root users)..." |
||||||
|
mkdir -p "$HOME/.kube" |
||||||
|
cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config" |
||||||
|
chown "$(id -u)":"$(id -g)" "$HOME/.kube/config" |
@ -0,0 +1,19 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
# Sources: |
||||||
|
# https://www.rancher.cn/an-introduction-to-rke |
||||||
|
# https://devopsheaven.com/kubernetes/k8s/rke/devops/deploy/2019/10/21/install-kubernetes-locally-rke.html |
||||||
|
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then |
||||||
|
echo "This script should be run as root. Aborting..." > /dev/stderr |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
echo "Downloading and installing 'rke' executable..." |
||||||
|
wget -O rke https://github.com/rancher/rke/releases/download/v1.2.3/rke_linux-amd64 && \ |
||||||
|
chmod +x rke && \ |
||||||
|
mv rke /usr/local/bin && \ |
||||||
|
rke --version |
||||||
|
|
||||||
|
echo "Giving access to the docker socket at the SSH user..." |
||||||
|
usermod -aG docker "$(id -un)" |
@ -0,0 +1,100 @@ |
|||||||
|
#_preseed_V1 |
||||||
|
#### Contents of the preconfiguration file (for buster) |
||||||
|
### Localization |
||||||
|
d-i debian-installer/language string it |
||||||
|
d-i debian-installer/country string IT |
||||||
|
d-i debian-installer/locale string it_IT.UTF-8 |
||||||
|
|
||||||
|
# Keyboard selection. |
||||||
|
# Usare Ctrl+Alt+Backspace per terminare il server X? |
||||||
|
d-i keyboard-configuration/ctrl_alt_bksp boolean true |
||||||
|
|
||||||
|
d-i keyboard-configuration/modelcode string pc105 |
||||||
|
d-i keyboard-configuration/toggle select No toggling |
||||||
|
d-i keyboard-configuration/altgr select The default for the keyboard layout |
||||||
|
d-i keyboard-configuration/layoutcode string it |
||||||
|
d-i keyboard-configuration/variant select Italiana |
||||||
|
d-i keyboard-configuration/compose select No compose key |
||||||
|
d-i keyboard-configuration/switch select No temporary switch |
||||||
|
d-i console-setup/variantcode string qwerty |
||||||
|
d-i keyboard-configuration/model select Generic 105-key PC (intl.) |
||||||
|
d-i keyboard-configuration/xkb-keymap select it |
||||||
|
|
||||||
|
d-i keyboard-configuration/unsupported_config_options boolean true |
||||||
|
d-i keyboard-configuration/unsupported_config_layout boolean true |
||||||
|
d-i keyboard-configuration/unsupported_layout boolean true |
||||||
|
d-i keyboard-configuration/unsupported_options boolean true |
||||||
|
|
||||||
|
### Network configuration |
||||||
|
d-i netcfg/choose_interface select auto |
||||||
|
d-i netcfg/get_hostname string debian-test |
||||||
|
d-i netcfg/get_domain string dominio-test |
||||||
|
d-i netcfg/wireless_wep string |
||||||
|
d-i hw-detect/load_firmware boolean true |
||||||
|
|
||||||
|
### Mirror settings |
||||||
|
d-i mirror/country string manual |
||||||
|
d-i mirror/http/hostname string debian.mirror.garr.it |
||||||
|
d-i mirror/http/directory string /debian |
||||||
|
d-i mirror/http/proxy string |
||||||
|
|
||||||
|
### Account setup |
||||||
|
# Skip creation of a root account (normal user account will be able to |
||||||
|
# use sudo). |
||||||
|
d-i passwd/root-login boolean false |
||||||
|
d-i passwd/user-fullname string Virtualuser |
||||||
|
d-i passwd/username string virtualuser |
||||||
|
d-i passwd/user-password-crypted password $6$SmihMODnNymjr40/$YAkRABY.qE8tOjXmg0Z6X5e.mdLOUsUseNaPwaLyCjK17LzV/NLE3IfcmkQgwGjBeeQ7peGEfurqe.SBY7JHU1 |
||||||
|
|
||||||
|
### Clock and time zone setup |
||||||
|
d-i clock-setup/utc boolean true |
||||||
|
d-i time/zone string Europe/Rome |
||||||
|
d-i clock-setup/ntp boolean true |
||||||
|
|
||||||
|
### Partitioning |
||||||
|
d-i partman-auto/disk string /dev/sda |
||||||
|
d-i partman-auto/method string regular |
||||||
|
d-i partman-lvm/device_remove_lvm boolean true |
||||||
|
d-i partman-md/device_remove_md boolean true |
||||||
|
d-i partman-lvm/confirm boolean true |
||||||
|
d-i partman-lvm/confirm_nooverwrite boolean true |
||||||
|
d-i partman-auto/expert_recipe string \ |
||||||
|
root :: \ |
||||||
|
4096 100 -1 ext4 \ |
||||||
|
$primary{ } $bootable{ } \ |
||||||
|
method{ format } format{ } \ |
||||||
|
use_filesystem{ } filesystem{ ext4 } \ |
||||||
|
mountpoint{ / } \ |
||||||
|
. |
||||||
|
d-i partman-partitioning/confirm_write_new_label boolean true |
||||||
|
d-i partman/choose_partition select finish |
||||||
|
d-i partman/confirm boolean true |
||||||
|
d-i partman/confirm_nooverwrite boolean true |
||||||
|
d-i partman/mount_style select uuid |
||||||
|
d-i partman-basicfilesystems/no_swap boolean false |
||||||
|
|
||||||
|
### Apt setup |
||||||
|
d-i apt-setup/non-free boolean true |
||||||
|
d-i apt-setup/contrib boolean true |
||||||
|
|
||||||
|
### Package selection |
||||||
|
tasksel tasksel/first multiselect none |
||||||
|
|
||||||
|
# Individual additional packages to install |
||||||
|
# Note: "console-setup" and "keyboard-configuration" are foundamental for |
||||||
|
# keyboard configuration |
||||||
|
d-i pkgsel/include string nano wget openssh-server console-setup keyboard-configuration |
||||||
|
|
||||||
|
popularity-contest popularity-contest/participate boolean false |
||||||
|
|
||||||
|
### Boot loader installation |
||||||
|
d-i grub-installer/only_debian boolean true |
||||||
|
d-i grub-installer/with_other_os boolean true |
||||||
|
d-i grub-installer/bootdev string /dev/sda |
||||||
|
|
||||||
|
### Finishing up the installation |
||||||
|
d-i finish-install/reboot_in_progress note |
||||||
|
d-i debian-installer/exit/poweroff boolean true |
||||||
|
|
||||||
|
#### Advanced options |
||||||
|
d-i preseed/late_command string modprobe usb-storage isofs; mkdir -p /cdrom; mount /dev/cdrom /cdrom; cp -r /cdrom/custom /target/srv/custom |
Loading…
Reference in new issue