K8s / Kubernetes – notas de consulta rápida

Breves apuntes de consulta rápida, se irá actualizando poco a poco.

Servicios

  • ClusterIP
    • Expone:
      • spec.clusterIp:spec.ports[*].port
    • Solo puedes acceder este servicio desde dentro del cluster. Accesible desde su spec.clusterIp port. Si hay configurado el spec.ports[*].targetPort enrutará desde el puerto al targetPort. La IP que recibes cuando llamas via kubectl get services es la IP asignada a ese servicio dentro del cluster, internamente.
  • NodePort
    • Expone:
      • <NodeIP>:spec.ports[*].nodePort
      • spec.clusterIP:spec.ports[*].port
    • Si se accede a este servicio con nodePort, desde la IP externa del nodo, enrutará la petición a spec.clusterIP:spec.ports[*].port, lo cual resultará en enrutarla hacia spec.ports[*].targetPort si está configurado. Este servicio también puede ser accedido en la misma forma que ClusterIP.
    • Tu NodeIPS son las direcciones IP externas de los nodos. Tú no puedes acceder al servicio desde ClusterIP:spec.ports[*].nodePort
  • LoadBalancer
    • Expone
      •  <spec.loadBalancerIp:spec.ports[*].port
      • <NodeIP>:spec.ports[*].nodePort
      • spec.clusterIp:spec.ports[*].port
    • Puedes acceder al servicio desde la IP de tu balanceador el cual enrutará tu petición al nodePort, el cual enrutará a su vez al puerto del ClusterIP. Puedes acceder a este servicio como harías en un NodePort o un ClusterIP.

¿Qué pasa cuando generamos recursos via yaml en AWS?

  • Se genera un ALB mediante service tipo node port e ingress
  • Se genera ELB mediante service tipo loadbalancer

Links

Continue reading

AWS Solutions Architect Associate (SAA) 2018 – II

Topics covered: Cloudfront,Storage Gateway, Snowball

CloudFront

Terminology

  • Edge Location: this is the location where content is cached and can be used to write too. Separate to an AWS Region/Az. Actually, there are more Edge Locations than AWS regions. EdgeLocation cached files from the origin speeds up delivery to videos, images, etc. Used for S3 Transfer Acceleration.
  • Origin can be S3 Bucket, EC2 Instance, ELB or Route53
  • Distribution: the name was given to our CDN
  • Web distribution: typically used for websites
  • RTMP: Used for media streaming
Objects are cached for the life of the TTL (seconds, 24 hours, 86400 by default)
You can clear cached objects, (but you will be charged)

 Storage Gateway

  • All data transferred between any type of gateway appliance and AWS storage is encrypted using SSL.
  • By default, all data stored by AWS Storage Gateway in S3 is encrypted server-side with Amazon S3-Managed Encryption Keys (SSE-S3).
  • Also when using the file gateway, you can optionally configure each file share to have your objects encrypted with AWS KMS-Managed Keys using SSE-KMS.

Modes available

  • File Gateway (NFS): Flat files in S3, pdfs, pictures, videos,(stored in S3)
  • Volume Gateway (iSCSI): virtual hard disk
    • Stored Volumes: entire copy of dataset is stored on site and is backup async to S3.
    • Cached Volumes: entire dataset is stored on S3 and the most frequently accessed data is cached on site.
  • Gateway-Virtual Tape Library (VTL): backup, create virtual tapes and send to S3.

File Gateway (NFS)

Files stored as objects in s3 Bucket accessed through an NFS. Ownership, permissions, timestamps durably stored in S3. Once files are transferred to S3, they can be managed as native S3 objects, and bucket policies such as versioning, lifecycle management, cross-region replication, etc

Volume Gateway (iSCSI)

Virtual Hard Disks presented at on-premises via iSCSI and you backup them to S3. Data written to these volumes can be asynchronously backed up as point-in-time snapshots of your volumes and stored as EBS snapshots. Snapshots are incremental.

Stored Volumes

Let you store your primary data locally while asynchronously backing up that data to AWS. Low latency access to their entire datasets, with durable backups. Data written to your stored volumes is stored on your on-premises storage hardware. This data is backed up to AWS S3 in the form of EBS Snapshots.

Cached Volumes

Lets you use S3 as your primary data storage while retaining frequently accessed data locally in your storage gateway. Most recent data is on-premises storage hardware. Old data is in S3. Cached volumes offer substantial cost savings on primary storage and minimize the need to scale your storage on-premises.

Tape Gateway

Supported by NetBackup, Backup Exec, Veaam, etc. Instead of having physical tapes, you have virtual tapes.

SnowBall

Old service was Import/Export
ReInvent 2015 announced

Import/Export

You send your own disks

Snowball Standard

Snowball is petabyte-scale data transport that uses secure appliances to transfer large amounts of data into AWS.
AWS Snowball device costs less than AWS Snowball Edge
Up to 80 TB
Snowball in all regions.
256-bit encryption.
TPM standard industry.
Transferring data is simple, fast, secure and cheap. Once the data transfer job has been processed and verified, AWS performs a software erasure of Snowball Appliance.

SnowBall Edge

100 TB transfer device with on board storage and compute capabilities.
To move into and out of AWS, temporary storage tier for large local datasets.
SnowBall AWS datacenter in a box

Snowmobile

Is a truck container.
100 PetaBytes. Massive volumes of data to the cloud. Only US.
Datacenter migration to AWS

