Friday, November 27, 2015

Logs and troubleshooting in mesos

One of the most important, and hated, tasks in systems is troubleshooting. Despite all we know, our experience, our knowledge... systems fails. That's why is so important we know were to look to know what's failing, because without this information it's very difficult to fix the problem.

This tutorial is focused in redhat/CentOS 7, so if you are using a different distro take care because some files can be placed in different paths and/or the naming may be different.

Thursday, November 26, 2015

Mesos DNS server

One of the most important, and difficult, tasks during an app deployment is knowing the IP and port the different services are using to their respective jobs. We have to balance requests to a bunch of web server nodes which have to access to a containerized database and all this services has to send their logs to an analytic server, and we don't know the IP and ports of all this stuff.
Ok, calm down, there are some solutions to manage all this dynamic information.
  • Distributed configuration systems as etcd or zookeeper let us know all the environment configuration, like IPs and ports of all services deployed. 
  • Technologies like kubernetes uses its own proxy solution for services: kubernetes says us there is a service in a fixed IP and port and all the different services behind it are automatically manage
  • We can even use haproxy in mesos to publish services in a fixed IP and port, such as kubernetes does with its proxy solution.
  • Finally we can use a dynamically generated DNS services: Mesos DNS. This is what we are going to talk about

Tuesday, November 24, 2015

Git commands list

This is a list of the most common used git commands I use to have on my side when I haven't use git during a few days

Get help
# git help
# git help <command>

Configure system
# git config --system : Configures file /etc/gitconfig

Configure global
# git config --global : Configures user’s file ~/.gitconfig

List config options
# git config [--system,--global] --list

Edit config from editor
# export EDITOR=[chosen editor]
# git config [--system,--global] -e

Monday, November 23, 2015

Installing Mesos and marathon on Red Hat 7

Today I gonna write my first post on this blog with a brief annotation about installing mesos and marathon on Red Hat 7. I will explain, in a following article, what is mesos, marathon and all this bunch of new technologies everybody is talking about and, surely, we all have heard about.


We will install a mesos cluster under Red Hat 7 nodes with the following architecture: