Gestion de l'agent « Workload Protection » dans un cluster « Satellite » à l'aide d'un tableau de bord « Helm »
Vous pouvez utiliser un graphique « Helm » pour installer, mettre à niveau et supprimer un agent « Workload Protection » sur vos clusters « Satellite ».
Avant de commencer
-
Installez l'interface de ligne de commande IBM Cloud, le plug-in Kubernetes Service, le plug-in IBM Cloud Container Registry, ainsi que les interfaces de ligne de commande Red Hat OpenShift et Kubernetes. Pour plus d'informations, consultez la section « Installation de l'interface CLI ».
-
Installez la dernière version de l'interface CLI d' Helm sur votre ordinateur local. Helm La version 3.6 ou une version ultérieure est requise.
Helm est un gestionnaire de paquets de type « Kubernetes » qui utilise les charts d' Helm pour définir, installer et mettre à jour des applications complexes d' Kubernetes au sein de votre cluster. Les chartes Helm regroupent les spécifications permettant de générer des fichiers YAML pour les ressources Kubernetes qui créent votre application. Ces ressources Kubernetes sont automatiquement déployées dans votre cluster et associées à une version par Helm. Vous pouvez également utiliser Helm pour spécifier et conditionner votre propre application et laisser Helm générer les fichiers YAML pour vos ressources Kubernetes.
-
Obtenez votre noeud final Workload Protection
ingest. Accédez à votre emplacement Satellite, puis sélectionnez Noeuds finaux de liaison et Noeuds finaux de système. Copiez l'endpoint «system», qui commence par «satellite-sysdig-» et pointe vers «ingest.private.<region>.monitoring.cloud.ibm.com». Vous pourrez utiliser ce point de terminaison ultérieurement à l'adresseINGESTION_SATELLITE_ENDPOINT. -
Le trafic sortant de votre cluster vers les points d'extrémité Workload Protection doit être dirigé vers les ports
443et6443. -
Vérifiez que vous disposez des droits d'accès et des autorisations nécessaires pour déployer l'agent « Workload Protection » sur le cluster.
-
Vérifiez que l'espace de noms
ibm-observeest disponible dans votre cluster. L'agent est déployé dans cet espace de noms.Pour créer l'espace de noms, exécutez la commande «
oc adm new-project --node-selector='' ibm-observe». -
Obtenez votre noeud final Workload Protection
ingest. Accédez à votre emplacement Satellite, puis sélectionnez Noeuds finaux de liaison et Noeuds finaux de système. Copiez l'URL de l'endpoint «system», qui commence parsatellite-sysdig-et pointe versingest.private.<region>.monitoring.cloud.ibm.com. Vous pourrez utiliser ce point de terminaison ultérieurement à l'adresseINGESTION_SATELLITE_ENDPOINT. -
Vérifiez que le trafic sortant de votre cluster vers les points de termina Workload Protection est autorisé sur les ports
443et6443.
Création d'un point de terminaison de lien « Workload Protection Satellite »
Créez un HTTPS Satellite Link à l'aide de la console ou de l'interface de ligne de commande(CLI) pour vous connecter en toute sécurité aux points de terminaison privés de Workload Protection.
- Obtenez votre noeud final privé Workload Protection. Par exemple, si votre instance d' Workload Protection se trouve à l'adresse
us-east, votre point de terminaison estprivate.us-east.security-compliance-secure.cloud.ibm.com. - Accédez au tableau de bord « Emplacements » d’ Satellite. Cliquez sur « Points de terminaison Link », puis sur « Créer un point de terminaison ».
- Sélectionnez Cloud pour créer un noeud final pour un service, un serveur ou une application qui s'exécute en dehors de l'emplacement.
- Saisissez un nom de point de terminaison, le nom de domaine de destination (FQDN) — qui correspond au point de terminaison privé Workload Protection défini à l'étape 1 — ainsi que le port de destination
443. - Sélectionnez le protocole « HTTPS ».
- Cliquez sur Créer. Patientez quelques minutes jusqu’à ce que le Satellite Link composant de connexion d'attribuer un port à votre point de terminaison.
- Dans la ligne du tableau correspondant à votre point de terminaison, copiez le nom d'hôte de votre Satellite Link connecteur et le port de votre point de terminaison dans le champ « Adresse ». Vous devrez
l'utiliser comme «
API_ENDPOINT» ( ) dans les étapes suivantes.
Déploiement d'un agent
Suivez les étapes ci-dessous pour déployer un agent à l'aide d' Helm.
Configurer le contexte du cluster
-
Connectez-vous à votre compte. Si vous disposez d'un compte fédéré, incluez l'option
--sso.ibmcloud login [-g <resource_group>] [--sso] -
Téléchargez et ajoutez le fichier de configuration
kubeconfigpour votre cluster à votrekubeconfigexistant dans~/.kube/configou le dernier fichier dans la variable d'environnementKUBECONFIG.ibmcloud oc cluster config --cluster <cluster_name_or_ID> -
Dans votre navigateur, accédez à l'adresse de votre contrôleur de cluster URL, puis ajoutez
/consoleà la fin de l'adresse. Par exemple,https://c0.containers.cloud.ibm.com:23652/console. -
Dans la barre de menu de la console Web d' Red Hat OpenShift, cliquez sur votre profil IAM#user.name@email.com > Copier la commande de connexion. Affichez et copiez la commande «
oc logintoken » dans votre ligne de commande pour vous authentifier depuis l'interface CLI. -
Vérifiez que les commandes
ocs'exécutent correctement avec votre cluster en vérifiant la version.oc versionExemple de sortie :
Client Version: v4.11.0 Kubernetes Version: v1.25.8.2
Configuration du référentiel Helm Sysdig
Ajoutez le référentiel Workload Protection Helm à votre instance Helm.
-
Définissez le contexte du cluster.
ibmcloud ks cluster config --cluster <CLUSTER_NAME> -
Ajoutez le dépôt Helm.
helm repo add sysdig https://charts.sysdig.com -
Mettez à jour le référentiel pour récupérer les dernières versions de tous les graphiques Helm.
helm repo update -
Répertoriez les graphiques « Helm » actuellement disponibles pour le référentiel Sysdig.
helm search repo sysdig -
Vérifiez que le graphique «
sysdig/sysdig-deploy» ( Helm ) figure bien dans la liste.
Créez le fichier de valeurs Helm
Définissez un fichier « YAML » et indiquez-y les valeurs nécessaires au déploiement des composants Workload Protection que vous prévoyez de déployer. Par exemple, nommez le fichier « agent-values-monitor-secure.yaml ».
L' YAML suivante est un modèle que vous pouvez utiliser pour configurer les composants d' Workload Protection. Vous pouvez personnaliser le fichier en supprimant ou en commentant à l'aide de # les sections
qui ne sont pas nécessaires au déploiement de votre agent.
agent:
ebpf:
enabled: true
kind: universal_ebpf
collectorSettings:
collectorHost: INGESTION_SATELLITE_ENDPOINT
collectorPort: INGESTION_SATELLITE_ENDPOINT_PORT
slim:
enabled: true
global:
clusterConfig:
name: CLUSTER_NAME
kspm:
deploy: true
sysdig:
accessKey: SERVICE_ACCESS_KEY
apiHost: API_ENDPOINT
nodeAnalyzer:
secure:
vulnerabilityManagement:
newEngineOnly: true
nodeAnalyzer:
runtimeScanner:
deploy: false
benchmarkRunner:
deploy: false
hostScanner:
deploy: false
deploy: true
natsUrl: wss://API_ENDPOINT
sslVerifyCertificate: false
kspmCollector:
natsUrl: wss://API_ENDPOINT
sslVerifyCertificate: false
clusterScanner:
enabled: true
eveEnabled: true
sslVerifyCertificate: false
Où :
CLUSTER_NAME- Le nom du cluster sur lequel vous déployez l'agent.
SERVICE_ACCESS_KEY- La clé d'accès à l'instance d' Workload Protection.
INGESTION_SATELLITE_ENDPOINT- Le point de terminaison « Satellite » extrait précédemment, qui pointe vers le point de terminaison d'ingestion. Par exemple,
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud. INGESTION_SATELLITE_ENDPOINT_PORT- Le port de l'endpoint Satellite, extrait précédemment, qui pointe vers l'endpoint
ingest. Par exemple,30771. API_ENDPOINT- Le point de terminaison « Satellite », extrait précédemment, qui renvoie vers le point de terminaison de l'API privée « Workload Protection ». Par exemple,
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. Dans ce cas, le nom d'hôte et le port sont définis ensemble.
Installez le graphique « Helm »
Pour déployer l'agent, les composants d' Workload Protection, ou les deux, installez le chart sysdig/sysdig-deploy et utilisez le fichier de variables YAML que vous avez configuré à l'étape précédente.
Exécutez la commande suivante pour installer l'agent à l'aide de la charte Helm :
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
Si vous souhaitez installer directement les composants d' Workload Protection s sans fichier de valeurs « Helm », vous pouvez exécuter la commande suivante. Utilisez --set pour définir toutes les variables.
helm install sysdig-agent sysdig/sysdig-deploy --namespace ibm-observe --create-namespace \
--set agent.ebpf.enabled=true \
--set agent.ebpf.kind=universal_ebpf \
--set global.sysdig.accessKey=<SERVICE_ACCESS_KEY> \
--set global.sysdig.apiHost=<API_ENDPOINT> \
--set agent.collectorSettings.collectorHost=<INGESTION_SATELLITE_ENDPOINT> \
--set agent.collectorSettings.collectorPort=<INGESTION_SATELLITE_ENDPOINT_PORT> \
--set nodeAnalyzer.natsUrl=wss://<API_ENDPOINT> \
--set nodeAnalyzer.nodeAnalyzer.runtimeScanner.deploy=false \
--set nodeAnalyzer.nodeAnalyzer.hostScanner.deploy=false \
--set nodeAnalyzer.nodeAnalyzer.benchmarkRunner.deploy=false \
--set nodeAnalyzer.nodeAnalyzer.sslVerifyCertificate=false \
--set nodeAnalyzer.secure.vulnerabilityManagement.newEngineOnly=true \
--set global.kspm.deploy=true \
--set global.clusterConfig.name=<CLUSTER_NAME> \
--set kspmCollector.natsUrl=wss://<API_ENDPOINT> \
--set kspmCollector.sslVerifyCertificate=false \
--set clusterScanner.enabled=true \
--set clusterScanner.eveEnabled=true \
--set clusterScanner.sslVerifyCertificate=true
Où :
CLUSTER_NAME- Le nom du cluster sur lequel vous déployez l'agent.
SERVICE_ACCESS_KEY- La clé d'accès à l'instance d' Workload Protection.
INGESTION_SATELLITE_ENDPOINT- Le point de terminaison Satellite, extrait précédemment, qui renvoie vers le point de terminaison
ingest. Par exemple,c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud. INGESTION_SATELLITE_ENDPOINT_PORT- Le port de l'endpoint Satellite, extrait précédemment, qui pointe vers l'endpoint
ingest. Par exemple,30771. API_ENDPOINT- Le point de terminaison « Satellite », extrait précédemment, qui renvoie vers le point de terminaison de l'API privée « Workload Protection ». Par exemple,
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. Dans ce cas, le nom d'hôte et le port sont définis ensemble.
Mise à jour d'un agent
Mettez à jour l'agent « Workload Protection » au moins une fois tous les deux mois.
Pour mettre à jour la version de l'agent à l'aide de Helm, procédez comme suit:
-
Mettez à jour le dépôt Helm.
helm repo update -
Mettez à niveau l'agent.
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
suppression d'un agent
Pour supprimer l'agent à l'aide d' Helm, désinstallez le graphique.
-
Affichez la liste des cartes installées.
helm list -n ibm-observeLa sortie affiche la liste des graphiques installés :
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.37.10 -
Désinstallez la charte.
helm delete sysdig-agent -n ibm-observeDans Helm, «
sysdig-agent» est le nom de la version.