Не могу пинговать стручок postgres из другого стручка в kubernetes - PullRequest
1 голос
/ 05 июня 2019

Я создал один занятый модуль для тестирования соединения БД, выполнив yaml

pod.yaml

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

создаю сервис как

postgresservice.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

Затем я запустил ping 172.31.6.149 внутри pod (kubectl exec -it mark-dummy-pod bash), но не работает (ping localhost работает)

вывод kubectl get pods, svc, ep -o wide

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

Вывод для ответа P Ekambaram

kubectl get pods, svc, ep -o wide т

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

Ответы [ 3 ]

2 голосов
/ 06 июня 2019

Итак, проблема была в моем модуле DNS в пространстве имен = kube-system

Я просто создаю новую настройку kubernetes и проверяю, что DNS работает

Для новой настройки обратитесь к моему ответу на другой вопрос

Как запустить сервис kubelet? ?

0 голосов
/ 05 июня 2019

Вы должны создать развертывание для своей базы данных, а затем создать службу, предназначенную для этого развертывания, а затем пропинговать с помощью этой службы, зачем пинговать с ip?

0 голосов
/ 05 июня 2019

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. должно работать

почему NODE ip имеет префикс ip-

enter image description here

...