Giter VIP home page Giter VIP logo

acm-hub-bootstrap's Introduction

Introduction

This repository is used to bootstrap the RHACM Hub cluster as well as hold the ACM configuration I use in my homelab environment. It is referenced by the cluster-config repo for the local.hub cluster's ACM applications (Hub, Policies and Observerability).

From the perspective of bootstrapping the Hub there are a couple of different ways to go. You could manually install OpenShift GitOps and have it bootstrap everything on the Hub including RHACM. However while I did consider that approach I'm using ACM to bootstrap my managed clusters and I wanted to use the exact same workflow if I could for the Hub. This is because I wanted to avoid having to create a tweaked workflow just for the Hub.

Bootstrap Process

The bootstrap process, encapsulated in the bootstrap.sh script, is as follows:

  1. Install the RHACM operator and wait for it to complete
  2. Install the MultiClusterHub custom resource and wait for it to be in the Running phase
  3. Deploy all of the RHACM policies including the policy that deploys the OpenShift GitOps operator with the bootstrap application
  4. Label the Hub cluster, local-cluster, with the label gitops=local.hub. This trigger the GitOps policy we deployed in step #3 to install OpenShift GitOps on the Hub cluster and deploy the bootstrap application pointing to the repo and path needed for this cluster, i.e. local.home

At this point the GitOps operator deploys everything the Hub cluster requires including storage, operators, etc as well as other ACM components. In particular, the components that the script deployed (Hub + Policies) have Argo applications that will take over managing these.

With the script bootstrapping the Hub because a one command affair. Once the command completes successfully I walk away for 20-30 minutes while everything gets sorted out.

Side-note on LVM Operator

If you are running a SNO cluster like I am and using the LVM Operator make sure that whatever device you are using for storage with it is free. For example, if you are doing a reinstall of the hub (or other cluster), after the cluster is provisioned but before you provision Day 2 ops ssh to the cluster and run lsblk to make sure the device is empty with no partitions.

A reminder for future me. :)

acm-hub-bootstrap's People

Contributors

gnunn1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.