Can';从kubernetes的另一个豆荚中取出postgres豆荚

Can';从kubernetes的另一个豆荚中取出postgres豆荚,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我创建了一个繁忙的pod,通过遵循yaml测试db连接 亚马尔角 kind: Pod apiVersion: v1 metadata: name: marks-dummy-pod spec: containers: - name: marks-dummy-pod image: djtijare/ubuntuping:v1 command: ["/bin/bash", "-ec", "while :; do echo '.'; sleep 5 ; done"

我创建了一个繁忙的pod,通过遵循yaml测试db连接

亚马尔角

kind: Pod
apiVersion: v1
metadata:
  name: marks-dummy-pod
spec:
  containers:
    - name: marks-dummy-pod
      image: djtijare/ubuntuping:v1
      command: ["/bin/bash", "-ec", "while :; do echo '.'; sleep 5 ; done"]
  restartPolicy: Never
使用的Dockerfile:-

FROM ubuntu
RUN apt-get update && apt-get install -y iputils-ping
CMD bash
我创建服务作为

kind: Endpoints
apiVersion: v1
metadata:
 name: postgressvc
subsets:
 - addresses:
     - ip: 172.31.6.149
   ports:
     - port: 5432
postgreservice.yaml

kind: Service
apiVersion: v1
metadata:
 name: postgressvc
spec:
 type: ClusterIP
 ports:
 - port: 5432
   targetPort: 5432
已创建服务的终结点为

kind: Endpoints
apiVersion: v1
metadata:
 name: postgressvc
subsets:
 - addresses:
     - ip: 172.31.6.149
   ports:
     - port: 5432
然后我在pod内部运行了ping172.31.6.149(kubectl exec-it mark dummy pod bash),但没有工作。(ping localhost正在工作)


kubectl get吊舱、svc、ep-o宽的产量

NAME                                       READY   STATUS    RESTARTS   AGE     IP             NODE              NOMINATED NODE   READINESS GATES
pod/marks-dummy-pod                        1/1     Running   0          43m     192.168.1.63   ip-172-31-11-87   <none>           <none>


NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE     SELECTOR
service/postgressvc        ClusterIP   10.107.58.81     <none>        5432/TCP         33m     <none>


NAME                         ENDPOINTS           AGE
endpoints/postgressvc        172.31.6.149:5432   32m
NAME READY STATUS重新启动老化IP节点指定节点就绪门
吊舱/标志虚拟吊舱1/1运行0 43m 192.168.1.63 ip-172-31-11-87
名称类型CLUSTER-IP外部IP端口年龄选择器
service/postgressvc ClusterIP 10.107.58.81 5432/TCP 33m
姓名端点年龄
端点/postgressvc 172.31.6.149:5432 32m
p Ekambaram回答的输出


kubectl获得吊舱、svc、ep-o宽

NAME                            READY   STATUS    RESTARTS   AGE    IP             NODE              NOMINATED NODE   READINESS GATES
pod/postgres-855696996d-w6h6c   1/1     Running   0          44s    192.168.1.66   ip-172-31-11-87   <none>           <none>


NAME                    TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE    SELECTOR
service/postgres        NodePort    10.110.203.204   <none>        5432:31076/TCP   44s    app=postgres



 NAME                      ENDPOINTS           AGE
endpoints/postgres        192.168.1.66:5432   44s
NAME READY STATUS重新启动老化IP节点指定节点就绪门
pod/postgres-855696996d-w6h6c 1/1运行0 44s 192.168.1.66 ip-172-31-11-87
名称类型CLUSTER-IP外部IP端口年龄选择器
service/postgres节点端口10.110.203.204 5432:31076/TCP 44s app=postgres
姓名端点年龄
终点/postgres 192.168.1.66:5432 44s

postgres吊舱丢失了吗

是创建端点对象还是自动生成的

共享pod定义YAML

您不应该创建端点。这是错误的。遵循以下postgres的部署

apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-config
  labels:
    app: postgres
data:
  POSTGRES_DB: postgres
  POSTGRES_USER: postgres
  POSTGRES_PASSWORD: example
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: postgres
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
        - name: postgres
          image: postgres:11
          imagePullPolicy: Always
          ports:
            - containerPort: 5432
          envFrom:
            - configMapRef:
                name: postgres-config
          volumeMounts:
            - mountPath: /var/lib/postgresql/data
              name: postgres-data
      volumes:
        - name: postgres-data
          emptyDir:
---       
apiVersion: v1
kind: Service
metadata:
  name: postgres
  labels:
    app: postgres
spec:
  type: NodePort
  ports:
   - port: 5432
  selector:
   app: postgres
取消部署postgres服务和端点,并部署上述YAML。 应该行得通

为什么节点ip的前缀是ip-


您应该为数据库创建部署,然后创建一个针对此部署的服务,然后使用此服务ping为什么使用ip ping?

所以问题出在namespace=kube系统中的我的DNS pod中

我只是创建新的kubernetes设置,并确保DNS正常工作

有关新设置,请参阅我对另一个问题的回答


您好,您收到了什么样的错误消息?当命令ping 172.31.6.149被挂起时,您能否运行
kubectl get pods,svc,ep
没有错误消息,然后我做ctlr+c给出100%的数据包丢失。添加了上述问题中的kubectl get pods,svc,ep的输出。请检查抱歉,您能用此命令的结果更新问题吗
kubectl get pods,svc,ep-o wide
它将提供更多的信息。我添加了kubectl get pods、svc、ep-o wide的输出,该文件已共享名为pod.yaml。。。我创建了endpoint对象,因为所有yaml文件都添加到了问题中,所以我应该使用什么ip从我的marks dummy pod ping到此数据库?kubectl获取pods、svc、ep-o wideshare输出我为您添加了输出回答我尝试过…但现在我认为问题出在我的kube dns pod上