AWS Solutions Architect Associate (SAA) 2018 – I part

En este post dejaré algunas notas que tomé para poder estudiar para el AWS SASS. Utilizo Evernote para guardar notas pero con el paso del tiempo he decidido retomar el blog ya que es una mejor manera de tener mis notas actualizadas. Actualizaré el post poco a poco. Las notas serán en inglés porque así es como hice el curso.

Las definiciones de los diferentes servicios las tomo de o bien la documentación de AWS o bien de los comentarios del instructor del curso que hice.

 Topics covered: S3

Continue reading

sudo: no tty present and no askpass program specified

Error común al ejecutar scripts con permisos de sudo con usuarios no root. Para arreglarlo:

1. En sistemas Ubuntu/Debian

#visudo

2. Añadir una linea con el comando a ejecutar:

jenkins ALL=(root) NOPASSWD: /bin/chown -R www-data\:www-data .

3. O darle permisos totales

jenkins ALL=(ALL) NOPASSWD: ALL

4. Salvar el fichero.
5. No deberiamos ver más este error

S3cmd con role

s3cmd es un binario bastante útil si quieres hacer ciertas tareas con s3 y no picar código desde 0. Tuve un problema hace poco con él y tuve que investigar que pasaba. Lista de problemas:

ejecuto s3cmd y me da 403 forbidden access

  • primero, importante, si estas gestionando algo heredado muy probablemente tienes un .cfg oculto con configuración. Conviene cambiarla porque puede estar en base a KEYS y puedes no ver que está pasando. Para empezar de 0 puedes moverlo a extensión diferente y por defecto ya no tendrá ninguna configuración
  • definir las KEYS correctas si quieres un acceso programático a los recursos
  • en caso de querer trabajar con roles, has de tener en cuenta la versión de s3cmd. Si tienes una versión antigua es posible que no funcione ni aunque tengas el rol correcto
  • generar un rol adecuado de acceso a S3 y asignarlo a la instancia

Ejemplo tipo de policy:

{

"Version": "2012-10-17",

"Statement": [

{

"Effect": "Allow",

"Action": "s3:*",

"Resource": [

"arn:aws:s3:::static08",

"arn:aws:s3:::static08/*"

]

}

]

}

 

Burn windows iso file from mac osx el capitan

After struggling a little bit how to burn windows iso from Mac, I got proper right to do it. Basically, forget to just run dd, it won’t work. At least, didn’t work for me. In fact, all I got when I ran dd command was a faulty usb burned with iso files unable to start the installation from one laptop. So, I had to recover the usb with:

* sudo dd if=/dev/zero of=/dev/disk4 bs=1024k count=2

After that I was able to manage the usb from “Disk Utility”.

You’ll need a:

* windows iso file
* unetbootin for Mac
* usb ready for action

What I did was:

* First, open “Disk Utility” and format again the usb with MBR selected
* After that, open the unetbootin, select the iso and burn the usb.

This was the key to success in installation. I setup usb boot from laptop’s BIOS and then all worked like a charm.

MacBook reset password

1. Apagar equipo.
2. Encender dejando apretado COMMAND + r
3. (tardará más en levantar porque tira de una partición donde están las tools)
4. nos aparece el menú típico pero si miramos en la barra superior, buscamos y encontramos y hacemos click en “Terminal”.
5. En la terminal, clickamos “resetpassword”
6. Nos aparecerá otra ventana para cambiar el password del user que queramos y listo 🙂

Fixedbyvonnie

Moviendo WordPress a https

Aunque sea un tema menor, voy a dejar unos comentarios breves sobre lo que he tenido que hacer, nada del otro mundo.

1. Obviamente, contratar un certificado SSL. Para un dominio personal pequeño que sólo queremos encriptar sin wildcard ni grandes problemas, un COMODO por 5€ al año es suficiente. En mi caso el hosting compartido y el SSL es el mismo proveedor así que fue sencillo instalarlo. En cada hosting varía pero no es difícil.

2. Una vez hacemos la instalación del plugin a nivel hosting, debemos configurar el blog. Si vamos a Settings>General, podemos y debemos cambiar el WordPress address URL y el Site WordPress URL. (Si están en gris como en mi caso, es porque lo tenemos editado en el wp-config y ese es el archivo que debemos tratar).

3. Hacemos el cambio, borramos caché en el caso de que lo tengamos con caché. Muy raro será si no tenemos problemas con URLS tipo “este origen es https pero la fuente no”. Eso va a ser seguramente un tema de strings en base de datos apuntando al antiguo dominio (no https). Para tratar eso, viene perfecto ese php free. Lo subimos al hosting, configuramos y ponemos los string que queremos cambiar, ej: https://www.midominio.com por https://www.midominio.com

4. CDN: si tenemos CDNS encima de nuestra capa de caché, deberemos informar igualmente de que hemos movido el contenido a https. En mi caso, con CloudFlare viene un plugin que con la API KEY te deja configurar settings sin tener que ir a la propia web. En el caso que nos ocupa es la setting Automatic HTTPS Rewrites.

Por cierto, desde este mismo plugin podemos ver los stats tipo Google Analytics. Muy útil.

Y con esto, muy en líneas generales, ya hemos movido todo a HTTPS. Si tenemos una VPN + SSL en nuestro equipo la conexión y navegación ya tiene unos estándares de seguridad bastante correctos.