dns 查找 statefulsets srv 记录中的问题
我的 yaml 文件
kind: List
apiVersion: v1
items:
- apiVersion: v1
kind: Service
metadata:
name: sfs-svc
labels:
app: sfs-app
spec:
ports:
- port: 80
name: web
clusterIP: None
selector:
app: sfs-app
- apiVersion: apps/v1
kind: StatefulSet
metadata:
name: web
spec:
selector:
matchLabels:
app: sfs-app # has to match .spec.template.metadata.labels
serviceName: "sfs-svc"
replicas: 3
template:
metadata:
labels:
app: sfs-app # has to match .spec.selector.matchLabels
spec:
terminationGracePeriodSeconds: 10
containers:
- name: test-container
image: nginx
imagePullPolicy: IfNotPresent
command: [ "sh", "-c"]
args:
- while true; do
printenv MY_NODE_NAME MY_POD_NAME MY_POD_NAMESPACE >> /var/sl/output.txt;
printenv MY_POD_IP >> /var/sl/output.txt;
date >> var/sl/output.txt;
cat /var/sl/output.txt;
sleep 999999;
done;
env:
- name: MY_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
volumeMounts:
- name: www
mountPath: /var/sl
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
#storageClassName: classNameIfAny
resources:
requests:
storage: 1Mi
$ Kubectl 集群信息
Kubernetes master 运行在https://192.168.99.100:8443 KubeDNS 运行在https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
$ kubectl 版本
客户端版本:version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:08: 12Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"} 服务器版本: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1 ", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:02:58Z", GoVersion:"go1.12.1", 编译器:"gc", 平台:"linux/amd64"}
$ kubectl 获取 po,svc,statefulset
> NAME READY STATUS RESTARTS AGE
> pod/web-0 1/1 Running 0 45m
> pod/web-1 1/1 Running 0 45m
> pod/web-2 1/1 Running 0 45m
>
> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
> service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 46m
> service/sfs-svc ClusterIP None <none> 80/TCP 45m
>
> NAME READY AGE
> statefulset.apps/web 3/3 45m
>
问题:我没有获得 statefulset 无头服务的 DNS 地址
当我尝试 $ nslookup sfs-svc.default.svc.cluster.local
> Server: 127.0.0.53
> Address: 127.0.0.53#53
>
**> ** server can't find sfs-svc.default.svc.cluster.local: SERVFAIL**
>