51 lines
1.8 KiB
Bash
Executable File
51 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Variables
|
|
KUBERNETES_VERSION="1.28.2-00" # Cambia por la versión que necesites
|
|
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
|
|
|
|
# Configurar el repositorio de Kubernetes
|
|
echo "Agregando el repositorio de Kubernetes..."
|
|
sudo apt-get install -y apt-transport-https ca-certificates curl
|
|
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-mark hold kubelet kubeadm kubectl
|
|
|
|
# Habilitar módulos necesarios para Kubernetes
|
|
echo "Habilitando módulos del kernel..."
|
|
sudo modprobe overlay
|
|
sudo modprobe br_netfilter
|
|
|
|
cat <<EOF | sudo tee /etc/sysctl.d/kubernetes.conf
|
|
net.bridge.bridge-nf-call-ip6tables = 1
|
|
net.bridge.bridge-nf-call-iptables = 1
|
|
net.ipv4.ip_forward = 1
|
|
EOF
|
|
|
|
sudo sysctl --system
|
|
|
|
# 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
|