Estoy seguro de que os habéis quedado con ganas de más después del artículo tan largo que había escrito sobre «Como montar EKS y no morir en el intento». Esto es necesario previamente ya que es sobre ello que vamos a trabajar para poner el panel.
He de reconocer que al principio me costó saber el concepto de como funciona, pero a vosotros os lo dejaré mascado para que no sufráis como yo.
Es la primera vez que voy a empezar a realizar una incursión con Docker y me he puesto los calzoncillos por fuera (cual superman) para enfrentarme a esto que me ha dado más de un dolor de cabeza en Amazon.
Había leídos muchos manuales y había seguido la documentación oficial de Amazon … Pero siempre puede haber una piedra en mitad de camino.
Al igual que yo vosotr@s os podéis encontrar con lo mismo así que os explicaré en detalle de todos los posibles problemas que os podéis encontrar en el.
Tengo que remarcar que este es un manual para principiantes en este mundo y a raíz que vaya conociendo más sobre el tema lo iré compartiendo con todos vosotros.
Amazon Elastic Container Service for Kubernetes (Amazon EKS) es un servicio administrado que le permite ejecutar fácilmente Kubernetes en AWS sin necesidad de crear ni mantener su propio plano de control de Kubernetes. Kubernetes es un sistema de código abierto para automatizar la implementación, escalado y administración de las aplicaciones en contenedores.
Amazon EKS ejecuta instancias del plano de control de Kubernetes en varias zonas de disponibilidad para garantizar una alta disponibilidad. Amazon EKS detecta y reemplaza automáticamente las instancias del plano de control en mal estado y proporciona actualizaciones de versiones y parches automatizados para ellas.
Con todo esto Amazon nos ofrece poder enlazarlos con los siguientes servicios:
Amazon ECR: Contenedor de imágenes.
ELB: El balanceador para distribuir las cargas.
IAM: Para la autenticación.
VPC: La red privada para su comunicación.
¿Como funciona Amazon EKS?
Siguiendo la estructura los pasos que conlleva esto son:
Provisionar un EKS Cluster
Agregaremos los nodos donde se va a desplegar.
Configuramos un servidor para conectar/gestionar el cluster.
Correremos aplicaciones.
Pues bien teniendo claro los pasos que vamos a seguir, es hora de ponernos manos a la obra con ello. Como dije antes me detendré antes de cada punto para avisar los posibles problemas que encuentro.
Hoy vamos hacer algo más divertido y es montar nuestro primer Cluster de Percona XtraDB Cluster. El objetivo será de montar un entorno multi master (sí en el cual poder escribir en todos los nodos) y tener alta disponibilidad en ello (esto es obvio si es multi master).
Dentro de las múltiples ventajas que nos da este tipo de plataformas podemos destacar las siguientes:
Alta disponibilidad (si un nodo cae el resto sigue).
Consistencia de datos ya que la forma de sincronizar es síncrona.
Multi Master.
Se puede Leer y Escribir en cualquiera de los nodos.
Los nodos al entrar se sincronizan automáticamente.
Si algún nodo se cae, automáticamente se desconecta del cluster.
No todo será bueno en esta vida, pero tampoco soy un experto en la materia de base de datos, así que por mi parte pienso que es posible que pierda un poco a la hora de velocidad de escritura masiva.
Aparte de ello solo permite InnoDB (Xtradb es un fork) así que si estás buscando para otro tipo de ENGINE no te valdrá.
También decir que he probado este entorno en 3 servidores virtuales que estaban situados en Nueva York, Singapur y Alemania e iba todo correcto. Aunque no he realizado pruebas de Insert.
Se nos ha solicitado la Instalación NodeJS en Ubuntu 16.04.
En un primer momento lo instalamos desde los propios paquetes del sistema pero este nos estaba dando una versión 4.x. Pero debido a las exigencias de la programación necesitaban una versión superior por ejemplo la 10.x. Por lo tanto haremos como se realiza la actualización de los paquetes oficiales.
Instalación NodeJS en Ubuntu 16.04
Nosotros vamos a proceder a la instalación de NodeJS versión 10.15.x ya que es la versión LTS. Existe la posibilidad (hasta hoy) de poder instalar las 12.2 pero nosotros preferimos tener algo más estable.
Con estos pasos tan sencillos instalamos en nuestro sistema NodeJS, pero no queremos dejar la tarea sólo aquí ya que nos interesa instalar PM2.
Instalando PM2
PM2 es un programa que nos permite controlar los procesos NodeJS de una manera más friendly y práctica.
npm install pm2@latest -
Con esto dejamos instalada la aplicación PM2.
Algunos comandos PM2
# Arrancar una APP en NodeJS
pm2 start app.js
# Detener una APP en NodeJS
pm2 stop app.js
# También se puede usar restart y reload
pm2 restart app.js || pm2 reload app.js
# Ver las aplicaciones gestionadas por PM2
pm2 ls
# Ver los logs de la app o de todo
pm2 logs app.js | all
# Arrancar la aplicación node una por cada núcleo del procesador
pm2 start app.js -i max
pm2 reload all
# Ver la monitorización de los procesos PM2
pm2 monit
Conclusión
NodeJS es hoy en día uno de los lenguajes más usados del mercado de cara al servidor así que es recomendable tener herramientas para administrarlo.
PM2 es un servicio bastante bueno y potente que hará a los administradores de sistemas quitarse más de un dolor de cabeza.
Hoy me toca hacer un post super divertido en el cual tengo que instalar distintas versiones de PHP en los servidores.
Por defecto, dependiendo de la versión del sistema operativo, tenemos una versión de PHP establecida en los repositorios oficiales. Lo que vamos hacer es instalar otros que nos permitan tener hasta la 7.3 si es necesaria.
Otra cosa más a tener en cuenta es como queremos ejecutar esa versión de PHP si es por el SITE o en todo el sistema operativo (por defecto). Intentaremos cubrir todas las necesidades posibles.
Especificaciones/Requeriments
OS
Ubuntu 16.04 LTS (Versión de PHP paquetizada 7.0.x)
Ubuntu 18.04 LTS (Versión de PHP paquetizada 7.1.x)
Recordad los módulos de PHP instalados (dpkg -l | grep php)
Siempre hay que tener en cuenta lo que tenemos montado en el servidor. No podemos hacer estos cambios a lo loco ya que puede romper más de alguna web/cosa y por lo tanto dar muchos dolores de cabeza/trabajo.
Estaba buscando una alternativa donde poder gestionar todo lo relacionado con GIT a través de una interfaz amigable (GUI) y me encontré con GITLAB en su versión Community.
Lo que vamos hacer será montar una instancia VPS para nuestro cometido y los primeros pasos de configuración + algo de seguridad según nos convenga.
Especificaciones/Requeriments
OS: Ubuntu 18.04 LTS
CPU: Mínimo 1 y admite hasta 100 usuarios.
Memoria: 2 GB es recomendado.
En el caso de no llegar a los 2 GB siempre se puede crear SWAP (ya que en VPS no suelen venir con dicha partición).
Buscando soluciones para uno de los clientes hemos intentado buscar la forma de encontrar un patrón de cómo nos pueden ver los demás … En este caso las cabeceras estaban siendo correctas y se nos ocurrió ver el tipo de virtualización.
El comando que vamos a usar para detectar esta información:
hostnamectl status
Para ello vamos a poner las salidas de los 3 proveedores que estábamos probando:
Hoy debe ser un día especial ya que he actualizado 2 post de seguido, así que a ver si lo hago más a menudo con nuevos manuales para todos.
Esta vez es un pequeño comando que a veces se nos olvida y es bueno tenerlo a mano.
Imaginad que habéis hecho una instalación y por no prestar atención os habéis quedado con nano en vez del vim (yo uso la parte de vim-nox). Ahora cada vez que editamos un fichero siempre nos sale el mismo editor de texto y lo queremos cambiar.
Pues bien en Ubuntu (cualquier sistema Debian valdrá) lo tenemos muy fácil, tan solo tenemos que ejecutar el siguiente comando:
update-alternatives --config editor There are 5 choices for the alternative editor (providing /usr/bin/editor).
Un día me andaba preguntando, ¿Cómo es que hacen los Framework/CMS para medir la cantidad de memoria consumida en un script php?
Pues bien para ello tenemos una función integrada dentro del propio PHP (así que no hay que hacer malabares) se llama memory_get_usage(). La cual desde PHP 4 estaba activa.
Su uso es muy sencillo, tan solo como ponerlo al inicio y al final del script:
Con esto conseguiremos la información en Bytes.
Con esto hemos aprendido de una manera sencilla cuando tenemos un script que consume más de la cuenta, el porqué lo tendrán que buscar los programadores (jejeje).
Si continuas utilizando este sitio, aceptas el uso de las cookies. Más información
Las opciones de cookie en este sitio web están configuradas para "permitir cookies" para ofrecerte una mejor experiéncia de navegación. Si sigues utilizando este sitio web sin cambiar tus opciones o haces clic en "Aceptar" estarás consintiendo las cookies de este sitio.