kubectl/docs/book/pages/extending_kubectl/discovering_plugins.md

68 lines
1.6 KiB
Markdown

{% panel style="success", title="Providing Feedback" %}
**Provide feedback at the [survey](https://www.surveymonkey.com/r/CLQBQHR)**
{% endpanel %}
{% panel style="info", title="TL;DR" %}
- [sigs.k8s.io/krew](https://sigs.k8s.io/krew/#installation) is a kubernetes sub-project to discover and manage plugins
{% endpanel %}
# Krew
By design, `kubectl` does not install plugins. This task is left to the kubernetes sub-project
[sigs.k8s.io/krew](https://sigs.k8s.io/krew/#installation) which needs to be installed separately.
Krew helps to
- discover plugins
- get updates for installed plugins
- remove plugins
## Installing krew
Krew should be used as a kubectl plugin. To set yourself up to using krew, you need to do two things:
1. Install git
1. Install krew as described on the project page [sigs.k8s.io/krew](https://sigs.k8s.io/krew/#installation).
1. Add the krew bin folder to your `PATH` environment variable. For example, in bash `export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"`.
## Krew capabilities
{% method %}
Discover plugins
{% sample lang="yaml" %}
```bash
kubectl krew search
```
{% endmethod %}
{% method %}
Install a plugin
{% sample lang="yaml" %}
```bash
kubectl krew install access-matrix
```
{% endmethod %}
{% method %}
Upgrade all installed plugins
{% sample lang="yaml" %}
```bash
kubectl krew upgrade
```
{% endmethod %}
{% method %}
Show details about a plugin
{% sample lang="yaml" %}
```bash
kubectl krew info access-matrix
```
{% endmethod %}
{% method %}
Uninstall a plugin
{% sample lang="yaml" %}
```bash
kubectl krew uninstall access-matrix
```
{% endmethod %}