Validation

Validate Core and the required Aligned Extensions after the installation completes and before you continue with post-install tasks. These checks apply to both installation paths. If the global cluster runs Alauda OS, also complete Additional Checks for Alauda OS.

Prerequisites

  • The installation completed.
  • You can access the platform Web UI address: the address shown by the installer on a non-Alauda OS, or the platform access address set in console.globalHost on Alauda OS.
  • You can run kubectl against the new global cluster: from the installation node on a non-Alauda OS, or with a kubeconfig for the new global cluster on Alauda OS. On Alauda OS, add --kubeconfig <global-kubeconfig> to the commands on this page.

Validate Web UI Access

After the installation is complete, open the platform Web UI and verify that the platform login page is reachable. On a non-Alauda OS, the installer displays the platform access URL; click Access to open it. On Alauda OS, open https://<platform-access-address>, the address set in console.globalHost.

Validate Core Applications, Extensions, and Pods

Run the following commands against the new global cluster to confirm the installed state. On a non-Alauda OS, run them on a control plane node.

# All nodes are Ready
kubectl get nodes

# ClusterModule/global reports the base module as healthy
kubectl get clustermodule global -o jsonpath='{.status.phase}'

# No AppRelease is in a failed state
kubectl get apprelease -A

# Core and Aligned modules report their current phase and version
kubectl get moduleinfo -l cpaas.io/cluster-name=global

# No Pod is stuck outside Running or Completed
kubectl get pod --all-namespaces | awk '{if ($4 != "Running" && $4 != "Completed")print}' | awk -F'[/ ]+' '{if ($3 != $4)print}'

The installation is healthy when:

  • All global cluster nodes are Ready.
  • ClusterModule/global reports a healthy phase.
  • Every AppRelease is in a non-failed state.
  • The following applications are installed, and their corresponding ModuleInfo resources report Running at the target version:
    • Alauda Container Platform Web Console
    • Alauda Container Platform Web Console Central
    • Alauda Container Platform Marketplace Web Console
    • Alauda Container Platform Application Catalog
    • Alauda Container Platform Observability Essentials
    • Alauda Container Platform Essentials
    • Alauda Container Platform Cluster Essentials
    • Alauda Container Platform GatewayAPI Plugin
  • Critical Pods in cpaas-system are Running or Completed.

In the Web Console, open Administrator > Marketplace > Cluster Plugins and confirm that the required applications are available without an installation failure.

Validate the Platform Image Source

Confirm that ProductBase records the expected platform image source:

kubectl get productbase base \
  -o jsonpath='{.spec.registry.address}{"\t"}{.spec.registry.external}{"\n"}'

For an external registry, the address must match the prepared registry and the second value must be true.

For an authenticated external registry, confirm that the pull Secret exists without printing its contents:

kubectl -n cpaas-system get secret global-registry-auth

Confirm that the global cluster records the same registry address:

kubectl -n cpaas-system get cluster global \
  -o jsonpath='{.metadata.annotations.cpaas\.io/registry-address}{"\n"}'

ProductBase also contains catalog entries for optional or uninstalled Extensions. Do not require every entry in ProductBase.status.artifacts to be Ready; an unrelated Absent entry does not by itself indicate an installation failure.

Confirm that the required Extension catalog entries exist and that Pods are not blocked by image pulls:

kubectl get moduleplugins

kubectl get pods --all-namespaces \
  | awk '$4 ~ /ImagePullBackOff|ErrImagePull/'

The Pod command must produce no output. Installation acceptance is based on the required applications, their ModuleInfo and AppRelease state, and their running Pods. If a required installed application is unavailable, follow Installation Troubleshooting to distinguish a missing manifest from DNS, routing, firewall, CA trust, pull credential, or registry availability problems.

Additional Checks for Alauda OS

If the global cluster runs Alauda OS, also verify the following with a kubeconfig for the new global cluster. Complete these checks before you decommission the bootstrap cluster.

kubectl --kubeconfig <global-kubeconfig> get nodes
kubectl --kubeconfig <global-kubeconfig> get clusters.platform.tkestack.io global \
  -o jsonpath='{.status.phase}'
kubectl --kubeconfig <global-kubeconfig> get pods -n cpaas-system
kubectl --kubeconfig <global-kubeconfig> get clustermodule global

The installation is successful when all of the following conditions are true:

  • The installer progress API reports status: Success and type: Complete. See Signals During Installation.
  • All global cluster nodes are Ready.
  • Critical Pods in cpaas-system are Running or Completed.
  • ClusterModule/global reports the base module as healthy.

Next Step

After validation succeeds, continue with Next Steps. On Alauda OS, first decommission the bootstrap cluster.