About

Red Hat Advanced Cluster Management for Kubernetes 2.2

About

Red Hat Advanced Cluster Management for Kubernetes Team

Abstract

About Red Hat Advanced Cluster Management for Kubernetes, including architecture, components and quick start

Chapter 1. Welcome to Red Hat Advanced Cluster Management for Kubernetes

Kubernetes provides a platform for deploying and managing containers in a standard, consistent control plane. However, as application workloads move from development to production, they often require multiple fit-for-purpose Kubernetes clusters to support DevOps pipelines.

Note: Use of this Red Hat product requires licensing and subscription agreement.

Users, such as administrators and site reliability engineers, face challenges as they work across a range of environments, including multiple data centers, private clouds, and public clouds that run Kubernetes clusters. Red Hat Advanced Cluster Management for Kubernetes provides the tools and capabilities to address these common challenges.

Red Hat Advanced Cluster Management for Kubernetes provides end-to-end management visibility and control to manage your Kubernetes environment. Take control of your application modernization program with management capabilities for cluster creation, application lifecycle, and provide security and compliance for all of them across data centers and hybrid cloud environments. Clusters and applications are all visible and managed from a single console, with built-in security policies. Run your operations from anywhere that Red Hat OpenShift runs, and manage any Kubernetes cluster in your fleet.

See the following image of the Welcome page from the Red Hat Advanced Cluster Management for Kubernetes console. The header displays the Applications icon to return to OpenShift Container Platform, access to the Visual Web Terminal, and more. The tiles describe the main functions of the product and link to important console pages.

Welcome page from the console

With Red Hat Advanced Cluster Management for Kubernetes:

  • Work across a range of environments, including multiple data centers, private clouds and public clouds that run Kubernetes clusters.
  • Easily create Kubernetes clusters and offer cluster lifecycle management in a single console.
  • Enforce policies at the target clusters using Kubernetes-supported custom resource definitions.
  • Deploy and maintain day-two operations of business applications distributed across your cluster landscape.

This guide assumes that users are familiar with Kubernetes concepts and terminology. For more information about Kubernetes concepts, see Kubernetes Documentation.

See the following documentation for information about the product:

1.1. Multicluster architecture

Red Hat Advanced Cluster Management for Kubernetes consists of several multicluster components, which are used to access and manage your clusters. Learn more about the architecture in the following sections, then follow the links to more detailed documentation.

Architecture diagram

Learn more about the following components for Red Hat Advanced Cluster Management for Kubernetes:

1.1.1. Hub cluster

The hub cluster is the common term that is used to define the central controller that runs in a Red Hat Advanced Cluster Management for Kubernetes cluster. From the hub cluster, you can access the console and product components, as well as the Red Hat Advanced Cluster Management APIs.

From the hub cluster, you can use the console to search resources across clusters and view your topology. The Visual Web Terminal provides an interface that merges the speed of a CLI with the convenience of an interactive table with direct linking like a graphical user interface. This enables you to use the Visual Web Terminal to run many commands, like oc and kubectl commands, and run searches across your managed clusters. You can then explore the results from the Visual Web Terminal searches in a selectable table format.

Additionally, you can enable observability on your hub cluster to monitor metrics from your managed clusters across your cloud providers.

The hub cluster aggregates information from multiple clusters by using an asynchronous work request model and search collectors. With a graph database, the hub cluster maintains the state of clusters and applications that run on it.

1.1.2. Managed cluster

The managed cluster is the term that is used to define additional clusters that are managed by the hub cluster. The connection between the two is completed by using the Klusterlet, which is the agent that is installed on the managed cluster. The managed cluster receives and applies requests from the hub cluster and enables it to service cluster lifecycle, application lifecycle, governanace and risk, and observability on the managed cluster.

For example, managed clusters send metrics to the hub cluster if the observability service is enabled. See Observing environments to receive metrics and optimize the health of all managed clusters.

1.1.3. Cluster lifecycle

Red Hat Advanced Cluster Management cluster lifecycle defines the process of creating, importing, and managing Kubernetes clusters across various public cloud providers, private clouds, and on-premises datacenters.

From the hub cluster console, you can view an aggregation of all cluster health statuses, or view individual health metrics of many Kubernetes clusters. Additionally, you can upgrade managed OpenShift Container Platform clusters individually or in bulk, as well as destroy any OpenShift Container Platform clusters that you created using your hub cluster.

See Managing your clusters to learn about managing clusters, which is part of Cluster lifecycle.

1.1.4. Application lifecycle

Red Hat Advanced Cluster Management Application lifecycle defines the processes that are used to manage application resources on your managed clusters. A multicluster application allows you to deploy resources on multiple managed clusters, as well as maintain full control of Kubernetes resource updates for all aspects of the application with high availability.

A multicluster application uses the Kubernetes specification, but provides additional automation of the deployment and lifecycle management of resources. As a technology preview function, the integration of Ansible Tower jobs enables scheduling automated tasks.

See Managing applications for more application topics.

1.1.5. Governance and risk

Governance and risk enables you to define policies that either enforce security compliance, or alert you of changes that violate the configured compliance requirements for your environment. You can manage the policies and compliance requirements across all of your management clusters from a central interface page. After you configure a Red Hat Advanced Cluster Management hub cluster and a managed cluster, you can view and create policies with the Red Hat Advanced Cluster Management policy framework. You can take advantage of the policy-collection community to see what policies community members created and contributed, as well as contribute your own policies for others to use.

