Le déploiement de Cilium Hubble dans un cluster ACK Terway vous permet de visualiser le trafic réseau des conteneurs et les politiques réseau, offrant ainsi une observabilité de votre architecture réseau et de la topologie de vos services. Cette rubrique explique comment utiliser Cilium Hubble pour consulter les données de trafic réseau, telles que les sources et les destinations, afin d'assurer l'observabilité du réseau.
Prérequis
Cilium Hubble ne prend actuellement en charge que le mode réseau multi-IP ENI Terway, basé sur IPvlan. Lors de la création du cluster, définissez donc le paramètre Network Plug-in sur Terway et le paramètre Terway Mode sur IPvlan. Sans cette configuration, Cilium Hubble ne fonctionnera pas.
Étape 1 : Configurer le ConfigMap eni-config
Console
-
Modifiez le ConfigMap eni-config pour Terway.
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
Sur la page ConfigMaps, sélectionnez kube-system dans la liste déroulante Namespace. Localisez eni-config et cliquez sur Edit YAML dans la colonne Actions.
-
Dans le panneau View in YAML, recherchez
10-terway.conf, ajoutez les paramètres suivants à10-terway.conf, puis cliquez sur OK."cilium_enable_hubble": "true", "cilium_hubble_listen_address": ":4244", "cilium_hubble_metrics_server": ":9091", "cilium_hubble_metrics": "drop,tcp,flow,port-distribution,icmp",Parameter
Description
Remarks
eniip_virtual_type
Indique si le mode IPvlan est activé.
Si ce paramètre est absent ou si sa valeur n'est pas
IPVLAN, votre cluster ne prend pas en charge Cilium Hubble.cilium_enable_hubble
Indique si l'analyse du trafic réseau avec Hubble est activée.
Dans cette rubrique, ce paramètre est défini sur
"true".cilium_hubble_listen_address
Adresse d'écoute pour les informations de trafic réseau Hubble.
Dans cette rubrique, ce paramètre est défini sur
":4244".cilium_hubble_metrics_server
Adresse d'écoute pour les métriques Hubble.
Dans cette rubrique, ce paramètre est défini sur
":9091".cilium_hubble_metrics
Métriques à collecter. Séparez plusieurs métriques par une virgule (,).
Les fonctionnalités de couche 7 telles que DNS et HTTP ne sont pas prises en charge. La liste complète des métriques prises en charge par Hubble est
"drop,tcp,flow,port-distribution,icmp".RemarqueL'activation d'un trop grand nombre de métriques peut affecter les performances de Hubble.
-
Redémarrez les pods Terway pour appliquer les modifications.
Dans le volet de navigation de gauche, choisissez .
Sur la page Pods, sélectionnez kube-system dans la liste déroulante Namespace et saisissez terway-eniip dans la zone de recherche. Pour chaque pod correspondant, choisissez dans la colonne Actions.
-
Dans la boîte de dialogue de confirmation qui s'affiche, cliquez sur OK.
Sur la page Pods, attendez que le Status du nouveau pod terway-eniip-xxx passe à Running. Cela indique que le pod a redémarré avec succès.
Répétez ces étapes pour supprimer tous les pods Terway.
Kubectl
-
Modifiez le ConfigMap eni-config.
-
Exécutez la commande suivante pour modifier le ConfigMap eni-config :
kubectl -n kube-system edit configmap eni-config -
Dans le bloc de données
10-terway.conf, ajoutez les paramètres suivants. Ensuite, enregistrez les modifications et quittez."cilium_enable_hubble": "true", "cilium_hubble_listen_address": ":4244", "cilium_hubble_metrics_server": ":9091", "cilium_hubble_metrics": "drop,tcp,flow,port-distribution,icmp",Parameter
Description
Remarks
eniip_virtual_type
Indique si le mode IPvlan est activé.
Si ce paramètre est absent ou si sa valeur n'est pas
IPvlan, votre cluster ne prend pas en charge Cilium Hubble.cilium_enable_hubble
Indique si l'analyse du trafic réseau avec Hubble est activée.
Dans cette rubrique, ce paramètre est défini sur
"true".cilium_hubble_listen_address
Adresse d'écoute pour les informations de trafic réseau Hubble.
Dans cette rubrique, ce paramètre est défini sur
":4244".cilium_hubble_metrics_server
Adresse d'écoute pour les métriques Hubble.
Dans cette rubrique, ce paramètre est défini sur
":9091".cilium_hubble_metrics
Métriques à collecter. Séparez plusieurs métriques par une virgule (,).
Les fonctionnalités de couche 7 telles que DNS et HTTP ne sont pas prises en charge. La liste complète des métriques prises en charge par Hubble est
"drop,tcp,flow,port-distribution,icmp".RemarqueL'activation d'un trop grand nombre de métriques peut affecter les performances de Hubble.
-
-
Redémarrez les pods Terway pour appliquer les modifications.
kubectl rollout restart daemonset -n kube-system terway-eniip
Étape 2 : Installer Cilium Hubble
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
-
Sur la page Helm, cliquez sur Deploy. Configurez les paramètres de la section Basic Information.
Parameter
Example value
Release Name
ack-terway-hubble
Namespace
kube-system
Source
La valeur par défaut est Marketplace.
Chart
Pour Use Scenarios, sélectionnez All.
Pour Supported Architecture, sélectionnez amd64.
Dans la zone de recherche, saisissez ack-terway-hubble.
Sélectionnez ack-terway-hubble et cliquez sur Next.
-
Sur la page Parameters, sélectionnez une Chart Version. Dans la zone Parameter, localisez la section
ingress, définissez la valeur dehostssur votre domaine d'accès à l'interface utilisateur Hubble, puis cliquez sur OK.RemarqueLes paramètres suivants se trouvent sous la section
ingress.Parameter
Description
enabled
Indique si l'accès Ingress pour l'interface utilisateur Hubble est activé.
annotations
Annotations Ingress personnalisées.
path
Chemin racine Ingress personnalisé.
hosts
Hôtes Ingress personnalisés.
tls
Configuration TLS Ingress personnalisée.
Étape 3 : Utiliser Cilium Hubble
Si vous avez configuré le paramètre Ingress hosts pour Cilium Hubble, accédez à l'interface utilisateur Hubble via ce domaine sur le port 80. L'interface utilisateur Hubble affiche les informations suivantes.
Si vous utilisez un nom de domaine non résolvable publiquement, tel que ingress.local, exécutez la commande kubectl -n kube-system get svc nginx-ingress-lb pour obtenir l'adresse IP de l'interface utilisateur Hubble. Ajoutez ensuite une entrée à votre fichier hosts local pour mapper ingress.local à cette adresse IP.
La carte des services affiche la topologie de communication entre les pods et les services dans tous les namespaces de votre cluster.
La vue des flux fournit des détails sur le trafic réseau actuel, y compris les sources, les destinations, les informations sur les ports et le statut de transfert.
Si des politiques réseau sont configurées, l'interface utilisateur indique quels flux de trafic sont bloqués par ces politiques.
Cilium Hubble expose les métriques de trafic réseau via le service hubble-metrics dans le namespace kube-system. Le champ cilium_hubble_metrics du ConfigMap eni-config contrôle les métriques exposées. Vous pouvez collecter ces données à l'aide de Prometheus open source ou de Managed Service for Prometheus. Pour plus d'informations, consultez les rubriques Utiliser Prometheus open source pour la surveillance et Configurer Managed Service for Prometheus.
Pour plus d'informations sur les métriques exposées par Cilium Hubble, consultez la documentation Hubble Exported Metrics.
|
Category |
Metric |
Label |
Description |
|
drop |
hubble_drop_total |
reason, protocol |
Total des paquets supprimés. |
|
tcp |
hubble_tcp_flags_total |
flag, family |
Total des indicateurs TCP observés. |
|
flow |
hubble_flows_processed_total |
type, subtype, verdict |
Total des flux réseau traités. |
|
port-distribution |
hubble_port_distribution_total |
protocol, port |
Distribution des paquets par port de destination. |
|
icmp |
hubble_icmp_total |
family, type |
Total des paquets ICMP. |