Skip to content
This repository was archived by the owner on Oct 31, 2019. It is now read-only.

Commit cbd8a76

Browse files
jan-gjrosinsk
authored andcommitted
Add fast filesystem for docker (#51)
This lets you set a single device file which, if present, will be used to back /var/lib/docker. The variable should probably be expanded and checked to see if it refers to multiple devices; under those circmstances we should add all devices to a VG and build the FS on that. It'd be okay to default this to /dev/nvme0n1 since it's a no-op on [VB]M.Standard* systems.
1 parent 0b6ea6c commit cbd8a76

File tree

5 files changed

+25
-1
lines changed

5 files changed

+25
-1
lines changed

instances/k8sworker/datasources.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ data "template_file" "setup-template" {
2323
docker_max_log_files = "${var.worker_docker_max_log_files}"
2424
etcd_discovery_url = "${file("${path.root}/generated/discovery${var.etcd_discovery_url}")}"
2525
etcd_endpoints = "${var.etcd_endpoints}"
26+
docker_device = "${var.docker_device}"
2627
}
2728
}
2829

instances/k8sworker/scripts/setup.template.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,17 @@ systemctl enable cni-bridge && systemctl start cni-bridge
6767

6868
## Docker
6969
######################################
70+
if [ -n "${docker_device}" ]; then
71+
if [ -e "${docker_device}" ]; then
72+
mkfs -t xfs -L DOCKER ${docker_device}
73+
mkdir -p /var/lib/docker
74+
cat <<-EOF >>/etc/fstab
75+
LABEL=DOCKER /var/lib/docker xfs defaults 0 0
76+
EOF
77+
mount /var/lib/docker
78+
fi
79+
fi
80+
7081
until yum -y install docker-engine-${docker_ver}; do sleep 1 && echo -n "."; done
7182

7283
cat <<EOF > /etc/sysconfig/docker-network

instances/k8sworker/variables.tf

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,9 @@ variable "worker_docker_max_log_size" {
6464
variable "worker_docker_max_log_files" {
6565
description = "Maximum number of the k8s worker docker container json logs to rotate"
6666
default = "5"
67-
}
67+
}
68+
69+
# Docker device
70+
variable "docker_device" {
71+
default = ""
72+
}

k8s-oci.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,7 @@ module "instances-k8sworker-ad1" {
401401
module.instances-etcd-ad1.private_ips,
402402
module.instances-etcd-ad2.private_ips,
403403
module.instances-etcd-ad3.private_ips)))) }"
404+
docker_device = "${var.worker_docker_device}"
404405
}
405406

406407
module "instances-k8sworker-ad2" {
@@ -438,6 +439,7 @@ module "instances-k8sworker-ad2" {
438439
module.instances-etcd-ad1.private_ips,
439440
module.instances-etcd-ad2.private_ips,
440441
module.instances-etcd-ad3.private_ips)))) }"
442+
docker_device = "${var.worker_docker_device}"
441443
}
442444

443445
module "instances-k8sworker-ad3" {
@@ -475,6 +477,7 @@ module "instances-k8sworker-ad3" {
475477
module.instances-etcd-ad1.private_ips,
476478
module.instances-etcd-ad2.private_ips,
477479
module.instances-etcd-ad3.private_ips)))) }"
480+
docker_device = "${var.worker_docker_device}"
478481
}
479482

480483
### Load Balancers

variables.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,3 +253,7 @@ variable "k8s_dns_ver" {
253253
variable "oracle_linux_image_name" {
254254
default = "Oracle-Linux-7.4-2017.10.25-0"
255255
}
256+
257+
variable "worker_docker_device" {
258+
default = ""
259+
}

0 commit comments

Comments
 (0)