gpt4 book ai didi

postgresql - 从 Kubernetes 访问外部数据库

转载 作者:行者123 更新时间:2023-12-04 03:59:16 34 4
gpt4 key购买 nike

我有一个 kubernetes (v1.18.6),有 1 个服务(负载均衡器),开发中有 2 个 pod:

apiVersion: v1
kind: Service
metadata:
name: app-service
spec:
selector:
app: app
ports:
- protocol: "TCP"
port: 6000
targetPort: 5000
type: LoadBalancer
访问 Intenert 的网络策略(对我来说是必需的):
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: internet-access
spec:
podSelector:
matchLabels:
networking/allow-internet-access: "true"
policyTypes:
- Ingress
- Egress
ingress:
- {}
部署配置文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-deployment
spec:
progressDeadlineSeconds: 120
selector:
matchLabels:
app: app
replicas: 2
template:
metadata:
labels:
app: app
spec:
imagePullSecrets:
- name: myregistrykey
containers:
- name: app
image: app
imagePullPolicy: Always
ports:
- containerPort: 5000
它工作正常。但是现在,我想将此图像连接到外部数据库(在另一个网络中只能通过互联网访问)。对于这个提议,我使用这个服务:
apiVersion: v1
kind: Service
metadata:
name: postgresql
spec:
clusterIP: None
ports:
- port: 25060


---
apiVersion: v1
kind: Endpoints
metadata:
name: postgresql
subsets:
- addresses:
- ip: 206............
ports:
- port: 25060
name: postgresql
这是所有的服务:
NAME                TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)          AGE
app-service LoadBalancer 10.245.134.137 206........... 6000:31726/TCP 2d4h
kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 3d7h
postgresql ClusterIP None <none> 25060/TCP 19h
但是当我尝试连接时,我收到数据库的超时错误,例如无法连接到数据库。
我在图像中有互联网连接。
我找到了解决方案,问题是数据库的入站规则。我必须添加Kubernetes的IP。
谢谢。

最佳答案

这是对我有用的:
定义一个服务,但设置 clusterIP: None ,因此不会创建端点。
然后使用 SAME NAME 作为您的服务自己创建一个端点,并设置您的数据库的 IP 和端口。
在您的示例中,您的端点中有一个类型:端点的名称是 postgresql 而不是 postgresSql。
我的例子:

---
service.yaml
kind: Service
apiVersion: v1
metadata:
name: backend-mobile-db-service
spec:
clusterIP: None
ports:
- port: 5984
---
kind: Endpoints
apiVersion: v1
metadata:
name: backend-mobile-db-service
subsets:
- addresses:
- ip: 192.168.1.50
ports:
- port: 5984
name: backend-mobile-db-service

关于postgresql - 从 Kubernetes 访问外部数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63344920/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com