Giter Site home page Giter Site logo

guiqui / k8studio Goto Github PK

View Code? Open in Web Editor NEW
792.0 11.0 25.0 14.38 MB

K8Studio: A Kubernetes IDE

Home Page: https://k8studio.io

License: Other

cloud crd-controller devops eks eks-cluster gke gke-cluster helm kubectl kubernetes kubernetes-cluster kubernetes-deployment kubernetes-operator

k8studio's Introduction

K8Studio

Watch the video

About

K8 Studio is a cross-platform client IDE to manage Kubernetes Clusters. You can deploy easily to EKS, GKE, AKS, IBM Cloud, or your own bare metal. Connect to your cluster and have a graphical representation of your nodes, pods, services, etc. Access logs, element descriptions, and bash terminal with a single click.

For more info visit our website k8studio To watch a demo take a look at our youtube channel that shows how to use the component.

Join K8Studio Community

You can join our Slack Channel for more information or to contact our team

Features

MULTICLUSTER VIEW

With the multicluster view, you can have quick access to your clusters. This will give you a Multi Cluster summary view, providing you with monitoring information, the applications that have been deployed in the cluster, how many pods are running, and how many are pending or have an error. The first time that you open K8 Studio, the cluster configuration will be read from your local ./kube/config file. Additional Clusters can be added using the interface. Project screencast

DEPLOYMENT VIEW

With the interactive deployment cluster view you can quickly visualize the different workloads, their status and configuration, their network topology, their pods, pods status, the pod version running, rollouts and rollbacks. You can change any configuration by simply using the interface to add, delete, edit and push the changes to the cluster, all without needing to remember the right command. screencast

GRID VIEW

Grid View isn't just about the big picture; it's your gateway to an ocean of in-depth information, helping you understand, troubleshoot, and optimize your Kubernetes infrastructure like never before.
screencast

RBAC MANAGER

Effortlessly handle users, groups, service accounts, and roles using the intuitive RBAC interface in K8Studio. Simplify access control, configure permissions, and efficiently manage role assignments within your Kubernetes environment. With the RBAC Manager, enhancing the security and control of your clusters has never been easier. screencast

HELM MANAGER

Simplify chart and Helm release management with the K8Studio Helm Manager. Streamline the installation, monitoring, and oversight of your Helm charts, making your Kubernetes operations more efficient. screencast

NODE VIEW

The node cluster view will show you all the nodes that are running, what type of node, the pod and the containers that are running in each pod. For each one of the pods, it will show the status, the services and ingresses. With this information it will draw the network topology showing port, addresses and dependencies, PVCS, PV and Storage Classes will also be displayed showing all the relevant information. Once the view is opened it will be connected to the events of the Kubernetes API which means that the data is live and updated.

FILTER AND SEARCH

You can easily search any element in the workspace using the search bar. It will find anything that matches the query by label, name, image name, etc. We also provide a filter interface where you can choose the visible namespaces, labels or object types.

TOOLBOX

The Toolbox contains all of the object types available in Kubernetes classified in workloads, network, storage configuration and security. You can select an element in the Toolbox and drag and drop to the Interactive View or the Project Tree. This will create an object and its corresponding file with the right minimal content.

QUICK EDITOR

Once an element is selected, the Editor View provides many ways to edit the content of the elements. Our favorite one is the Quick Editor. The Quick Editor gives a structured representation of the YML of the file. Because it is aware of the JSON Schema of the object, it gives you the right suggestion when adding elements, it can validate the file and can provide you with the description of the properties so you can know what they are used for.

The Quick Editor provides access to the many Helpers:

Docker: To quickly find the image that you are looking for. Label: To find the available labels in your cluster or configuration context. Volume: To find the PVS, PVCS or storage Classes in your cluster or configuration context. RBAC: To look for services accounts and understand roles and rules. Secret: To find the secrets in your cluster or configuration context. Configmap: To find the Configmaps in your cluster or configuration context. screencast

YML EDITOR

