Kubernetes pod can't access other pods exposed by a service

3/26/2019

New to Kubernetes.

To build our testing environment, I'm trying to set up a PostgreSQL instance in Kubernetes, that's accessible to other pods in the testing cluster.

The pod and service are both syntactically valid and running. Both show in the output from kubectl get [svc/pods]. But when another pod tries to access the database, it times out.

Here's the specification of the pod:

# this defines the postgres server
apiVersion: v1
kind: Pod
metadata:
  name: postgres
  labels:
    app: postgres
spec:
  hostname: postgres
  restartPolicy: OnFailure
  containers:
    - name: postgres
      image: postgres:9.6.6
      imagePullPolicy: IfNotPresent
      ports:
      - containerPort: 5432
        protocol: TCP

And here is the definition of the service:

# this defines a "service" that makes the postgres server publicly visible
apiVersion: v1
kind: Service
metadata:
  name: postgres
spec:
  selector:
    app: postgres
  type: ClusterIP
  ports:
  - port: 5432
    protocol: TCP

I'm certain that something is wrong with at least one of those, but I'm not sufficiently familiar with Kubernetes to know which.

If it's relevant, we're running on Google Kubernetes Engine.

Help appreciated!

-- Eric Fulmer
google-kubernetes-engine
kubernetes

0 Answers