Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MULTIARCH-4668: Add how to doc for heterogeneous node pools on Agent platform #3991

Merged
merged 1 commit into from
May 29, 2024

Conversation

dharaneeshvrd
Copy link
Member

What this PR does / why we need it:

Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #

Checklist

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

@openshift-ci openshift-ci bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. do-not-merge/needs-area labels May 7, 2024
@openshift-ci openshift-ci bot added area/documentation Indicates the PR includes changes for documentation and removed do-not-merge/needs-area labels May 7, 2024
Copy link

netlify bot commented May 7, 2024

Deploy Preview for hypershift-docs ready!

Name Link
🔨 Latest commit f1331be
🔍 Latest deploy log https://app.netlify.com/sites/hypershift-docs/deploys/66544caae1e9e80008335480
😎 Deploy Preview https://deploy-preview-3991--hypershift-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@dharaneeshvrd dharaneeshvrd force-pushed the agent-mix-arch branch 2 times, most recently from b1ddc7c to 6c89f0e Compare May 7, 2024 06:33
@dharaneeshvrd dharaneeshvrd changed the title [WIP] Add how to doc for heterogeneous node pools on Agent platform Add how to doc for heterogeneous node pools on Agent platform May 14, 2024
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 14, 2024
@dharaneeshvrd dharaneeshvrd changed the title Add how to doc for heterogeneous node pools on Agent platform MULTIARCH-4668: Add how to doc for heterogeneous node pools on Agent platform May 20, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented May 20, 2024

@dharaneeshvrd: This pull request references MULTIARCH-4668 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to this:

What this PR does / why we need it:

Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #

Checklist

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 20, 2024
Copy link
Member

@bryan-cox bryan-cox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few grammatical nits and a couple of questions; otherwise, looks good to me.

# Create Heterogeneous NodePools on Agent HostedClusters

This document explains how to create heterogeneous nodepools on agent platform.
Please [refer](create-agent-cluster.md) to set up the env for agent cluster, this document only covers the things you need to configure to have heterogeneous node pools.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Please [refer](create-agent-cluster.md) to set up the env for agent cluster, this document only covers the things you need to configure to have heterogeneous node pools.
Please [refer](create-agent-cluster.md) to set up the env for agent cluster, this document only covers the things you need to configure to have heterogeneous nodepools.

~~~sh
export DB_VOLUME_SIZE="10Gi"
export FS_VOLUME_SIZE="10Gi"
export OCP_VERSION="4.15.0"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this not be 4.16?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4.16 stable ISOs not released yet, wanted to document the stable one, hence mentioned 4.15.

## Configure DNS

`*.apps.<cluster_name>` record can be pointed to either one of the worker node where ingress application is hosted, or if you are able to set up a load balancer on top of the worker nodes, point this record to this load balancer.
When you are creating heterogeneous node pool, please make sure the workers are reachable from each other or keep them in the same network.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When you are creating heterogeneous node pool, please make sure the workers are reachable from each other or keep them in the same network.
When you are creating heterogeneous nodepool, please make sure the workers are reachable from each other or keep them in the same network.


## Create a Hosted Cluster