We have also included a YML Editor for all of you that are familiar with YML and the object structure of Kubernetes. The YML Editor includes syntax highlighter and keyword auto-completion. Once a YML file has been edited, the content gets validated, then the interface reflects the changes and K8s Studio updates the files.

CONFIGURATION

With the configmap and secret view you can easily manage your configurations, delete, create new ones or modify the key-value pairs. When working with Secret we also help you out with our inline base64 encoder and decoder.

SSH AND LOGS

If you have a pod or node selected you can connect with SSH to access the machine or read their logs using our built-in Terminal without needing to remember any command line or address. Projects

EXPORT

The Cluster View gives you many ways of exporting your objects. You can export a selected element to a YAML file or you can dump the full cluster configuration filter by namespaces to the project folder. You also have the option to export the existing view to SVG or HTML to help you out with your documentation. Projects

k8studio's People

Contributors

emileqp avatar guiqui avatar mo-othman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

k8studio's Issues

Settings Tab

Could you add an account settings tab in the corner or under profile. Under the settings tab, you would be able to invert scrolling or change to light mode for example

Not working on Azure Kubernetes cluster


App Version 0.2.2-alpha
Arch: x64
Platform: darwin
osRelease: 22.6.0
Locale: en-US

Unable to view resources on Azure Cluster. Both Deployment and Grip views are empty

image

Deployments rendered upside down

I pointed k8studio at a DigitalOcean cluster, and my Deployment tab rendered upside down.

image

It was also initially zoomed out to the point where I didn't even realize anything had rendered at all. It just looked like a blank grid.

Deb version not starting 0.2.2-alpha

1.) sudo apt update
2.) sudo apt upgrade
3.) sudo apt install ./K8Studio_0.2.2-alpha_amd64.deb / sudo dpkg -i ./K8Studio_0.2.2-alpha_amd64.deb
3.) sudo reboot
4.) Select menu/programming/k8studio
Not starting.

Help?

