liveBook · Manning

User cluster

As explained in Google Anthos in Action

A user cluster is a GKE on-prem Kubernetes cluster that runs application workloads under the administration of an admin cluster.

A user cluster is the Kubernetes cluster where application workloads run. In an Anthos on bare metal deployment, it has control plane nodes and worker nodes; an admin cluster manages its installation, updates, upgrades, and deletion. Keep application services off a dedicated admin cluster so they cannot interfere with cluster administration. section 17.2.1 section 5.2

Bare metal user-cluster control planes are separate from the admin cluster. A standalone deployment instead uses one cluster for both roles. For production, plan high availability for the control plane and application workers: the described HA control plane needs at least three nodes, while highly available applications need at least two workers. Single-node control planes are reserved for nonproduction workloads. section 17.2.1

To add a bare metal user cluster after creating an admin or hybrid cluster:

  • Generate a template with `bmctl create config -c CLUSTER_NAME`, then configure its Cluster and NodePool resources. Set the Cluster type to `user`. section 17.4.2
  • Remove the GCP credential-key paths: the user cluster uses credentials supplied when the admin or hybrid cluster was created. Assign control-plane, load-balancer, and node-pool addresses that do not overlap with the first cluster’s addresses. section 17.4.2
  • Create it with `bmctl create cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG`, then retrieve its kubeconfig from the secret in the admin cluster. section 17.4.2
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: user-cluster
namespace: cluster-user-cluster
spec:
# Cluster type. This can be:
type: user

The Cluster manifest marks the new cluster as a user cluster with `spec.type: user`. section 17.4.2

Upgrade the admin or hybrid cluster first. Then change the version in the user-cluster configuration and run `bmctl upgrade cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG`. Keep admin and user kubeconfig contexts distinct during operations; on-prem deployments provide a user-cluster kubeconfig as well as admin-cluster configurations. section 17.5.2 section 3.2 section 5.2

How Google Anthos in Action covers it

How deep it goes
Details bare metal cluster roles, HA requirements, configuration steps, creation commands, and upgrade order.
Examples
Uses a bare metal Cluster manifest and bmctl commands for configuration, creation, and upgrades.
What it assumes
Assumes an existing admin or hybrid cluster and starts user-cluster configuration from a generated template.
What you can do after
Operate/configure it with bmctl and an admin-cluster kubeconfig, including creation and version upgrades.
How it connects
Connects user clusters to admin clusters, control planes, worker nodes, NodePool resources, load balancers, and kubeconfig files.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Google Anthos in Action. The section links point to the parts of the book it draws on.