Need to use multi arch release image while creating the cluster to use heterogeneous node pools. Find the latest multi arch images from [here](https://multi.ocp.releases.ci.openshift.org)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Need to use multi arch release image while creating the cluster to use heterogeneous node pools. Find the latest multi arch images from [here](https://multi.ocp.releases.ci.openshift.org)
Need to use multi arch release image while creating the cluster to use heterogeneous nodepools. Find the latest multi arch images from [here](https://multi.ocp.releases.ci.openshift.org)

export HOSTED_CONTROL_PLANE_NAMESPACE="${CLUSTERS_NAMESPACE}-${HOSTED_CLUSTER_NAME}"
export BASEDOMAIN="krnl.es"
export PULL_SECRET_FILE=$PWD/pull-secret
export OCP_RELEASE=4.15.0-multi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this not be 4.16?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Answered in other question.

image: quay.io/openshift-release-dev/ocp-release:${OCP_RELEASE}
replicas: 0
~~~
This will create node pool of architecture `ppc64le` with 0 replicas.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This will create node pool of architecture `ppc64le` with 0 replicas.
This will create nodepool of architecture `ppc64le` with 0 replicas.


## Create Infraenv

For heterogeneous node pools, need to create infraenv for each architecture you are going to have it in your HCP.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For heterogeneous node pools, need to create infraenv for each architecture you are going to have it in your HCP.
For heterogeneous nodepools, you need to create infraenv for each architecture you are going to have in your HCP.

## Create Infraenv

For heterogeneous node pools, need to create infraenv for each architecture you are going to have it in your HCP.
i.e. Heterogeneous node pools with x86_64 and ppc64le architecture, need to create two infraenv with both architecture.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
i.e. Heterogeneous node pools with x86_64 and ppc64le architecture, need to create two infraenv with both architecture.
i.e. for heterogeneous nodepools with x86_64 and ppc64le architectures, you will need to create two infraenv with both architectures.


## Scale the NodePool

Once your agents are approved, you can scale the node pools. `agentLabelSelector` configured in node pool ensures that only matching agents gets added to the cluster.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Once your agents are approved, you can scale the node pools. `agentLabelSelector` configured in node pool ensures that only matching agents gets added to the cluster.
Once your agents are approved, you can scale the nodepools. `agentLabelSelector` configured in nodepool ensures that only matching agents gets added to the cluster.

## Scale the NodePool

Once your agents are approved, you can scale the node pools. `agentLabelSelector` configured in node pool ensures that only matching agents gets added to the cluster.
This will help in descaling the node pool as well, when you want to remove a specific arch nodes from the cluster, you can descale the respective node pool.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This will help in descaling the node pool as well, when you want to remove a specific arch nodes from the cluster, you can descale the respective node pool.
This will help in descaling the nodepool as well, when you want to remove a specific arch nodes from the cluster, you can descale the respective nodepool.

@dharaneeshvrd dharaneeshvrd force-pushed the agent-mix-arch branch 2 times, most recently from dfc61eb to b7650c8 Compare May 23, 2024 04:49
@dharaneeshvrd
Copy link
Member Author

@bryan-cox addressed your comments, ptal now!

@bryan-cox
Copy link
Member

/approve

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 23, 2024
@dharaneeshvrd
Copy link
Member Author

/cc @mkumatag

@openshift-ci openshift-ci bot requested a review from mkumatag May 24, 2024 03:13
Copy link

@srivastav-abhishek srivastav-abhishek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor nits, lgtm otherwise !

sshAuthorizedKey: ${SSH_PUB_KEY}
EOF
~~~
This will create two infraenv with x86_64 & ppc64le architectures. Before creating this, need to ensure respective architecture's OS image is added in `AgentServiceConfig`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This will create two infraenv with x86_64 & ppc64le architectures. Before creating this, need to ensure respective architecture's OS image is added in `AgentServiceConfig`
This will create two infraenvs with x86_64 & ppc64le architectures. Before creating this, need to ensure respective architecture's OS image is added in `AgentServiceConfig`

## Create Infraenv

For heterogeneous nodepools, you need to create infraenv for each architecture you are going to have in your HCP.
i.e. for heterogeneous nodepools with x86_64 and ppc64le architecture, you will need to create two infraenv with both architectures.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
i.e. for heterogeneous nodepools with x86_64 and ppc64le architecture, you will need to create two infraenv with both architectures.
i.e. for heterogeneous nodepools with x86_64 and ppc64le architecture, you will need to create two infraenvs with both architectures.

## Scale the NodePool

Once your agents are approved, you can scale the nodepools. `agentLabelSelector` configured in nodepool ensures that only matching agents gets added to the cluster.
This will help in descaling the nodepool as well, when you want to remove a specific arch nodes from the cluster, you can descale the respective nodepool.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This will help in descaling the nodepool as well, when you want to remove a specific arch nodes from the cluster, you can descale the respective nodepool.
This also aids in descaling the nodepool. To remove specific arch nodes from the cluster, you can descale the corresponding nodepool.

Copy link
Contributor

openshift-ci bot commented May 27, 2024

@srivastav-abhishek: changing LGTM is restricted to collaborators

In response to this:

Minor nits, lgtm otherwise !

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@dharaneeshvrd
Copy link
Member Author

@srivastav-abhishek comments addressed!

Copy link

@srivastav-abhishek srivastav-abhishek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

/cc @mkumatag

Copy link
Contributor

openshift-ci bot commented May 27, 2024

@srivastav-abhishek: changing LGTM is restricted to collaborators

In response to this:

/approve

/cc @mkumatag

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@dharaneeshvrd
Copy link
Member Author

/retest-required

Copy link
Contributor

openshift-ci bot commented May 27, 2024

@dharaneeshvrd: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Copy link
Member

@mkumatag mkumatag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 29, 2024
Copy link
Contributor

openshift-ci bot commented May 29, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bryan-cox, dharaneeshvrd, mkumatag, srivastav-abhishek

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot bot merged commit b780cd0 into openshift:main May 29, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/documentation Indicates the PR includes changes for documentation jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants