Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 0 additions & 127 deletions docs/zh/04-best-practice/03-special-environment-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,133 +138,6 @@ K8s 使用 macvlan CNI 时,在 rootns 下只能看到所有 POD 共用的一

唯一需要注意的是,Agent 的 tap_interface_regex 只需配置为 Node NIC 列表。

# 特殊 K8s 资源或 CRD

当发现未同步的(找不到工作负载的)容器 Pod 时,
- 如果 Pod 的`metadata.ownerReferences[].apiVersion = apps.kruise.io/v1beta1`,那么对应的 K8s 平台应该是 OpenKruise
- 如果 Pod 的`metadata.ownerReferences[].apiVersion = opengauss.sig/v1`,那么对应的 K8s 平台应该是 OpenGauss

这类场景需要进行以下操作:

- Agent 配置中打开和关闭对应的资源
- 在 Agent 部署集群中配置 Kubernetes API 权限

## OpenShift

该场景需要关闭默认的 `Ingress` 资源获取,打开 `Route` 资源获取。

- [Route](https://docs.redhat.com/en/documentation/openshift_container_platform/4.14/html/network_apis/route-route-openshift-io-v1)

```yaml
apiVersion: route.openshift.io/v1
kind: Route
```

修改 Agent 配置如下:

```yaml
inputs:
resources:
kubernetes:
api_resources:
- name: ingresses
disabled: true
- name: routes
```

在 Agent 所在容器集群中修改 Agent 的 ClusterRole 配置,增加如下规则:

```yaml
rules:
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- get
- list
- watch
```

## OpenKruise

该场景下需要从 API 获取 `CloneSet` 和 `Advanced StatefulSet` 资源。

- [CloneSet](https://openkruise.io/docs/user-manuals/cloneset/)

```yaml
apiVersion: apps.kruise.io/v1alpha1
kind: CloneSet
```

- [Advanced StatefulSet](https://openkruise.io/docs/user-manuals/advancedstatefulset/)

```yaml
apiVersion: apps.kruise.io/v1beta1
kind: StatefulSet
```

修改 Agent 配置如下:

```yaml
inputs:
resources:
kubernetes:
api_resources:
- name: clonesets
group: apps.kruise.io
- name: statefulsets
group: apps
- name: statefulsets
group: apps.kruise.io
```

::: tip
由于 `statefulsets` 在 `apps` 和 `apps.kruise.io` 组中重名,如果需要同时获取 Kubernetes 的 `StatefulSet`,这里除配置 `group=apps.kruise.io, name=statefulsets` 资源同步外,需要同时开启 `group=apps, name=statefulsets` 的资源同步。
:::

在 Agent 所在容器集群中修改 Agent 的 ClusterRole 配置,增加如下规则:

```yaml
- apiGroups:
- apps.kruise.io
resources:
- clonesets
- statefulsets
verbs:
- get
- list
- watch
```

## OpenGauss

该场景下需要从 API 获取 `OpenGaussCluster` 资源。

- [OpenGaussCluster](https://github.com/opengauss-mirror/openGauss-operator)

修改 Agent 配置如下:

```yaml
inputs:
resources:
kubernetes:
api_resources:
- name: opengaussclusters
```

在 Agent 所在容器集群中修改 Agent 的 ClusterRole 配置,增加如下规则:

```yaml
- apiGroups:
- opengauss.sig
resources:
- opengaussclusters
verbs:
- get
- list
- watch
```

# K8s 运行 Agent 权限受限

Expand Down
Loading
Loading