Code Monkey home page Code Monkey logo

multicluster-global-hub's Introduction

Multicluster Global Hub Overview

Build Coverage Go Reference License

This document attempts to explain how the different components in multicluster global hub come together to deliver multicluster management at very high scale. The multicluster-global-hub operator is the root operator which pulls in all things needed.

Conceptual Diagram

ArchitectureDiagram

Multicluster Global Hub Operator

Operator is for multicluster global hub. It is used to deploy all required components for multicluster management. The components include multicluster-global-hub-manager in the global hub cluster and multicluster-global-hub-agent in the managed hub clusters.

The Operator also leverages the manifestwork to deploy the Advanced Cluster Management for Kubernetes in the managed cluster. So the managed cluster is switched to a standard ACM Hub cluster (managed hub cluster).

Multicluster Global Hub Manager

The manager is used to persist the data into the postgreSQL. The data is from Kafka transport. The manager is also used to post the data to Kafka transport so that it can be synced to the managed hub clusters.

Multicluster Global Hub Agent

The agent is running in the managed hub clusters. It is responsible to sync-up the data between the global cluster hub and the managed hub clusters. For instance, sync-up the managed clusters' info from the managed hub clusters to the global hub cluster and sync-up the policy or application from the global hub cluster to the managed hub clusters.

Multicluster Global Hub Observability

Grafana runs on the global hub cluster, as the main service for Global Hub Observability. The Postgres data collected by the Global Hub Manager services as its default DataSource. By exposing the service via route(multicluster-global-hub-grafana), you can access the global hub grafana dashboards just like accessing the openshift console.

Quick Start Guide

Prerequisites

  1. Connect to a Kubernetes cluster with kubectl
  2. ACM or OCM is installed on the Kubernetes cluster

Run the operator in the cluster

Note: You can also install Multicluster Global Hub Operator from Operator Hub if you have ACM installed in an OpenShift Container Platform, the operator can be found in community operators by searching "multicluster global hub" keyword in the filter box, then follow the document to install the operator.

Follow the steps below to instal Multicluster Global Hub Operator in developing environment:

  1. Check out the multicluster-global-hub repository
git clone [email protected]:stolostron/multicluster-global-hub.git
cd multicluster-global-hub/operator
  1. Build and push your image to the location specified by IMG:
make docker-build docker-push IMG=<some-registry>/multicluster-global-hub-operator:<tag>
  1. Deploy the controller to the cluster with the image specified by IMG:
make deploy IMG=<some-registry>/multicluster-global-hub-operator:<tag>
  1. Install instance of custom resource:
kubectl apply -k config/samples/

Uninstall the operator

  1. Delete the multicluster-global-hub-operator CR:
kubectl delete mgh --all
  1. Delete the multicluster-global-hub-operator:

Note: This will delete Multicluster Global Hub Operator and the CRD from the cluster.

make undeploy

Contributing

Go to the Contributing guide to learn how to get involved.

multicluster-global-hub's People

Contributors

bjoydeep avatar cadawson avatar clyang82 avatar dislbenn avatar hchenxa avatar ldpliu avatar mmmsc avatar morvencao avatar nirrozenbaum avatar olegsternbergibm avatar openshift-merge-robot avatar vadimeisenbergibm avatar vmaroon avatar yanmxa avatar zhiweiyin318 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.