在外部的 Kubernetes 或 Red Hat OpenShift 集群中部署代理
除了可在 IBM Cloud 上运行外,IBM Cloud® Security and Compliance Center Workload Protection 提供的集中式安全与合规框架还可通过使用 Helm 图表,将 Workload Protection 代理安装到 Kubernetes 或 Red Hat OpenShift 集群上,从而在其他云环境和本地环境中运行。
准备工作
-
在您的本地计算机上安装最新版本的 Helm 命令行工具。 Helm 需要 3.6 或更高版本。
Helm 这是一个基于 Kubernetes 的包管理器,它利用 Helm 图表来定义、安装和升级集群中的复杂 Kubernetes 应用。 Helm chart 用于对规范打包,这些规范可为构建应用程序的 Kubernetes 资源生成 YAML 文件。 这些 Kubernetes 资源会通过 Helm 自动应用到您的集群中,并分配给一个版本。 您还可以使用 Helm 来指定和打包您自己的应用程序,并让 Helm 为 Kubernetes 资源生成 YAML 文件。
-
请确认您拥有在集群上部署 Workload Protection 代理所需的访问权限和许可。 在 Kubernetes 集群上,您必须拥有在该集群上运行
kubectl命令的权限。 在 Red Hat OpenShift 集群上,您必须具备运行oc命令的权限。 请查阅您所用集群的文档,以了解如何获取适当的权限级别,以及如何配置本地机器以便向集群发出命令。 -
请确认您的集群中是否可用
ibm-observe命名空间。 代理程序部署在此名称空间中。要创建该命名空间,请运行
kubectl create namespace ibm-observe。 -
请确认从您的集群发往 Workload Protection 端点的出站流量在端口
443和6443上是被允许的。
部署代理
在确保拥有足够版本的 Helm 并具备在集群上执行命令的权限后,您可以通过 Helm 在 Kubernetes 或 Red Hat OpenShift 上安装、升级和删除 Workload Protection 代理。
-
在本地机器上将 Sysdig 添加为 Helm 图表的仓库。
helm repo add sysdig https://charts.sysdig.com如果发生了以下错误:
-
更新仓库引用。
helm repo update -
列出 Sysdig 存储库中目前可用的 Helm 图表。
helm search repo sysdig -
请确认列表中是否包含
sysdig/sysdig-deploy的 Helm 图表。 -
安装 Workload Protection 代理。 您可以通过创建一个
YAMLHelm 值文件(其中列出了各项值),然后执行一条引用该文件的命令来进行安装。若要使用 Helm 配置文件进行安装,请先创建一个名为
agent-values-monitor-secure.yaml的文件。 以下YAML是一个模板,您可以使用它来配置 Workload Protection 代理。 您可以通过删除或使用#注释掉代理不需要的部分,来自定义该文件。agent: ebpf: enabled: true kind: universal_ebpf collectorSettings: collectorHost: INGESTION_ENDPOINT sysdig: settings: host_scanner: enabled: true kspm_analyzer: enabled: true sysdig_api_endpoint: API_ENDPOINT extraVolumes: volumes: - name: root-vol hostPath: path: / - name: tmp-vol hostPath: path: /tmp mounts: - mountPath: /host name: root-vol readOnly: true - mountPath: /host/tmp name: tmp-vol global: clusterConfig: name: CLUSTER_NAME sysdig: accessKey: SERVICE_ACCESS_KEY apiHost: API_ENDPOINT nodeAnalyzer: enabled: false clusterShield: enabled: true cluster_shield: sysdig_endpoint: region: custom collector: INGESTION_ENDPOINT:6443 log_level: info features: admission_control: enabled: true container_vulnerability_management: enabled: true dry_run: false container_vulnerability_management: enabled: true audit: enabled: true posture: enabled: true其中:
CLUSTER_NAME- 您正在向其部署代理的集群名称。
SERVICE_ACCESS_KEY- Workload Protection 实例的访问密钥。
INGESTION_ENDPOINT- 该实例的摄入端点。 例如,
ingest.us-east.security-compliance-secure.cloud.ibm.com。 API_ENDPOINT- 该实例的 API 端点。 例如,
us-east.security-compliance-secure.cloud.ibm.com。
-
然后,运行引用已创建的 Helm 值文件的安装命令:
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
更新代理
要将代理更新至最新可用版本,请按照以下步骤操作:
-
更新 Helm 仓库。
helm repo update -
升级代理程序。
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
删除代理
若要通过 Helm 删除该代理,请卸载该图表。
-
列出已安装的 Chart。
helm list -n ibm-observe输出结果列出了已安装的图表:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION sysdig-agent ibm-observe 1 2023-03-24 15:02:58.408108 +0100 CET deployed sysdig-deploy-1.6.3 -
卸载 Chart。
helm delete sysdig-agent -n ibm-observe在 Helm 中,
sysdig-agent是该版本的名称。