![](/img/trans.png)
[英]Kubernetes networking issue - Service nodePort can't be reached externally
[英]Kubernetes weave-scope connection refused / can't be reached after exposing externally
我一直在按照本指南设置编织范围: https : //www.katacoda.com/courses/weave/installing-weave-scope-on-kubernetes
但是,我一直在自己新安装的kubernetes 集群上进行设置。 在我自己的集群上,我使用 Cilium 作为网络管理器,如果这会改变什么?
因此,我执行了以下命令:
~$ kubectl create -f 'https://cloud.weave.works/launch/k8s/weavescope.yaml'
~$ pod=$(kubectl get pod -n weave --selector=name=weave-scope-app -o jsonpath={.items..metadata.name})
~$ kubectl expose pod $pod -n weave --external-ip="10.96.0.1" --port=4040 --target-port=4040
之后似乎该服务已正确公开:
~$ kubectl get services -n weave
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
weave-scope-app ClusterIP 10.100.81.142 <none> 80/TCP 38m
weave-scope-app-848cd4d8b5-w2nmz ClusterIP 10.98.145.60 10.96.0.1 4040/TCP 33m
但是尝试在谷歌浏览器上访问它:
http://10.96.0.1:4040/ -> 无法访问此站点 10.96.0.1 响应时间过长
(K8s 主节点VM IP) http://10.0.0.100:4040/ -> 无法访问此站点 10.0.0.100 拒绝连接
最后,在通过 ssh 连接到主节点的同时在内部 IP 上使用 curl 会得到:
~$ curl 10.98.145.60:4040
<!doctype html>
<html class="no-js">
<head>
<meta charset="utf-8">
<title>Weave Scope</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script language="javascript">window.__WEAVEWORKS_CSRF_TOKEN = "$__CSRF_TOKEN_PLACEHOLDER__";</script>
</head>
<body>
<!--[if lt IE 10]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<div class="wrap">
<div id="app"></div>
</div>
<script type="text/javascript" src="app-4028151e529905aadd83.js?3f69be060dd8d9e6a317"></script><script type="text/javascript" src="vendors-4a04efbf4fb2fcb331ba.js?3f69be060dd8d9e6a317"></script></body>
</html>
因此,该服务似乎在内部运行,但我似乎无法正确公开它。 有人会有什么想法吗?
您无法从节点通过集群 IP 连接到 Pod。 您需要在另一个 pod 中(基本上在 pod 网络内)并执行 curl 才能使其工作。 现在为了让 pod 可以从 kubernetes 集群外部访问,您需要通过 NodePort 或 LoadBalancer 类型的服务来公开它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.