# KubeKit - Fast Kubernetes Tools Installation & Operation

Managing Kubernetes clusters, contexts, and namespaces can be time-consuming. But fear not! I’ve got you covered with KubeKit smart tools: `kubectl` (with `k` alias), `helm`, `kustomize`, `kc`, and `kn`. These tools will streamline your workflow and make your life easier.

## Motivation

There are many awesome Kubernetes tools like [kubectx](https://github.com/ahmetb/kubectx) and [k9s](https://k9scli.io/). I built KubeKit for a simpler path: keep a traditional CLI workflow, reduce setup complexity, and make daily Kubernetes operations fast and efficient.

## Usage

Once installed, you can use KubeKit to enhance your Kubernetes workflow:

*   Use `k` as short version of `kubectl`
    
*   Use `helm` for chart/package operations
    
*   Use `kustomize` for manifest customization
    
*   Use `kc` to manage Kubernetes contexts:
    
    *   `kc`: List available contexts
        
    *   `kc <context-name>`: Switch to the specified context
        
*   Use `kn` to manage Kubernetes namespaces:
    
    *   `kn`: List available namespaces
        
    *   `kn <namespace-name>`: Switch to the specified namespace
        

For more information on KubeKit usage, refer to run `kc -h` and `kn -h` for help.

## Installation

Install everything (core CLI tools + aliases `k`, `kc`, `kn`) with auto-completion for Linux:

```shell
curl -sL https://github.com/nh4ttruong/kubekit/raw/main/install.sh | sudo bash
```

For macOS, please using `zsh` instead:

```shell
curl -sL https://github.com/nh4ttruong/kubekit/raw/main/install.sh | sudo zsh
```

After a successful installation, follow the guide and run the command to reload your shell configuration for completion to work:

```shell
source ~/.bashrc
#or
source ~/.zshrc
```

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">The installer automatically installs missing <code>kubectl</code>, <code>helm</code>, and <code>kustomize</code> binaries on Linux/macOS and configures shell completion for them.</div>
</div>

### Options

*   Install only core CLI tools (skip aliases `k`, `kc`, `kn`):
    
    ```shell
    curl -sL https://github.com/nh4ttruong/kubekit/raw/main/install.sh | sudo bash -s -- --no-aliases
    ```
    
*   Skip specific tools when needed:
    
    ```shell
    curl -sL https://github.com/nh4ttruong/kubekit/raw/main/install.sh | sudo bash -s -- --no-kubectl
    curl -sL https://github.com/nh4ttruong/kubekit/raw/main/install.sh | sudo bash -s -- --no-helm --no-kustomize
    ```
    
*   Update version for specific tool:
    
    ```shell
    curl -sL https://github.com/nh4ttruong/kubekit/raw/main/install.sh | sudo bash -s -- --update <tool> # kubectl, helm, kustomize
    ```
    

### Manual

Manual install from repository:

```shell
git clone https://github.com/nh4ttruong/kubekit.git
cd kubekit
bash ./install.sh
```

<div data-node-type="callout">
<div data-node-type="callout-emoji">👻</div>
<div data-node-type="callout-text">By default, aliases <code>k</code>, <code>kc</code>, and <code>kn</code> are installed with their completion setup.</div>
</div>

## Features

*   `k` or `kubectl`: The official `kubectl` tool made by [Official Kubernetes](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/), you also could use `k` as its short version. They come with intelligent auto-completion! Just hit to see the magic happen.
    
*   `helm`: Kubernetes package manager with shell auto-completion.
    
*   `kustomize`: Native Kubernetes configuration customization tool with shell auto-completion.
    
*   `kc`: Easily switch between cluster contexts with a shorter alias `kc`. Type `kc` instead of the full command to get all contexts with current highlighting context.
    
*   `kn`: Need to get all namespaces or switch between cluster namespaces? No problem! `kn` is your fast lane.
    

## References

*   [Kubernetes: Install and Set Up kubectl](https://kubernetes.io/docs/tasks/tools/)
    
*   [Helm Documentation](https://helm.sh/docs/)
    
*   [Kustomize Documentation](https://kubectl.docs.kubernetes.io/installation/kustomize/)
    
*   [kubectx and kubens](https://github.com/ahmetb/kubectx)
    

## Contributing

Contributions are welcome! If you have any suggestions, feature requests, or bug reports, please [open an issue](https://github.com/nh4ttruong/kubekit/issues) or submit a pull request.

* * *

%%[nh4ttruong]
