Setting Up a Cluster¶
Most of the complexity of installing Zenko on a cluster involves deploying the cluster istelf. Scality supports MetalK8s, an open source Kubernetes engine optimized for the Zenko use case, to manage cluster operations dynamically. While running Zenko on a single machine is desirable for certain use cases, a clustered operating environment is required for high-availability deployments, and even on single-node deployments, Kubernetes management is a necessity.
If you can set up a Kubernetes cluster on your own, review the General Cluster Requirements and skip to Install Zenko. Otherwise, download the latest stable version of MetalK8s and follow its instructions to establish a working Kubernetes instance on your cluster. Though Zenko is built to run on any Kubernetes, Scality only supports clusters built on MetalK8s.
The following section describes general cluster requirements that have been tested on MetalK8s. Because MetalK8s is designed to operate without support from public cloud resources, the following sizing requirements are assumed sufficient for hosted cloud Kubernetes clusters, where such resources are available on demand.
General Cluster Requirements¶
Setting up a high availability cluster requires at least three machines (these can be VMs) running CentOS 7.4 or higher. The recommended mimimum for high-availability Zenko production service is the Standard Architecture, a five-node cluster with three masters/etcds. The Compact Architecture, a three-node cluster configuration, is also supported. The cluster must have an odd number of nodes to provide a quorum. You must have SSH access to these machines and they must have SSH access to each other.
Three-node clusters can continue to operate without service disruption or data loss if one node fails. Five-node clusters can operate without disruption or loss if two nodes fail.
Each machine acting as a Kubernetes node must also have at least one disk available to provision storage volumes.