Ceph Distributed Storage

posted Jan 16, 2018, 4:30 PM by Chris G   [ updated Jan 16, 2018, 4:31 PM ]

Ceph is a free-software storage platform, implements object storage on a single distributed computer cluster, and provides interfaces for object-, block- and file-level storage. Ceph aims primarily for completely distributed operation without a single point of failure, scalable to the exabyte level, and freely.

Goss - Quick and Easy server validation

posted Nov 17, 2017, 7:46 AM by Chris G   [ updated Nov 17, 2017, 7:47 AM ]

Goss - Quick and Easy server validation

What is Goss?

Goss is a YAML based serverspec alternative tool for validating a server’s configuration. It eases the process of writing tests by allowing the user to generate tests from the current system state. Once the test suite is written they can be executed, waited-on, or served as a health endpoint.

Why use Goss?

  • Goss is EASY! - Goss in 45 seconds
  • Goss is FAST! - small-medium test suits are near instantaneous, see benchmarks
  • Goss is SMALL! - <10MB single self-contained binary

Generated goss.yaml:

$ cat goss.yaml
    listening: true
    listening: true
    - '::'
    enabled: true
    running: true
    exists: true
    uid: 74
    gid: 74
    - sshd
    home: /var/empty/sshd
    shell: /sbin/nologin
    exists: true
    gid: 74
    running: true

Now that we have a test suite, we can:

  • Run it once
goss validate

Total Duration: 0.021s # <- yeah, it's that fast..
Count: 15, Failed: 0

    Microservices Architecture

    posted Oct 24, 2016, 10:46 AM by Chris G   [ updated Oct 24, 2016, 10:47 AM ]

    Some great information about Micro Services architecture:

    And of course, the reference:

    OpenSSL Certificate Authority

    posted Jun 29, 2016, 1:36 PM by Chris G   [ updated Jun 29, 2016, 1:36 PM ]

    This guide demonstrates how to act as your own certificate authority (CA) using the OpenSSL command-line tools. This is useful in a number of situations, such as issuing server certificates to secure an intranet website, or for issuing certificates to clients to allow them to authenticate to a server. - The easiest way to add a certificate to a Java trust store

    posted Mar 23, 2016, 6:21 PM by Chris G   [ updated Mar 23, 2016, 6:23 PM ]

    The easiest way to add a certificate from a remote website to a Java truststore is by using the script. It allows you to point to the remote server and add the certificate in one command.

    Resource Usage and Performance Characteristics of Running Docker Containers

    posted Dec 16, 2015, 6:25 AM by Chris G   [ updated Dec 16, 2015, 6:27 AM ]


    cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers. It is a running daemon that collects, aggregates, processes, and exports information about running containers. Specifically, for each container it keeps resource isolation parameters, historical resource usage, histograms of complete historical resource usage and network statistics. This data is exported by container and machine-wide.

    The History of the World of Containers

    posted Nov 24, 2015, 7:53 AM by Chris G   [ updated Nov 24, 2015, 7:53 AM ]

    A very educational and humorous presentation about the evolution that lead to the current Docker containers, well worth the watch.

    Cachet - Beautiful & simple service statuses.

    posted Oct 17, 2015, 10:09 AM by Chris G   [ updated Oct 17, 2015, 10:11 AM ]

    Beautiful & simple service statuses.

    An open source status page system, for everyone.


    The Mesosphere Datacenter Operating System (DCOS)

    posted May 21, 2015, 2:41 PM by Chris G

    The Mesosphere Datacenter Operating System (DCOS) is a new kind of operating system. It spans all the servers in your datacenter or cloud.
    The Mesosphere DCOS is a new kind of operating system that spans all of the machines in the datacenter or cloud. It supports today’s developers who are building a new class of applications. These applications no longer fit on a single server, but instead run across a fleet of servers in a datacenter.

    The Mesosphere DCOS includes a distributed systems kernel with enterprise-grade security, based on Apache Mesos, and a set of core system services, including an init system (Marathon), cron (Chronos), service discovery (DNS), storage (HDFS), and others.

    The Mesosphere DCOS runs containerized workloads at scale, managing resource isolation (including memory, processor, and network) and optimizing resource utilization. It is highly adaptable, employing plug-ins for native Linux containers, Docker containers, and other emerging container systems. Automating standard operations, the Mesosphere DCOS is highly-elastic, highly-available and fault-tolerant.


    Docker Cheat Sheet with examples

    posted May 6, 2015, 9:34 AM by Chris G   [ updated May 6, 2015, 9:42 AM ]

    Original post is here
    Docker Cheat Sheet is a nice documentation. It provides some basic Docker commands and system and is easy to understand.


    Set up

    Pull a base image.

    docker pull ubuntu

    It's annoy to restore Container ID, you may forget to restore. You can set below alias. With this, you can get the ID of the last-run Container (15 Docker tips in 5 minutes)

    alias dl='docker ps -l -q'


    To create a Container.

    docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"

    To stop a Container.

    docker stop 'dl'

    To start a Container.

    docker start 'dl'

    To restart a Container.

    docker restart 'dl'

    To Connect to a running Container.

    docker attach 'dl'

    To copy file in a Container to the host.

    docker cp 'dl':/etc/passwd .

    To mount the directory in host to a Container.

    docker run -v /home/vagrant/test:/root/test ubuntu echo yo

    To delete a Container.

    dockr rm 'dl'

    Info of Container

    To show running Containers. With -a option, it shows running and stopped Containers.

    docker ps

    To show Container information like IP adress.

    docker inspect 'dl'

    To show log of a Container.

    docker logs 'dl'

    To show running process in a Container.

    docker top 'dl'


    To create a image from a Container. For tag name, <username>/<imagename> is recommended.

    docker run -d ubuntu /bin/sh -c "apt-get install -y hello"
    docker commit -m "My first container" 'dl' tcnksm/hello

    To create a image with Dockerfile.

    echo -e "FROM base\nRUN apt-get install hello\nCMD hello" > Dockerfile
    docker build tcnksm/hello .

    To login to a image.

    docker run -rm -t -i tcnksm/hello /bin/bash

    To push a imges to remote repository. You need to sign up to Docker index in advance. Exmple uploaded image.

    docker login
    docker push tcnksm/hello

    To delete a image

    docker rmi tcnkms/hello

    Info of Image

    To show all images

    docker images

    To show image information like IP adress.

    docker inspect tcnksm/hello

    To show command history of a image.

    docker history tcnksm/hello

    1-10 of 15