Skip to content

Commit db3ee6e

Browse files
authored
Update kubectl-plugins.md
update doc to match master branch
1 parent bc72bf3 commit db3ee6e

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

content/zh/docs/tasks/extend-kubectl/kubectl-plugins.md

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ content_type: task
1414
-->
1515

1616
<!-- overview -->
17-
1817
<!--
1918
This guide demonstrates how to install and write extensions for [kubectl](/docs/reference/kubectl/kubectl/). By thinking of core `kubectl` commands as essential building blocks for interacting with a Kubernetes cluster, a cluster administrator can think
20-
of plugins as a means of utilizing these building blocks to create more complex behavior. Plugins extend `kubectl` with new sub-commands, allowing for new and custom features not included in the main distribution of `kubectl`.
19+
of plugins as a means of utilizing these building blocks to create more complex behavior. Plugins extend `kubectl` with new sub-commands, allowing for new and custom features not included in the main distribution of `kubectl`.
2120
-->
2221
本指南演示了如何为 [kubectl](/zh/docs/reference/kubectl/kubectl/) 安装和编写扩展。
2322
通过将核心 `kubectl` 命令看作与 Kubernetes 集群交互的基本构建块,
@@ -52,12 +51,12 @@ the Kubernetes SIG CLI community.
5251
Krew 是一个由 Kubernetes SIG CLI 社区维护的插件管理器。
5352

