Skip to main content

高级

k8s 输出程序支持额外的 flag 和提供额外配置源的选项,从而可以更方便地根据自己的喜好配置其行为。

所需配置

每次安装/升级 k8s 输出程序时都需要以下参数:

ParameterDescription
secret.secrets.portClientIdPort Client ID
secret.secrets.portClientSecretPort Client Secret

高级安装参数

可使用以下高级配置参数:

resyncInterval "参数指定为所有已知现有对象(除新的集群事件外)发送重复同步事件的时间间隔(以分钟为单位)。

  • 默认值: 0(禁用重新同步)
  • 被用于: 每 X 分钟重新同步一次。在集群内报告有关系的实体时,如果在 Port 中创建了相关目标实体之前就报告了该实体,则此参数非常有用。初始同步将失败,但随后当目标实体可用时,实体创建将成功。

安全配置

可以修改以下安全参数,让 k8s 输出程序对集群有更细粒度的访问权限:

ParameterDescriptionDefault
clusterRole.apiGroupsThe API groups that the K8s Exporter can access. Make sure to grant access to the relevant API groups, with respect to the resources that you've configured in the resource mapping{'*'}
clusterRole.resourcesThe resources that the K8s Exporter can access. Make sure to grant access to the relevant resources, with respect to the resources that you've configured in the resource mapping{'*'}

覆盖配置

安装 k8s 输出程序时,可以覆盖 helm upgrade 命令中的默认值:

通过被用于 --set flag,你可以在安装/升级出口程序时覆盖特定的出口程序配置参数:

helm upgrade --install k8s-exporter port-labs/port-k8s-exporter \
--create-namespace --namespace port-k8s-exporter \
--set secret.secrets.portClientId="YOUR_PORT_CLIENT_ID" \
--set secret.secrets.portClientSecret="YOUR_PORT_CLIENT_SECRET" \
--set stateKey="k8s-exporter" \
--set eventListenerType="KAFKA" \
--set extraEnv=[{"name":"CLUSTER_NAME","value":"my-cluster"}]

例如,从security configuration 部分设置参数:

--set clusterRole.apiGroups="{argoproj.io,'',apps}" \
--set clusterRole.resources="{rollouts,pods,replicasets}"

所有配置参数

  • 使用 helm chart 时可用配置参数的完整列表可查阅here
  • values.yml 文件骨架示例见here

额外的环境变量

要将额外的环境变量传递给出口程序的运行时,可以使用安装时提供的 helm chart。 可以通过以下两种方式之一来实现:

  1. 被用于 Helm 的 --set flag:
helm upgrade --install <MY_INSTALLATION_NAME> port-labs/port-k8s-exporter \
# Standard installation flags
# ...
--set "extraEnv[0].name"=HTTP_PROXY \
--set "extraEnv[0].value"=http://my-proxy.com:1111

2.Helm values.yaml 文件:

# The rest of the configuration
# ...
extraEnvs:
- name: HTTP_PROXY
value: http://my-proxy.com:1111

代理配置

http_proxy & https_proxy

HTTP_PROXYHTTPS_PROXY 是环境变量,分别用于指定处理 HTTP 或 HTTPS 的代理服务器。 分配给这些设置的值应为代理服务器的 URL。

例如

HTTP_PROXY=http://my-proxy.com:1111
HTTPS_PROXY=http://my-proxy.com:2222

###NO_PROXY

NO_PROXY "允许将某些地址列入黑名单,使其无法通过代理处理。 该变量接受一个逗号分隔的主机名或 urls 列表。

例如

NO_PROXY=http://127.0.0.1,google.com

高级资源映射配置

deleteDependents "参数用于启用删除依赖的 Port 实体。 当您有两个具有必填关系的蓝图,而关系中的目标实体应被删除时,该参数就非常有用。 在这种情况下,如果该标志设置为 "false",删除操作将失败;如果该标志设置为 "true",源实体也将被删除。

  • Default: false (disabled)
  • Use case: Deletion of dependent Port entities. Must be enabled if you want to delete a target entity (and its source entities) when the entity's blueprint has required relations.