【发布时间】:2023-01-12 04:20:00
【问题描述】:
按照 kubernetes.io 上的示例,我正在尝试从集群内连接到外部 IP(我需要一些端口代理,所以不需要 ExternalName 服务)。但是它不起作用。这是我期待的回应
ubuntu:/opt$ curl http://216.58.208.110:80
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
如果我使用以下配置
apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
name: my-service-1
labels:
kubernetes.io/service-name: my-service
addressType: IPv4
ports:
- name: http
appProtocol: http
protocol: TCP
port: 80
endpoints:
- addresses:
- "216.58.208.110"
---
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
ports:
- protocol: TCP
port: 8888
targetPort: 80
我希望以下命令得到相同的结果:
minikube kubectl -- run -it --rm --restart=Never curl --image=curlimages/curl curl -- my-service:8888
但我什么也没得到。 如果我用
minikube kubectl -- run -it --rm --restart=Never debian --image=debian:latest
然后
apt update && apt install dnsutils curl -y && nslookup my-service && curl my-service:8888
给
Server: 10.96.0.10
Address: 10.96.0.10#53
Name: my-service.default.svc.cluster.local
Address: 10.111.116.160
curl: (28) Failed to connect to my-service port 8888: Connection timed out
我错过了什么吗?或者它不应该以这种方式工作?
【问题讨论】:
标签: kubernetes minikube kubernetes-service