【问题标题】:How to connect to a database running from a docker container from a k8s cluster如何连接到从 k8s 集群的 docker 容器运行的数据库
【发布时间】:2022-10-14 14:15:35
【问题描述】:

我正在尝试配置在 K8 集群上运行的 Api 以与托管在 Docker 上的数据库通信。而且我在尝试在本地连接外部服务时找不到太多东西,所有示例都将引用none local IP,因为当我尝试使用我找到的示例复制它时,我遇到了问题

The Endpoints "postgres" is invalid: subset[0].addresses[0].ip: Invalid value: "127.0.0.1": may not be in the loopback range (127.0.0.1/8, ::1/128

apiVersion: v1
kind: Service
metadata:
  name: postgres
spec:
  ports:
    - port: 5432
      targetPort: 5432
---
apiVersion: v1
kind: Endpoints
metadata:
  name: postgres
subsets:
  - addresses:
    - ip: 127.0.0.1
    ports:
      - port: 5432

如果我不能使用本地托管的数据库是有原因的,如果您能解释一下,那就太好了!先感谢您

【问题讨论】:

    标签: docker kubernetes


    【解决方案1】:

    因此,添加另一个名称为 database-service.yml 的服务,如下所示

    kind: Service
    apiVersion: v1
    metadata:
      name: postgressql
    spec:
      type: ExternalName
      externalName: <database host Name>
    

    还要在 ConfigMap 中指定数据库名称、密码、用户、端口和数据库主机,如下所示

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: backend-env
      namespace: mynamespace
    data:
    
      ENVIRONMENT: local
    
      DB_NAME: <dbname>
      DB_PASSWORD: <password>
      DB_USER: <user>
      DB_PORT: "port number"
      DB_HOST: <host>
    

    【讨论】:

      猜你喜欢
      • 2021-05-10
      • 1970-01-01
      • 2022-07-09
      • 2019-07-26
      • 1970-01-01
      • 2020-07-16
      • 2019-07-01
      • 2020-08-18
      • 1970-01-01
      相关资源
      最近更新 更多