DevOps

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
port:
  tcp:22:
    listening: true
    ip:
    - 0.0.0.0
  tcp6:22:
    listening: true
    ip:
    - '::'
service:
  sshd:
    enabled: true
    running: true
user:
  sshd:
    exists: true
    uid: 74
    gid: 74
    groups:
    - sshd
    home: /var/empty/sshd
    shell: /sbin/nologin
group:
  sshd:
    exists: true
    gid: 74
process:
  sshd:
    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.


    InstallCert.java - 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 InstallCert.java 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



    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.

     VIEW ON GITHUB SEE THE DEMO


























    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'
    

    Container

    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'
    

    Image

    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