ficheros separados
This commit is contained in:
@@ -17,13 +17,13 @@ VMNET="vmbr0"
|
|||||||
qm stop $VMID
|
qm stop $VMID
|
||||||
qm destroy $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 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 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 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 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 set $VMID --ipconfig0 ip=dhcp --cicustom "user=VMs_storage-E:snippets/user_data.yaml"
|
||||||
|
|
||||||
qm start $VMID
|
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