我有一个依赖于Kafka服务的应用程序。
对于Kafka connect,我在运行Kafka connect的kubernetes pod的Linux VM上尝试<code>curl localhost:8083</code>时遇到错误。
curl-vlocalhost:8083
给出:
Kubectl get po -o wide
for my kubernetes namespace 给出:
当我使用< code > sudo lsof-I-P-n | grep LISTEN 检查打开的端口时,我没有看到列出8083。kafka connect pod正在运行,并且该pod的日志中没有任何可疑内容。
有一个kubernetes清单,我认为可能是用来设置Kafka连接服务的,这些是相关的部分。我真的很感谢关于如何找出我为什么不能卷曲localhost:8083的任何建议
apiVersion: apps/v1
kind: Deployment
metadata:
name: kafka-connect
namespace: my-namespace
spec:
...
template:
metadata:
labels:
app: connect
spec:
containers:
- name: kafka-connect
image: confluentinc/cp-kafka-connect:3.0.1
ports:
- containerPort: 8083
env:
- name: CONNECT_REST_PORT
value: "8083"
- name: CONNECT_REST_ADVERTISED_HOST_NAME
value: "kafka-connect"
volumes:
- name: connect-plugins
persistentVolumeClaim:
claimName: pvc-connect-plugin
- name: connect-helpers
secret:
secretName: my-kafka-connect-config
---
apiVersion: v1
kind: Service
metadata:
name: kafka-connect
namespace: my-namespace
labels:
app: connect
spec:
ports:
- port: 8083
selector:
app: connect
如果不稍加修改,就无法从群集外部连接到群集内运行的服务。
您有三种可能的解决方案:
>
使用类型为NodePort
或LoadBalancer
的服务,使服务可以在集群外部访问。
请参阅服务和kubectl公开文档
请注意,根据您的环境,这可能会将服务暴露在互联网上。
使用代理动词访问:(见此处)
这只适用于HTTP/HTTPS。如果您的服务不够安全,无法暴露在互联网上,请使用此选项。
从集群内运行的 Pod 进行访问。
正如您在评论中注意到的,您可以在pod内部curl
。您也可以在同一集群中运行的任何其他pod上执行此操作。吊舱可以在没有任何额外配置的情况下相互通信。
为什么在 ssh 到 VM 时无法卷曲 8083?
如果未使用上述方法(第 1 点或第 2 点)公开,则无法从集群外部访问 Pod/服务。
为什么没有在具有pod的主机VM上公开端口?
它不会在 VM 上公开,而是在群集内公开。
我强烈建议通过集群网络留档了解更多信息。
问题内容: 当我尝试使用连接到Elasticsearch时, 它工作正常。 但是当我运行它时抛出一个错误说 无法连接到本地主机端口9200:连接被拒绝 如何解决这个错误? 问题答案: 默认情况下,它应该绑定到所有本地地址。因此,假设你没有使用防火墙在网络层的问题,唯一的ES设置我能想到是检查并确保其未设置或设置为或或正确的IP地址为您的网络。 更新:根据ES 2.3中的注释,您应该进行设置。
大家好,我是Docker的新手,我想通过在官方网站上学习教程来熟悉Docker。现在我被困在教程的第2部分(你可以在这里查看链接)= 我有示例应用程序代码、Dockerfile和要求。txt与官方教程完全相同 我的Dockerfile是这样的 所有3个文件的文件内容/代码也与教程完全相同。我能够用这个命令构建镜像注册表 一切看起来都很好。现在我有了样本项目图像注册表。 然后,我根据官方教程使用此命
当我尝试使用它工作正常。 但是当我运行它抛出一个错误,表示 连接到localhost端口9200失败:连接拒绝 如何解决此错误?
问题内容: 需要帮忙。一直在尝试解决此问题,但找不到答案,或者我没有遇到任何问题。 我有一个带有NGINX的docker容器,充当反向代理。适用于Windows的Docker版本1.12.5(9503)。 在上面的代码中,localhost:8090是在我的主机上的IIS上托管的网站的URL。当我访问NGINX上的URL时,出现以下错误 试图访问主机上的URL (简单HTML站点,只有简单html
这让我很困惑。 我有一个运行nginx-php-fpm的本地开发设置,我在其中使用.localhost作为每个项目的工作域。昨天Chrome停止了与本地域的合作。相反,它只是返回被拒绝的连接。DevTools将错误显示为net::ERR\u CONNECTION\u RESET。 访问http://127.0.0.1工作,但当然不适用于本地项目。 Safari继续与.localhost一起工作。
我已经设置了Flurl在我的Xamarin PCL中运行,并且我正在调用我在MVC应用程序中运行的Web Api。 似乎 Flurl 可以毫无问题地击中我部署的 API,但由于某种原因我无法在本地测试更改。 我现在做的是: 我也尝试过一个简单的GetAsync(),但再次失败。 任何帮助都将不胜感激。 编辑: 为了了解更多信息,该项目是Ionic移动应用程序的重新开发。我已经在本地运行了ionic