首页 > 解决方案 > 新服务的 Dns kubernetes 外部 IP 不更新

问题描述

我想为 kubernetes 集群之外的 kubernetes 创建新的 mongo 服务。

Mongo 部署和服务在集群中运行良好,但是当我创建外部 IP 的新 mongo 服务时,然后删除所有应用程序kubectl delete和 mongo 并kubectl apply使用新的 mongo 服务再次创建。

但是 DNS kubernetes 没有更新:

kubectl exec -it python-guestbook-backend-8544c67965-pxlj5 ping python-guestbook-mongodb
PING python-guestbook-mongodb.default.svc.cluster.local (172.20.74.79) 56(84) bytes of data.

仍然有旧的IP地址。

NAME                                         READY   STATUS    RESTARTS   AGE
python-guestbook-backend-8544c67965-pxlj5    1/1     Running   0          28m
python-guestbook-frontend-55677f6fd7-sjrf5   1/1     Running   0          28m
python-guestbook-mongodb-567654b76f-zxd6t    1/1     Running   0          5h53m

mongo-service.yaml

kind: Service
metadata:
  name: python-guestbook-mongodb
#  name: python-guestbook-mongodb
  labels:
    app: python-guestbook
    tier: db
spec:
  ports:
  - name: python-guestbook
    protocol: TCP
    port: 27017
    targetPort: 27017
  selector:
    app: python-guestbook
    tier: db
  externalIPs:
  - 18.139.115.128

标签: mongodbdockerkubernetesdnsamazon-eks

解决方案


实际上,我错过endpoint了这项服务:

apiVersion: v1
metadata:
 name: python-guestbook-mongodb
spec:
 ports:
 - port: 27017
   targetPort: 27017
---
kind: Endpoints
apiVersion: v1
metadata:
 name: python-guestbook-mongodb
subsets:
 - addresses:
     - ip: x.x.x.x
   ports:
     - port: 27017

推荐阅读