• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

smpio/kubernator: Alternative Kubernetes UI

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

smpio/kubernator

开源软件地址(OpenSource Url):

https://github.com/smpio/kubernator

开源编程语言(OpenSource Language):

JavaScript 96.4%

开源软件介绍(OpenSource Introduction):

Kubernator

DEPRECATED

In favor of our new vscode extension

Docker Build Status GitHub last commit GitHub commit activity the past week, 4 weeks, year GitHub closed issues GitHub closed pull requests GitHub license

Kubernator is an alternative Kubernetes UI. In contrast to high-level Kubernetes Dashboard, it provides low-level control and clean view on all objects in a cluster with the ability to create new ones, edit and resolve conflicts. As an entirely client-side app (like kubectl), it doesn't require any backend except Kubernetes API server itself, and also respects cluster's access control.

TL;DR

kubectl create ns kubernator
kubectl -n kubernator run --image=smpio/kubernator --port=80 kubernator
kubectl -n kubernator expose deploy kubernator
kubectl proxy

Then open service proxy URL in your browser.

Note that exposing it as ingress won't work, because the page should be on the same domain as API server. This is totally client-side app. kubectl proxy should be running.

Catalog: Overview

Table of Contents

Features

Catalog

Catalog offers an intuitive interface for managing Kubernetes objects (like Deployment, Service and everything else). Objects can be created, compared, modified and removed using a powerful diff editor.

Navigation Tree

Navigation tree shows objects' kinds, grouped by namespaces, and objects themselves. All API groups are fetched, which yields a list of versions and endpoints for every group. Then for all groups and versions Kubernator loads resources list, and then ― list of objects for every known resource. To show the tree, objects are grouped by their namespaces. Navigation has its own actions bar, which currently consists from one action ― reload namespaces.

Catalog: Navigation Tree

Extensive Caching

Kubernator fires a lot of API calls, that's why it actively caches their responses in browser's local storage to boost loading times in subsequent uses, e.g. API groups and Swagger schemas are reloaded only when cluster is upgraded. Resources are reloaded every time the corresponding kind or namespace is being opened. And objects are reloaded again when opened in the editor.

Multiple API Versions

Every group fetches its resources using all API versions, not only the preferred one, and then merges given resources into one list considering versions priority. It means we can access objects through different API versions. Moreover, when a new object is created, an API endpoint would be choosed automatically based on the value of apiVersion field in its description.

Catalog: Multiple API Versions

Tabs

Tab names reflect current object's location in the navigation tree (object.namespace → object.kind → object). New objects have green tab color, modified and not submitted objects ― red tab color. Local modifications are saved even if the tab was closed and reopened again.

Catalog: Tabs

Copying Objects

When object is being copied, all unnecessary and read-only fields are automatically stripped as described in the corresponding Swagger scheme.

Catalog: Copying Objects

Actions Bar

Available actions: open a new tab copying current object; close all tabs; reload, save or delete current object; switch currently active tab to the left/right neighbour.

Catalog: Actions Bar

Keyboard Shortcuts

Most frequent actions have associated keyboard shortcuts.

Catalog: Keyboard Shortcuts

Diff Editor

Diff editor is based on the powerful Monaco Editor. Cursor position, scroll position and not applied updates are saved automatically for every open tab.

Catalog: Diff Editor

RBAC Viewer

RBAC viewer shows Roles, ClusterRoles, RoleBindings, ClusterRoleBindings and relationships between them in a visually intuitive way.

Controls

Simple controls pane allows to show/hide a legend, isolated nodes and extended names.

RBAC: Overview

Graph

Graph area (built with the awesome d3 library) shows an interactive force graph of linked nodes. The graph can be paned, dragged and zoomed. Nodes are draggable too, and links also show some additional information when hovered.

RBAC: Graph

Notifications

Every error and warning shows itself in a floating message on the right top side of the window. Errors are red and don't vanish automatically as warnings do. An example of concurrent edits of the same object:

Notifications: Overview

Getting started

There are many ways to run Kubernator:

Install on cluster (recommended)

After installation you will have access to Kubernator just by running kubectl proxy. You won't have to run anything else locally. To install, run the following commands:

kubectl create ns kubernator
kubectl -n kubernator run --image=smpio/kubernator --port=80 kubernator
kubectl -n kubernator expose deploy kubernator
kubectl proxy

Then open service proxy URL in your browser.

Note that exposing it as ingress won't work, because the page should be on the same domain as API server. kubectl proxy should be running.

Run in docker locally

  1. Exec docker run -d --name=kubernator -p 3000:80 smpio/kubernator

  2. Run kubectl proxy.

  3. Open http://localhost:3000/ in your browser.

Build and run locally

  1. Install and set up kubectl

  2. Clone and build Kubernator:

    yarn install && yarn build
  3. Run Kubernetes API server:

    kubectl proxy
  4. Update proxy value in package.json according to the previous command's output.

  5. Run Kubernator:

    yarn start

Desktop app

Coming soon.

Support

Please open an issue for support.

Please contribute using Github Flow. Create a branch, add commits, and open a pull request.

MIT License




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap