当前位置:网站首页>Ebpf cilium practice (2) - underlying network observability
Ebpf cilium practice (2) - underlying network observability
2022-07-01 05:16:00 【Haoyuyun sect】
In the previous platform , There is no direct observability for the network flow between components , There is a problem in the communication between user components , Manual troubleshooting can only be performed through traditional command-line tools , and cilium Of Hubble Services can provide UI The interface shows users the real-time traffic status , At the same time, these indicators can be exposed to Prometheus Aggregate finishing , So that users can observe and monitor the underlying network state more intuitively .
Turn on Hubble UI service
cilium The observability of the network is determined by Hubble Services provide , In the installation cilium when , Not installed by default Hubble , You can turn on... With the following command Hubble service
helm upgrade cilium cilium/cilium --version 1.11.2 \ --namespace kube-system \ --reuse-values \ --set hubble.relay.enabled=true \ --set hubble.ui.enabled=trueAfter deployment , The status can be determined by the following command
$ kubectl get po -n kube-system |grep hubblehubble-relay-65ff5f9bf6-247pt 1/1 Running 0 5d19hhubble-ui-5f7cdc86c7-gq5hs 3/3 Running 0 5d19h$ kubectl get svc -n kube-system | grep hubblehubble-relay ClusterIP 10.43.73.95 <none> 80/TCP 5d19hhubble-ui ClusterIP 10.43.20.190 <none> 80/TCP 5d19hHubble After deployment , It is not directly accessible outside the cluster , You can open external access in the following ways
Temporarily open
When executing commands, you can use
IP:12000visit UI Interface , After exiting the command, you cannot continue to accesscilium hubble uiFor a long time
adopt Rainbond How to add third-party components to the platform , Open or close at any time UI Access to the interface



Hubble UI Display information
Visit the main page

Enter the namespace you want to view , The current traffic topology is displayed in the middle of the page , The lower part shows the flow record

Click the traffic record to view the details

After clicking the component, only the relevant traffic is displayed

Select the information column displayed by the traffic record

Select the type of traffic to show

Select whether to ignore special types of traffic during display

docking Prometheus and Grafana
cilium Provides deployment Prometheus and Grafana Of yaml file , Which includes Grafana Template file , but cilium There are no open monitoring indicators when installed by default , Therefore, the monitoring indicators need to be enabled before deployment Prometheus and Grafana
Start monitoring indicators
helm upgrade cilium cilium/cilium --version 1.11.2 \ --namespace kube-system \ --reuse-values \ --set prometheus.enabled=true \ --set operator.prometheus.enabled=true \ --set hubble.enabled=true \ --set hubble.metrics.enabled="{dns,drop,tcp,flow,port-distribution,icmp,http}"Deploy Prometheus and Grafana
$ kubectl apply -f https://raw.githubusercontent.com/cilium/cilium/1.11.2/examples/kubernetes/addons/prometheus/monitoring-example.yamlnamespace/cilium-monitoring createdserviceaccount/prometheus-k8s createdconfigmap/grafana-config createdconfigmap/grafana-cilium-dashboard createdconfigmap/grafana-cilium-operator-dashboard createdconfigmap/grafana-hubble-dashboard createdconfigmap/prometheus createdclusterrole.rbac.authorization.k8s.io/prometheus unchangedclusterrolebinding.rbac.authorization.k8s.io/prometheus unchangedservice/grafana createdservice/prometheus createddeployment.apps/grafana createddeployment.apps/prometheus createdConfirm the operation status
$ kubectl get po -n cilium-monitoringNAME READY STATUS RESTARTS AGEgrafana-d69c97b9b-5ztrj 1/1 Running 0 5d20hprometheus-655fb888d7-456n4 1/1 Running 0 5d20h$ kubectl get svc -n cilium-monitoringNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEgrafana ClusterIP 10.43.230.15 <none> 3000/TCP 5d20hprometheus ClusterIP 10.43.219.180 <none> 9090/TCP 5d20hOpen external access
Temporarily open
kubectl -n cilium-monitoring port-forward service/grafana --address 0.0.0.0 --address :: 3000:3000kubectl -n cilium-monitoring port-forward service/prometheus --address 0.0.0.0 --address :: 9090:9090For a long time




Grafana Display information
Cilium Metrics

Cilium Operator

Hubble

边栏推荐
- LevelDB源码分析之LRU Cache
- 如何开始学剪辑?零基础详细解析
- Causes of short circuit of conductive slip ring and Countermeasures
- AcWing 888. Finding combinatorial number IV (the problem of finding combinatorial number with high precision)
- Global and Chinese market of high-end home theater 2022-2028: Research Report on technology, participants, trends, market size and share
- [Yugong series] February 2022 Net architecture class 005 ABP vNext Net core web application getting started configuration
- 导电滑环使用的注意事项
- Copy baby prompt: material cannot be empty. How to solve it?
- 线程类的几大创建方法
- Global and Chinese market of enterprise wireless LAN 2022-2028: Research Report on technology, participants, trends, market size and share
猜你喜欢

Single page application

Copy baby prompt: material cannot be empty. How to solve it?

Principle, technology and implementation scheme of data consistency in distributed database

C# wpf 使用DockPanel实现截屏框

Data consistency between redis and database

LeetCode1497-检查数组对是否可以被 k 整除-数组-哈希表-计数

Application and principle of ThreadPoolExecutor thread pool

在Rainbond中一键部署高可用 EMQX 集群

Tar command

Rainbond结合NeuVector实践容器安全管理
随机推荐
数字金额加逗号;js给数字加三位一逗号间隔的两种方法;js数据格式化
Solution: thread 1:[< *> setvalue:forundefined key]: this class is not key value coding compliant for the key*
AcWing 884. Gauss elimination for solving XOR linear equations
Global and Chinese market of 3D design and modeling software 2022-2028: Research Report on technology, participants, trends, market size and share
Daily question -leetcode1175- permutation of prime numbers - Mathematics
Implementation of distributed lock
Character input stream and character output stream
How to start learning editing? Detailed analysis of zero basis
Pytoch (II) -- activation function, loss function and its gradient
Sqlplus connects using the instance name
CockroachDB 分布式事务源码分析之 TxnCoordSender
How to meet the requirements of source code confidentiality and source code security management
AcWing 885. Find the combination number I (recursive preprocessing)
Global and Chinese market of search engine optimization (SEO) software 2022-2028: Research Report on technology, participants, trends, market size and share
Intelligent operation and maintenance: visual management system based on BIM Technology
【暑期每日一题】洛谷 P7222 [RC-04] 信息学竞赛
Distributed transactions - Solutions
在Rainbond中一键部署高可用 EMQX 集群
Use and principle of Park unpark
FileOutPutStream