diff --git a/02-k8s-bootstrap/index.ts b/02-k8s-bootstrap/index.ts index 1836e69..5732777 100644 --- a/02-k8s-bootstrap/index.ts +++ b/02-k8s-bootstrap/index.ts @@ -215,7 +215,32 @@ const joinWorker2 = new command.remote.Command( ); // --------------------------------------------------------------------------- -// Step 5: Read kubeconfig from master-1, patch server URL for external access +// Step 5: Format and mount Longhorn disks +// --------------------------------------------------------------------------- + +const workers = [worker1Ip, worker2Ip]; +const workerSshReader = [waitWorker1Ssh, waitWorker2Ssh]; + +const mountLonghornDisks = workers.map((worker, i) => { + return new command.remote.Command( + `mount-longhorn-disk-${i}`, + { + connection: conn(worker), + create: `set -euo pipefail; + DISK_ID=$(ls /dev/disk/by-id/ | grep 'scsi1'); + DISK_PATH="/dev/disk/by-id/$DISK_ID"; + sudo blkid "$DISK_PATH" >/dev/null 2>&1 || sudo mkfs.ext4 "$DISK_PATH"; + sudo mkdir -p /mnt/longhorn-extra; + echo ""$DISK_PATH" /mnt/longhorn-extra ext4 defaults,nofail 0 2" | sudo tee -a /etc/fstab; + sudo mount -a; + df -h /mnt/longhorn-extra`, + }, + { dependsOn: workerSshReader[i] }, + ); +}); + +// --------------------------------------------------------------------------- +// Step 6: Read kubeconfig from master-1, patch server URL for external access // --------------------------------------------------------------------------- const getKubeconfig = new command.remote.Command(