Skip to content

Commit 81d6089

Browse files
authored
Merge pull request #42052 from my-git9/blog-10
[zh-cn] sync blog 2023-07-20-sig-cli-spotlight.md
2 parents fd4e76c + 423508a commit 81d6089

File tree

1 file changed

+296
-0
lines changed

1 file changed

+296
-0
lines changed
Lines changed: 296 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,296 @@
1+
---
2+
layout: blog
3+
title: "聚焦 SIG CLI"
4+
date: 2023-07-20
5+
slug: sig-cli-spotlight-2023
6+
---
7+
8+
<!--
9+
layout: blog
10+
title: "Spotlight on SIG CLI"
11+
date: 2023-07-20
12+
slug: sig-cli-spotlight-2023
13+
canonicalUrl: https://www.kubernetes.dev/blog/2023/07/13/sig-cli-spotlight-2023/
14+
-->
15+
16+
<!--
17+
**Author**: Arpit Agrawal
18+
-->
19+
**作者**:Arpit Agrawal
20+
21+
**译者**:Xin Li (Daocloud)
22+
23+
<!--
24+
In the world of Kubernetes, managing containerized applications at
25+
scale requires powerful and efficient tools. The command-line
26+
interface (CLI) is an integral part of any developer or operator’s
27+
toolkit, offering a convenient and flexible way to interact with a
28+
Kubernetes cluster.
29+
-->
30+
在 Kubernetes 的世界中,大规模管理容器化应用程序需要强大而高效的工具。
31+
命令行界面(CLI)是任何开发人员或操作人员工具包不可或缺的一部分,
32+
其提供了一种方便灵活的方式与 Kubernetes 集群交互。
33+
34+
<!--
35+
SIG CLI plays a crucial role in improving the [Kubernetes
36+
CLI](https://github.com/kubernetes/community/tree/master/sig-cli)
37+
experience by focusing on the development and enhancement of
38+
`kubectl`, the primary command-line tool for Kubernetes.
39+
-->
40+
SIG CLI 通过专注于 Kubernetes 主要命令行工具 `kubectl` 的开发和增强,
41+
在改善 [Kubernetes CLI](https://github.com/kubernetes/community/tree/master/sig-cli)
42+
体验方面发挥着至关重要的作用。
43+
44+
<!--
45+
In this SIG CLI Spotlight, Arpit Agrawal, SIG ContribEx-Comms team
46+
member, talked with [Katrina Verey](https://github.com/KnVerey), Tech
47+
Lead & Chair of SIG CLI,and [Maciej
48+
Szulik](https://github.com/soltysh), SIG CLI Batch Lead, about SIG
49+
CLI, current projects, challenges and how anyone can get involved.
50+
-->
51+
在本次 SIG CLI 聚焦中,SIG ContribEx-Comms 团队成员 Arpit Agrawal 与
52+
SIG CLI 技术主管兼主席 [Katrina Verey](https://github.com/KnVerey)
53+
和 SIG CLI Batch 主管 [Maciej Szulik](https://github.com/soltysh)
54+
讨论了 SIG CLI 当前项目状态和挑战以及如何参与其中。
55+
56+
<!--
57+
So, whether you are a seasoned Kubernetes enthusiast or just getting
58+
started, understanding the significance of SIG CLI will undoubtedly
59+
enhance your Kubernetes journey.
60+
-->
61+
因此,无论你是经验丰富的 Kubernetes 爱好者还是刚刚入门,了解
62+
SIG CLI 的重要性无疑将增强你的 Kubernetes 之旅。
63+
64+
<!--
65+
## Introductions
66+
67+
**Arpit**: Could you tell us a bit about yourself, your role, and how
68+
you got involved in SIG CLI?
69+
-->
70+
## 简介
71+
72+
**Arpit**:你们能否向我们介绍一下你自己、你的角色以及你是如何参与 SIG CLI 的?
73+
74+
<!--
75+
**Maciej**: I’m one of the technical leads for SIG-CLI. I was working
76+
on Kubernetes in multiple areas since 2014, and in 2018 I got
77+
appointed a lead.
78+
-->
79+
**Maciej**:我是 SIG-CLI 的技术负责人之一。自 2014 年以来,我一直在多个领域从事
80+
Kubernetes 工作,并于 2018 年被任命为负责人。
81+
82+
<!--
83+
**Katrina**: I’ve been working with Kubernetes as an end-user since
84+
2016, but it was only in late 2019 that I discovered how well SIG CLI
85+
aligned with my experience from internal projects. I started regularly
86+
attending meetings and made a few small PRs, and by 2021 I was working
87+
more deeply with the
88+
[Kustomize](https://github.com/kubernetes-sigs/kustomize) team
89+
specifically. Later that year, I was appointed to my current roles as
90+
subproject owner for Kustomize and KRM Functions, and as SIG CLI Tech
91+
Lead and Chair.
92+
-->
93+
**Katrina**:自 2016 年以来,我一直作为最终用户使用 Kubernetes,但直到 2019 年底,
94+
我才发现 SIG CLI 与我在内部项目中的经验非常吻合。我开始定期参加会议并提交了一些小型 PR,
95+
到 2021 年,我专门与 [Kustomize](https://github.com/kubernetes-sigs/kustomize)
96+
团队进行了更深入的合作。同年晚些时候,我被任命担任目前的职务,担任 Kustomize 和
97+
KRM Functions 的子项目 owner 以及 SIG CLI 技术主管和负责人。
98+
99+
<!--
100+
## About SIG CLI
101+
102+
**Arpit**: Thank you! Could you share with us the purpose and goals of SIG CLI?
103+
-->
104+
## 关于 SIG CLI
105+
106+
**Arpit**:谢谢!你们能否与我们分享一下 SIG CLI 的宗旨和目标?
107+
108+
<!--
109+
**Maciej**: Our
110+
[charter](https://github.com/kubernetes/community/tree/master/sig-cli/)
111+
has the most detailed description, but in few words, we handle all CLI
112+
tooling that helps you manage your Kubernetes manifests and interact
113+
with your Kubernetes clusters.
114+
-->
115+
**Maciej**:我们的[章程](https://github.com/kubernetes/community/tree/master/sig-cli/)有最详细的描述,
116+
但简而言之,我们处理所有 CLI 工具,帮助你管理 Kubernetes 资源清单以及与 Kubernetes 集群进行交互。
117+
118+
<!--
119+
**Arpit**: I see. And how does SIG CLI work to promote best-practices
120+
for CLI development and usage in the cloud native ecosystem?
121+
-->
122+
**Arpit**:我明白了。请问 SIG CLI 如何致力于推广云原生生态系统中 CLI 开发和使用的最佳实践?
123+
124+
<!--
125+
**Maciej**: Within `kubectl`, we have several on-going efforts that
126+
try to encourage new contributors to align existing commands to new
127+
standards. We publish several libraries which hopefully make it easier
128+
to write CLIs that interact with Kubernetes APIs, such as cli-runtime
129+
and
130+
[kyaml](https://github.com/kubernetes-sigs/kustomize/tree/master/kyaml).
131+
-->
132+
**Maciej**:在 `kubectl` 中,我们正在进行多项努力,试图鼓励新的贡献者将现有命令与新标准保持一致。
133+
我们发布了几个库,希望能够更轻松地编写与 Kubernetes API 交互的 CLI,例如 cli-runtime 和
134+
[kyaml](https://github.com/kubernetes-sigs/kustomize/tree/master/kyaml)
135+
136+
<!--
137+
**Katrina**: We also maintain some interoperability specifications for
138+
CLI tooling, such as the [KRM Functions
139+
Specification](https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md)
140+
(GA) and the new ApplySet
141+
Specification
142+
(alpha).
143+
-->
144+
**Katrina**:我们还维护一些 CLI 工具的互操作性规范,例如
145+
[KRM 函数规范](https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md)(GA)
146+
和新的 ApplySet 规范(Alpha)。
147+
148+
<!--
149+
## Current projects and challenges
150+
151+
**Arpit**: Going through the README file, it’s clear SIG CLI has a
152+
number of subprojects, could you highlight some important ones?
153+
-->
154+
## 当前的项目和挑战
155+
156+
**Arpit**:阅读了一遍 README 文件,发现 SIG CLI 有许多子项目,你能突出讲一些重要的子项目吗?
157+
158+
<!--
159+
**Maciej**: The four most active subprojects that are, in my opinion,
160+
worthy of your time investment would be:
161+
162+
* [`kubectl`](https://github.com/kubernetes/kubectl): the canonical Kubernetes CLI.
163+
* [Kustomize](https://github.com/kubernetes-sigs/kustomize): a
164+
template-free customization tool for Kubernetes yaml manifest files.
165+
* [KUI](https://kui.tools) - a GUI interface to Kubernetes, think
166+
`kubectl` on steroids.
167+
* [`krew`](https://github.com/kubernetes-sigs/krew): a plugin manager for `kubectl`.
168+
-->
169+
**Maciej**:在我看来,值得你投入时间的四个最活跃的子项目是:
170+
171+
* [`kubectl`](https://github.com/kubernetes/kubectl):规范的 Kubernetes CLI。
172+
* [Kustomize](https://github.com/kubernetes-sigs/kustomize):Kubernetes yaml 清单文件的无模板定制工具。
173+
* [KUI](https://kui.tools) - 一个针对 Kubernetes 的 GUI 界面,可以将其视为增强版的 `kubectl`
174+
* [`krew`](https://github.com/kubernetes-sigs/krew)`kubectl` 的插件管理器。
175+
176+
<!--
177+
**Arpit**: Are there any upcoming initiatives or developments that SIG
178+
CLI is working on?
179+
180+
**Maciej**: There are always several initiatives we’re working on at
181+
any given point in time. It’s best to join [one of our
182+
calls](https://github.com/kubernetes/community/tree/master/sig-cli/#meetings)
183+
to learn about the current ones.
184+
-->
185+
**Arpit**:SIG CLI 是否有任何正在开展或即将开展的计划或开发工作?
186+
187+
**Maciej**:在任何给定的时间点,我们总是在开展多项举措。
188+
最好加入[我们的一个电话会议](https://github.com/kubernetes/community/tree/master/sig-cli/#meetings)来了解当前的情况。
189+
190+
<!--
191+
**Katrina**: For major features, you can check out [our open
192+
KEPs](https://www.kubernetes.dev/resources/keps/). For instance, in
193+
1.27 we introduced alphas for [a new pruning mode in kubectl
194+
apply](https://kubernetes.io/blog/2023/05/09/introducing-kubectl-applyset-pruning/),
195+
and for kubectl create plugins. Exciting ideas that are currently
196+
under discussion include an interactive mode for `kubectl` delete
197+
([KEP
198+
3895](https://kubernetes.io/blog/2023/05/09/introducing-kubectl-applyset-pruning))
199+
and the `kuberc` user preferences file ([KEP
200+
3104](https://kubernetes.io/blog/2023/05/09/introducing-kubectl-applyset-pruning)).
201+
-->
202+
对于主要功能,你可以查看[我们的开放 KEP](https://www.kubernetes.dev/resources/keps/)
203+
例如,在 1.27 中,我们为 [kubectl apply 中的新裁剪模式](https://kubernetes.io/blog/2023/05/09/introducing-kubectl-applyset-pruning/)
204+
引入了新的 Alpha 特性,并为 kubectl 添加了插件。
205+
目前正在讨论的令人兴奋的想法包括 `kubectl` 删除的交互模式([KEP 3895](https://kubernetes.io/blog/2023/05/09/introducing-kubectl-applyset-pruning))和
206+
`kuberc` 用户首选项文件([KEP 3104](https://kubernetes.io/blog/2023/05/09/introducing-kubectl-applyset-pruning))。
207+
208+
<!--
209+
**Arpit**: Could you discuss any challenges that SIG CLI faces in its
210+
efforts to improve CLIs for cloud-native technologies? What are the
211+
future efforts to solve them?
212+
-->
213+
**Arpit**:你们能否说说 SIG CLI 在改善云本地技术的 CLI 时面临的任何挑战?未来将采取哪些措施来解决这些问题?
214+
215+
<!--
216+
**Katrina**: The biggest challenge we’re facing with every decision is
217+
backwards compatibility and ensuring we don’t break existing users. It
218+
frequently happens that fixing what's on the surface may seem
219+
straightforward, but even fixing a bug could constitute a breaking
220+
change for some users, which means we need to go through an extended
221+
deprecation process to change it, or in some cases we can’t change it
222+
at all. Another challenge is the need to balance customization with
223+
usability in the flag sets we expose on our tools. For example, we get
224+
many proposals for new flags that would certainly be useful to some
225+
users, but not a large enough subset to justify the increased
226+
complexity having them in the tool entails for everyone. The `kuberc`
227+
proposal may help with some of these problems by giving individual
228+
users the ability to set or override default values we can’t change,
229+
and even create custom subcommands via aliases
230+
-->
231+
**Katrina**:我们每个决定面临的最大挑战是向后兼容性并确保我们不会影响现有用户。
232+
经常发生的情况是,修复表面上的内容似乎很简单,但即使修复 bug 也可能对某些用户造成破坏性更改,
233+
这意味着我们需要经历一个较长的弃用过程来更改它,或者在某些情况下我们不能完全改变它。
234+
另一个挑战是我们需要在工具上公开 flag 的平衡定制和可用性。例如,我们收到了许多关于新标志的建议,
235+
这些建议肯定对某些用户有用,但没有足够大的子集来证明,将它们添加到工具中对每个用户来说都会增加复杂性。
236+
`kuberc` 提案可能会帮助个人用户设置或覆盖我们无法更改的默认值,甚至通过别名创建自定义子命令,
237+
从而帮助解决其中一些问题。
238+
239+
<!--
240+
**Arpit**: With every new version release of Kubernetes, maintaining
241+
consistency and integrity is surely challenging: how does the SIG CLI
242+
team tackle it?
243+
-->
244+
**Arpit**:随着 Kubernetes 的每个新版本的发布,保持一致性和完整性无疑是一项挑战:
245+
SIG CLI 团队如何解决这个问题?
246+
247+
<!--
248+
**Maciej**: This is mostly similar to the topic mentioned in the
249+
previous question: every new change, especially to existing commands
250+
goes through a lot of scrutiny to ensure we don’t break existing
251+
users. At any point in time we have to keep a reasonable balance
252+
between features and not breaking users.
253+
-->
254+
**Maciej**:这与上一个问题中提到的主题非常相似:每一个新的更改,尤其是对现有命令的更改,
255+
都会经过大量的审查,以确保我们不会影响现有用户。在任何时候我们都必须在功能和不影响用户之间保持合理的平衡。
256+
257+
<!--
258+
## Future plans and contribution
259+
260+
**Arpit**: How do you see the role of CLI tools in the cloud-native
261+
ecosystem evolving in the future?
262+
-->
263+
## 未来计划及贡献
264+
265+
**Arpit**:你们如何看待 CLI 工具在未来云原生生态系统中的作用?
266+
267+
<!--
268+
**Maciej**: I think that CLI tools were and will always be an
269+
important piece of the ecosystem. Whether used by administrators on
270+
remote machines that don’t have GUI or in every CI/CD pipeline, they
271+
are irreplaceable.
272+
-->
273+
**Maciej**:我认为 CLI 工具曾经并将永远是生态系统的重要组成部分。
274+
无论是管理员在没有 GUI 的远程计算机上还是在每个 CI/CD 管道中使用,它们都是不可替代的。
275+
276+
<!--
277+
**Arpit**: Kubernetes is a community-driven project. Any
278+
recommendation for anyone looking into getting involved in SIG CLI
279+
work? Where should they start? Are there any prerequisites?
280+
281+
**Maciej**: There are no prerequisites other than a little bit of free
282+
time on your hands and willingness to learn something new :-)
283+
-->
284+
**Arpit**:Kubernetes 是一个社区驱动的项目。对于想要参与 SIG CLI 工作的人有什么建议吗?
285+
他们应该从哪里开始?有什么先决条件吗?
286+
287+
**Maciej**:除了有一点空闲时间和学习新东西的意愿之外,没有任何先决条件 :-)
288+
289+
<!--
290+
**Katrina**: A working knowledge of [Go](https://go.dev/) often helps,
291+
but we also have areas in need of non-code contributions, such as the
292+
[Kustomize docs consolidation
293+
project](https://github.com/kubernetes-sigs/kustomize/issues/4338).
294+
-->
295+
**Katrina**[Go](https://go.dev/) 的实用知识通常会有所帮助,但我们也有需要非代码贡献的领域,
296+
例如 [Kustomize 文档整合项目](https://github.com/kubernetes-sigs/kustomize/issues/4338)

0 commit comments

Comments
 (0)