Chào mọi người, em hiện đang học kubernetes, chạy một service authentication trong kubernetes, service này connect tới postgres database ở host machine (docker). Nhưng em connect mãi không được, (hôm qua cũng ko connect được nhưng xóa ra xóa vô cái pods không hiểu sao một hồi lại connect đc, hôm nay start lại không đc) nhờ các anh (chị) xem qua giúp em ạ, em cảm ơn.
authentication.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: authentication-service
spec:
  replicas: 1
  selector:
    matchLabels:
      app: authentication-service
  template:
    metadata:
      labels:
        app: authentication-service
    spec:
      containers:
      - name: authentication-service
        image: ".../authentication-service:1.0.0"
        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
          limits:
            memory: "128Mi"
            cpu: "500m"
        env:
          - name: DSN
            value: "host=host.minikube.internal port=5432 user=postgres password=password dbname=users sslmode=disable timezone=UTC connect_timeout=5"
        ports:
          - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: authentication-service
spec:
  selector:
    app: authentication-service
  ports:
    - protocol: TCP
      name: main-port
      port: 80
      targetPort: 80
Thêm service vào kube:
kubectl apply -f authentication.yml 
Config postgres database:
version: '3'
services:
  postgres:
    image: 'postgres:14.2'
    ports:
      - "5432:5432"
    restart: always
    deploy:
      mode: replicated
      replicas: 1
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_DB: users
    volumes:
      - ./db-data/postgres/:/var/lib/postgresql/data/
Start postgres:
docker-compose -f postgres.yml up -d
Đã khởi tạo database users và test connect thành công qua beekeeper trên window.
Còn service trong kube không thể connect:
kubectl logs authentication-service-....
>>
2022/06/02 09:20:24 failed to connect to `host=host.minikube.internal user=postgres database=users`: dial error (timeout: dial tcp 192.168.49.1:5432: i/o timeout)
2022/06/02 09:20:24 Can't connect to Postgres!
panic: Can't connect to Postgres!
        
      
    
). Đó là lý do app của cậu không kết nối được tới DB.
 
    83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?