Sunday, 8 July 2018

0005- Install Docker

Create SSH keys for the two nodes:

[root@master ~]# ssh-keygen -f /root/.ssh/id_rsa -t rsa -N ''

[root@master ~]# ls -lh .ssh/
total 8.0K
-rw-------. 1 root root 1.7K Jul  8 12:33 id_rsa
-rw-r--r--. 1 root root  400 Jul  8 12:33 id_rsa.pub

[root@master ~]# ssh-copy-id node1
[root@node1 ~]# ssh-keygen -f /root/.ssh/id_rsa -t rsa -N ''

[root@node1 ~]# ls -lh .ssh/
total 8.0K
-rw-------. 1 root root 1.7K Jul  8 12:33 id_rsa
-rw-r--r--. 1 root root  400 Jul  8 12:33 id_rsa.pub

[root@node1 ~]# ssh-copy-id master


Install docker on both nodes:

[root@master ~]# yum install docker-1.12.6 -y
[root@node1 ~]# yum install docker-1.12.6 -y


Disable LVM cluster feature on both nodes:

[root@master ~]# lvmconf --disable-cluster 
[root@master ~]# echo $?
0
[root@node1 ~]# lvmconf --disable-cluster
[root@node1 ~]# echo $?
0


Configure Docker storage to use logical volume will be created on "/dev/vdb" disk for both nodes:

[root@master ~]# fdisk -l /dev/vdb

Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


[root@master ~]# cp -av /etc/sysconfig/docker-storage-setup /root/orig_files/
‘/etc/sysconfig/docker-storage-setup’ -> ‘/root/orig_files/docker-storage-setup’


[root@master ~]# grep -v ^# /etc/sysconfig/docker-storage-setup | awk NF
CONTAINER_THINPOOL=docker-pool


[root@master ~]# vim /etc/sysconfig/docker-storage-setup 


[root@master ~]# grep -v ^# /etc/sysconfig/docker-storage-setup | awk NF
DEVS=vdb
VG=docker-vg


[root@master ~]# docker-storage-setup 
INFO: Writing zeros to first 4MB of device /dev/vdb
4+0 records in
4+0 records out
4194304 bytes (4.2 MB) copied, 0.256067 s, 16.4 MB/s
INFO: Device node /dev/vdb1 exists.
  Physical volume "/dev/vdb1" successfully created.
  Volume group "docker-vg" successfully created
  Using default stripesize 64.00 KiB.
  Rounding up size to full physical extent 44.00 MiB
  Thin pool volume with chunk size 512.00 KiB can address at most 126.50 TiB of data.
  Logical volume "docker-pool" created.
  Logical volume docker-vg/docker-pool changed.


[root@master ~]# pvs
  PV         VG          Fmt  Attr PSize   PFree 
  /dev/vda2  rhel_master lvm2 a--  <79.00g  4.00m
  /dev/vdb1  docker-vg   lvm2 a--  <40.00g 24.00g


[root@master ~]# vgs
  VG          #PV #LV #SN Attr   VSize   VFree 
  docker-vg     1   1   0 wz--n- <40.00g 24.00g
  rhel_master   1   3   0 wz--n- <79.00g  4.00m


[root@master ~]# lvs
  LV          VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  docker-pool docker-vg   twi-a-t---  15.91g             0.00   0.09                            
  home        rhel_master -wi-ao----  23.33g                                                    
  root        rhel_master -wi-ao---- <47.79g                                                    
  swap        rhel_master -wi-ao----  <7.88g   

[root@master ~]# cat /etc/sysconfig/docker-storage
DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/docker--vg-docker--pool --storage-opt dm.use_deferred_removal=true --storage-opt dm.use_deferred_deletion=true "
[root@node1 ~]# fdisk -l /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


[root@node1 ~]# cp -av /etc/sysconfig/docker-storage-setup /root/orig_files/
‘/etc/sysconfig/docker-storage-setup’ -> ‘/root/orig_files/docker-storage-setup’


