【问题标题】:Communication between Kubernetes PodsKubernetes Pod 之间的通信
【发布时间】:2019-11-07 08:50:00
【问题描述】:

我有 statefulset pod。当我进入其中一个 pod 并尝试 ping 它的主机名时。有用。但是,如果我尝试从当前容器 p​​ing 其他 pod 的主机名,那么这些主机名不会得到解析。我也有无头服务。有人可以告诉我在集群级别或在服务或 statefulset 的 yaml 中需要做什么以使通信发生。一个工作示例或一些工作图表链接来尝试,会很有帮助。我可以通过它。

服务:

apiVersion: v1
kind: Service
metadata:
  name: "{{ .Chart.Name }}-{{ .Chart.AppVersion | replace "." "" }}"
  labels:
    app: "{{ .Chart.Name }}-{{ .Chart.AppVersion | replace "." "" }}"
{{ include "metadata.labels.standard" . | indent 4 }}    
spec:
  clusterIP: None
  selector:
   tier: backend

有状态集:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: "{{ .Chart.Name }}-{{ .Chart.AppVersion | replace "." "" }}-myapp1"
  labels:
    app: "{{ .Chart.Name }}-{{ .Chart.AppVersion | replace "." "" }}-myapp1"
    tier: backend
spec:
  replicas: 2
  selector:
    matchLabels:
      app: "{{ .Chart.Name }}-{{ .Chart.AppVersion | replace "." "" }}-myapp1"
  serviceName: "{{ .Chart.Name }}-{{ .Chart.AppVersion | replace "." "" }}"
  template:
    metadata:
      labels:
        app: "{{ .Chart.Name }}-{{ .Chart.AppVersion | replace "." "" }}-myapp1"
        tier: backend
      volumes:
        - name: configmap-r
          configMap:
           name: "{{ .Chart.Name }}-{{ .Chart.AppVersion | replace "." "" }}-configmap"
      imagePullSecrets:
        - name: {{ .Values.image.pullSecret }}
      containers:
        - name: "{{ .Chart.Name }}-{{ .Chart.AppVersion | replace "." "" }}-myapp1"
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          imagePullPolicy: Always
          ports:
            - containerPort: 8080
          volumeMounts:
            - name: configmap-r
              mountPath: /home/xyz/

豆荚:

pod/calico-kube-controllers-59fc8847c-vv9bt   1/1     Running            0          3h27m
pod/calico-node-4gktj                         1/1     Running            0          3h27m
pod/coredns-5c98db65d4-tctgk                  1/1     Running            13         63d
pod/coredns-5c98db65d4-v8gtv                  1/1     Running            13         63d
pod/etcd-minikube                             1/1     Running            2          63d
pod/kube-addon-manager-minikube               1/1     Running            2          63d
pod/kube-apiserver-minikube                   1/1     Running            0          15d
pod/kube-controller-manager-minikube          1/1     Running            6          63d
pod/kube-proxy-qc9nx                          1/1     Running            1          63d
pod/kube-scheduler-minikube                   1/1     Running            6          63d
pod/storage-provisioner                       1/1     Running            3          63d
pod/tiller-deploy-6b9c575bfc-z7dgs            1/1     Running            1          62d


NAME                           TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE
service/kube-dns               ClusterIP   xx.xx.xx.xx     <none>        53/UDP,53/TCP,9153/TCP   63d
service/tiller-deploy          ClusterIP   xx.xx.xx.xx     <none>        44134/TCP                62d

NAME                         DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
daemonset.apps/calico-node   1         1         1       1            1           beta.kubernetes.io/os=linux   3h27m
daemonset.apps/kube-proxy    1         1         1       1            1           beta.kubernetes.io/os=linux   63d

NAME                                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/calico-kube-controllers   1/1     1            1           3h27m
deployment.apps/coredns                   2/2     2            2           63d
deployment.apps/tiller-deploy             1/1     1            1           62d

NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/calico-kube-controllers-59fc8847c   1         1         1       3h27m
replicaset.apps/coredns-5c98db65d4                  2         2         2       63d
replicaset.apps/tiller-deploy-6b9c575bfc            1         1         1       62d

`

【问题讨论】:

  • 添加您的服务定义
  • @EfratLevitan 添加了
  • 您能否添加您的 statefulset YAML,以及您如何查询其他 pod(使用了整个命令)?
  • @Ezwig 添加了 yaml。像这样,我的 myapp2 有另一个相同的 yaml。我进入 myapp1 并尝试触发此命令 $ping
  • @Nish 您用来查询其他 pod 的整个命令也可能包含有用的信息

标签: kubernetes kubernetes-ingress kubernetes-pod kubernetes-service kubernetes-statefulset


【解决方案1】:

要在集群中公开服务,请使用类型值作为 clusterIP。而不是使用 规格: 集群IP:无

使用这个: 类型:集群IP

【讨论】:

  • Nish,您能否像 Dashrath 建议的那样检查并创建服务,并让我们知道这是否有效?
猜你喜欢
  • 2018-02-12
  • 2018-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 2021-10-26
  • 1970-01-01
  • 2019-04-02
  • 2019-08-12
相关资源
最近更新 更多