代码之家  ›  专栏  ›  技术社区  ›  Shudipta Sharma Prafull Ladha

无法在minikube上按主机名ping其他pod

  •  0
  • Shudipta Sharma Prafull Ladha  · 技术社区  · 7 年前

    我有一个有两个副本的状态集。 它的无头服务名称是 “政府svc” 是->

    1. .规范服务名称:gov svc
    2. .规格:2

    kubectl get pods --all-namespaces
    NAMESPACE     NAME                                    READY   STATUS             RESTARTS   AGE
    kube-system   coredns-99b9bb8bd-qdnsb                 1/1     Running            0          4h
    kube-system   etcd-minikube                           1/1     Running            0          4h
    kube-system   kube-addon-manager-minikube             1/1     Running            0          4h
    kube-system   kube-apiserver-minikube                 1/1     Running            0          4h
    kube-system   kube-controller-manager-minikube        1/1     Running            1          4h
    kube-system   kube-proxy-b9np6                        1/1     Running            0          4h
    kube-system   kube-scheduler-minikube                 1/1     Running            0          4h
    kube-system   kubernetes-dashboard-7db4dc666b-bsk8k   1/1     Running            0          4h
    kube-system   storage-provisioner
    

    在运行此statefulSet的两个pod之后,从pod sts-0 , ping

    $ ping  sts-0.gov-svc.default.svc.cluster.local
    PING sts-0.gov-svc.default.svc.cluster.local (172.17.0.11): 56 data bytes
    64 bytes from 172.17.0.11: seq=0 ttl=64 time=0.051 ms
    64 bytes from 172.17.0.11: seq=1 ttl=64 time=0.444 ms
    ^C
    --- redis-cluster-exp-0-0.redis-cluster-exp.default.svc.cluster.local ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 0.051/0.247/0.444 ms
    

    ping sts-1 sts-0型 ,上面写着:

    $ ping sts-1.gov-svc.default.svc.cluster.local
    ping: bad address 'sts-1.gov-svc.default.svc.cluster.local'
    

    我需要ping其他豆荚成功的主机名。我该怎么做?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Konstantin Vustin    7 年前

    headless service 能够在同一时间内对副本进行ping操作 StatefulSet . 比如:

    apiVersion: v1
    kind: Service
    metadata:
      name: gov-svc-headless
      labels:
        your_label: your_value
    spec:
      selector:
        your_label: your_value
      ports:
      - port: your_port
        name: transport
        protocol: TCP
      clusterIP: None <---
    

    注:

    通过定义选择器的无头服务选择器 endpoints controller在API中创建端点记录,并且 修改DNS配置以返回

    或者不定义选择器的无头服务,端点 控制器不创建终结点记录。但是,DNS系统

    ExternalName类型服务的CNAME记录。A任何

    更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#headless-services