Uploaded image for project: 'Red Hat Advanced Cluster Management'
  1. Red Hat Advanced Cluster Management
  2. ACM-2641

Kubernetes Resource Database and Connector Agent

XMLWordPrintable

    • Icon: Feature Feature
    • Resolution: Unresolved
    • Icon: Blocker Blocker
    • None
    • None
    • xCM
    • False
    • None
    • False
    • Not Selected
    • 0% To Do, 33% In Progress, 67% Done

      Feature Overview

      • Today, most of RHACM utilizes a pattern of operating on Kubernetes Custom Resources and therefore the cluster's etcd is leveraged to store data. In order to achieve high-scale Kubernetes cluster management requirements, we need to introduce a traditional relational database above all RHACM hub clusters that stores relevant data including the cluster inventory, configuration policies, etc.
      • Once the database is deployed and accessible via a REST API, we can create an agent that is deployed on a RHACM hub to connect to that REST API / database for sharing cluster inventory and synchronizing other resources.

      Slack: #forum-acm-nextgen-controlplane

      Goals

      • Develop a template and process for representing Kubernetes resources in a relational database
      • Investigate requirements for operating and maintaining the database in the context of RH-managed versus customer-managed
        • RH-managed:
          • Leverage an existing service such as Amazon Relational Database Service (RDS) 
        • Customer-managed includes considerations for:
          • Data Recovery
          • Availability
          • Management and Maintenance
          • Problem Determination
          • Fixes / CVE maintenance
      • Develop an agent that can synchronize information between the database and RHACM hub clusters.

      Use Cases

      • xCM
        • Cluster inventory data can be stored centrally in this database and isolated based on data sovereignty requirements.
        • Provide a standardized schema for representing clusters in a database across multiple stakeholder services including xCM, AMS, Cluster Service, OSD Fleet Manager, Kafka Fleet Manager, and ACS Fleet Manager.
        • Host the cluster inventory data that will be read by the xCM connector to share inventory information between OCM and ACM.
      • Additional layered services on top of xCM including a Configuration Management Service implementation.

      Previous Work

      • AMS - Access Management Service database, this is what you see on console.redhat.com when you look at your subscribed clusters (AWS RDS).
      • Cluster Service Database (AWS RDS).
      • OSD Fleet Manager, ACS Fleet Manager, Kafka Fleet Manager (AWS RDS), all use diverged schemas.
      • There was work that was shelved to use CockroachDB instead of etcd to back a Kubernetes API server in KCP.

      Reference material

              showeimer Sho Weimer
              showeimer Sho Weimer
              Yuanyuan He Yuanyuan He
              Qiu Jian Qiu Jian (Inactive)
              David Eads, Derek Carr, Joshua Packer, Qiu Jian (Inactive), Victor Kareh
              Hui Chen Hui Chen
              Joshua Packer Joshua Packer
              Sho Weimer Sho Weimer
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: