Skip to content

Commit 7d81d8d

Browse files
authored
Merge pull request #34571 from X723166587/patch-4
[zh] Migrating telemetry and security agents from dockershim
2 parents 10184d3 + 5bfc483 commit 7d81d8d

File tree

1 file changed

+152
-7
lines changed

1 file changed

+152
-7
lines changed

content/zh-cn/docs/tasks/administer-cluster/migrating-from-dockershim/migrating-telemetry-and-security-agents.md

Lines changed: 152 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ weight: 70
1313

1414
<!-- overview -->
1515

16+
{{% thirdparty-content %}}
17+
1618
<!--
17-
Kubernetes' support for direct integration with Docker Engine is deprecated, and will be removed. Most apps do not have a direct dependency on runtime hosting containers. However, there are still a lot of telemetry and monitoring agents that has a dependency on docker to collect containers metadata, logs and metrics. This document aggregates information on how to detect these dependencies and links on how to migrate these agents to use generic tools or alternative runtimes.
19+
Kubernetes' support for direct integration with Docker Engine is deprecated and has been removed. Most apps do not have a direct dependency on runtime hosting containers. However, there are still a lot of telemetry and monitoring agents that has a dependency on docker to collect containers metadata, logs and metrics. This document aggregates information on how to detect these dependencies and links on how to migrate these agents to use generic tools or alternative runtimes.
1820
-->
19-
Kubernetes 对与 Docker Engine 直接集成的支持已被弃用并将被删除
21+
Kubernetes 对与 Docker Engine 直接集成的支持已被弃用且已经被删除
2022
大多数应用程序不直接依赖于托管容器的运行时。但是,仍然有大量的遥测和监控代理依赖
2123
docker 来收集容器元数据、日志和指标。
2224
本文汇总了一些信息和链接:信息用于阐述如何探查这些依赖,链接用于解释如何迁移这些代理去使用通用的工具或其他容器运行。
@@ -47,15 +49,15 @@ such as a pod name, is only available from Kubernetes components. Other data, su
4749
metrics, is not the responsibility of the container runtime. Early telemetry agents needed to query the
4850
container runtime **and** Kubernetes to report an accurate picture. Over time, Kubernetes gained
4951
the ability to support multiple runtimes, and now supports any runtime that is compatible with
50-
the container runtime interface.
51-
52+
the [container runtime interface](/docs/concepts/architecture/cri/).
5253
-->
5354
从历史上看,Kubernetes 是专门为与 Docker Engine 一起工作而编写的。
5455
Kubernetes 负责网络和调度,依靠 Docker Engine
5556
在节点上启动并运行容器(在 Pod 内)。一些与遥测相关的信息,例如 pod 名称,
5657
只能从 Kubernetes 组件中获得。其他数据,例如容器指标,不是容器运行时的责任。
5758
早期遥测代理需要查询容器运行时**** Kubernetes 以报告准确的信息。
58-
随着时间的推移,Kubernetes 获得了支持多种运行时的能力,现在支持任何兼容容器运行时接口的运行时。
59+
随着时间的推移,Kubernetes 获得了支持多种运行时的能力,
60+
现在支持任何兼容[容器运行时接口](/zh-cn/docs/concepts/architecture/cri/)的运行时。
5961

6062
<!--
6163
Some telemetry agents rely specifically on Docker Engine tooling. For example, an agent
@@ -135,8 +137,9 @@ The script above only detects the most common uses.
135137
### 检测节点代理对 Docker 的依赖性 {#detecting-docker-dependency-from-node-agents}
136138

137139
<!--
138-
In case your cluster nodes are customized and install additional security and
139-
telemetry agents on the node, make sure to check with the vendor of the agent whether it has dependency on Docker.
140+
If your cluster nodes are customized and install additional security and
141+
telemetry agents on the node, check with the agent vendor
142+
to verify whether it has any dependency on Docker.
140143
-->
141144
在你的集群节点被定制、且在各个节点上均安装了额外的安全和遥测代理的场景下,
142145
一定要和代理的供应商确认:该代理是否依赖于 Docker。
@@ -147,11 +150,153 @@ telemetry agents on the node, make sure to check with the vendor of the agent wh
147150
### 遥测和安全代理的供应商 {#telemetry-and-security-agent-vendors}
148151

149152
<!--
153+
This section is intended to aggregate information about various telemetry and
154+
security agents that may have a dependency on container runtimes.
155+
150156
We keep the work in progress version of migration instructions for various telemetry and security agent vendors
151157
in [Google doc](https://docs.google.com/document/d/1ZFi4uKit63ga5sxEiZblfb-c23lFhvy6RXVPikS8wf0/edit#).
152158
Please contact the vendor to get up to date instructions for migrating from dockershim.
153159
-->
160+
本节旨在汇总有关可能依赖于容器运行时的各种遥测和安全代理的信息。
161+
154162
我们通过
155163
[谷歌文档](https://docs.google.com/document/d/1ZFi4uKit63ga5sxEiZblfb-c23lFhvy6RXVPikS8wf0/edit#)
156164
提供了为各类遥测和安全代理供应商准备的持续更新的迁移指导。
157165
请与供应商联系,获取从 dockershim 迁移的最新说明。
166+
167+
## 从 dockershim 迁移 {#migration-from-dockershim}
168+
169+
### [Aqua](https://www.aquasec.com)
170+
171+
<!--
172+
No changes are needed: everything should work seamlessly on the runtime switch.
173+
-->
174+
无需更改:在运行时变更时可以无缝切换运行。
175+
176+
### [Datadog](https://www.datadoghq.com/product/)
177+
178+
<!--
179+
How to migrate:
180+
[Docker deprecation in Kubernetes](https://docs.datadoghq.com/agent/guide/docker-deprecation/)
181+
The pod that accesses Docker Engine may have a name containing any of:
182+
183+
- `datadog-agent`
184+
- `datadog`
185+
- `dd-agent`
186+
-->
187+
如何迁移:
188+
[Kubernetes 中对于 Docker 的弃用](https://docs.datadoghq.com/agent/guide/docker-deprecation/)
189+
名字中包含以下字符串的 Pod 可能访问 Docker Engine:
190+
191+
- `datadog-agent`
192+
- `datadog`
193+
- `dd-agent`
194+
195+
### [Dynatrace](https://www.dynatrace.com/)
196+
197+
<!--
198+
How to migrate:
199+
[Migrating from Docker-only to generic container metrics in Dynatrace](https://community.dynatrace.com/t5/Best-practices/Migrating-from-Docker-only-to-generic-container-metrics-in/m-p/167030#M49)
200+
201+
Containerd support announcement: [Get automated full-stack visibility into
202+
containerd-based Kubernetes
203+
environments](https://www.dynatrace.com/news/blog/get-automated-full-stack-visibility-into-containerd-based-kubernetes-environments/)
204+
205+
CRI-O support announcement: [Get automated full-stack visibility into your CRI-O Kubernetes containers (Beta)](https://www.dynatrace.com/news/blog/get-automated-full-stack-visibility-into-your-cri-o-kubernetes-containers-beta/)
206+
207+
The pod accessing Docker may have name containing:
208+
- `dynatrace-oneagent`
209+
-->
210+
如何迁移:
211+
[在 Dynatrace 上从 Docker-only 迁移到到通用容器指标](https://community.dynatrace.com/t5/Best-practices/Migrating-from-Docker-only-to-generic-container-metrics-in/m-p/167030#M49)
212+
213+
Containerd 支持公告:[在基于 containerd 的 Kubernetes 环境的获取容器的自动化全栈可见性](https://www.dynatrace.com/news/blog/get-automated-full-stack-visibility-into-containerd-based-kubernetes-environments/)
214+
CRI-O 支持公告:[在基于 CRI-O 的 Kubernetes 环境获取容器的自动化全栈可见性(测试版)](https://www.dynatrace.com/news/blog/get-automated-full-stack-visibility-into-your-cri-o-kubernetes-containers-beta/)
215+
216+
名字中包含以下字符串的 Pod 可能访问 Docker:
217+
- `dynatrace-oneagent`
218+
219+
### [Falco](https://falco.org)
220+
221+
<!--
222+
How to migrate:
223+
224+
[Migrate Falco from dockershim](https://falco.org/docs/getting-started/deployment/#docker-deprecation-in-kubernetes)
225+
Falco supports any CRI-compatible runtime (containerd is used in the default configuration); the documentation explains all details.
226+
The pod accessing Docker may have name containing:
227+
- `falco`
228+
-->
229+
如何迁移:
230+
[迁移 Falco 从 dockershim](https://falco.org/docs/getting-started/deployment/#docker-deprecation-in-kubernetes)
231+
Falco 支持任何与 CRI 兼容的运行时(默认配置中使用 containerd);该文档解释了所有细节。
232+
233+
名字中包含以下字符串的 Pod 可能访问 Docker:
234+
- `falco`
235+
236+
237+
### [Prisma Cloud Compute](https://docs.paloaltonetworks.com/prisma/prisma-cloud.html)
238+
239+
<!--
240+
Check [documentation for Prisma Cloud](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/install/install_kubernetes.html),
241+
under the "Install Prisma Cloud on a CRI (non-Docker) cluster" section.
242+
The pod accessing Docker may be named like:
243+
- `twistlock-defender-ds`
244+
-->
245+
在依赖于 CRI(非 Docker)的集群上安装 Prisma Cloud 时,查看
246+
[Prisma Cloud 提供的文档](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/install/install_kubernetes.html)
247+
248+
名字中包含以下字符串的 Pod 可能访问 Docker:
249+
250+
- `twistlock-defender-ds`
251+
252+
253+
### [SignalFx (Splunk)](https://www.splunk.com/en_us/investor-relations/acquisitions/signalfx.html)
254+
255+
<!--
256+
The SignalFx Smart Agent (deprecated) uses several different monitors for Kubernetes including
257+
`kubernetes-cluster`, `kubelet-stats/kubelet-metrics`, and `docker-container-stats`.
258+
The `kubelet-stats` monitor was previously deprecated by the vendor, in favor of `kubelet-metrics`.
259+
The `docker-container-stats` monitor is the one affected by dockershim removal.
260+
Do not use the `docker-container-stats` with container runtimes other than Docker Engine.
261+
262+
How to migrate from dockershim-dependant agent:
263+
1. Remove `docker-container-stats` from the list of [configured monitors](https://github.com/signalfx/signalfx-agent/blob/main/docs/monitor-config.md).
264+
Note, keeping this monitor enabled with non-dockershim runtime will result in incorrect metrics
265+
being reported when docker is installed on node and no metrics when docker is not installed.
266+
2. [Enable and configure `kubelet-metrics`](https://github.com/signalfx/signalfx-agent/blob/main/docs/monitors/kubelet-metrics.md) monitor.
267+
268+
{{< note >}}
269+
The set of collected metrics will change. Review your alerting rules and dashboards.
270+
{{< /note >}}
271+
272+
The Pod accessing Docker may be named something like:
273+
274+
- `signalfx-agent`
275+
-->
276+
SignalFx Smart Agent(已弃用)在 Kubernetes 集群上使用了多种不同的监视器,
277+
包括 `kubernetes-cluster``kubelet-stats/kubelet-metrics``docker-container-stats`
278+
`kubelet-stats` 监视器此前已被供应商所弃用,现支持 `kubelet-metrics`
279+
`docker-container-stats` 监视器受 dockershim 移除的影响。
280+
不要为 `docker-container-stats` 监视器使用 Docker Engine 之外的运行时。
281+
282+
如何从依赖 dockershim 的代理迁移:
283+
1.[所配置的监视器](https://github.com/signalfx/signalfx-agent/blob/main/docs/monitor-config.md)中移除 `docker-container-stats`
284+
注意,若节点上已经安装了 Docker,在非 dockershim 环境中启用此监视器后会导致报告错误的指标;
285+
如果节点未安装 Docker,则无法获得指标。
286+
2. [启用和配置 `kubelet-metrics`](https://github.com/signalfx/signalfx-agent/blob/main/docs/monitors/kubelet-metrics.md) 监视器。
287+
288+
{{< note >}}
289+
收集的指标会发生变化。具体请查看你的告警规则和仪表盘。
290+
{{< /note >}}
291+
292+
名字中包含以下字符串的 Pod 可能访问 Docker:
293+
- `signalfx-agent`
294+
295+
### Yahoo Kubectl Flame
296+
297+
<!--
298+
Flame does not support container runtimes other than Docker. See
299+
[https://github.com/yahoo/kubectl-flame/issues/51](https://github.com/yahoo/kubectl-flame/issues/51)
300+
-->
301+
Flame 不支持 Docker 以外的容器运行时,具体可见 [https://github.com/yahoo/kubectl-flame/issues/51](https://github.com/yahoo/kubectl-flame/issues/51)
302+

0 commit comments

Comments
 (0)