#!/bin/bash # Variables USER="curso" # Usuario con acceso sudo # Actualizar sistema echo "Actualizando el sistema..." sudo apt-get update && sudo apt-get upgrade -y # Desactivar swap (requisito de Kubernetes) ## echo "Desactivando swap..." ## sudo swapoff -a ## sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab # Habilitar módulos necesarios para Kubernetes echo "Habilitando módulos del kernel..." sudo modprobe overlay sudo modprobe br_netfilter # Configure persistent loading of modules # sudo tee /etc/modules-load.d/k8s.conf </dev/null 2>&1 sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml # restart containerd sudo systemctl restart containerd # sudo systemctl enable containerd # systemctl status containerd # Configurar el repositorio de Kubernetes echo "Agregando el repositorio de Kubernetes..." ### sudo apt-get install apt-transport-https ca-certificates curl -y # If the folder `/etc/apt/keyrings` does not exist, it should be created before the curl command, read the note below. # sudo mkdir -p -m 755 /etc/apt/keyrings curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/k8s.gpg ##### curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg #sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg # allow unprivileged APT programs to read this keyring # This overwrites any existing configuration in /etc/apt/sources.list.d/kubernetes.list echo 'deb [signed-by=/etc/apt/keyrings/k8s.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/k8s.list ##### echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list #sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list # helps tools such as command-not-found to work correctly #curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg #echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list # Instalar Kubernetes echo "Instalando Kubernetes (kubeadm, kubelet, kubectl)..." sudo apt-get update #sudo apt-get install -y kubelet=$KUBERNETES_VERSION kubeadm=$KUBERNETES_VERSION kubectl=$KUBERNETES_VERSION sudo apt-get install kubelet kubeadm kubectl -y sudo apt-mark hold kubelet kubeadm kubectl # Instalar containerd #echo "Instalando containerd..." # sudo apt-get install -y containerd # sudo mkdir -p /etc/containerd # containerd config default | sudo tee /etc/containerd/config.toml # Configurar containerd para usar systemd como driver de cgroup # sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml # sudo systemctl restart containerd # sudo systemctl enable containerd sudo kubeadm config images pull