Service

k8sLoad balancerk8s-service

Stable virtual address load balancing layer 4 traffic across the ready Pods a selector matches.

Provider
k8s
Category
Edge
Also known as
svc
Properties · 4 set by this component
propertytypevaluesrequiredkind defaultthis component
connectionPreserving · advancedboolean—nofalseinherited
globalboolean—nofalse▸ false
hashingenumround-robin | least-connections | ecmp | maglev | consistent | randomnoround-robin▸ random
headless · component propertyboolean—nofalseinherited
healthChecksboolean—notrueinherited
instancesinteger—no—inherited
internalTrafficPolicy · component propertyenumcluster | localnoclusterinherited
ipFamilyPolicy · component propertyenumsingle-stack | prefer-dual-stack | require-dual-stacknosingle-stackinherited
layerenuml4 | l7nol7▸ l4
managedboolean—nofalse▸ false
serviceType · component propertyenumcluster-ip | node-port | load-balancer | external-namenocluster-ipinherited
sessionAffinity · component propertyenumnone | client-ipnononeinherited
Rules that apply · 0

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

No rule reads this kind yet. That is a gap, not a guarantee.
Use it in a design
nodes:
  - { id: "service", component: "k8s-service" }
Other Load balancer products · 34
Server Load Balanceralibaba-slbalibabacloudload-balancerAWS Application Load Balanceralbawsload-balancerAWS Classic Load Balanceraws-classic-load-balancerawsload-balancerAWS Global Acceleratoraws-global-acceleratorawsload-balancerAWS Gateway Load Balanceraws-gwlbawsload-balancerAWS Network Load Balancernlbawsload-balancerAzure Application Gatewayazure-application-gatewayazureload-balancerApplication Gateway for Containersazure-application-gateway-for-containersazureload-balancerAzure Load Balancerazure-load-balancerazureload-balancerCloudflare Load Balancingcloudflare-load-balancingcloudflareload-balancerCloudflare Spectrumcloudflare-spectrumcloudflareload-balancerApache HTTP Serverapache-httpdload-balancerBFEbfeload-balancerCaddycaddyload-balancerContourcontourload-balancerEnvoyenvoyload-balancerF5 BIG-IPf5-big-ipload-balancerHAProxyhaproxyload-balancerKeepalivedkeepalivedload-balancerGeneric load balancerload-balancerload-balancerLoad balancerload-balancer-tierload-balancerloxilbloxilbload-balancerMetalLBmetallbload-balancerNGINXnginxload-balancerTraefiktraefikload-balancerDigitalOcean Load Balancersdigitalocean-load-balancerdigitaloceanload-balancerGoogle Cloud Load Balancinggoogle-cloud-load-balancinggcpload-balancerIBM Cloud Load Balancer for VPCibm-load-balanceribmload-balancerKubernetes Gatewayk8s-gatewayk8sload-balancerIngressk8s-ingressk8sload-balancerOCI Load Balanceroci-load-balancerociload-balancerNetwork Load Balanceroci-network-load-balancerociload-balancerOpenStack Octaviaopenstack-octaviaopenstackload-balancerLoad Balancer Unit (LBU)outscale-lbuoutscaleload-balancer
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Kubernetes Service: a stable virtual address in front of the Pods a label selector matches,
# load balanced at OSI layer 3-4. Per "Service" the type defaults to ClusterIP (reachable only
# inside the cluster), sessionAffinity defaults to None, internalTrafficPolicy to Cluster and
# ipFamilyPolicy to SingleStack; kube-proxy in iptables mode picks a backend at random, and
# traffic goes only to endpoints whose readiness condition is true.
schemaVersion: "1"
type: "component"
id: "k8s-service"
kind: "load-balancer"
provider: "k8s"
docs: "https://kubernetes.io/docs/concepts/services-networking/service/"
aliases: ["svc"]
defaults:
  managed: false
  layer: "l4"
  hashing: "random"
  global: false
properties:
  serviceType:
    type: "enum"
    values: ["cluster-ip", "node-port", "load-balancer", "external-name"]
    default: "cluster-ip"
  sessionAffinity:
    type: "enum"
    values: ["none", "client-ip"]
    default: "none"
  internalTrafficPolicy:
    type: "enum"
    values: ["cluster", "local"]
    default: "cluster"
  ipFamilyPolicy:
    type: "enum"
    values: ["single-stack", "prefer-dual-stack", "require-dual-stack"]
    default: "single-stack"
  headless:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/components/k8s-service.md