From 78f6f0c259922e70e78dd8e72b3cc0950196d1ab Mon Sep 17 00:00:00 2001 From: day0hero Date: Fri, 16 Jan 2026 12:18:09 +0000 Subject: [PATCH] updated to hypershift docs --- content/patterns/hypershift/_index.adoc | 28 +- .../patterns/hypershift/getting-started.adoc | 283 ++++-------------- .../patterns/hypershift/using-hypershift.adoc | 267 +++++++++++++++++ 3 files changed, 327 insertions(+), 251 deletions(-) create mode 100644 content/patterns/hypershift/using-hypershift.adoc diff --git a/content/patterns/hypershift/_index.adoc b/content/patterns/hypershift/_index.adoc index 5db167424..4a5f862ba 100644 --- a/content/patterns/hypershift/_index.adoc +++ b/content/patterns/hypershift/_index.adoc @@ -33,44 +33,28 @@ include::modules/comm-attributes.adoc[] Background:: -This pattern simplifies the deployment of an {hcp} or hosted control plane cluster. Use this pattern to create hosted control plane clusters. +This pattern simplifies the deployment of an hosted control plane management cluster. Use this pattern to create hosted control plane clusters. Workflow:: * Install multicluster engine for Kubernetes Operator -* Create an instance of the `MultiClusterEngine` to enable `hypershift`, which is a link:https://access.redhat.com/support/offerings/techpreview[technology preview feature]. -* Install the AWS Controllers for Kubernetes - Amazon S3 Operator +* Create an instance of the `MultiClusterEngine` to enable `hypershift` * Create an S3 bucket that hosted control plane will use for OpenID Connect (OIDC) -* Create a buildconfig and imagestream that provide the HyperShift cli (`hypershift`) as an imagestream to be used in further automation if desired. - -//This pipeline is showcased link:https://www.youtube.com/watch?v=zja83FVsm14[in this video]. image::hypershift/hypershift-high-level-architecture.png[link="/images/hypershift/hypershift-high-level-architecture.png",title="source: https://hypershift-docs.netlify.app/", align="center"] [NOTE] ==== -If you have any questions or concerns contact mailto:jrickard@redhat.com[Jonny Rickard]. +If you have any questions or concerns about this pattern contact mailto:jrickard@redhat.com[Jonny Rickard]. ==== [id="about-solution-hcp"] == About the solution elements -The solution enables the rapid provisioning of {hcp}. +The solution enables the rapid provisioning of the {hcp} feature add-on. The {hcp-pattern} uses the following products and technologies: * {rh-ocp} for container orchestration -* {rh-gitops}, a GitOps continuous delivery (CD) solution -* The {rh-mce} Operator, the multicluster-engine provider -* {ack-s3-op}, an S3 storage controller - -// All commented out by jrickard -//== Recorded demo - -//link:/videos/xray-deployment.svg[image:/videos/xray-deployment.svg[Demo\]] - -//[id="next-steps_med-diag-index"] -//== Next steps - -//* Getting started link:getting-started[Deploy the Pattern] -//We have relevant links on the patterns page +* {rh-gitops}: a GitOps continuous delivery (CD) solution +* The {rh-mce} Operator: the multicluster-engine provider \ No newline at end of file diff --git a/content/patterns/hypershift/getting-started.adoc b/content/patterns/hypershift/getting-started.adoc index d824e7f47..81afb2e7c 100644 --- a/content/patterns/hypershift/getting-started.adoc +++ b/content/patterns/hypershift/getting-started.adoc @@ -17,11 +17,16 @@ include::modules/comm-attributes.adoc[] * An OpenShift cluster ** To create an OpenShift cluster, go to the https://console.redhat.com/[Red Hat Hybrid Cloud console]. ** Select *OpenShift \-> Red Hat OpenShift Container Platform \-> Create cluster*. -* A GitHub account with a personal access token that has repository read and write permissions. -* The Helm binary, for instructions, see link:https://helm.sh/docs/intro/install/[Installing Helm] +* A GitHub account. * Additional installation tool dependencies. For details, see link:https://validatedpatterns.io/learn/quickstart/[Patterns quick start]. +* AWS account with permissions to create S3 buckets. ++ +[WARNING] +==== +You must have a public s3 bucket for OIDC discovery. If you do not have one, set `global.hypershift.createBucket` to `true` in the `values-hypershift.yaml` file to create one during the deployment. -It is desirable to have a cluster for deploying the GitOps management hub assets and a separate cluster(s) for the managed cluster(s). +You can also run `./pattern.sh make create-bucket BUCKET_NAME= REGION=` to create the bucket before running `./pattern.sh make install`. +==== [id="preparing-for-deployment"] == Preparing for deployment @@ -61,10 +66,10 @@ $ git remote -v + [source,terminal] ---- -origin git@github.com:kquinn1204/ansible-edge-gitops.git (fetch) -origin git@github.com:kquinn1204/ansible-edge-gitops.git (push) -upstream git@github.com:validatedpatterns/ansible-edge-gitops.git (fetch) -upstream git@github.com:validatedpatterns/ansible-edge-gitops.git (push) +origin git@github.com:kquinn1204/hypershift.git (fetch) +origin git@github.com:kquinn1204/hypershift.git (push) +upstream git@github.com:validatedpatterns/hyperShift.git (fetch) +upstream git@github.com:validatedpatterns/hypershift.git (push) ---- . Make a local copy of secrets template outside of your repository to hold credentials for the pattern. @@ -78,14 +83,14 @@ Run the following commands: + [source,terminal] ---- -$ cp values-secret.yaml.template ~/values-secret.yaml +$ cp values-secret.yaml.template ~/values-secret-hypershift.yaml ---- . Populate this file with your secrets, the defaults for AWS credentials is `~/.aws/credentials`. The GitHub `oauth` credentials can remain commented out: + [source,terminal] ---- -$ vi ~/values-secret.yaml +$ vi ~/values-secret-hypershift.yaml ---- . Create and switch to a new branch named `my-branch`, by running the following command: @@ -95,7 +100,7 @@ $ vi ~/values-secret.yaml $ git checkout -b my-branch ---- -. Edit the `values-hypershift.yaml` file to create a S3 bucket. +. Edit the `values-hypershift.yaml` file to provide your s3 bucket information. + [source,terminal] ---- @@ -105,23 +110,42 @@ $ vi values-hypershift.yaml .Example [source,terminal] ---- +# Override values for HyperShift +# Define the s3 bucket information global: - s3: - # Should the pattern create the s3 bucket(true), or bring your own (false). - createBucket: true - - # What region should the bucket be created in. - region: us-east-1 - - # Enter the name of your bucket (bucket names are globally unique) - bucketName: - - # Any additional tags to add to a bucket created by the pattern - additionalTags: - bucketOwner: - lifecycle: keep ----- - + hypershift: +# Set createBucket to true to create a new S3 bucket for hosting hosted control plane assets + createBucket: true + oidc: +# OIDC bucket information: provide region and bucketName + region: '' + bucketName: '' + +# Define the oauth provider for the management cluster +# register a GitHub oAuth application: https://github.com/settings/applications/new +# configure oauth provider: https://docs.openshift.com/container-platform/4.15/authentication/understanding-identity-provider.html +# +# The default configuration uses github as the provider + oauth: + type: GitHub + secretName: ocp-github-oauth + github: + clientID: #clientID of the registered GitHub oAuth Application + orgs: + - name: #list of github authorized organizations + +# Set rbac.create to false if you want to skip creation of role/rolebinding. +rbac: + create: false +# Provide a list of users to add to the clusterrolebinding + users: [] +---- + +[NOTE] +==== +A clusterrole is provided that grants the necessary permissions to the users specified in the `values-hypershift.yaml` file to manage the lifecycle of hosted control planes. +==== ++ . Add the changes to the staging area by running the following command: + [source,terminal] @@ -143,12 +167,12 @@ $ git commit -m "updates to hypershift pattern" $ git push origin my-branch ---- -The preferred way to install this pattern is by using the script `./pattern.sh` script. +The preferred way to install this pattern is by using the `./pattern.sh` script. [id="deploying-cluster-using-patternsh-file"] == Deploying the pattern by using the pattern.sh file -To deploy the pattern by using the `pattern.sh` file, complete the following steps: +To deploy the pattern by using `pattern.sh`, complete the following steps: . Log in to your cluster by following this procedure: @@ -185,209 +209,10 @@ image::/images/hypershift/hypershift-ops.png[hypershift-operators,title="Hosted . Wait some time for everything to deploy. You can track the progress through the `Hub ArgoCD` UI from the nines menu. + .hypershif-operators-applications -image::/images/hypershift/hypershift-ops-applications.png[hypershift-ops-applications,title="AHosted control plane applications"] +image::/images/hypershift/hypershift-ops-applications.png[hypershift-ops-applications,title="A Hosted control plane applications"] As part of installing by using the script `pattern.sh` pattern, HashiCorp Vault is installed. Running `./pattern.sh make install` also calls the `load-secrets` makefile target. This `load-secrets` target looks for a YAML file describing the secrets to be loaded into vault and in case it cannot find one it will use the `values-secret.yaml.template` file in the git repository to try to generate random secrets. For more information, see section on https://validatedpatterns.io/secrets/vault/[Vault]. -At this point, a management cluster is deployed and the pattern is ready to be used to create control planes as pods on a management cluster. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/hosted_control_planes/index[Hosted control planes]. - -=== Automating the deployment of a hosted control plane nodes - -.Prerequisites -* A management cluster. -* The `hypershift` CLI installed. For instructions, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/hosted_control_planes/preparing-to-deploy-hosted-control-planes#hcp-cli-terminal_hcp-cli[Installing the hosted control planes command-line interface from the tereminal]. -* The `oc` CLI installed. For instructions, see link:https://docs.openshift.com/container-platform/latest/cli_reference/openshift_cli/getting-started-cli.html[Getting started with the OpenShift CLI]. -* Ansible is installed on your system, with `kuberenetes.core collections` -* Pull secret obtained from link:https://console.redhat.chttps://console.redhat.com/openshift/install/aws/installer-provisioned[Install OpenShift on AWS with installer-provisioned infrastructure] and converted to json format. -* AWS credentials with permissions to create IAM roles and policies. - -.Procedure - -. Fork the link:https://github.com/validatedpatterns/hypershift-automation[hypershift-automation] repository on GitHub. - -. Clone the forked copy of this repository. -+ -[source,terminal] ----- -$ git clone ggit@github.com:validatedpatterns/hypershift-automation.git ----- - -. Go to your repository: Ensure you are in the root directory of your Git repository by using: -+ -[source,terminal] ----- -$ cd /path/to/your/repository ----- - -. Edit the `vars.yml` file: -+ -[source,terminal] ----- -vi vars.yml ----- -+ -.Example -[source,terminal] ----- -#Actions -e create=true "creates a cluster" -e destroy=true "destroys a cluster" -create: true -destroy: false - -#Create IAM -create_iam: false - -#Cluster Info - We use these to create/destroy clusters -name: democluster -domain: aws.validatedpatterns.io -region: us-east-1 - -#Cluster Characteristics - Describe how you want the cluster deployed -replicas: 1 -instance_type: m5.xlarge -#Setting to default uses the hosting-clusters version for the release-image. To deploy with a specific -#version, define it below: x.y.z (4.15.29) -image: 4.17.0 ----- - -. Run the following command to create the hosted control plane: -+ -[source,terminal] ----- -$ make build ----- -+ -This will take some time to create the hosted control plane and nodepool configuration. - -. In the OpenShift container platform web console select *All Clusters* to display the *Cluster list*. A screen similar to the following is displayed: -+ -.hypershift-cluster-list -image::/images/hypershift/hypershift-cluster-list.png[hypershift-cluster-list,title="Hosted control plane cluster list"] - -. Select for example the *democluster* to display the *Cluster details* page. A screen similar to the following is displayed: -+ -.hypershift-cluster-details -image::/images/hypershift/hypershift-cluster-details.png[hypershift-cluster-details,title="Hosted control plane cluster details"] - -. Click *Download kubeconfig* to download the `kubeconfig` file for the hosted control plane. - -.Verification - -. Export the management cluster kubeconfig: -+ -[source,terminal] ----- -$ export MGMT_KUBECONFIG= ----- - -. Run this command to find the `node-pool-name` for your cluster: -+ -[source,terminal] ----- -$ oc --kubeconfig="$MGMT_KUBECONFIG" get np -A ----- -+ -.Example output -[source,terminal] ----- -NAMESPACE NAME CLUSTER DESIRED NODES CURRENT NODES AUTOSCALING AUTOREPAIR VERSION UPDATINGVERSION UPDATINGCONFIG MESSAGE -clusters democluster-us-east-1a democluster 1 1 False False 4.17.0 False False ----- - -. Run this command to export the downloaded `kubeconfig` file for your hosted control plane: -+ -[source,terminal] ----- -$ export HCP_KUBECONFIG= ----- - -. Use the `kubeconfig` file to view the cluster Operators of the hosted cluster. Enter the following command: -+ -[source,terminal] ----- -$ oc --kubeconfig="$HCP_KUBECONFIG" get co ----- -+ -.Example output -[source,terminal] ----- -NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE -console 4.17.0 True False False 57m -csi-snapshot-controller 4.17.0 True False False 66m -dns 4.17.0 True False False 57m -image-registry 4.17.0 True False False 57m -ingress 4.17.0 True False False 57m -insights 4.17.0 True False False 58m -kube-apiserver 4.17.0 True False False 66m -kube-controller-manager 4.17.0 True False False 66m -kube-scheduler 4.17.0 True False False 66m -kube-storage-version-migrator 4.17.0 True False False 58m -monitoring 4.17.0 True False False 55m -network 4.17.0 True False False 65m -node-tuning 4.17.0 True False False 60m -openshift-apiserver 4.17.0 True False False 66m -openshift-controller-manager 4.17.0 True False False 66m -openshift-samples 4.17.0 True False False 57m -operator-lifecycle-manager 4.17.0 True False False 66m -operator-lifecycle-manager-catalog 4.17.0 True False False 65m -operator-lifecycle-manager-packageserver 4.17.0 True False False 66m -service-ca 4.17.0 True False False 58m -storage 4.17.0 True False False 60m ----- - -. View the running pods on your hosted cluster by entering the following command: -+ -[source,terminal] ----- -$ oc --kubeconfig="$HCP_KUBECONFIG" get pods -A ----- -+ -.Example output -[source,terminal] ----- -NAMESPACE NAME READY STATUS RESTARTS AGE -kube-system konnectivity-agent-56gh5 1/1 Running 0 66m -kube-system kube-apiserver-proxy-ip-10-0-129-28.ec2.internal 1/1 Running 0 66m -open-cluster-management-agent-addon cluster-proxy-proxy-agent-7c7666c8f8-9d2xb 3/3 Running 0 64m -open-cluster-management-agent-addon klusterlet-addon-workmgr-56c67649b6-8flx7 1/1 Running 0 64m -open-cluster-management-agent-addon managed-serviceaccount-addon-agent-56d8f7c4bd-krtwt 1/1 Running 0 64m -openshift-cluster-csi-drivers aws-ebs-csi-driver-node-tvgt9 3/3 Running 0 66m -openshift-cluster-node-tuning-operator tuned-kmlsm 1/1 Running 0 66m -openshift-cluster-samples-operator cluster-samples-operator-6895b9d4c7-nsm54 2/2 Running 0 64m -openshift-console-operator console-operator-67d5f87dcc-hdv5j 1/1 Running 2 (64m ago) 64m -openshift-console console-fcb9d74fc-5jkfx 1/1 Running 0 61m -openshift-console downloads-57848c99-8t8xn 1/1 Running 0 64m -openshift-dns dns-default-n62b6 2/2 Running 0 65m -openshift-dns node-resolver-25vsw 1/1 Running 0 66m -openshift-image-registry image-registry-5778996bc4-v4dw6 1/1 Running 1 (63m ago) 64m -openshift-image-registry node-ca-qf4fv 1/1 Running 0 66m -openshift-ingress-canary ingress-canary-rlz5k 1/1 Running 0 65m -openshift-ingress router-default-7fc88ff765-88zt6 1/1 Running 0 64m -openshift-insights insights-operator-567c5dd9fc-vhkr5 1/1 Running 1 (63m ago) 64m -openshift-kube-storage-version-migrator-operator kube-storage-version-migrator-operator-5d64f77d9f-tbrmm 1/1 Running 1 (63m ago) 64m -openshift-kube-storage-version-migrator migrator-76b9bc6b54-mjwwn 1/1 Running 0 64m -openshift-machine-config-operator kube-rbac-proxy-crio-ip-10-0-129-28.ec2.internal 1/1 Running 0 66m -openshift-monitoring alertmanager-main-0 6/6 Running 0 62m -openshift-monitoring cluster-monitoring-operator-6589b986c8-bjb2t 1/1 Running 0 64m -openshift-monitoring kube-state-metrics-575c55f885-xcwvp 3/3 Running 0 63m -openshift-monitoring metrics-server-766fb8749c-qmbkp 1/1 Running 0 63m -openshift-monitoring monitoring-plugin-5567ddf44-vgrwx 1/1 Running 0 63m -openshift-monitoring node-exporter-gh76w 2/2 Running 0 63m -openshift-monitoring openshift-state-metrics-7466fd7977-hqmwv 3/3 Running 0 63m -openshift-monitoring prometheus-k8s-0 6/6 Running 0 62m -openshift-monitoring prometheus-operator-5cf88995b6-sqqfq 2/2 Running 0 64m -openshift-monitoring prometheus-operator-admission-webhook-7d744487ff-8xb7b 1/1 Running 0 64m -openshift-monitoring telemeter-client-857df5b745-9v579 3/3 Running 0 62m -openshift-monitoring thanos-querier-585746b745-thnfc 6/6 Running 0 63m -openshift-multus multus-additional-cni-plugins-njkgb 1/1 Running 0 66m -openshift-multus multus-k6ggs 1/1 Running 0 66m -openshift-multus network-metrics-daemon-45wq7 2/2 Running 0 66m -openshift-network-console networking-console-plugin-78b59bd487-ms4c7 1/1 Running 0 64m -openshift-network-diagnostics network-check-source-7fbf9dfccb-ddvld 1/1 Running 0 64m -openshift-network-diagnostics network-check-target-vvktk 1/1 Running 0 66m -openshift-network-operator iptables-alerter-5s96x 1/1 Running 0 65m -openshift-ovn-kubernetes ovnkube-node-9rsw4 8/8 Running 0 66m -openshift-service-ca-operator service-ca-operator-7b9f58bd4b-b62m6 1/1 Running 1 (63m ago) 64m -openshift-service-ca service-ca-554d4b766c-82h22 1/1 Running 0 64m ----- \ No newline at end of file +At this point, a management cluster is deployed and the pattern is ready to be used to create control planes as pods on a management cluster. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/hosted_control_planes/index[Hosted control planes]. \ No newline at end of file diff --git a/content/patterns/hypershift/using-hypershift.adoc b/content/patterns/hypershift/using-hypershift.adoc new file mode 100644 index 000000000..c384d07f9 --- /dev/null +++ b/content/patterns/hypershift/using-hypershift.adoc @@ -0,0 +1,267 @@ +--- +title: Using HyperShift +weight: 10 +aliases: /hypershift/using-hcp/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + +[id="using-hypershift"] +== Using HyperShift + +.Assumptions +* You have an existing OpenShift cluster deployed +* You have installed the {hcp-pattern} on your OpenShift cluster by following the link:/hypershift/getting-started/[Getting Started] guide. +** Or you have multicluster-engine and hypershift components installed on your OpenShift cluster. +* Existing IAM role with attached policies that allow for provisioning/destroy clusters on AWS. +** Or you have permissions to create IAM roles and policies on AWS. + +.Prerequisites +* The `hcp` CLI installed. Download from your cluster link:https://hcp-cli-download-multicluster-engine.apps../linux/amd64/hcp.tar.gz[https://hcp-cli-download-multicluster-engine.apps../linux/amd64/hcp.tar.gz] +* The `oc` CLI installed. For instructions, see link:https://docs.openshift.com/container-platform/latest/cli_reference/openshift_cli/getting-started-cli.html[Getting started with the OpenShift CLI]. +* Ansible is installed on your system, with `kuberenetes.core amazon.aws collections` +* Pull secret obtained from link:https://console.redhat.com/openshift/install/pull-secret[OpenShift Console] and converted to json format. + +=== Using HyperShift Automation + +Automation for HyperShift is provided through the link:https://github.com/validatedpatterns/hypershift-automation[hypershift-automation] repository. This repository uses Ansible to create and destroy hosted control planes on AWS. + +.Procedure + +. Fork the link:https://github.com/validatedpatterns/hypershift-automation[hypershift-automation] repository on GitHub. + +. Clone the forked copy of this repository. ++ +[source,terminal] +---- +$ git clone git@github.com:validatedpatterns/hypershift-automation.git +---- + +. Go to your repository: Ensure you are in the root directory of your Git repository by using: ++ +[source,terminal] +---- +$ cd /path/to/your/repository +---- ++ +[WARNING] +==== +You must have a an IAM role with the required policies attached to provision clusters on AWS. +==== ++ +. Create IAM role and policies: ++ +[source,terminal] +---- +$ vi hcp/defaults/main.yml +---- ++ +.Example +[source,terminal] +---- +iam: + hcp_role_name: democluster_hcp_role + hcp_policy_name: democluster_hcp_policy + hcp_users: + #- list of users to bind to IAM policy + - + - +---- + +. Run the following command to create the IAM role and policies: ++ +[source,terminal] +---- +$ make iam +---- + +. Edit the `vars.yml` file: ++ +[source,terminal] +---- +vi vars.yml +---- ++ +.Example +[source,terminal] +---- +#Actions -e create=true "creates a cluster" -e destroy=true "destroys a cluster" +# Note: These are overriden by make targets +create: false +destroy: false + +#Create IAM +# Note: Overriden by make target +create_iam: false + +# Base domain - constant for all clusters +domain: aws.validatedpatterns.io + +# Clusters list - Define multiple clusters with different characteristics +# Each cluster can have its own region, instance_type, image (version), replicas, etc. + +clusters: + # Example: Deploy a single node cluster to one availability zone + # Only a single node will be provisioned + - name: democluster + count: 1 + region: us-east-1 + spread_across_availability_zones: false + replicas: 1 + instance_type: m5.4xlarge + image: default + + # Example: Deploy 2 clusters to each availability zone with 2 replicas per zone that are ocp version 4.18.9 + # us-west-1 has 2 az's: therefore, a total of 8 nodes will be provisioned (2 replicas us-west-1a, 2 replicas us-west-1b per cluster) + - name: cluster1 # cluster1, cluster1-1 will be created + count: 2 + region: us-west-1 + spread_across_availability_zones: true + replicas: 1 + instance_type: m5.xlarge + image: 4.18.9 +---- + +. Run the following command to create the hosted control plane: ++ +[source,terminal] +---- +$ make build +---- ++ +This will take some time to create the hosted control plane and nodepool configuration. + +. In the OpenShift container platform web console select *All Clusters* to display the *Cluster list*. A screen similar to the following is displayed: ++ +.hypershift-cluster-list +image::/images/hypershift/hypershift-cluster-list.png[hypershift-cluster-list,title="Hosted control plane cluster list"] + +. Select for example the *democluster* to display the *Cluster details* page. A screen similar to the following is displayed: ++ +.hypershift-cluster-details +image::/images/hypershift/hypershift-cluster-details.png[hypershift-cluster-details,title="Hosted control plane cluster details"] + +. Click *Download kubeconfig* to download the `kubeconfig` file for the hosted control plane. + +.Verification + +. Export the management cluster kubeconfig: ++ +[source,terminal] +---- +$ export MGMT_KUBECONFIG= +---- + +. Run this command to find the `node-pool-name` for your cluster: ++ +[source,terminal] +---- +$ oc --kubeconfig="$MGMT_KUBECONFIG" get np -A +---- ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME CLUSTER DESIRED NODES CURRENT NODES AUTOSCALING AUTOREPAIR VERSION UPDATINGVERSION UPDATINGCONFIG MESSAGE +clusters democluster-us-east-1a democluster 1 1 False False 4.20.8 False False +---- + +. Run this command to export the downloaded `kubeconfig` file for your hosted control plane: ++ +[source,terminal] +---- +$ export HCP_KUBECONFIG= +---- + +. Use the `kubeconfig` file to view the cluster Operators of the hosted cluster. Enter the following command: ++ +[source,terminal] +---- +$ oc --kubeconfig="$HCP_KUBECONFIG" get co +---- ++ +.Example output +[source,terminal] +---- +NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE +console 4.20.8 True False False 57m +csi-snapshot-controller 4.20.8 True False False 66m +dns 4.20.8 True False False 57m +image-registry 4.20.8 True False False 57m +ingress 4.20.8 True False False 57m +insights 4.20.8 True False False 58m +kube-apiserver 4.20.8 True False False 66m +kube-controller-manager 4.20.8 True False False 66m +kube-scheduler 4.20.8 True False False 66m +kube-storage-version-migrator 4.20.8 True False False 58m +monitoring 4.20.8 True False False 55m +network 4.20.8 True False False 65m +node-tuning 4.20.8 True False False 60m +openshift-apiserver 4.20.8 True False False 66m +openshift-controller-manager 4.20.8 True False False 66m +openshift-samples 4.20.8 True False False 57m +operator-lifecycle-manager 4.20.8 True False False 66m +operator-lifecycle-manager-catalog 4.20.8 True False False 65m +operator-lifecycle-manager-packageserver 4.20.8 True False False 66m +service-ca 4.20.8 True False False 58m +storage 4.20.8 True False False 60m +---- + +. View the running pods on your hosted cluster by entering the following command: ++ +[source,terminal] +---- +$ oc --kubeconfig="$HCP_KUBECONFIG" get pods -A +---- ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME READY STATUS RESTARTS AGE +kube-system konnectivity-agent-56gh5 1/1 Running 0 66m +kube-system kube-apiserver-proxy-ip-10-0-129-28.ec2.internal 1/1 Running 0 66m +open-cluster-management-agent-addon cluster-proxy-proxy-agent-7c7666c8f8-9d2xb 3/3 Running 0 64m +open-cluster-management-agent-addon klusterlet-addon-workmgr-56c67649b6-8flx7 1/1 Running 0 64m +open-cluster-management-agent-addon managed-serviceaccount-addon-agent-56d8f7c4bd-krtwt 1/1 Running 0 64m +openshift-cluster-csi-drivers aws-ebs-csi-driver-node-tvgt9 3/3 Running 0 66m +openshift-cluster-node-tuning-operator tuned-kmlsm 1/1 Running 0 66m +openshift-cluster-samples-operator cluster-samples-operator-6895b9d4c7-nsm54 2/2 Running 0 64m +openshift-console-operator console-operator-67d5f87dcc-hdv5j 1/1 Running 2 (64m ago) 64m +openshift-console console-fcb9d74fc-5jkfx 1/1 Running 0 61m +openshift-console downloads-57848c99-8t8xn 1/1 Running 0 64m +openshift-dns dns-default-n62b6 2/2 Running 0 65m +openshift-dns node-resolver-25vsw 1/1 Running 0 66m +openshift-image-registry image-registry-5778996bc4-v4dw6 1/1 Running 1 (63m ago) 64m +openshift-image-registry node-ca-qf4fv 1/1 Running 0 66m +openshift-ingress-canary ingress-canary-rlz5k 1/1 Running 0 65m +openshift-ingress router-default-7fc88ff765-88zt6 1/1 Running 0 64m +openshift-insights insights-operator-567c5dd9fc-vhkr5 1/1 Running 1 (63m ago) 64m +openshift-kube-storage-version-migrator-operator kube-storage-version-migrator-operator-5d64f77d9f-tbrmm 1/1 Running 1 (63m ago) 64m +openshift-kube-storage-version-migrator migrator-76b9bc6b54-mjwwn 1/1 Running 0 64m +openshift-machine-config-operator kube-rbac-proxy-crio-ip-10-0-129-28.ec2.internal 1/1 Running 0 66m +openshift-monitoring alertmanager-main-0 6/6 Running 0 62m +openshift-monitoring cluster-monitoring-operator-6589b986c8-bjb2t 1/1 Running 0 64m +openshift-monitoring kube-state-metrics-575c55f885-xcwvp 3/3 Running 0 63m +openshift-monitoring metrics-server-766fb8749c-qmbkp 1/1 Running 0 63m +openshift-monitoring monitoring-plugin-5567ddf44-vgrwx 1/1 Running 0 63m +openshift-monitoring node-exporter-gh76w 2/2 Running 0 63m +openshift-monitoring openshift-state-metrics-7466fd7977-hqmwv 3/3 Running 0 63m +openshift-monitoring prometheus-k8s-0 6/6 Running 0 62m +openshift-monitoring prometheus-operator-5cf88995b6-sqqfq 2/2 Running 0 64m +openshift-monitoring prometheus-operator-admission-webhook-7d744487ff-8xb7b 1/1 Running 0 64m +openshift-monitoring telemeter-client-857df5b745-9v579 3/3 Running 0 62m +openshift-monitoring thanos-querier-585746b745-thnfc 6/6 Running 0 63m +openshift-multus multus-additional-cni-plugins-njkgb 1/1 Running 0 66m +openshift-multus multus-k6ggs 1/1 Running 0 66m +openshift-multus network-metrics-daemon-45wq7 2/2 Running 0 66m +openshift-network-console networking-console-plugin-78b59bd487-ms4c7 1/1 Running 0 64m +openshift-network-diagnostics network-check-source-7fbf9dfccb-ddvld 1/1 Running 0 64m +openshift-network-diagnostics network-check-target-vvktk 1/1 Running 0 66m +openshift-network-operator iptables-alerter-5s96x 1/1 Running 0 65m +openshift-ovn-kubernetes ovnkube-node-9rsw4 8/8 Running 0 66m +openshift-service-ca-operator service-ca-operator-7b9f58bd4b-b62m6 1/1 Running 1 (63m ago) 64m +openshift-service-ca service-ca-554d4b766c-82h22 1/1 Running 0 64m +---- \ No newline at end of file