You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Jiwon Park (Jira)" <ji...@apache.org> on 2026/03/28 23:02:00 UTC

[jira] [Created] (SPARK-56275) Set appProtocol on Kubernetes service ports

Jiwon Park created SPARK-56275:
----------------------------------

             Summary: Set appProtocol on Kubernetes service ports
                 Key: SPARK-56275
                 URL: https://issues.apache.org/jira/browse/SPARK-56275
             Project: Spark
          Issue Type: Improvement
          Components: Kubernetes
    Affects Versions: kubernetes-operator-0.9.0
            Reporter: Jiwon Park


Kubernetes service ports support an {{appProtocol}} field that hints service meshes
(e.g. Istio, Linkerd) and ingress controllers about the application-layer protocol
in use on each port. Without this field, service meshes treat all traffic as opaque
TCP, which prevents L7-aware load balancing, protocol-specific retries, and gRPC
health checking.

This improvement sets {{appProtocol}} on service ports managed by the Spark Kubernetes Operator:

*SparkCluster services* (created directly by the operator):
 * Master service: {{web}} (8080) → {{{}http{}}}, {{spark}} (7077) → {{{}tcp{}}}, {{rest}} (6066) → {{http}}
 * Worker service: {{web}} (8081) → {{http}}

*SparkApplication driver service* (created by Spark's DriverServiceFeatureStep and included in driverResources):
 * {{driver-rpc-port}} → {{tcp}}
 * {{blockmanager}} → {{tcp}}
 * {{spark-ui}} → {{http}}
 * {{spark-connect}} → {{grpc}}

For SparkApplication, ports that already have {{appProtocol}} set (e.g. via user-defined service templates) are left unchanged to preserve user overrides.

This change is non-breaking: environments without a service mesh simply ignore the field.

See also: [https://github.com/kubeflow/spark-operator/pull/2823]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org