For AI agents: A markdown version of this page is available at https://docs.datadoghq.com/security/code_security/iac_security/iac_rules/kubernetes-statefulset-without-service-name.md.
A documentation index is available at /llms.txt.
StatefulSets should reference an existing headless Service via spec.serviceName. The referenced Service must be headless (spec.clusterIP set to “None”) and located in the same namespace. All selector labels defined on the Service must be present on the StatefulSet pod template labels so the Service can target the StatefulSet’s pods.
Compliant Code Examples
#this is a problematic code where the query should report a result(s)apiVersion:v1kind:Servicemetadata:name:nginx2namespace:nginx2labels:app:nginx2spec:ports:- port:80name:webclusterIP:Noneselector:app:nginx2---apiVersion:apps/v1kind:StatefulSetmetadata:name:web2namespace:nginx2spec:selector:matchLabels:app:nginx2serviceName:"nginx2"replicas:3template:metadata:labels:app:nginx2foo:barspec:terminationGracePeriodSeconds:10containers:- name:nginx2image:k8s.gcr.io/nginx-slim:0.8ports:- containerPort:80name:webvolumeMounts:- name:wwwmountPath:/usr/share/nginx/htmlvolumeClaimTemplates:- metadata:name:wwwspec:accessModes:["ReadWriteOnce"]storageClassName:"my-storage-class"resources:requests:storage:1Gi
Non-Compliant Code Examples
#this is a problematic code where the query should report a result(s)apiVersion:v1kind:Servicemetadata:name:nginxnamespace:nginxlabels:app:nginx2spec:ports:- port:80name:webclusterIP:Allselector:app:nginx---apiVersion:apps/v1kind:StatefulSetmetadata:name:webnamespace:nginxspec:selector:matchLabels:app:nginxserviceName:"nginx"replicas:3template:metadata:labels:app:nginxspec:terminationGracePeriodSeconds:10containers:- name:nginximage:k8s.gcr.io/nginx-slim:0.8ports:- containerPort:80name:webvolumeMounts:- name:wwwmountPath:/usr/share/nginx/htmlvolumeClaimTemplates:- metadata:name:wwwspec:accessModes:["ReadWriteOnce"]storageClassName:"my-storage-class"resources:requests:storage:1Gi
1
2
rulesets:- Kubernetes # Rules to enforce .
Request a personalized demo
Get Started with Datadog
Ask AI
AI-generated responses may be inaccurate. Verify important info.