Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
kubebox — ⎈❏ Терминал и веб-консоль для Kubernetes | Kitploit
Инструменты/GitHubGitHub/astefanutti/kubebox
Безопасность контейнеровБезопасность облачных средУтилиты и фреймворки
GitHubastefanutti/kubebox

kubebox

⎈❏ Терминал и веб-консоль для Kubernetes

РепозиторийСайт
2.2k1412 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

= Kubebox [small]#^⎈❏^# Antonin Stefanutti https://github.com/astefanutti[@astefanutti] // Meta :description: Терминал и веб-консоль для Kubernetes // Settings :idprefix: :idseparator: - :experimental: // Aliases ifdef::env-github[] :note-caption: ℹ️ :icon-check: ✔️ :icon-edit: ✏️ endif::[] ifndef::env-github[] :icons: font :icon-check: icon:check[] :icon-edit: icon:pencil[fw] endif::[] // URIs :uri-kubebox-download: https://github.com/astefanutti/kubebox/releases/download/v0.10.0 :uri-kubebox-twitter: https://twitter.com/kubebox :uri-kube-apiserver: https://kubernetes.io/docs/admin/kube-apiserver/ :uri-ingress-controllers: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-controllers :uri-service-account: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ :uri-xterm-js: https://github.com/xtermjs/xterm.js :uri-cadvisor: https://github.com/google/cadvisor

{description}

// image::./docs/kubebox.png[kubebox, align="center"] ++++

++++

=== Возможности

  • Конфигурация из файлов kubeconfig (переменная окружения KUBECONFIG или $HOME/.kube)
  • Переключение контекстов в интерактивном режиме
  • <<authentication,Поддержка аутентификации>> (bearer token, basic auth, private key / cert, OAuth, OpenID Connect, Amazon EKS, Google Kubernetes Engine, Digital Ocean)
  • Выбор пространства имён и просмотр списка подов
  • Прокрутка / просмотр логов контейнера
  • Использование ресурсов контейнера (память, CPU, сеть, графики файловой системы) footnote:[Требует развёртывания {uri-cadvisor}[cAdvisor] в качестве DaemonSet. Смотрите раздел <> для подробностей.]
  • Удалённый терминал exec для контейнера
  • События кластера, пространства имён, подов
  • Редактор конфигурации объектов и операции CRUD
  • Просмотр / мониторинг кластера и узлов

Смотрите раздел <> для примеров и следите за image:https://img.shields.io/badge/%40kubebox-00ACEE.svg?&logo=twitter&colorA=555&logoColor=fff[link={uri-kubebox-twitter}] для обновлений.

== Запуск

Для использования Kubebox доступны следующие альтернативы, в зависимости от ваших предпочтений и ограничений:

=== Исполняемый файл

Загрузите автономный исполняемый файл Kubebox для вашей ОС:

[source,shell,subs=attributes+]

Linux (x86_64)

$ curl -Lo kubebox {uri-kubebox-download}/kubebox-linux && chmod +x kubebox

Linux (ARMv7)

$ curl -Lo kubebox {uri-kubebox-download}/kubebox-linux-arm && chmod +x kubebox

OSX

$ curl -Lo kubebox {uri-kubebox-download}/kubebox-macos && chmod +x kubebox

Windows

$ curl -Lo kubebox.exe {uri-kubebox-download}/kubebox-windows.exe

Затем выполните:

root@kitploit:~
$ ./kubebox

=== Сервер

Kubebox может быть развёрнут в виде сервиса, работающего в вашем кластере Kubernetes. Эмуляция терминала обеспечивается {uri-xterm-js}[Xterm.js], а связь с API мастер-узла Kubernetes проксируется сервером.

Чтобы развернуть сервер в вашем кластере Kubernetes, выполните:

root@kitploit:~
$ kubectl apply -f https://raw.github.com/astefanutti/kubebox/master/kubernetes.yaml

Чтобы остановить сервер и очистить ресурсы, выполните:

root@kitploit:~
$ kubectl delete namespace kubebox

Чтобы ресурс Ingress работал, в кластере должен быть запущен контроллер Ingress. Смотрите {uri-ingress-controllers}[Ingress controllers] для дополнительной информации.

Альтернативно, чтобы развернуть сервер в вашем кластере OpenShift, выполните:

root@kitploit:~
$ oc new-app -f https://raw.github.com/astefanutti/kubebox/master/openshift.yaml

=== Kubectl

Вы можете запустить Kubebox как внутрикластерный клиент с помощью kubectl, например:

root@kitploit:~
$ kubectl run kubebox -it --rm --env="TERM=xterm" --image=astefanutti/kubebox --restart=Never

Если включён RBAC, вам нужно использовать опцию --serviceaccount и указать сервисный аккаунт с достаточными правами.

=== Docker

Вы можете запустить Kubebox с помощью Docker, например:

root@kitploit:~
$ docker run -it --rm astefanutti/kubebox

Возможно, вы захотите смонтировать ваш домашний каталог, чтобы Kubebox мог использовать файл ~/.kube/config, например:

root@kitploit:~
$ docker run -it --rm -v ~/.kube/:/home/node/.kube/:ro astefanutti/kubebox

=== Онлайн

Kubebox доступен онлайн по адресу https://astefanutti.github.com/kubebox. Обратите внимание, что требуется, чтобы этот адрес совпадал с разрешёнными источниками для CORS со стороны API-сервера. Это можно сделать с помощью {uri-kube-apiserver}[CLI API-сервера Kubernetes], например:

