gpt4 book ai didi

mysql - 如何在我的 kubernetes 集群之外访问 mysql?

转载 作者:可可西里 更新时间:2023-11-01 07:38:38 25 4
gpt4 key购买 nike

我在我的 centos 机器上运行一个 kubernetes 集群。我不想为 mysql 创建一个 pod。 MySQL 安装在同一网络中的另一台机器上(机器不在 kubernates 私有(private)网络中)。

如何从运行在 kubernetes 集群中的 pod 访问 mysql 服务?

我已经尝试使用以下配置的服务和端点。但是,运气不好。

apiVersion: v1
kind: Service
metadata:
name: database
spec:
ports:
- port: 13080
targetPort: 13080
protocol: TCP
---
kind: Deployment
apiVersion: v1
metadata:
name: database
subsets:
- addresses:
- ip: XX.XX.XX.XX
ports:
- port: 13080
---
kind: ReplicationController
metadata:
name: test
spec:
replicas: 1
selector:
app: test
template:
metadata:
name: test
labels:
app: test
spec:
containers:
- name: my_pods
image: my_pods
env:
- name: DATABASE_HOST
value: database
- name: DATABASE_PORT
value: "13080"
- name: DATABASE_USER
value: "SAAS"
- name: DATABASE_PASSWORD
value: "SAAS"
- name: DATABASE_NAME
value: "SAASDB"
ports:
- containerPort: 8080
imagePullSecrets:
- name: my-secret
---
apiVersion: v1
kind: Service
metadata:
name: test-service
labels:
name: test-service
spec:
type: NodePort
ports:
- port: 11544
targetPort: 8080
nodePort: 30600
selector:
name: test

最佳答案

您不需要为集群外的事物提供服务。根据您使用的网络模型,docker 容器(即 kubernetes pod)应该能够通过 Docker 设置的网桥正常连接到 MySQL 容器。检查主机在端口 3306 上是否已连接,并且确实如此,只需输入 DNS 名称(您的 kube-dns pod 应该将任何非基于 kubernetes 的请求转发到它所安排的主机的主机 resolv.conf 上)

关于mysql - 如何在我的 kubernetes 集群之外访问 mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43078601/

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