Weave Scope – это инструмент для мониторинга кластеров Docker и Kubernetes.
Он позволяет вам контролировать свой локальный хост с Docker, а также кластер Kubernetes в реальном времени.
Вы можете визуализировать использование ваших контейнеров или кластера на веб-панели управления.
Weave Scope также можно использовать для управления контейнерами Docker, включая такие операции, как запуск и остановка контейнеров.
Вы также можете получить доступ к оболочке контейнера из Weave Scope.
В этом руководстве мы рассмотрим, как установить Weave Scope на локальном хосте с Docker и в кластере Kubernetes.
Установим Weave Scope на хосте с Docker
Выполните следующие команды, чтобы установить Weave Scope:
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
Запустим его:
$ scope launch
Вывод:
# scope launch
7807556aed11a523d5ec2dc651a438aa6bae7df1a2d76dd440c82530b475c49d
Scope probe started
Weave Scope is listening at the following URL(s):
* http://172.16.34.12:4040/
Теперь вы можете получить доступ к Weave по адресу http://server-IP:4040
Установим Weave Scope в кластере Kubernetes
Мы развернем Weave Scope на нашем кластере K8s и продемонстрируем, как отслеживать и управлять своим кластером с помощью этого инструмента.
Сервис Weave Scope будет доступен через NodePort в этом руководстве.
Однако НЕ рекомендуется предоставлять службу Weave Scope в Интернете, поскольку это сделает ваш кластер уязвимым для всех, кто может получить к нему доступ.
Это означает, что вы должны предоставлять службу только в том случае, если вы работаете в локальной сети.
Разверните Weave Scope, используя скрипт, показанный ниже:
kubectl apply -f 'https://cloud.weave.works/launch/k8s/weavescope.yaml?k8s-service-type=NodePort'
Пример вывода:
namespace/weave configured
serviceaccount/weave-scope created
clusterrole.rbac.authorization.k8s.io/weave-scope created
clusterrolebinding.rbac.authorization.k8s.io/weave-scope created
deployment.apps/weave-scope-app created
service/weave-scope-app created
deployment.apps/weave-scope-cluster-agent created
daemonset.apps/weave-scope-agent created
Система развернет 2 пода, Weave-scope-app и Weave-scope-agent.
Агент Weave-scope работает на каждой ноде.
Развертывание также ограничено пространством имен weave.
Чтобы узнать, успешно ли началось развертывание проверим статус подов в нашем нс:
$ kubectl get pods -n weave
NAME READY STATUS RESTARTS AGE
weave-scope-agent-btpg7 1/1 Running 0 3h20m
weave-scope-agent-qmvtx 1/1 Running 0 3h20m
weave-scope-app-545ddf96b4-bvmbj 1/1 Running 0 3h20m
weave-scope-cluster-agent-74c596c6b7-wnj9r 1/1 Running 0 3h20m
$ kubectl get service -n weave
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
weave-scope-app NodePort 10.111.239.55 <none> 80:32766/TCP 3h25m
Заключение
Weave Scope прост в установке и использовании.
В нем есть интересные функции, которые можно легко изучить.