innerError Error: Cannot find module '../build/Debug/pty.node'
Require stack:

  • /opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js
  • /opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/index.js
  • /opt/K8Studio/resources/app.asar/dist/main/main.js
  • at Module._resolveFilename (node:internal/modules/cjs/loader:1082:15)
    at n._resolveFilename (node:electron/js2c/browser_init:2:117760)
    at Module._load (node:internal/modules/cjs/loader:927:27)
    at f._load (node:electron/js2c/asar_bundle:2:13377)
    at Module.require (node:internal/modules/cjs/loader:1148:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object. (/opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js:34:15)
    at Module._compile (node:internal/modules/cjs/loader:1269:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1324:10)
    at Module.load (node:internal/modules/cjs/loader:1124:32) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [
    '/opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js',
    '/opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/index.js',
    '/opt/K8Studio/resources/app.asar/dist/main/main.js',
    undefined
    ]
    }
    A JavaScript error occurred in the main process
    Uncaught Exception:
    Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /opt/K8Studio/resources/app.asar.unpacked/node_modules/node-pty/build/Release/pty.node)
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:1869)
    at Module._extensions..node (node:internal/modules/cjs/loader:1354:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2096)
    at Module.load (node:internal/modules/cjs/loader:1124:32)
    at Module._load (node:internal/modules/cjs/loader:965:12)
    at f._load (node:electron/js2c/asar_bundle:2:13377)
    at Module.require (node:internal/modules/cjs/loader:1148:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object. (/opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js:29:11)
    at Module._compile (node:internal/modules/cjs/loader:1269:14)
    [12109:0118/090536.967458:ERROR:object_proxy.cc(590)] Failed to call method: org.freedesktop.portal.Settings.Read: object_path= /org/freedesktop/portal/desktop: org.freedesktop.portal.Error.NotFound: Requested setting not found
    libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
    [12142:0118/090537.015384:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)

Better UI to handle large number of clusters

We need a UI to handle a large number of clusters.
Adding the option to see the cluster list as a grid, and showing the full name and context.
Also, an option to pin the cluster we want to see in the on the switch bar

"This account needs to be validated!"

Last month, the mail account was able to log in and use it normally, but when I tried to log in recently, I got the following prompt "This account needs to be validated!" at the top of the app.

version: 0.2.11 and 0.2.12

screenshot:
screenshot

Difficulties login in after signing up.


App Version 0.2.2-alpha
Arch: x64
Platform: win32
osRelease: 10.0.19045
Locale: en-US

Followed the sign up procedures but cant login using email address nor password.

Can't access cluster: "User needs access to the namespaces resource"

Hi,

Installed the latest alpha (0.2.2-alpha) and trying to access one of my clusters (EKS on AWS) and all I get is this popup:

Screenshot 2024-01-17 at 10 24 50

Clicking on the "edit the accessible namespaces" button does nothing.

More information:

  • I am on a MacBook Pro M1 with Sonoma 14.1.1 (23B81)
  • My default profile in my ~/.aws/credentials file has no access to the cluster
  • To access the cluster I do aws sts assume-role --role-arn ... before using helm, eksctl, kubectl, etc.

Any ideas? I understand this is still very much alpha software, so bugs are to be expected, although this could also be an issue on my side.

Let me know if you need more information. Thanks.

does not allow access to any cluster


App Version 0.1.2-alpha
Arch: x64
Platform: win32
osRelease: 10.0.22621
Locale: en-US

Hello, I am trying to test your product, but in all the Clusters that I have configured, I have the same error, it seems that it tries to render the cluster data and then gives the error.

image

k8studio does not use installed ca-certificates

when using an intercepting proxy which changes ssl/tls certificates, k8s studio is not capable of validating the certificate even when the correct CA certificate is installed in /usr/local/share/ca-certificates

[2543425:0118/114958.719541:ERROR:cert_verify_proc_builtin.cc(702)] CertVerifyProcBuiltin for r1---sn-1gi7znek.gvt1.com failed:
----- Certificate i=2 ([email protected],CN=Zscaler Intermediate Root CA (zscloud.net),OU=Zscaler Inc.,O=Zscaler Inc.,ST=California,C=US) -----
ERROR: No matching issuer found

as a consequence, neither sign-in nor sign-up are possible

image


App Version 0.2.2-alpha
Arch: x64
Platform: linux
osRelease: 5.15.133.1-microsoft-standard-WSL2
Locale: en-US
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04

PEM routines:OPENSSL_internal:NO_START_LINE

I receive this log output:
Error Loading cluster error:0900006e:PEM routines:OPENSSL_internal:NO_START_LINE
when I've configured Cluster Authentication = Certificate.
The file which contents I've introduced are:
.minikube/ca.crt
.minikube/profiles/minikube/client.crt
.minikube/profiles/minikube/client.key

After restarting the app login is blocked

When I login into the app, close it and restart it I cannot login anymore.

Error message:
"There is a session already open for this user"

Workaround:
Wait one minute or so.

That brings me to a question, what is the session used for? I get that you might want to protect your beta from public access, but if a public sign up is enabled, and it's a locally installed product there is no need for a login at all.

Scroll wheel direction

It certainly feels that the scroll wheel zoom is reversed.

For example, Google maps, "up" is zoom in, where as in k8studio, it is zoom out. It's a little confusing depending on where you come from I suppose.

.sha256 files contains not complete sha sum

K8Studio.Setup.0.1.7-alpha.exe.sha256
sha256 multi line

8987159128a5f80963897503c410e860780fcf590fbdc3da9a137855226b
c1ab

instead of

8987159128a5f80963897503c410e860780fcf590fbdc3da9a137855226bc1ab

Unable to load AWS EKS based cluster - permission issue.


App Version 0.2.2-alpha
Arch: arm64
Platform: darwin
osRelease: 23.2.0
Locale: en-US

Selecting one of my clusters based on EKS, I don't see a way to specify credentials.

Ideally I would like to be able to specify an AWS profile for loading a specific Cluster. Including profiles requiring MFA.

New K8s Cluster Creation Not Working


App Version 0.2.2-alpha
Arch: x64
Platform: win32
osRelease: 10.0.22621
Locale: en-US

Not able to create new k8s cluster , submit button is not available on cluster creation page

Show origin of configurations

It would be helpful if you could show where you get the certificate authority data, client certificate & token information from.

Deb version not starting

The k8studio version K8Studio_0.1.0-alpha_amd64.deb in not starting after install.

1.) sudo apt update
2.) sudo apt upgrade
3.) sudo apt install ./K8Studio_0.1.0-alpha_amd64.deb
3.) sudo reboot
4.) Select menu/programming/k8studio
Not starting.