5453
<!--
55-
Kubectl plugins available via the Krew [plugin index](https://index.krew.dev/)
54+
Kubectl plugins available via the Krew [plugin index](https://krew.sigs.k8s.io/plugins/)
5655
are not audited for security. You should install and run third-party plugins at your
5756
own risk, since they are arbitrary programs running on your machine.
5857
-->
5958
{{< caution >}}
60-
Krew [插件索引](https://index.krew.dev/)所维护的 kubectl 插件并未经过安全性审查。
59+
Krew [插件索引](https://krew.sigs.k8s.io/plugins/) 所维护的 kubectl 插件并未经过安全性审查。
6160
你要了解安装和运行第三方插件的安全风险,因为它们本质上时是一些在你的机器上
6261
运行的程序。
6362
{{< /caution >}}
@@ -69,6 +68,10 @@ Krew [插件索引](https://index.krew.dev/)所维护的 kubectl 插件并未经
6968
Executing this command causes a traversal of all files in your PATH. Any files that are executable, and begin with `kubectl-` will show up *in the order in which they are present in your PATH* in this command's output.
7069
A warning will be included for any files beginning with `kubectl-` that are *not* executable.
7170
A warning will also be included for any valid plugin files that overlap each other's name.
71+
72+
You can use [Krew](https://krew.dev/) to discover and install `kubectl`
73+
plugins from a community-curated
74+
[plugin index](https://krew.sigs.k8s.io/plugins/).
7275
-->
7376
### 发现插件
7477

@@ -77,6 +80,8 @@ A warning will also be included for any valid plugin files that overlap each oth
7780
任何以 `kubectl-` 开头的文件如果`不可执行`,都将包含一个警告。
7881
对于任何相同的有效插件文件,都将包含一个警告。
7982

83+
你可以使用 [Krew](https://krew.dev/) 从社区策划中发现和安装 `kubectl` 插件。
84+
[插件索引](https://krew.sigs.k8s.io/plugins/)
8085
<!--
8186
#### Limitations
8287
@@ -129,7 +134,7 @@ then
129134
echo "1.0.0"
130135
exit 0
131136
fi
132-
137+
133138
# 可选的参数处理
134139
if [[ "$1" == "config" ]]
135140
then
@@ -178,7 +183,7 @@ I am a plugin named kubectl-foo
178183
<!--
179184
All args and flags are passed as-is to the executable:
180185
-->
181-
所有参数和标记按原样传递给可执行文件:
186+
所有参数和标记按原样传递给可执行文件:
182187

183188
```
184189
kubectl foo version
@@ -274,17 +279,17 @@ Upon having found a plugin with this name, kubectl then invokes that plugin, pas
274279
# 创建一个插件
275280
echo -e '#!/bin/bash\n\necho "My first command-line argument was $1"' > kubectl-foo-bar-baz
276281
sudo chmod +x ./kubectl-foo-bar-baz
277-
282+
278283
# 将插件放到 PATH 下完成"安装"
279284
sudo mv ./kubectl-foo-bar-baz /usr/local/bin
280-
285+
281286
# 确保 kubectl 能够识别我们的插件
282287
kubectl plugin list
283288
```
284289

285290
```
286291
The following kubectl-compatible plugins are available:
287-
292+
288293
/usr/local/bin/kubectl-foo-bar-baz
289294
```
290295

@@ -322,7 +327,7 @@ command containing dashes in its commandline invocation by using underscores (`_
322327
# 创建文件名中包含下划线的插件
323328
echo -e '#!/bin/bash\n\necho "I am a plugin with a dash in my name"' > ./kubectl-foo_bar
324329
sudo chmod +x ./kubectl-foo_bar
325-
330+
326331
# 将插件放到 PATH 下
327332
sudo mv ./kubectl-foo_bar /usr/local/bin
328333

@@ -378,11 +383,11 @@ PATH=/usr/local/bin/plugins:/usr/local/bin/moreplugins kubectl plugin list
378383

379384
```
380385
The following kubectl-compatible plugins are available:
381-
386+
382387
/usr/local/bin/plugins/kubectl-foo
383388
/usr/local/bin/moreplugins/kubectl-foo
384389
- warning: /usr/local/bin/moreplugins/kubectl-foo is overshadowed by a similarly named plugin: /usr/local/bin/plugins/kubectl-foo
385-
390+
386391
error: one plugin warning was found
387392
```
388393

@@ -469,13 +474,13 @@ kubectl plugin list
469474
```
470475
```
471476
The following kubectl-compatible plugins are available:
472-
477+
473478
test/fixtures/pkg/kubectl/plugins/kubectl-foo
474479
/usr/local/bin/kubectl-foo
475480
- warning: /usr/local/bin/kubectl-foo is overshadowed by a similarly named plugin: test/fixtures/pkg/kubectl/plugins/kubectl-foo
476481
plugins/kubectl-invalid
477482
- warning: plugins/kubectl-invalid identified as a kubectl plugin, but it is not executable
478-
483+
479484
error: 2 plugin warnings were found
480485
```
481486

@@ -525,15 +530,15 @@ package it, distribute it and deliver updates to your users.
525530
distribute your plugins. This way, you use a single packaging format for all
526531
target platforms (Linux, Windows, macOS etc) and deliver updates to your users.
527532
Krew also maintains a [plugin
528-
index](https://index.krew.dev/) so that other people can
533+
index](https://krew.sigs.k8s.io/plugins/) so that other people can
529534
discover your plugin and install it.
530535
-->
531536
### Krew {#distributing-krew}
532537

533538
[Krew](https://krew.dev/) 提供了一种对插件进行打包和分发的跨平台方式。
534539
基于这种方式,你会在所有的目标平台(Linux、Windows、macOS 等)使用同一
535540
种打包形式,包括为用户提供更新。
536-
Krew 也维护一个[插件索引(plugin index)](https://index.krew.dev/)
541+
Krew 也维护一个[插件索引(plugin index)](https://krew.sigs.k8s.io/plugins/)
537542
以便其他人能够发现你的插件并安装之。
538543

539544
<!--
@@ -552,7 +557,7 @@ platforms for each release.
552557
另一种方式是,你可以使用传统的包管理器(例如 Linux 上 的 `apt``yum`
553558
Windows 上的 Chocolatey、macOs 上的 Homebrew)。
554559
只要能够将新的可执行文件放到用户的 `PATH` 路径上某处,这种包管理器就符合需要。
555-
作为一个插件作者,如果你选择这种方式来纷飞,你就需要自己来管理和更新
560+
作为一个插件作者,如果你选择这种方式来分发,你就需要自己来管理和更新
556561
你的 kubectl 插件的分发包,包括所有平台和所有发行版本。
557562

558563
<!--
@@ -582,4 +587,3 @@ installs easier.
582587
* 查看 CLI 插件库示例,查看用 Go 编写的插件的[详细示例](https://github.com/kubernetes/sample-cli-plugin)
583588
* 如有任何问题,请随时联系 [SIG CLI ](https://github.com/kubernetes/community/tree/master/sig-cli)
584589
* 了解 [Krew](https://krew.dev/),一个 kubectl 插件管理器。
585-

0 commit comments

Comments
 (0)