Deploy AWS OpenSearch with k8s statefulset, but failed to resolve host

i am deploying AWS OpenSearch with k8s, but it always failed to resolve host. I first create a namespace “search-for-all”. And then create StorageClass, Headless Service and StatefulSet.

apiVersion: v1
kind: Namespace
metadata:
  name: search-for-all
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: localdata
  namespace: search-for-all
provisioner: k8s.io/minikube-hostpath
reclaimPolicy: Retain
---
apiVersion: v1
kind: Service
metadata:
  namespace: search-for-all
  name: oss
spec:
  clusterIP: None
  ports:
    - port: 9200
      name: ops
      targetPort: 9200
      protocol: TCP
    - port: 9300
      name: ddl
      targetPort: 9300
      protocol: TCP
  selector:
    app: opensearch 
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    app: opensearch
  name: opensearch-name
  namespace: search-for-all
spec:
  replicas: 3
  serviceName: oss
  selector:
    matchLabels:
      k8s-app: opensearch
  template:
    metadata:
      labels:
        k8s-app: opensearch
    spec:
      containers:
      - name: opensearch-name
        image: docker.io/opensearchproject/opensearch:2.2.0
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 9200
          name: http
          protocol: TCP
        - containerPort: 9300
          name: transport
          protocol: TCP
        - containerPort: 9600
          name: performance
          protocol: TCP
        env:
        - name: OPENSEARCH_JAVA_OPTS
          value: "-Xms512m -Xmx512m"
        - name: cluster.name
          value: opensearch-cluster
        - name: cluster.initial_master_nodes
          value: "opensearch-name-0,opensearch-name-1,opensearch-name-2"
        - name: discovery.seed_hosts
          value: "opensearch-name-0,opensearch-name-1,opensearch-name-2"
        volumeMounts:
          - name: data
            mountPath: /usr/share/opensearch/data/
  volumeClaimTemplates:
    - metadata:
        namespace: search-for-all
        name: data
      spec:
        accessModes: [ "ReadWriteOnce" ]
        storageClassName: standard
        resources:
          requests:
            storage: 1Gi

I have tried to set discovery.seed_hosts as:

"opensearch-name-0,opensearch-name-1,opensearch-name-2"

"opensearch-name-0.oss.search-for-all.svc.cluster.local,opensearch-name-1.oss.search-for-all.svc.cluster.local,opensearch-name-2.oss.search-for-all.svc.cluster.local"

but opensearch container always failed to resolve host. I dont known whats wrong. I appreciate any help on this.

fail to resolve host

container hosts and hostname