This commit is contained in:
trigkeyb
2025-01-11 18:56:12 +01:00
parent ca0aad2e20
commit f6f9486efe
5 changed files with 58 additions and 44 deletions

View File

@@ -1,7 +1,6 @@
#!/bin/bash
# Variables
#KUBERNETES_VERSION="1.28.2-00" # Cambia por la versión que necesites
USER="curso" # Usuario con acceso sudo
# Actualizar sistema
@@ -49,33 +48,31 @@ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubun
# Install containerd
sudo apt update
sudo apt install -y containerd.io
sudo apt install containerd.io -y
# Configure containerd and start service
sudo mkdir -p /etc/containerd
sudo containerd config default|sudo tee /etc/containerd/config.toml
# sudo mkdir -p /etc/containerd
sudo containerd config default|sudo tee /etc/containerd/config.toml >/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
# 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
### 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.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
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/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
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
@@ -90,22 +87,16 @@ 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
#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
# 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

View File

@@ -3,20 +3,20 @@
# Variables
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=174.24.0.0/16 --cri-socket=unix:///run/containerd/containerd.sock --upload-certs --control-plane-endpoint=k8scp
# 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
else
echo "Nodo maestro no inicializado. Ejecuta 'kubeadm init' manualmente si deseas configurarlo más tarde."
fi
echo "Inicializando el nodo maestro..."
sudo kubeadm init --control-plane-endpoint=k8scp
# sudo kubeadm init --pod-network-cidr=174.24.0.0/16 --cri-socket=unix:///run/containerd/containerd.sock --upload-certs --control-plane-endpoint=k8scp
# 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
# eliminar restriccion de pods en el master
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
echo "Instalación de Kubernetes completada."

View File

@@ -2,6 +2,11 @@
# Variables
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.29.1/manifests/calico.yaml
# Instalar red de pods (Calico)
echo "Instalando la red de pods (Calico)..."

16
4.prueba_k8s.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
# Variables
kubectl create ns demo-app
kubectl create deployment nginx-app --image nginx --replicas 2 --namespace demo-app
kubectl get deployment -n demo-app
kubectl get pods -n demo-app
kubectl run test-pod2 --image=busybox -- sleep 3600
kubectl create deployment gitea-app2 --image gitea/gitea:latest --replicas 2 --namespace demo-app
kubectl describe pod nginx-app --namespace demo-app | less
kubectl delete deployment gitea-app --namespace demo-app

View File

@@ -1,2 +1,4 @@
# infra_cloudinit
https://www.linuxtechi.com/install-kubernetes-on-ubuntu-24-04/