I’ve listened two audiobooks this month, both on DevOps methodology or more accurate on continuous improving of streamflow.
also started audible - amazon for listening audiobooks. The android app is not great but decent enough, although most of the books are DRM.
The first one is The Goal - A Process of Ongoing Improvement by: Eliyahu M. Goldratt, Jeff Cox
I can not stress this enough: You Have To Read this book. This novel is been categorized under business and it is been written back in 1984. You will find innovating even for today’s business logic. This book is the bases of “The Phoenix Project” and you have to read it before the The Phoenix Project. You will understand in details how lean and agile methodologies drive us to DevOps as a result of Ongoing Improvement.
The second book is The DevOps Handbook or How to Create World-Class Agility, Reliability, and Security in Technology Organizations by By: Gene Kim, Patrick Debois, John Willis, Jez Humble Narrated by: Ron Butler
I have this book in both hardcopy and audiobook. It is indeed a handbook. If you are just now starting on devops you need to read it. Has stories of companies that have applied the devops practices and It is really well structured. My suggestion is to keep notes when reading/listening to this book. Keep notes and re-read them.
Latest systemd version now contains the systemd-importd daemon .
That means that we can use machinectl to import a tar or a raw image from the internet to use it with the systemd-nspawn command.
so here is an example
from my archlinux box:
# cat /etc/arch-release
Arch Linux release
We can download the tar centos7 docker image from the docker hub registry:
# machinectl pull-tar --verify=no https://github.com/CentOS/sig-cloud-instance-images/raw/79db851f4016c283fb3d30f924031f5a866d51a1/docker/centos-7-docker.tar.xz
... Created new local image 'centos-7-docker'. Operation completed successfully. Exiting.
we can verify that:
# ls -la /var/lib/machines/centos-7-docker
total 28 dr-xr-xr-x 1 root root 158 Jan 7 18:59 . drwx------ 1 root root 488 Feb 1 21:17 .. -rw-r--r-- 1 root root 11970 Jan 7 18:59 anaconda-post.log lrwxrwxrwx 1 root root 7 Jan 7 18:58 bin -> usr/bin drwxr-xr-x 1 root root 0 Jan 7 18:58 dev drwxr-xr-x 1 root root 1940 Jan 7 18:59 etc drwxr-xr-x 1 root root 0 Nov 5 2016 home lrwxrwxrwx 1 root root 7 Jan 7 18:58 lib -> usr/lib lrwxrwxrwx 1 root root 9 Jan 7 18:58 lib64 -> usr/lib64 drwxr-xr-x 1 root root 0 Nov 5 2016 media drwxr-xr-x 1 root root 0 Nov 5 2016 mnt drwxr-xr-x 1 root root 0 Nov 5 2016 opt drwxr-xr-x 1 root root 0 Jan 7 18:58 proc dr-xr-x--- 1 root root 120 Jan 7 18:59 root drwxr-xr-x 1 root root 104 Jan 7 18:59 run lrwxrwxrwx 1 root root 8 Jan 7 18:58 sbin -> usr/sbin drwxr-xr-x 1 root root 0 Nov 5 2016 srv drwxr-xr-x 1 root root 0 Jan 7 18:58 sys drwxrwxrwt 1 root root 140 Jan 7 18:59 tmp drwxr-xr-x 1 root root 106 Jan 7 18:58 usr drwxr-xr-x 1 root root 160 Jan 7 18:58 var
Now test we can test it:
[root@myhomepc ~]# systemd-nspawn --machine=centos-7-docker
Spawning container centos-7-docker on /var/lib/machines/centos-7-docker. Press ^] three times within 1s to kill container. [root@centos-7-docker ~]# [root@centos-7-docker ~]# [root@centos-7-docker ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@centos-7-docker ~]# [root@centos-7-docker ~]# exit logout Container centos-7-docker exited successfully.
and now returning to our system:
[root@myhomepc ~]# [root@myhomepc ~]# [root@myhomepc ~]# cat /etc/arch-release Arch Linux release
Ubuntu 16.04.4 LTS
# machinectl pull-tar --verify=no https://github.com/tianon/docker-brew-ubuntu-core/raw/46511cf49ad5d2628f3e8d88e1f8b18699a3ad8f/xenial/ubuntu-xenial-core-cloudimg-amd64-root.tar.gz # systemd-nspawn --machine=ubuntu-xenial-core-cloudimg-amd64-root
Spawning container ubuntu-xenial-core-cloudimg-amd64-root on /var/lib/machines/ubuntu-xenial-core-cloudimg-amd64-root. Press ^] three times within 1s to kill container. Timezone Europe/Athens does not exist in container, not updating container timezone. root@ubuntu-xenial-core-cloudimg-amd64-root:~#
root@ubuntu-xenial-core-cloudimg-amd64-root:~# cat /etc/os-release
NAME="Ubuntu" VERSION="16.04.4 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.4 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=xenial UBUNTU_CODENAME=xenial
logout Container ubuntu-xenial-core-cloudimg-amd64-root exited successfully.
# cat /etc/os-release
NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch ID_LIKE=archlinux ANSI_COLOR="0;36" HOME_URL="https://www.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://bugs.archlinux.org/"