~johanvandegriff/zfs-server-cluster-setup

5b30ab946b428038bd6c03272cc1bcba9dd7a0f7 — Johan Vandegriff 2 years ago a6f8c56
Updated README for new scripts
1 files changed, 10 insertions(+), 6 deletions(-)

M README.md
M README.md => README.md +10 -6
@@ 3,26 3,30 @@ A set of installation and setup scripts for creating a cluster of CentOS servers

## DeSCRIPTions

### centos-zfs-setup.sh
Install CentOS with a ZFS filesystem. Should be run from a CentOS installation, not a live USB. See the beginning of the script for instructions.

### ubuntu-zfs-setup.sh
Install Ubuntu with a ZFS filesystem. Should be run from a live USB (unlike the CentOS script) of the **desktop version** of Ubuntu.

### ubuntu-admin-tools.sh
Install XRDP remote desktop, ssh access, firewall, utility packages, and xfce desktop settings.

### ubuntu-k8s-setup.sh
Install kubernetes using kubeadm to a node, either the master node or a worker node. The master node must be installed first, which will generate a "kubeadm join" command to be run on the worker nodes.

### install-common.sh
Common functions for all the scripts, such as output text coloring, error messages, and disk utilities

### centos-zfs-setup.sh
Install CentOS with a ZFS filesystem. Should be run from a CentOS installation, not a live USB. See the beginning of the script for instructions.
This script is not working and I have switched to Ubuntu for the setup. If you have a fix, submit a pull request.

## Future Scripts:
* backup-script-setup.sh -- Install a cron job that backs up the ZFS pool with [syncoid](https://github.com/jimsalterjrs/sanoid) to another location specified by the user.
* admin-tools-setup.sh -- enable remote ssh login, install xrdp, tmux, and a way to remotely access the system with ssh tunneling if the machine becomes not externally accessible.
* k8s-install.sh -- install kubectl, kubeadm, and kubefed packages from [kubernetes](https://kubernetes.io/).
* master-node-setup.sh -- set up a machine as a master node of a cluster and join a federated group of clusters in different locations using kubefed.
* worker-node-setup.sh -- set up a machine as a worker node and join the local cluster with kubeadm as specified by the master node.
* node-setup-common.sh -- a script that holds all the common elements between the worker and master nodes. This should not be called directly, the other scripts will call it as needed.

## Other Ideas
* Config files to further automate the setup and to provide the same options to multiple scripts
* Scripts to install monitoring tools that will email the user when ZFS has a fault or when a kubernetes node fails.
* config files to further automate the setup and to provide the same options to multiple scripts
* scripts to install monitoring tools that will email the user when ZFS has a fault or when a kubernetes node fails
* a way to remotely access the system with ssh tunneling if the machine becomes not externally accessible