expose-service

Expose Kubernetes services via Gateway Route or Direct EIP.

34|5|Updated Mar 5, 2025
One-click install
npx skills add https://github.com/kube-dc/kube-dc-public --skill expose-service-kube-dc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expose-service
Source: https://github.com/kube-dc/kube-dc-public/tree/main/skills/expose-service
Command: npx skills add https://github.com/kube-dc/kube-dc-public --skill expose-service-kube-dc

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Expose Kubernetes services externally using flexible pathways—Gateway Route with auto TLS or direct EIP + LoadBalancer—so applications can reach users reliably from the Internet.

Core Features & Use Cases

  • Gateway Route exposure with HTTP/HTTPS/gRPC, auto DNS, and automatic TLS provisioning.
  • Direct EIP + LoadBalancer exposure for raw TCP/UDP traffic and non-TLS use cases.
  • Fine-grained routing decisions via clear annotations and a step-by-step verification guide.

Quick Start

Expose a sample service by applying a Gateway Route annotated Service manifest or binding the service to a public EIP.

Frequently Asked Questions about expose-service

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

FAQPage Schema
How do I expose Kubernetes services to internet traffic?

You can expose Kubernetes services externally by applying a Gateway Route annotated manifest or binding the service to a direct EIP with a LoadBalancer. This supports HTTP/HTTPS web apps, gRPC services, and raw TCP/UDP traffic.

When should I use Gateway Route vs Direct EIP for exposing services?

Use Gateway Route for HTTP/HTTPS/gRPC traffic to get automatic DNS and TLS provisioning. Choose Direct EIP with a LoadBalancer for raw TCP/UDP traffic, game servers, or non-TLS use cases.

Do I need cert-manager to expose HTTPS applications in Kubernetes?

Yes, exposing HTTPS applications through Gateway Route requires a cert-manager Issuer in the project namespace to automatically provision and manage TLS certificates for the exposed service.

Can I route external SSH traffic to a Kubernetes VM?

Yes, you can route SSH traffic to VMs by using the Direct EIP and LoadBalancer exposure workflow, which handles raw TCP traffic for non-HTTP protocols without requiring TLS.

How do I verify that my Kubernetes service is externally accessible?

After applying the annotated Gateway Route manifest or binding the Direct EIP, follow the step-by-step verification guide to check routing decisions and confirm the service is reachable from the internet.

What annotations are needed to expose a gRPC service in Kubernetes?

You must apply specific annotations to the service manifest to define fine-grained routing decisions for gRPC traffic, enabling the Gateway Route to correctly process and expose the service.