Help?

5.) True cli: k8studio
6.) error
k8studio
innerError Error: Cannot find module '../build/Debug/pty.node'
Require stack:

  • /opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js
  • /opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/index.js
  • /opt/K8Studio/resources/app.asar/dist/main/main.js
  • at Module._resolveFilename (node:internal/modules/cjs/loader:1082:15)
    at n._resolveFilename (node:electron/js2c/browser_init:2:117457)
    at Module._load (node:internal/modules/cjs/loader:927:27)
    at f._load (node:electron/js2c/asar_bundle:2:13330)
    at Module.require (node:internal/modules/cjs/loader:1148:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object. (/opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js:34:15)
    at Module._compile (node:internal/modules/cjs/loader:1269:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1324:10)
    at Module.load (node:internal/modules/cjs/loader:1124:32) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [
    '/opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js',
    '/opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/index.js',
    '/opt/K8Studio/resources/app.asar/dist/main/main.js',
    undefined
    ]
    }
    A JavaScript error occurred in the main process
    Uncaught Exception:
    Error: /opt/K8Studio/resources/app.asar.unpacked/node_modules/node-pty/build/Release/pty.node: invalid ELF header
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:1822)
    at Module._extensions..node (node:internal/modules/cjs/loader:1354:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2049)
    at Module.load (node:internal/modules/cjs/loader:1124:32)
    at Module._load (node:internal/modules/cjs/loader:965:12)
    at f._load (node:electron/js2c/asar_bundle:2:13330)
    at Module.require (node:internal/modules/cjs/loader:1148:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object. (/opt/K8Studio/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js:29:11)
    at Module._compile (node:internal/modules/cjs/loader:1269:14)

ubuntu 22.04/24 Gb.

Help again?

Best regard.

tester.

Cannot validate account

I registered with mail and password. Got a verification code but it was declared invalid :(
Later no more codes were sent.

App Version 0.2.2-alpha
Arch: x64
Platform: win32
osRelease: 10.0.22621
Locale: en-US

Setting the kubeconfig path does not work

I tried to change the path to the kubeconfig file and it does not work. The UI still shows the clusters in the default kubeconfig file.
I am also missing a button to save the changes
image

cant get logs

tried multiple times but cant get logs "No Rows to show" when i try command line with kubectl logs i can get logs.


App Version 0.2.2-alpha
Arch: arm64
Platform: darwin
osRelease: 22.1.0
Locale: en-US

Setting: mouse zoom reverse

That's probably already on your radar but if not, here is an issue for it :)

The UI looks already very nice. How zomming works is really a matter of personal preference and having the zoom direction "reversed" (compared to the user's expectation) kinda ruines the initial experience.

Is there a way to provide a config or an ENV to reverse the zoom direction ?

Keep me logged in feature

It would be nice, if the application remembers my login for some time, so I do not have to relogin only because I restarted my pc.

Feature: Allow multiple kubeconfig files

I am using multiple kubeconfig files for managing my cluster settings.
It should be possible to allow adding clusters from different kubeconfigs without switching the used kubeconfig in the settings.

Auto zoom on namespace

Opening a cluster shows lots of content. it would be very handy:

  • seeing the list of resources (namespaces, etc...)
  • being able to zoom in to a resource from that tree
  • being able to zoom in a namespace by double clicking on it

This issues is similar to #26 to allow a smooth initial experience.

very exciting project btw :)

Space in cluster name errors

A new cluster added to the UI with a space in the title causes the following:

image

Removing the space, all appears good so far.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.