ficheros separados
This commit is contained in:
@@ -17,13 +17,13 @@ VMNET="vmbr0"
|
||||
qm stop $VMID
|
||||
qm destroy $VMID
|
||||
|
||||
qm create $VMID --name ubuntu-cloud --memory 2048 --cores 2 --net0 virtio,bridge=$VMNET --cpu host --agent enabled=1 --tags k8s
|
||||
qm create $VMID --name ubuntu-cloud --memory 8192 --cores 4 --net0 virtio,bridge=$VMNET --cpu host --agent enabled=1 --tags k8s
|
||||
qm set $VMID --ide2 VMs_storage-E:cloudinit --boot c --bootdisk scsi0 --serial0 socket --vga serial0
|
||||
|
||||
# qm importdisk $VMID /mnt/pve/ISOs_storage/template/iso/ubuntu-24.04-server-cloudimg-amd64.img VMs_storage-E --format qcow2
|
||||
qm importdisk $VMID /mnt/pve/ISOs_storage/template/iso/ubuntu-24.04-server-cloudimg-amd64.img local --format qcow2
|
||||
qm set $VMID --scsihw virtio-scsi-pci --scsi0 $VMSTORAGE:$VMID/vm-$VMID-disk-0.qcow2
|
||||
qm disk resize $VMID scsi0 10G
|
||||
qm disk resize $VMID scsi0 40G
|
||||
qm set $VMID --ipconfig0 ip=dhcp --cicustom "user=VMs_storage-E:snippets/user_data.yaml"
|
||||
|
||||
qm start $VMID
|
||||
|
||||
50
instala_kubernetes.sh
Executable file
50
instala_kubernetes.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/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
|
||||
26
levanta_cluster.sh
Executable file
26
levanta_cluster.sh
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Variables
|
||||
KUBERNETES_VERSION="1.28.2-00" # Cambia por la versión que necesites
|
||||
USER="curso" # Usuario con acceso sudo
|
||||
|
||||
# Inicializar el nodo maestro (opcional)
|
||||
read -p "¿Quieres inicializar el nodo maestro ahora? (y/n): " INIT_MASTER
|
||||
if [ "$INIT_MASTER" == "y" ]; then
|
||||
echo "Inicializando el nodo maestro..."
|
||||
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
|
||||
|
||||
# Configurar kubectl para el usuario
|
||||
echo "Configurando kubectl para el usuario $USER..."
|
||||
mkdir -p /home/$USER/.kube
|
||||
sudo cp -i /etc/kubernetes/admin.conf /home/$USER/.kube/config
|
||||
sudo chown $(id -u $USER):$(id -g $USER) /home/$USER/.kube/config
|
||||
|
||||
# Instalar red de pods (Calico)
|
||||
echo "Instalando la red de pods (Calico)..."
|
||||
kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml
|
||||
else
|
||||
echo "Nodo maestro no inicializado. Ejecuta 'kubeadm init' manualmente si deseas configurarlo más tarde."
|
||||
fi
|
||||
|
||||
echo "Instalación de Kubernetes completada."
|
||||
Reference in New Issue
Block a user