如何从外部连接到 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
我创建了一个无头服务:
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