kubernetes - 如何从外部连接到 Kubernetes 中的 headless 服务?

标签 kubernetes ip cluster-computing endpoint internals

我创建了一个 headless 服务:

apiVersion: v1
kind: Service
metadata:
  name: myapp-service-headless
spec:
  ports:
    - port: 80
  selector:
    app: myapp
  clusterIP: None

从 Kubernetes 仪表板我可以看到它的内部端点:

myapp-service-headless:80 TCP
myapp-service-headless:0 TCP

在此应用程序中,我还将内部端点设置为:

http://myapp-service-headless

但是从外部如何访问它的 IP 来连接 API?

比如我的Kubernetes的IP是192.168.99.100,那么连接到192.168.99.100可以吗?

现在来自 Kubernetes 仪表板的服务状态

服务

enter image description here

服务详情

enter image description here

最佳答案

对外暴露服务有两种选择,可以使用ingress controller连接服务器。

简单的方法是将您的服务类型更改为NodePort,然后您应该可以使用NodeIP和服务外部端口号访问服务器。

这里是更多信息。

https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport

关于kubernetes - 如何从外部连接到 Kubernetes 中的 headless 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47332421/

相关文章:

kubernetes - 如何在 Prometheus 中推送 Kubernetes 指标而不是拉取?

browser - 在搜索栏中输入 IP 地址时,Hackthebox 机器网页无法加载

mongodb - 调整 PVC 大小的问题 : Only dynamically provisioned pvc can be resized and the storageclass that provisions the pvc must support resize

algorithm - WSO2 ELB中的LB算法是什么以及如何配置

kubernetes - 如何利用部署在 Kubernetes 上的服务的延迟来扩展部署?

Jenkins helm chart 不更新插件

c++ - 在 C++ 上获取本地计算机的 IP 地址

heroku - 如何使用 Google 云固定 IP 为 Heroku 应用程序提供服务

geolocation - 我如何处理 Geo Ip 数据并将其放在 Redis 上

authentication - Kubernetes 中的服务帐户 token 管理