ha-sno

command module
v0.0.0-...-1a1c347 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 24, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

README

High Availability Single Node Openshift Setup Operator

Provide the ability for exactly two Single Node OpenShift clusters to operate as a predefined pair in an active-passive or active-active configuration, detect when its peer has died and automatically take over its workloads after ensuring it is safe to do so.

Motivation

Some companies have a need for a highly available container management solution that fits within a reduced footprint.

  • The hardware savings are significant for customers deploying many remote sites (kiosks, branch offices, restaurant chains, etc), most notably for edge computing and RAN specifically.
  • The physical constraints of some deployments prevent more than two nodes (planes, submarines, satellites, and also RAN).
  • Some locations will not have reliable network connections or limited bandwidth (once again submarines, satellites, and disaster areas such as after hurricanes or floods)

Pre-requisites

  • 2 SNO Clusters.
  • Deployments that will be managed by HA Layer already exist.

Installation

  • Deploy This operator to each SNO cluster.
  • Load the yaml manifest of the HASNO (for each SNO cluster).

Assumptions

  • CRs will be updated simultaneously on both clusters by a config management tool - for example ACM (in case no such tool is used it should be done manually by the user).

Example CRs

An example HASNO object.

   apiVersion: ha-sno.medik8s.io/v1alpha1
   kind: HALayerSet
   metadata:
     name: halayerset-sample
   spec:
     # Add fields here
     deployments:
       - "nginx-test"
       - "nginx-prod"
     fenceAgentsSpec:
     - name: "fence_ipmilan_1"
       type: "fence_ipmilan"
       params:
         ip: "192.168.126.1"
         username: "admin"
         password: "password"
         ipport: "9111"
         lanplus: "1"
         pcmk_host_list: "cluster1"
     - name: "fence_ipmilan_2"
       type: "fence_ipmilan"
       params:
         ip: "192.168.126.1"
         username: "admin"
         password: "password"
         ipport: "9222"
         lanplus: "1"
         pcmk_host_list: "cluster2"
     nodesSpec:
       firstNodeName: "cluster1"
       firstNodeIP: "192.168.126.10"
       secondNodeName: "cluster2"
       secondNodeIP: "192.168.126.11"

These CRs are created by the admin and are used to trigger the setting of the High Availability Layer on top of the SNO clusters.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the app v1alpha1 API group +kubebuilder:object:generate=true +groupName=ha-sno.medik8s.io
Package v1alpha1 contains API Schema definitions for the app v1alpha1 API group +kubebuilder:object:generate=true +groupName=ha-sno.medik8s.io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL