Skip to content

Conversation

@xuezhaojun
Copy link
Member

Summary

This PR adds a comprehensive blog post introducing the new Service Proxy feature in cluster-proxy v0.9.0. The post includes a complete setup guide, installation instructions, and practical examples demonstrating how to use the impersonation-based authentication mechanism to access managed cluster resources.

Content Overview

The blog post covers:

  • Introduction: Overview of cluster-proxy addon and the new Service Proxy feature
  • Environment Setup: Step-by-step instructions to create a test environment with hub and managed clusters using Kind
  • Installation: Complete guide to install cluster-proxy with TLS certificate setup
    • TLS certificate configuration using cert-manager
    • Helm chart installation with GATEWAY_IP configuration
    • Service exposure for external access
    • Deployment verification
  • Usage Examples: Practical demonstrations of Service Proxy functionality
    • Creating hub users and RBAC permissions
    • Token generation and authentication
    • Testing access to managed cluster resources via Service Proxy
    • URL structure documentation

Key Features Documented

  • L4 network connectivity between hub and managed clusters
  • HTTPS-based service access without requiring konnectivity client library
  • Impersonation-based authentication for simplified access control
  • Clear URL structure for accessing managed cluster resources

Writing Quality

  • Well-organized with clear section hierarchy
  • Consistent terminology throughout (hub/managed clusters)
  • Practical code examples with detailed explanations
  • Gateway IP configuration with context about its purpose
  • Professional grammar and technical accuracy

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

@netlify
Copy link

netlify bot commented Nov 11, 2025

Deploy Preview for open-cluster-management ready!

Name Link
🔨 Latest commit eb12e6f
🔍 Latest deploy log https://app.netlify.com/projects/open-cluster-management/deploys/6915ea83faabb40008b315ca
😎 Deploy Preview https://deploy-preview-529--open-cluster-management.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 project configuration.

@xuezhaojun
Copy link
Member Author

/assign @qiujian16

@xuezhaojun
Copy link
Member Author

/assign @haoqing0110
/assign @yanmxa

You can follow steps in this blog to setup a service-proxy enabled cluster-proxy test env.

@xuezhaojun
Copy link
Member Author

/hold

@xuezhaojun
Copy link
Member Author

/unhold


Cluster Proxy is an [OCM addon](https://github.com/open-cluster-management-io/cluster-proxy) that provides L4 network connectivity between hub and managed clusters through a reverse proxy tunnel. In previous versions, accessing services on managed clusters through cluster-proxy required using a specialized Go package, the [konnectivity client](https://github.com/open-cluster-management-io/cluster-proxy/blob/main/examples/test-client.md).

With the new v0.9.0 release, we've introduced a more convenient approach — "Service Proxy". This feature provides an HTTPS service that allows users to access the kube-apiserver and other services in managed clusters through a specific URL structure. Additionally, it introduces a more user-friendly authentication and authorization mechanism using **Impersonation**, enabling users to authenticate and authorize against the managed cluster's kube-apiserver using their hub user token.
Copy link
Member

Choose a reason for hiding this comment

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

do we enable impersonation by default? I am thinking we have a flag so we can disable it.

Copy link
Member Author

@xuezhaojun xuezhaojun Nov 12, 2025

Choose a reason for hiding this comment

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

Good catch! The flag control now added: open-cluster-management-io/cluster-proxy#245

We can use flag to disable impersonation and remove all special permission adds on clusterrole on both sides. But, by default it's true.

@xuezhaojun xuezhaojun requested a review from qiujian16 November 13, 2025 02:35

### Configuring RBAC Permissions

Next, create a Role and RoleBinding in the `managed` cluster to grant the `test-sa` user permission to list and get pods in the `open-cluster-management-agent` namespace:
Copy link
Member

@haoqing0110 haoqing0110 Nov 13, 2025

Choose a reason for hiding this comment

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

Could we add a note here mentioning that this can be simplified by using cluster permissions?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, content added.

@xuezhaojun xuezhaojun force-pushed the docs/enhance-cluster-proxy-blog-post branch from aaad684 to adca33d Compare November 13, 2025 14:25
…and section hierarchy

- Fix typos and grammar issues throughout the document
- Standardize terminology (Hub/Spoke → hub/managed clusters)
- Improve section structure with better logical flow (Setup → Install → Use)
- Add detailed explanation for GATEWAY_IP configuration
- Fix cluster name inconsistencies (cluster1 → managed)
- Move 'Verifying the Deployment' under 'Installing Cluster Proxy' section
- Rename main usage section for better clarity

These improvements enhance readability and make the tutorial easier to follow.

Signed-off-by: xuezhaojun <zxue@redhat.com>
@xuezhaojun xuezhaojun force-pushed the docs/enhance-cluster-proxy-blog-post branch from adca33d to eb12e6f Compare November 13, 2025 14:26
@qiujian16
Copy link
Member

/approve

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 14, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: qiujian16, xuezhaojun

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:
  • OWNERS [qiujian16,xuezhaojun]

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

@xuezhaojun xuezhaojun merged commit fcf1673 into open-cluster-management-io:main Nov 14, 2025
6 of 7 checks passed
@xuezhaojun xuezhaojun deleted the docs/enhance-cluster-proxy-blog-post branch November 14, 2025 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants