Я следовал этому руководству по настройке weave-scope: 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
Однако при попытке доступа к нему в Google chrome:
http://10.96.0.1: 4040 / -> Этот сайт не может достигнуто 10.96.0.1 слишком много времени для ответа
(IP-адрес виртуального узла главного узла K8s) http://10.0.0.100: 4040 / -> Невозможно связаться с этим сайтом 10.0.0.100 отказано в подключении
Наконец, использование curl на внутреннем IP в то время, как s sh ', введенный в главный узел, дает следующее:
~$ 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>
Так что, похоже, служба работает внутренне, но я просто не могу выставить это правильно. У кого-нибудь есть идеи?