30 marzo 2023

Como detener un cluster de Azure Kubernetes Service (AKS)

 Para detener un cluster de AKS (Azure Kubernetes Service), puedes seguir estos pasos:

  1. Abre la consola de Azure y ve a la página del clúster de AKS que deseas detener.
  2. Haz clic en la pestaña "Nodos" para ver una lista de los nodos que se están ejecutando en el clúster.
  3. Selecciona todos los nodos haciendo clic en la casilla de verificación que se encuentra en la parte superior de la lista de nodos.
  4. Haz clic en "Escala" en la parte superior de la página y selecciona "Escala manual".
  5. En la sección "Cantidad de nodos", establece el número de nodos en cero.
  6. Haz clic en "Guardar" para aplicar los cambios y esperar a que los nodos se detengan. Este proceso puede tardar varios minutos, dependiendo del tamaño del clúster.

Después de que se detengan todos los nodos del clúster, el estado del clúster cambiará a "Detenido" en la página de AKS. Ten en cuenta que detener un clúster de AKS no elimina el clúster. Para iniciar el clúster nuevamente, simplemente debes cambiar el número de nodos en la sección "Cantidad de nodos" de la escala manual y hacer clic en "Guardar" para aplicar los cambios.

Como detener un Azure Kubernetes Service (AKS)

 Para detener un servicio de Kubernetes, puedes seguir estos pasos:

  1. Abre una terminal o línea de comandos y conéctate a tu clúster de Kubernetes usando el comando "kubectl".
  2. Verifica que estás en el espacio de nombres correcto para el servicio que deseas detener, puedes usar el comando "kubectl get namespaces" para listar los espacios de nombres disponibles y "kubectl config current-context" para verificar el espacio de nombres actual.
  3. Utiliza el comando "kubectl get services" para ver una lista de los servicios que se están ejecutando en el clúster.
  4. Encuentra el nombre del servicio que deseas detener y usa el comando "kubectl delete service <nombre_del_servicio>" para eliminarlo.
  5. Si también deseas detener los pods asociados al servicio, puedes usar el comando "kubectl delete pods --selector=<etiqueta_del_servicio>" donde "etiqueta_del_servicio" es una etiqueta que se estableció en los pods cuando se creó el servicio.

Después de que se haya eliminado el servicio y los pods asociados (si corresponde), el servicio ya no estará en ejecución y no estará disponible para los usuarios finales. Es importante tener en cuenta que detener un servicio de Kubernetes puede afectar a otras aplicaciones que dependen de ese servicio, por lo que se recomienda tener un plan de contingencia antes de detener cualquier servicio crítico.

Como programar el stop de un Azure Kubernetes Service (AKS)

 Para programar el stop (o eliminación) de un servicio de Kubernetes en una fecha y hora específicas, puedes utilizar el objeto de tipo Job de Kubernetes. Un Job en Kubernetes es un objeto que crea una o más tareas y las ejecuta de manera cronológica en el clúster.

Sigue estos pasos para programar la eliminación de un servicio:

  1. Crea un archivo YAML que defina un objeto de tipo Job. Este archivo debe contener la especificación del cronograma para que el trabajo se ejecute en la fecha y hora deseada. Aquí hay un ejemplo de archivo YAML:
yaml
apiVersion: batch/v1 kind: Job metadata: name: stop-service-job spec: schedule: "*/30 * * * *" jobTemplate: spec: template: spec: containers: - name: stop-service-container image: <nombre_de_la_imagen_del_contenedor> command: ["sh", "-c", "kubectl delete service <nombre_del_servicio>"] restartPolicy: OnFailure
  1. En la sección "schedule", especifica la programación del trabajo utilizando la sintaxis de cron. En el ejemplo anterior, el trabajo se ejecutará cada 30 minutos.
  2. En la sección "command", especifica el comando para detener el servicio. En el ejemplo anterior, se utiliza el comando "kubectl delete service" para eliminar el servicio.
  3. Aplica el archivo YAML al clúster de Kubernetes usando el comando "kubectl apply -f <nombre_del_archivo_yaml>".

Una vez que se ha programado el trabajo, se ejecutará según lo especificado en la sección "schedule". El trabajo se encargará de eliminar el servicio en la fecha y hora programadas. Es importante tener en cuenta que, si el trabajo falla, Kubernetes intentará volver a ejecutarlo según lo especificado en la política de reinicio. Por lo tanto, debes asegurarte de que el trabajo esté configurado correctamente antes de aplicarlo al clúster.

Como puedo programar el stop de un AKS Azure Kubernetes Services desde un Macbook Pro

 Para programar el stop de un servicio de Kubernetes desde un MacBook Pro, puedes seguir estos pasos:

  1. Abre una terminal en tu MacBook Pro y conectate a tu clúster de Kubernetes usando el comando "kubectl".
  2. Crea un archivo YAML con la configuración del Job, como se muestra en el ejemplo anterior. Puedes utilizar un editor de texto como "nano" o "vim" para crear y editar el archivo YAML.
  3. Guarda el archivo YAML en tu directorio de trabajo actual.
  4. Aplica el archivo YAML al clúster de Kubernetes usando el comando "kubectl apply -f <nombre_del_archivo_yaml>".
  5. Verifica que el Job se haya creado correctamente utilizando el comando "kubectl get jobs".

Ten en cuenta que, para que el Job se ejecute según lo programado, debes asegurarte de que la fecha y hora del sistema de tu MacBook Pro estén correctamente configuradas. También debes asegurarte de que tu clúster de Kubernetes esté configurado correctamente y tenga los permisos necesarios para crear y eliminar objetos. Si tienes algún problema para aplicar el archivo YAML, puedes verificar los registros y eventos de Kubernetes para obtener más información sobre los errores.

Como programar un CronJob desde mi Mac Pro?

 Para programar un cronjob en tu Mac, puedes utilizar la herramienta "cron". Sigue estos pasos:

  1. Abre una terminal en tu Mac.
  2. Ejecuta el comando "crontab -e" para abrir el archivo de configuración de cron.
  3. Si es la primera vez que utilizas cron, se te pedirá que selecciones un editor de texto predeterminado. Puedes elegir el editor que prefieras.
  4. En el archivo de configuración de cron, agrega una nueva línea para programar el trabajo. La línea debe seguir la siguiente sintaxis:
bash
* * * * * comando_a_ejecutar

donde los cinco asteriscos representan la programación del trabajo en minutos, horas, días del mes, meses y días de la semana, respectivamente. Puedes utilizar valores específicos o asteriscos para indicar que el trabajo se debe ejecutar en cualquier momento. Por ejemplo, la siguiente línea ejecutará el comando "ls" todos los días a las 3:30 am:

bash
30 3 * * * ls
  1. Guarda el archivo de configuración y ciérralo.
  2. Verifica que la tarea se haya programado correctamente utilizando el comando "crontab -l".

Ten en cuenta que, para que el trabajo se ejecute correctamente, debes asegurarte de que el comando a ejecutar esté disponible en la ruta del sistema y tenga los permisos necesarios para ejecutarse. Además, debes tener en cuenta que cron ejecuta los trabajos en el contexto del usuario que lo configura, por lo que es posible que algunos comandos no funcionen correctamente si requieren permisos elevados o dependen de variables de entorno específicas.