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!