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

onl*_*ine 5 ip internals cluster-computing endpoint kubernetes

我创建了一个无头服务:

apiVersion: v1
kind: Service
metadata:
  name: myapp-service-headless
spec:
  ports:
    - port: 80
  selector:
    app: myapp
  clusterIP: None
Run Code Online (Sandbox Code Playgroud)

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

myapp-service-headless:80 TCP
myapp-service-headless:0 TCP
Run Code Online (Sandbox Code Playgroud)

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

http://myapp-service-headless
Run Code Online (Sandbox Code Playgroud)

但是从外部如何访问其IP来连接API呢?

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

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

服务

在此输入图像描述

服务详情

在此输入图像描述

sfg*_*ups 6

有两种方法可以将服务公开到外部,您可以使用入口控制器连接到服务器。

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

这是更多信息。

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