root@kitploit:~
$ kube-apiserver --cors-allowed-origins .*

== Аутентификация

Мы стараемся поддерживать различные стратегии аутентификации, поддерживаемые kubectl, чтобы обеспечить бесшовную интеграцию с вашей локальной средой. Вот различные стратегии аутентификации, которые мы поддерживаем, в зависимости от того, как вы используете Kubebox:

[cols="<,^,^,^",options="header"] |=== | |Исполняемый файл|Docker|Онлайн

|OpenID Connect |{icon-check} |{icon-check} |{icon-check}footnote:[Файлы пользовательских сертификатов IDP не поддерживаются в веб-версиях.]

|Amazon EKS| {icon-check} | |

|Digital Ocean |{icon-check} | |

|Google Kubernetes Engine| {icon-check} | | |===

Если используемый вами режим не поддерживается, вы можете обновить токен/сертификаты аутентификации вручную и соответствующим образом изменить файл kubeconfig.

== cAdvisor

Kubebox полагается на {uri-cadvisor}[cAdvisor] для получения метрик использования ресурсов. До версии 0.8.0 Kubebox использовал конечные точки cAdvisor, встроенные в Kubelet. Однако эти конечные точки устаревают и в конечном итоге будут удалены, как обсуждается в https://github.com/kubernetes/kubernetes/issues/68522[kubernetes#68522].

Начиная с версии 0.8.0, Kubebox ожидает, что cAdvisor будет развёрнут как https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/[DaemonSet]. Это можно сделать с помощью:

root@kitploit:~
$ kubectl apply -f https://raw.githubusercontent.com/astefanutti/kubebox/master/cadvisor.yaml

Рекомендуется использовать предоставленный файл cadvisor.yaml, который протестирован на совместную работу с Kubebox. Однако пример DaemonSet из проекта {uri-cadvisor}[cAdvisor] также должен работать нормально. Обратите внимание, что контейнеры cAdvisor должны работать с привилегированным контекстом безопасности, чтобы они могли получить доступ к среде выполнения контейнеров на каждом узле.

Вы можете изменить параметры --storage_duration и --housekeeping_interval по умолчанию, добавленные в аргументы контейнера cAdvisor, объявленные в файле cadvisor.yaml, чтобы настроить длительность скользящего окна хранения (по умолчанию 5m0s) и период выборки (по умолчанию 10s) соответственно. Возможно, вам также потребуется указать путь к сокету среды выполнения контейнеров вашего кластера, если он не соответствует обычному соглашению.

== Горячие клавиши

[cols="1v,2v"] |=== |Keybinding |Описание

2+^.e|Общие

|kbd:[l], kbd:[Ctrl+l] |Вход

|kbd:[n] |Сменить текущее пространство имён

|[kbd:[Shift]+]kbd:[←], kbd:[→] + [kbd:[Alt]+]kbd:[1], ..., kbd:[9] |Навигация по экранам (используйте kbd:[Shift] или kbd:[Alt] внутри терминала exec)

|kbd:[Tab], kbd:[Shift+Tab] |Изменить фокус в активном экране

|kbd:[↑], kbd:[↓] |Навигация по списку / форме / логу

|kbd:[PgUp], kbd:[PgDn] |Перемещение на страницу вверх / вниз

|kbd:[Enter] |Выбрать элемент / отправить форму

|kbd:[Esc] |Закрыть модальное окно / отменить форму

|kbd:[Ctrl+z] |Закрыть текущий экран

|kbd:[q], kbd:[Ctrl+q] |Выход footnote:[Недоступно в веб-версиях.]

2+^.e|Вход

|kbd:[←], kbd:[→] |Навигация по конфигурациям Kube

2+^.e|Поды

|kbd:[Enter] |Выбрать под / переключить контейнеры

|kbd:[r] |Удалённая оболочка в контейнере

|kbd:[m] |Использование памяти

|kbd:[c] |Использование ЦП

|kbd:[t] |Использование сети

|kbd:[f] |Использование файловой системы

|kbd:[e] |События пода

|kbd:[Shift+e] |События пространства имён

|kbd:[Ctrl+e] |События кластера

|===

== ЧАВО (FAQ)

  • Метрики использования ресурсов недоступны!

** Начиная с версии 0.8.0, Kubebox ожидает, что {uri-cadvisor}[cAdvisor] будет развёрнут как DaemonSet. Смотрите раздел <> для подробностей;

** Метрики извлекаются из REST API пода cAdvisor, работающего на том же узле, что и контейнер, для которого запрашиваются метрики. Этот REST API доступен через прокси API-сервера, что требует соответствующих разрешений RBAC, например: + [source,shell]

Permission to list the cAdvisor pods (selected using the spec.nodeName field selector)

$ kubectl auth can-i list pods -n cadvisor yes

Permission to proxy the selected cAdvisor pod, to call its REST API

$ kubectl auth can-i get pod --subresource proxy -n cadvisor yes

== Разработка

root@kitploit:~
$ git clone https://github.com/astefanutti/kubebox.git
$ cd kubebox
$ npm install
$ node index.js

== Скриншоты

События кластера: ++++

++++

Оболочка в контейнере: ++++

++++

Поддержка темы терминала: ++++

++++

Веб-версия: ++++

++++
Скачать инструмент