如何从外部连接到 Kubernetes 中的无头服务?

How to connect to an headless service in Kubernetes from outside?

我创建了一个无头服务:

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

从 Kubernetes 仪表板我可以看到它 Internal endpoints:

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 仪表板的服务状态

服务

服务详情

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

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

这里是更多信息。

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