[root@node1 ~]# grep -v ^# /etc/sysconfig/docker-storage-setup | awk NF
CONTAINER_THINPOOL=docker-pool


[root@node1 ~]# vim /etc/sysconfig/docker-storage-setup 


[root@node1 ~]# grep -v ^# /etc/sysconfig/docker-storage-setup | awk NF
DEVS=vdb
VG=docker-vg


[root@node1 ~]# docker-storage-setup 
INFO: Writing zeros to first 4MB of device /dev/vdb
4+0 records in
4+0 records out
4194304 bytes (4.2 MB) copied, 0.273737 s, 15.3 MB/s
INFO: Device node /dev/vdb1 exists.
  Physical volume "/dev/vdb1" successfully created.
  Volume group "docker-vg" successfully created
  Using default stripesize 64.00 KiB.
  Rounding up size to full physical extent 44.00 MiB
  Thin pool volume with chunk size 512.00 KiB can address at most 126.50 TiB of data.
  Logical volume "docker-pool" created.
  Logical volume docker-vg/docker-pool changed.


[root@node1 ~]# pvs
  PV         VG         Fmt  Attr PSize   PFree 
  /dev/vda2  rhel_node1 lvm2 a--  <39.00g  4.00m
  /dev/vdb1  docker-vg  lvm2 a--  <40.00g 24.00g


[root@node1 ~]# vgs
  VG         #PV #LV #SN Attr   VSize   VFree 
  docker-vg    1   1   0 wz--n- <40.00g 24.00g
  rhel_node1   1   2   0 wz--n- <39.00g  4.00m


[root@node1 ~]# lvs
  LV          VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  docker-pool docker-vg  twi-a-t---  15.91g             0.00   0.09                            
  root        rhel_node1 -wi-ao---- <35.12g                                                    
  swap        rhel_node1 -wi-ao----  <3.88g                                                    


[root@node1 ~]# cat /etc/sysconfig/docker-storage
DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/docker--vg-docker--pool --storage-opt dm.use_deferred_removal=true --storage-opt dm.use_deferred_deletion=true "


Enable and Start "docker" service on both nodes:

[root@master ~]# systemctl enable docker --now
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@master ~]# systemctl status  docker --now
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2018-07-08 12:49:49 CEST; 5s ago
     Docs: http://docs.docker.com
 Main PID: 2541 (dockerd-current)
   CGroup: /system.slice/docker.service
           ├─2541 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --authorization-plugin=rhel-push-plugin --ex...
           └─2549 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout ...
[root@node1 ~]# systemctl enable docker --now
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@node1 ~]# systemctl status  docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2018-07-08 12:55:17 CEST; 6s ago
     Docs: http://docs.docker.com
 Main PID: 2485 (dockerd-current)
   CGroup: /system.slice/docker.service
           ├─2485 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --authorization-plu...
           └─2491 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-in...


Create cold snapshots:

[root@master ~]# poweroff 

[root@node1 ~]# poweroff 
virsh # snapshot-create-as openshift-master 03_docker --description "After installaing and enable docker-1.12.6"
Domain snapshot 03_docker created

virsh # snapshot-create-as openshift-node1 03_docker --description "After installaing and enable docker-1.12.6"
Domain snapshot 03_docker created

virsh # snapshot-list openshift-master
 Name                 Creation Time             State
------------------------------------------------------------
 00_fresh_os          2018-07-07 11:47:50 +0200 shutoff
 01_ready_to_install  2018-07-07 12:25:48 +0200 shutoff
 02_dnsmasq           2018-07-08 12:25:15 +0200 shutoff
 03_docker            2018-07-08 12:59:00 +0200 shutoff


virsh # snapshot-list openshift-node1
 Name                 Creation Time             State
------------------------------------------------------------
 00_fresh_os          2018-07-07 12:49:20 +0200 shutoff
 01_ready_to_install  2018-07-07 12:55:12 +0200 shutoff
 02_dnsmasq           2018-07-08 12:31:43 +0200 shutoff
 03_docker            2018-07-08 12:59:08 +0200 shutoff

No comments:

Post a Comment