在 Red Hat OpenShift 中使用 Helm 图表管理 Workload Protection 代理
您可以使用 Helm 图表在 Red Hat OpenShift 集群上安装、升级和删除 Workload Protection 代理。
您还可以使用控制台,将现有的 Red Hat OpenShift 或 Kubernetes 集群连接到您的 Workload Protection 实例。 在 IBM Cloud 控制台中,转到 “容器”>“集群” 以访问现有集群。 然后,在“Workload Protection”小部件中点击“连接”,将您的集群连接到 Workload Protection。
准备工作
-
在您的本地计算机上安装最新版本的 Helm 命令行工具。 Helm 需要 3.6 或更高版本。
-
安装 IBM Cloud 命令行工具、Kubernetes Service 插件、IBM Cloud Container Registry 插件,以及 Red Hat OpenShift 和 Kubernetes 命令行工具。 如需了解更多信息,请参阅 “安装 CLI”。
-
请确认您拥有在集群上部署 Workload Protection 代理所需的访问权限和许可。
-
请确认您的集群中是否已部署
ibm-observe项目。 代理程序部署在此项目中。项目是集群中的名称空间。
要创建该项目,请运行
oc adm new-project --node-selector='' ibm-observe。 -
请确认从您的集群发往 Workload Protection 端点的出站流量在端口
443和6443上是被允许的。 如果通过虚拟私有端点(VPE)连接代理,则必须允许这两个端口从集群发出出站流量。
部署代理
请按照以下步骤,使用 Helm 部署代理。
设置集群上下文
-
登录您的账户。 如果您有联合帐户,请包括
--sso选项。ibmcloud login [-g <resource_group>] [--sso] -
将集群的
kubeconfig配置文件下载并添加到~/.kube/config中的现有kubeconfig或KUBECONFIG环境变量中的最后一个文件。ibmcloud oc cluster config --cluster <cluster_name_or_ID> -
在浏览器中,访问集群控制器的地址 URL,并在其后添加
/console。 例如,https://c0.containers.cloud.ibm.com:23652/console。 -
在 Red Hat OpenShift 网页控制台的菜单栏中,点击您的个人资料 IAM#user.name@email.com > 复制登录命令。 显示
oc login令牌命令并将其复制到命令行以通过 CLI 进行认证。 -
通过检查版本,验证
oc命令是否针对您的集群正常运行。oc version示例输出:
Client Version: v4.11.0 Kubernetes Version: v1.25.8.2如果您无法执行需要管理员权限的操作(例如列出集群中的所有工作节点或 Pod),请通过运行
ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin命令,下载该集群管理员的 TLS 证书和权限文件。
设置 Sysdig 的 Helm 软件源
向 Helm 实例添加 Workload Protection Helm 存储库。
-
添加 Helm 仓库。
helm repo add sysdig https://charts.sysdig.com -
更新仓库以获取所有 Helm 图表的最新版本。
helm repo update -
列出 Sysdig 存储库中目前可用的 Helm 图表。
helm search repo sysdig -
请确认列表中是否包含
sysdig/sysdig-deploy的 Helm 图表。
创建名为 YAML 的值文件
定义一个 YAML 文件,并在其中包含用于部署 Workload Protection 代理以及您计划部署的Secure组件的值。 例如,将文件命名为 agent-values-monitor-secure.yaml。
以下 YAML 是一个模板,您可以使用它来配置 Workload Protection 代理和Secure组件。 您可以通过删除或使用 # 注释掉代理不需要的部分,来自定义该文件。
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:
imageRegistry: icr.io/ext
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 图表
要部署代理、Secure 组件或两者,请安装 sysdig/sysdig-deploy 图表,并使用您在上一步中配置的变量文件 YAML。
运行以下命令以使用 Helm Chart 安装代理程序:
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
以下示例展示了一个针对 us-east 区域的 Helm 值文件示例:
agent:
ebpf:
enabled: true
kind: universal_ebpf
collectorSettings:
collectorHost: ingest.private.us-east.security-compliance-secure.cloud.ibm.com
sysdig:
settings:
host_scanner:
enabled: true
kspm_analyzer:
enabled: true
sysdig_api_endpoint: private.us-east.security-compliance-secure.cloud.ibm.com
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:
imageRegistry: icr.io/ext
clusterConfig:
name: my-cluster
sysdig:
accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
apiHost: private.us-east.security-compliance-secure.cloud.ibm.com
nodeAnalyzer:
enabled: false
clusterShield:
enabled: true
cluster_shield:
sysdig_endpoint:
region: custom
collector: ingest.private.us-east.security-compliance-secure.cloud.ibm.com: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
更新代理
要使用 Helm更新代理程序版本,请完成以下步骤:
-
更新 Helm 仓库。
helm repo update -
升级代理程序。
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
按照以下步骤,可将您的代理升级到最新可用版本。
删除代理
您还可以使用控制台将代理从集群中移除。 在 IBM Cloud 控制台中,转到 “容器”>“集群” 以访问现有集群。 然后,在“Workload Protection”小部件中打开 “选项” 菜单,并选择 “断开连接”。
若要通过 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是该版本的名称。