gpt4 book ai didi

mysql - Kubernetes 服务 dns 解析返回错误的 IP

转载 作者:行者123 更新时间:2023-11-29 01:36:29 25 4
gpt4 key购买 nike

我有一个简单的 MYSQL pod 位于 MYSQL 服务后面。

此外,我还有另一个正在运行 python 进程的 pod,该 pod 正在尝试连接到 MYSQL pod。

如果我尝试从 python pod 手动连接到 MYSQL pod 的 IP 地址,一切正常。但是,如果我尝试连接到 MYSQL 服务,则会收到无法连接到 MYSQL 的错误。

grant@grant-Latitude-E7450:~/k8s/objects$ kubectl describe pod mysqlpod 
Name: mysqlpod
Namespace: default
Node: minikube/192.168.99.100
Start Time: Fri, 20 Jan 2017 11:10:50 -0600
Labels: <none>
Status: Running
IP: 172.17.0.4
Controllers: <none>

grant@grant-Latitude-E7450:~/k8s/objects$ kubectl describe service mysqlservice
Name: mysqlservice
Namespace: default
Labels: <none>
Selector: db=mysqllike
Type: ClusterIP
IP: None
Port: <unset> 3306/TCP
Endpoints: 172.17.0.5:3306
Session Affinity: None
No events.

grant@grant-Latitude-E7450:~/k8s/objects$ kubectl describe pod basic-python-model
Name: basic-python-model
Namespace: default
Node: minikube/192.168.99.100
Start Time: Fri, 20 Jan 2017 12:01:50 -0600
Labels: db=mysqllike
Status: Running
IP: 172.17.0.5
Controllers: <none>

如果我附加到我的 python 容器并对 mysql 服务执行 nslookup,那么我实际上得到了错误 IP。正如您在上面看到的,mysqlpod 的 IP 是 172.17.0.4,而 nslookup mysqlservice 解析为 172.17.0.5。

grant@grant-Latitude-E7450:~/k8s/objects$ k8s exec -it basic-python-model bash
[root@basic-python-model /]# nslookup mysqlservice
Server: 10.0.0.10
Address: 10.0.0.10#53

Name: mysqlservice.default.svc.cluster.local
Address: 172.17.0.5

我是 kubernetes 的新手,但几个小时以来我一直在思考这个问题,但我似乎无法理解我做错了什么。

最佳答案

所以这是完全正确的行为,但我只是错误地配置了我的 pod。

对于 future 被卡住的人:

在 kubernetes 服务中定义的选择器必须与您希望服务的 pod 的标签相匹配。 IE)在我的 MySqlService.yaml 文件中,我有“mysqlpod”的名称选择器:

apiVersion: v1
kind: Service
metadata:
name: mysqlservice
spec:
clusterIP: None
ports:
- port: 3306
targetPort: 3306
selector:
name: mysqlpod

因此,在我的 MySqlPod.yaml 文件中,我需要一个完全匹配的标签。

kind: Pod
apiVersion: v1
metadata:
name: mysqlpod
labels:
name: mysqlpod
spec:
...

关于mysql - Kubernetes 服务 dns 解析返回错误的 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41769857/

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