我正在按照此 kubernetes 教程创建服务https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#creating-a-service
我在本地环境中使用 minikube。一切正常,但我无法卷曲我的集群 IP。我有一个操作超时:
curl: (7) Failed to connect to 10.105.7.117 port 80: Operation timed out
Run Code Online (Sandbox Code Playgroud)
我的kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5d17h
my-nginx ClusterIP 10.105.7.117 <none> 80/TCP 42h
Run Code Online (Sandbox Code Playgroud)
看来我遇到了同样的问题,这些人没有找到他的问题的任何答案:https://github.com/kubernetes/kubernetes/issues/86471
我尝试在 gcloud 控制台上执行相同的操作,但得到相同的结果。我只能curl我的外部IP服务。
如果我理解得很好,当我启动 minikube 时,我应该已经在我的 minikube 本地集群中了,所以对我来说,我应该能够像教程中提到的那样卷曲服务。
我做错了什么?
尽管每个 Pod 都有唯一的 IP 地址,但如果没有 Service,这些 IP 不会暴露在集群外部。服务允许您的应用程序接收流量。type 通过在 ServiceSpec 中指定 a,可以以不同的方式公开服务 :
<NodeIP>:<NodePort>。ClusterIP 的超集。kind: Service
apiVersion: v1
metadata:
name: example
namespace: example
spec:
type: NodePort
selector:
app: example
ports:
- protocol: TCP
port: 8080
targetPort: 8080
name: ui
Run Code Online (Sandbox Code Playgroud)
然后执行命令:
$ kubectl get svc --namespace=example
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
jenkins-ui NodePort yy.zz.xx.xx <none> 8080:30960/TCP 1d
Run Code Online (Sandbox Code Playgroud)
Get minikube ip 获取nodeIP
$ minikube ip
aa.bb.cc.dd
Run Code Online (Sandbox Code Playgroud)
然后你可以卷曲它:
curl http://aa.bb.cc.dd:8080
Run Code Online (Sandbox Code Playgroud)
kind: Service
apiVersion: v1
metadata:
name: example
spec:
selector:
app: example
ports:
- protocol: "TCP"
port: 8080
targetPort: 8080
type: LoadBalancer
externalIPs:
- <your minikube ip>
Run Code Online (Sandbox Code Playgroud)
然后你可以卷曲它:
$ curl http://yourminikubeip:8080/
Run Code Online (Sandbox Code Playgroud)
externalName - 通过返回带有名称的 CNAME 记录, 使用任意名称(在规范中指定)公开服务 不使用代理。此类型需要 v1.7 或更高版本的 kube-dns. 服务本身仅在集群内公开,但是 FQDNexternal-name不由集群处理或控制。这可能是一个可公开访问的 URL,因此您可以从任何地方进行curl。您必须以限制谁可以访问该域的方式配置您的域。服务类型 externalName 位于集群外部,实际上只允许从集群内部到外部路径的 CNAME 重定向。
查看更多:espose-services-kubernetes。
| 归档时间: |
|
| 查看次数: |
16881 次 |
| 最近记录: |