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 #!/bin/bash
# Variables # Variables
#KUBERNETES_VERSION="1.28.2-00" # Cambia por la versión que necesites
USER="curso" # Usuario con acceso sudo USER="curso" # Usuario con acceso sudo
# Actualizar sistema # Actualizar sistema
@@ -49,33 +48,31 @@ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubun
# Install containerd # Install containerd
sudo apt update sudo apt update
sudo apt install -y containerd.io sudo apt install containerd.io -y
# Configure containerd and start service # Configure containerd and start service
sudo mkdir -p /etc/containerd # sudo mkdir -p /etc/containerd
sudo containerd config default|sudo tee /etc/containerd/config.toml 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 # restart containerd
sudo systemctl restart containerd sudo systemctl restart containerd
sudo systemctl enable containerd # sudo systemctl enable containerd
systemctl status containerd # systemctl status containerd
# Configurar el repositorio de Kubernetes # Configurar el repositorio de Kubernetes
echo "Agregando 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. # 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 # 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 curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/k8s.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.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 # 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 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
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/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 #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 # Instalar containerd
echo "Instalando containerd..." #echo "Instalando containerd..."
sudo apt-get install -y containerd # sudo apt-get install -y containerd
sudo mkdir -p /etc/containerd # sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml # containerd config default | sudo tee /etc/containerd/config.toml
# Configurar containerd para usar systemd como driver de cgroup # Configurar containerd para usar systemd como driver de cgroup
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml # sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
sudo systemctl restart containerd # sudo systemctl restart containerd
sudo systemctl enable containerd # sudo systemctl enable containerd
sudo kubeadm config images pull sudo kubeadm config images pull

View File

@@ -3,11 +3,13 @@
# Variables # Variables
USER="curso" # Usuario con acceso sudo 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..." 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 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 # Configurar kubectl para el usuario
echo "Configurando kubectl para el usuario $USER..." echo "Configurando kubectl para el usuario $USER..."
@@ -15,8 +17,6 @@ if [ "$INIT_MASTER" == "y" ]; then
sudo cp -i /etc/kubernetes/admin.conf /home/$USER/.kube/config sudo cp -i /etc/kubernetes/admin.conf /home/$USER/.kube/config
sudo chown $(id -u $USER):$(id -g $USER) /home/$USER/.kube/config sudo chown $(id -u $USER):$(id -g $USER) /home/$USER/.kube/config
else # eliminar restriccion de pods en el master
echo "Nodo maestro no inicializado. Ejecuta 'kubeadm init' manualmente si deseas configurarlo más tarde." kubectl taint nodes --all node-role.kubernetes.io/control-plane-
fi
echo "Instalación de Kubernetes completada."

View File

@@ -2,6 +2,11 @@
# Variables # Variables
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.29.1/manifests/calico.yaml
# Instalar red de pods (Calico) # Instalar red de pods (Calico)
echo "Instalando la 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 # infra_cloudinit
https://www.linuxtechi.com/install-kubernetes-on-ubuntu-24-04/