微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kubernetes:只有一个服务端点有效

如何解决Kubernetes:只有一个服务端点有效

我已经将Django / React应用程序部署到K8中,并将这两种部署都作为服务公开(ClusterIP)。 每当我尝试通过其ClusterIP:8000调用API服务时,有时都会拒绝连接。因此,我检查了其端点,并且三个现有端点中只有一个返回了我期望的值。我知道在调用ClusterIP时,它会重定向到这三个端点之一。

是否可以“调试”传入的服务请求?我可以修改现有端点的数量(以便可以将其限制为唯一的工作端点)吗?是否还有其他方法可以查看服务日志以找出为什么只有一个端点在工作?

解决方法

我能够解决它:

我部署了一个三层应用程序(Django / React / DB),并为每个部署使用了相同的选择器,如下所示:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-xxx-deployment
  labels:
    app: myapp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myapp

因此,在使用"kubectl expose deployment/..."进行公开时,它创建的端点数量与在部署中发现的相等选择器数量相同。由于我有三个部署(DB / React / Djagno),因此创建了三个端点。

像这样更改部署.yaml可以修复我的错误,并且只创建了一个端点:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: myapp-web
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mapp-web
,

ClusterIP:8000似乎不能正确使用。 您可以将其替换为http:// $(serviceName)。$(namespace):8000 /以正确使用服务。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。