forked from derailed/k9s
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
91 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,41 +4,49 @@ | |
|
||
K9s provides a curses based terminal UI to interact with your Kubernetes clusters. | ||
The aim of this project is to make it easier to navigate, observe and manage | ||
your applications. This command line app continually watches Kubernetes | ||
your applications in the wild. K9s continually watches Kubernetes | ||
for changes and offers subsequent commands to interact with observed resources. | ||
|
||
|
||
<br/> | ||
|
||
--- | ||
|
||
[![Go Report Card](https://goreportcard.com/badge/github.com/derailed/k9s?)](https://goreportcard.com/report/github.com/derailed/k9s) | ||
[![Build Status](https://travis-ci.com/derailed/k9s.svg?branch=master)](https://travis-ci.com/derailed/k9s) | ||
|
||
<br/> | ||
|
||
--- | ||
|
||
## Installation | ||
|
||
1. Homebrew (OSX) | ||
K9s is available on Linux, OSX and Windows platforms. | ||
|
||
```shell | ||
brew tap derailed/k9s && brew install k9s | ||
``` | ||
* Binaries for Linux, Windows and Mac are available as tar balls in the [release](https://github.com/derailed/k9s/releases) page. | ||
|
||
* For OSX using Homebrew | ||
|
||
1. Binary Releases | ||
```shell | ||
brew tap derailed/k9s && brew install k9s | ||
``` | ||
|
||
- [Releases](https://github.com/derailed/k9s/releases) | ||
* Building from source | ||
K9s was built using go 1.11 or above. In order to build K9 from source you must: | ||
1. Clone the repo | ||
2. Set env var *GO111MODULE=on* | ||
3. Add the following command in your go.mod file | ||
|
||
1. Running from source | ||
```text | ||
replace ( | ||
github.com/derailed/k9s => MY_K9S_CLONED_GIT_REPO | ||
) | ||
``` | ||
- You will need to use go 1.11+ | ||
- GO111MODULE=on | ||
4. Build and run the executable | ||
<br/> | ||
```shell | ||
go run main.go | ||
``` | ||
--- | ||
## Command Line | ||
## The Command Line | ||
```shell | ||
# List all available CLI options | ||
|
@@ -47,11 +55,12 @@ k9s -h | |
k9s info | ||
# To run K9s in a given namespace | ||
k9s -n mybitchns | ||
# Start K9s in an existing KubeConfig context | ||
k9s --context coolCtx | ||
``` | ||
|
||
<br/> | ||
|
||
--- | ||
|
||
## PreFlight Checks | ||
|
||
* K9s uses 256 colors terminal mode. On `Nix system make sure TERM is set accordingly. | ||
|
@@ -60,134 +69,113 @@ k9s -n mybitchns | |
export TERM=xterm-256color | ||
``` | ||
|
||
* For clusters with many namespaces you can either edit ~/.k9s/config.yml or | ||
go to the namespace(ns) view to switch your default namespace to your namespace | ||
of choice using *Ctrl-S*witch. K9s keeps your top 10 favorite namespaces. | ||
Namespaces will get evicted from the top 10 list, based on your namespace | ||
switching frequency. | ||
|
||
|
||
```yaml | ||
k9s: | ||
refreshRate: 5 # K9s refresh rate in secs | ||
logBufferSize: 200 # Size of the logs buffer. Try to keep a sensible default! | ||
namespace: | ||
active: myCoolNS # Current active namespace name | ||
favorites: # List of your 10 most frequently used namespaces | ||
- myCoolNS1 | ||
- myCoolNS2 | ||
- all | ||
- default | ||
- kube-system | ||
view: | ||
active: po # Active resource view | ||
``` | ||
|
||
* K9s can use **$KUBECONFIG** env var to load cluster information. However we've | ||
seen hill effects of using this env with multiple files as setting the current | ||
context may not update the correct file when using this technique. | ||
--- | ||
<br/> | ||
--- | ||
## Usage | ||
K9s uses 2 or 3 letters alias to navigate most K8s resource. | ||
|
||
| Command | Result | Example | | ||
|-------------------|----------------------------------------------------|------------------| | ||
| `:`alias`<ENTER>` | List a Kubernetes resource in the active namespace | `:po<ENTER>` | | ||
| '?' | Show all command aliases | | | ||
| `/`filter`ENTER`> | Filter out a resource view given a filter | `/bumblebeetuna` | | ||
| `<Esc>` | Bails out of command mode | | | ||
| `v`, `e`, `l`,... | Key mapping to view, edit, see logs, etc... | `l` (view logs) | | ||
| `:`ctx`<ENTER>` | To view and switch to another Kubernetes cluster | | | ||
| `q`, `Ctrl-c` | To bail out of K9s | | | ||
<br/> | ||
## K9s config file ($HOME/.k9s/config.yml) | ||
|
||
K9s keeps its configurations in a dot file in your home directory. | ||
|
||
> NOTE: This is still in flux and will change while in pre-release stage! | ||
|
||
```yaml | ||
k9s: | ||
refreshRate: 2 | ||
logBufferSize: 200 | ||
currentContext: minikube | ||
currentCluster: minikube | ||
clusters: | ||
bitchn: | ||
namespace: | ||
active: coolio | ||
favorites: | ||
- cassandra | ||
- default | ||
view: | ||
active: po | ||
minikube: | ||
namespace: | ||
active: all | ||
favorites: | ||
- all | ||
- kube-system | ||
- default | ||
view: | ||
active: dp | ||
``` | ||
|
||
--- | ||
## Building From Source | ||
|
||
K9s was built using go 1.11. In order to build K9 from source: | ||
## Key Bindings | ||
|
||
+ Clone the repo | ||
+ Add the following command in your go.mod file | ||
```text | ||
replace ( | ||
github.com/derailed/k9s => MY_K9S_CLONED_REPO | ||
) | ||
``` | ||
+ Build and run the executable | ||
```shell | ||
go run main.go | ||
``` | ||
K9s uses aliases to navigate most K8s resources. | ||
|
||
<br/> | ||
| Command | Result | Example | | ||
|-----------------------|----------------------------------------------------|----------------------------| | ||
| `:`alias`<ENTER>` | View a Kubernetes resource | `:po<ENTER>` | | ||
| '?' | Show all command aliases | select+<ENTER> to view | | ||
| `/`filter`ENTER`> | Filter out a resource view given a filter | `/bumblebeetuna` | | ||
| `<Esc>` | Bails out of command mode | | | ||
| `d`,`v`, `e`, `l`,... | Key mapping to describe, view, edit, view logs,... | `d` (describes a resource) | | ||
| `:`ctx`<ENTER>` | To view and switch to another Kubernetes context | `:`+`ctx`+`<ENTER>` | | ||
| `q`, `Ctrl-c` | To bail out of K9s | | | ||
|
||
--- | ||
|
||
## Demo Video | ||
|
||
+ [k9s Demo](https://youtu.be/k7zseUhaXeU) | ||
1. [K9s Demo](https://youtu.be/k7zseUhaXeU) | ||
|
||
|
||
<br/> | ||
## Screenshots | ||
|
||
--- | ||
## Screen Shots | ||
1. Pods | ||
|
||
<img src="assets/screen_po.png"> | ||
|
||
### Pod View | ||
1. Logs | ||
|
||
<img src="assets/screen_3.png"> | ||
<img src="assets/screen_logs.png"> | ||
|
||
### Log View | ||
1. Deployments | ||
|
||
<img src="assets/screen_4.png"> | ||
<img src="assets/screen_dp.png"> | ||
|
||
<br/> | ||
|
||
--- | ||
## Known Issues... | ||
|
||
This initial drop is brittle. K9s will most likely blow up if... | ||
## Known Issues | ||
|
||
+ K9s does not support multiple cluster config specified via KUBECONFIG env var | ||
+ You don't have enough RBAC fu to manage your cluster | ||
+ Your cluster does not run a metrics-server | ||
This initial drop is brittle. K9s will most likely blow up if... | ||
|
||
<br/> | ||
1. You don't have enough RBAC fu to manage your cluster | ||
2. Your cluster does not run a metric server. | ||
--- | ||
## Disclaimer | ||
This is still work in progress! If there is enough interest in the Kubernetes | ||
community, we will enhance per your recommendations/contributions. Also if you | ||
dig this effort, please let us know that too! | ||
<br/> | ||
|
||
--- | ||
## ATTA Girls/Boys! | ||
K9s sits on top of many of opensource projects and libraries. Our *sincere* | ||
appreciations to all the OSS contributors that work nights and weekends | ||
to make this project a reality! | ||
<br/> | ||
|
||
--- | ||
## Contact Information | ||
+ **Email**: [email protected] | ||
+ **Twitter**: [@kitesurfer](https://twitter.com/kitesurfer?lang=en) | ||
+ **Web**: [K9s](https://k9ss.io) | ||
## Contact Info | ||
1. **Email**: [email protected] | ||
1. **Twitter**: [@kitesurfer](https://twitter.com/kitesurfer?lang=en) | ||
<br/> | ||
--- | ||
<img src="assets/imhotep_logo.png" width="32" height="auto"/> © 2018 Imhotep Software LLC. | ||
All materials licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0) |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.