kubesphere-gateway

Install, manage, and troubleshoot ingress-nginx gateways on KubeSphere clusters.

17.0k|2.8k|Updated Apr 21, 2018
One-click install
npx skills add https://github.com/kubesphere/kubesphere --skill kubesphere-gateway
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kubesphere-gateway
Source: https://github.com/kubesphere/kubesphere/tree/main/skills/kubesphere-gateway
Command: npx skills add https://github.com/kubesphere/kubesphere --skill kubesphere-gateway

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Managing external access (ingress) for KubeSphere clusters requires coordinating Helm releases, InstallPlans, and Gateway CRDs across multiple clusters, which is error-prone when done manually. This Skill automates the full lifecycle of the KubeSphere Gateway extension and provides structured troubleshooting for gateway failures.

Core Features & Use Cases

  • Extension Lifecycle Management: Install, upgrade, and uninstall the Gateway extension across one or multiple KubeSphere clusters using generated InstallPlans with server-side dry-run validation.
  • Three-Tier Gateway Operations: List and inspect cluster, workspace, and project level gateways backed by the Gateway CRD (gateway.kubesphere.io/v2alpha2) and ingress-nginx.
  • Guided Troubleshooting: Diagnose gateways stuck in Creating/Updating states, Faulted deployments, CrashLoopBackOff pods, log search proxy failures, and controller reconciliation issues.
  • Use Case: A platform engineer needs to expose services externally on a multi-cluster KubeSphere deployment. The Skill detects available extension versions, selects ready clusters, generates and applies the InstallPlan, polls installation status, and later helps debug a gateway stuck in the Faulted state.

Quick Start

Install the KubeSphere Gateway extension on my host cluster and check the installation status.

Frequently Asked Questions about kubesphere-gateway

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I install the KubeSphere Gateway extension?

Install the Gateway extension by detecting available versions with kubectl get extensionversions.kubesphere.io, selecting target clusters, then generating and applying an InstallPlan. The generate-installplan.sh script creates the YAML and validates it with a server-side dry run before applying.

How do I check KubeSphere Gateway installation status?

Check installation status by running the check-status.sh script in quick mode for a single snapshot or poll mode to wait until completion. It reports the InstallPlan state and per-cluster agent states, exiting successfully when all components reach Installed.

What is the difference between KubeSphere Gateway and Gateway API?

KubeSphere Gateway uses ingress-nginx with the Kubernetes Ingress API and the Gateway CRD gateway.kubesphere.io/v2alpha2. The newer Kubernetes Gateway API implementation uses Traefik with a GatewayProxy CRD and is covered by the separate kubesphere-gateway-api skill.

Why is my KubeSphere gateway stuck in Creating or Updating state?

A gateway stuck in Creating or Updating usually indicates a missing or corrupted chart ConfigMap, a Helm wrapper timeout, or invalid spec.values. Inspect the gateway with kubectl describe, check gateway-controller-manager logs in the extension-gateway namespace, and verify the deployment and ConfigMap.

How do I uninstall the Gateway extension from specific clusters only?

Uninstall from specific clusters by patching the InstallPlan's spec.clusterScheduling.placement.clusters list to remove the target clusters, without deleting the InstallPlan itself. Deleting the entire InstallPlan removes the extension from all clusters.

Why is KubeSphere gateway log search not working?

Gateway log search proxies to whizard-telemetry-apiserver, so failures usually mean the whizard-telemetry extension is not installed or not running. Verify the gateway-agent-backend-config ConfigMap, check pods in extension-whizard-telemetry, and review gateway-apiserver logs for proxy errors.