For more information about Governance and risk, see the Security introduction. Additionally, learn about access requirements from the Role-based access control documentation.

1.1.6. Observability

The Observability component collects and reports the status and health of the OpenShift Container Platform version 4.x, or later, managed clusters to the hub cluster. You can create custom alerts to inform you of problems with your fleet of managed clusters. Because it requires configured persistent storage, observability must be enabled after the Red Hat Advanced Cluster Management installation.

For more information about Observability, see Observing environments introduction.

See the product Installing section to prepare your cluster and get configuration information.

1.2. Getting started

1.2.1. Introduction

See the product architecture at Multicluster architecture.

After you learn about the hub cluster and managed cluster architecture, learn about the Supported clouds, which lists the cloud provider cluster options.

The hub cluster is a Red Hat OpenShift Container Platform cluster version 4.5, 4.6, or 4.7 and can run on any supported Red Hat OpenShift Container Platform infrastructure.

The Glossary of terms defines common terms for the product.

If you experience problems, see the Troubleshooting guide to learn about the must-gather command and see documented troubleshooting tasks that might help resolve issues.

1.2.2. Install

  1. Before you install Red Hat Advanced Cluster Management for Kubernetes, review the system configuration requirements and settings at Requirements and recommendations. Get information about required operating systems and supported browsers. For instance, you want to ensure that you have a supported Red Hat OpenShift Container Platform version so that you can set up your hub cluster.
  2. You also need to ensure that your hub cluster has the appropriate capacity. To prepare your hub cluster, see Preparing your hub cluster for installation.
  3. With a supported version of OpenShift Container Platform installed and running on your hub cluster, you can proceed with Installing while connected online.

After installation, review the Web console guide to learn how to access your console and what features are available in the console.

1.2.3. Manage clusters

You are now ready to create and import clusters. From your hub cluster, you can create clusters from other Kubernetes services to manage, and you can view cluster information.

  1. See Creating a cluster to learn about the types of managed clusters you can create. When you create a managed cluster, the new managed cluster imports automatically.
  2. If you have a cluster that you want to import manually, you can view Importing a target managed cluster to the hub cluster to learn how to import a managed cluster.
  3. When you no longer need to manage a cluster, you can detach that cluster from the Cluster page.

1.2.4. Manage applications

You can start managing applications on any created and imported managed clusters. The types of resources that you can create are applications, channels, subscriptions, and placement rules.

  1. Learn more about the resources and how to create and manage them at Managing applications. Add or edit your .yaml file to create your resources.
  2. View and edit your resources from the Applications Dashboard.

1.2.5. Manage security

You can also manage security and compliance across your created and imported managed clusters.

  1. Create a policy using the policy templates. See the Policy overview for details about how to create a policy with a .yaml file template.
  2. From the Policies page, you can view a summary of cluster and policy violations.
  3. View your policies from the Governance and risk page in the console. You can also view policy details from the cluster Overview.

1.2.6. Observe clusters

You can enable the observability service to gain insight and optimize your managed clusters. Enable the observability service operator (multicluster-observability-operator) to monitor the health of your managed clusters.

1.3. Glossary of terms

Red Hat Advanced Cluster Management for Kubernetes consists of several multicluster components that are defined in the following sections. Additionally, some common Kubernetes terms are used within the product. Terms are listed alphabetically.

1.3.1. Relevant standardized glossaries

1.3.2. Red Hat Advanced Cluster Management for Kubernetes terms

1.3.2.1. Application lifecycle

The processes that are used to manage application resources on your managed clusters. A multicluster application uses a Kubernetes specification, but with additional automation of the deployment and lifecycle management of resources to individual clusters.

1.3.2.2. Channel

A custom resource definition that points to repositories where Kubernetes resources are stored, such as Git repositories, Helm chart repositories, ObjectStore repositories, or namespaces templates on the hub cluster. Channels support multiple subscriptions from multiple targets.

1.3.2.3. Cluster lifecycle

Defines the process of creating, importing, and managing clusters across public and private clouds.

1.3.2.4. Console

The graphical user interface for Red Hat Advanced Cluster Management for Kubernetes.

1.3.2.5. Deployable

A resource that retrieves the output of a build, packages the output with configuration properties, and installs the package in a pre-defined location so that it can be tested or run.

1.3.2.6. Governance and risk

The Red Hat Advanced Cluster Management for Kubernetes processes used to manage security and compliance.

1.3.2.7. Hub cluster

The central controller that runs in a Red Hat Advanced Cluster Management for Kubernetes cluster. From the hub cluster, you can access the console and components found on that console, as well as APIs.

1.3.2.8. Managed cluster

Created and imported clusters are managed by the klusterlet agent and its add-ons, which initiates a connection to the Red Hat Advanced Cluster Management for Kubernetes hub cluster.

1.3.2.9. Klusterlet

The agent that contains two controllers on the managed cluster that initiates a connection to the Red Hat Advanced Cluster Management for Kubernetes hub cluster.

1.3.2.10. Klusterlet add-on

Specialized controller on the Klusterlet that provides additional management capability.

1.3.2.11. Placement policy

A policy that defines where the application components should be deployed and how many replicas there should be.

1.3.2.12. Placement rule

A rule that defines the target clusters where subscriptions are delivered. For instance, verify the cluster name, resource annotations, or resource label(s).

1.3.2.13. Subscriptions

A resource that identifies the Kubernetes resources within channels (resource repositories), then places the Kubernetes resource on the target clusters.

Legal Notice

Copyright © 2021 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.