This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-website.git
The following commit(s) were added to refs/heads/master by this push:
new ebefb1298f Polish and fix
ebefb1298f is described below
commit ebefb1298f5f770f804a471b84d8da421356378a
Author: Wu Sheng <[email protected]>
AuthorDate: Thu Sep 29 08:16:37 2022 +0800
Polish and fix
---
.../index.md | 9 ++---
.../en.md | 44 ----------------------
.../index.md | 9 ++---
3 files changed, 8 insertions(+), 54 deletions(-)
diff --git
a/content/blog/diagnose-service-mesh-network-performance-with-ebpf/index.md
b/content/blog/diagnose-service-mesh-network-performance-with-ebpf/index.md
index c9634a9c11..755b8cdca6 100644
--- a/content/blog/diagnose-service-mesh-network-performance-with-ebpf/index.md
+++ b/content/blog/diagnose-service-mesh-network-performance-with-ebpf/index.md
@@ -171,11 +171,10 @@ environment.
Istio is the most widely deployed service mesh, and comes with a complete demo
application that we can use for testing. To install Istio and the demo
application, follow these steps:
-1. Install getmesh from [Tetrate Istio Distro](https://istio.tetratelabs.io/)
-2. Install Istio using the demo configuration profile.
-3. Label the default namespace, so Istio automatically injects Envoy sidecar
proxies when we'll deploy the application.
-4. Deploy the bookinfo application to the cluster.
-5. Deploy the traffic generator to generate some traffic to the application.
+1. Install Istio using the demo configuration profile.
+2. Label the default namespace, so Istio automatically injects Envoy sidecar
proxies when we'll deploy the application.
+3. Deploy the bookinfo application to the cluster.
+4. Deploy the traffic generator to generate some traffic to the application.
```bash
export ISTIO_VERSION=1.13.1
diff --git
a/content/zh/diagnose-service-mesh-network-performance-with-ebpf/en.md
b/content/zh/diagnose-service-mesh-network-performance-with-ebpf/en.md
deleted file mode 100644
index 6056c66a93..0000000000
--- a/content/zh/diagnose-service-mesh-network-performance-with-ebpf/en.md
+++ /dev/null
@@ -1,44 +0,0 @@
-## Background
-
-This article will show how to use [Apache
SkyWalking](https://github.com/apache/skywalking) with
[eBPF](https://ebpf.io/what-is-ebpf/) to make network troubleshooting easier in
a service mesh environment.Apache SkyWalking is an application performance
monitor tool for distributed systems. It observes metrics, logs, traces, and
events in the service mesh environment and uses that data to generate a
dependency graph of your pods and services. This dependency graph can provide
quick insight [...]
-Access to metrics from Envoy-to-service and transport layer communication can
make it easier to diagnose service issues. To this end, SkyWalking needs to
collect and analyze transport layer metrics between processes inside Kubernetes
pods—a task well suited to eBPF. We investigated using eBPF for this purpose
and present our results and a demo below.Monitoring Kubernetes Networks with
eBPFWith its origins as the Extended Berkeley Packet Filter, eBPF is a general
purpose mechanism for inj [...]
-**Pros****Consuprobe**Get more application-related contexts, such as whether
the current request is HTTP or HTTPS.Requests and responses can be intercepted
by a single methodData structures can be unstable, so it is more difficult to
get the desired data.Implementation may differ between language/library
versions.Does not work in applications without [symbol
tables](https://en.wikipedia.org/wiki/Symbol_table).**kprobe**Available for all
languages.The data structure and methods are stable [...]
-For the general network performance monitor, we chose to use the kprobe
(intercept the syscalls) for the following reasons:It’s available for
applications written in any programming language, and it’s stable, so it saves
a lot of development/adaptation costs. It can be correlated with metrics from
the system level, which makes it easier to troubleshoot.As a single request and
response are split into multiple probes, we can use technology to correlate
them.For contextual information, It’s [...]
-export ISTIO_VERSION=1.13.1
-
-\# install istio
-istioctl install -y --set profile=demo
-kubectl label namespace default istio-injection=enabled
-
-\# deploy the bookinfo applications
-kubectl apply -f
https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/platform/kube/bookinfo.yaml
-kubectl apply -f
https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/networking/bookinfo-gateway.yaml
-kubectl apply -f
https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/networking/destination-rule-all.yaml
-kubectl apply -f
https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/networking/virtual-service-all-v1.yaml
-
-\# generate traffic
-kubectl apply -f
https://raw.githubusercontent.com/mrproliu/skywalking-network-profiling-demo/main/resources/traffic-generator.yaml
-Install SkyWalkingThe following will install the storage, backend, and UI
needed for SkyWalking:git clone
https://github.com/apache/skywalking-kubernetes.git
-cd skywalking-kubernetes
-cd chart
-helm dep up skywalking
-helm -n istio-system install skywalking skywalking \
- --set fullnameOverride=skywalking \
- --set elasticsearch.minimumMasterNodes=1 \
- --set elasticsearch.imageTag=7.5.1 \
- --set oap.replicas=1 \
- --set ui.image.repository=apache/skywalking-ui \
- --set ui.image.tag=9.2.0 \
- --set oap.image.tag=9.2.0 \
- --set oap.envoy.als.enabled=true \
- --set oap.image.repository=apache/skywalking-oap-server \
- --set oap.storageType=elasticsearch \
- --set oap.env.SW_METER_ANALYZER_ACTIVE_FILES='network-profiling'Install
SkyWalking RoverSkyWalking Rover is deployed on every node in Kubernetes, and
it automatically detects the services in the Kubernetes cluster. The network
profiling feature has been released in the version 0.3.0 of SkyWalking Rover.
When a network monitoring task is created, the SkyWalking rover sends the data
to the SkyWalking backend.kubectl apply -f
https://raw.githubusercontent.com/mrproliu/skywalking-network-pr [...]
-Start the Network Profiling TaskOnce all deployments are completed, we must
create a network profiling task for a specific instance of the service in the
SkyWalking UI.
-
-To open SkyWalking UI, run:
-
-kubectl port-forward svc/skywalking-ui 8080:80 --namespace istio-system
-
-Currently, we can select the specific instances that we wish to monitor by
clicking the **Data Plane** item in the Service Mesh panel and the **Service**
item in the **Kubernetes** panel.In the figure below, we have selected an
instance with a list of tasks in the network profiling tab. When we click the
start button, the SkyWalking Rover starts monitoring this instance’s
network.**Figure
5**Done!After a few second [...]
-When you click on the line between processes, you can see the TCP metrics
between the two
processes.**Figure
7**ConclusionIn this article, we detailed a problem that makes troubleshooting
service mesh architectures difficult: lack of context between layers in the
network stack. These are the cases when eBPF begins to really help with
debugging/productivity when existing service mesh/envoy cannot. Then, we
researche [...]
\ No newline at end of file
diff --git
a/content/zh/diagnose-service-mesh-network-performance-with-ebpf/index.md
b/content/zh/diagnose-service-mesh-network-performance-with-ebpf/index.md
index 3c9e94e26b..2f034fb358 100644
--- a/content/zh/diagnose-service-mesh-network-performance-with-ebpf/index.md
+++ b/content/zh/diagnose-service-mesh-network-performance-with-ebpf/index.md
@@ -159,11 +159,10 @@ eBPF 起源于 Extended Berkeley Packet Filter,是一种通用的机制,可
Istio是最广泛部署的服务网格,并附带一个完整的演示应用程序,我们可以用来测试。要安装 Istio 和演示应用程序,请遵循以下步骤:
-1. 从 [Tetrate Istio Distro](https://istio.tetratelabs.io/)安装 getmesh。
-2. 使用演示配置文件安装 Istio。
-3. 标记 default 命名空间,所以当我们要部署应用程序时,Istio 会自动注入 Envoy 的 sidecar 代理。
-4. 将 bookinfo 应用程序部署到集群上。
-5. 部署流量生成器,为应用程序生成一些流量。
+1. 使用演示配置文件安装 Istio。
+2. 标记 default 命名空间,所以当我们要部署应用程序时,Istio 会自动注入 Envoy 的 sidecar 代理。
+3. 将 bookinfo 应用程序部署到集群上。
+4. 部署流量生成器,为应用程序生成一些流量。
```bash
export ISTIO_VERSION=1.13.1