Skip to content

Commit b127208

Browse files
MouceLcywang1905
authored andcommitted
update doc to release v0.7.0
1 parent 80a74b6 commit b127208

File tree

9 files changed

+160
-114
lines changed

9 files changed

+160
-114
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.idea/*

docs/getting-started/ROADMAP.md

+24-17
Original file line numberDiff line numberDiff line change
@@ -65,41 +65,48 @@
6565

6666
详见 [v0.6.0](https://github.com/slime-io/slime/releases/tag/v0.6.0)
6767

68-
## 四、Slime v0.7.0(规划中)
6968

70-
**流量管理**
71-
- 【配置懒加载】支持 ServiceEntry 服务
72-
- 【智能熔断】发布服务网格熔断标准 API
73-
- 【智能熔断】发布智能熔断新特性
74-
- 【插件管理】支持服务级别插件下发
7569

70+
## 四、Slime v0.7.0(已发布)
71+
72+
优化处理了很多实践过程中遇到的问题
7673

7774
**运维管理**
7875

79-
- 实现 WASM 插件分发端到端功能
76+
- 【配置懒加载】支持workload servicefence,结合meshregistry,可以支持serviceEntry类型服务的配置懒加载
77+
- 【基础能力】支持作为xds server,对外提供从istio处获取的xds数据
8078

81-
**产品化**
79+
**流量管理**
8280

83-
- 【UI】新增 UI 模块,实现资源 CRUD
84-
- 【UI】展示上下游资源关联性
81+
- 【智能限流】限流模块支持workloadselector
8582

83+
**扩展管理**
8684

87-
## 五、Slime v0.8.0(规划中)
85+
- 【注册中心】支持对接开启认证的nacos,支持根据元数据筛选服务实例
86+
87+
## Slime v0.8.0(规划中)
8888

8989
**流量管理**
9090

91-
- 【智能降级】发布智能降级新特性
91+
- 【智能降级】发布服务网格降级标准 API
92+
- 【智能降级】发布智能降级新模块
9293

9394
**运维管理**
9495

9596
- 【配置懒加载】发布服务网格配置精准推送标准 API
9697

97-
**工程**
98+
**扩展管理**
99+
100+
- 【插件管理】支持服务级别插件下发
98101

99-
- 支持 Istio Ambient 路线
100-
- 适配 SMI
101102

102-
**产品化**
103+
## Slime v0.9.0(规划中)
104+
105+
**运维管理**
106+
- 前端控制台
103107

104-
- 【UI】重点模块特化展示,如懒加载的服务拓扑图、限流触发状态、排障操作界面、wasm插件分发等
105108

109+
**工程**
110+
111+
- 支持 Istio Ambient 路线
112+
- 适配 SMI

docs/release/v0.7.0.md

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# slime v0.7.0
2+
3+
NOTE: 子模块代码,可前往 [lazyload/limiter/plugin](https://github.com/slime-io/slime/tree/master/staging/src/slime.io/slime/modules)[i9s](https://github.com/slime-io/i9s)
4+
5+
**DATE: 20230324**
6+
7+
## 新特性
8+
- lazyload: 支持ServiceEntry类型服务,现在可以同时支持K8s Service与ServiceEntry服务
9+
- lazyload: 支持透传ipv4格式的域名请求,避免兜底到global-sidecar
10+
- limiter: 支持请求参数匹配条件
11+
- limiter: 支持限流触发时,自定义响应头
12+
- meshregistry: 支持对接开启认证的 Nacos
13+
- framework: 支持作为xds server,对外提供从istio处获取的xds数据
14+
15+
16+
## 变更
17+
- meshregistry: 优化对ZooKeeper watch模式,请求量最高可降低 50%
18+
- meshregistry: 支持本身配置的热更新,无需重启 Slime
19+
- lazyload: gloabal-sidecar新增了service controller,用于在转发前进行域名查询
20+
- limiter: 升级go-control-plane至v0.11.0
21+
- framework: 优化了模块中clientSet的使用
22+
23+
## 修复
24+
25+
- lazyload: 修复record导致的sidecar无法生成的问题
26+
- lazyload: 修复错误的sidecar gvk导致的无法触发reconcile的问题
27+
- limiter: 修复连续两次相同spec导致无法生成envoyfilter的问题
28+
- framework: 修复了slimeboot中模块开关不生效的问题

docs/user-guide/image-usage.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,10 @@ TARGET_GOARCH=arm64 ./publish.sh build image
4040
# 等同于 ./publish.sh ALL
4141
```
4242

43+
4344
### 构建多架构镜像
4445

45-
切换至子模块所在目录,运行以下命令构建多架构镜像,默认hub地址在 `slime/bin/publish`中定义
46+
切换至子模块所在目录,运行以下命令构建多架构镜像,默认hub地址在 `slime/bin/publish.sh` 中定义
4647

4748
```sh
4849
./publish.sh publish amd64 arm64
@@ -52,15 +53,16 @@ TARGET_GOARCH=arm64 ./publish.sh build image
5253

5354
### 构建amd64镜像
5455

55-
切换至 slime/modules/bundle_example 目录, 运行以下命令构建bundle的amd64镜像
56+
切换至 slime/staging/src/slime.io/slime/modules/bundle-all 目录, 运行以下命令构建bundle的amd64镜像
57+
5658

5759
```sh
5860
./publish.sh build image
5961
```
6062

6163
### 构建多架构镜像
6264

63-
切换至 slime/modules/bundle_example 目录,运行以下命令构建多架构镜像
65+
切换至 slime/staging/src/slime.io/slime/modules/bundle-all 目录,运行以下命令构建多架构镜像
6466

6567
```sh
6668
./publish.sh publish amd64 arm64

docs/user-guide/lazyload/tutorial.md

+60-29
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,24 @@
88

99
安装懒加载前,需要先安装 `SlimeBoot CRD``ServiceFence CRD``deployment/slime-boot`。这一步是为了准备好懒加载需要的 CRD 以及懒加载模块的启动器。不同 k8s 版本的安装文件略有区别,详见 [SlimeBoot 介绍与使用 - 准备](../slime-boot/tutorial.md)
1010

11-
此处我们假设 k8s version 为1.16+
11+
**note** 需要注意的是如果网络无法访问,你可以在slime项目的`slime/install/init/`目录发现相关部署文件
1212

13-
```sh
13+
- k8s version >= v1.22
14+
```shell
1415
export tag_or_commit=$(curl -s https://api.github.com/repos/slime-io/slime/tags | grep 'name' | cut -d\" -f4 | head -1)
1516
kubectl create ns mesh-operator
1617
kubectl apply -f "https://raw.githubusercontent.com/slime-io/slime/$tag_or_commit/install/init/crds-v1.yaml"
1718
kubectl apply -f "https://raw.githubusercontent.com/slime-io/slime/$tag_or_commit/install/init/deployment_slime-boot.yaml"
1819
```
1920

21+
- k8s v1.16 <= version < 1.22
22+
```shell
23+
export tag_or_commit=$(curl -s https://api.github.com/repos/slime-io/slime/tags | grep 'name' | cut -d\" -f4 | head -1)
24+
kubectl create ns mesh-operator
25+
kubectl apply -f "https://raw.githubusercontent.com/slime-io/slime/$tag_or_commit/install/init/crds.yaml"
26+
kubectl apply -f "https://raw.githubusercontent.com/slime-io/slime/$tag_or_commit/install/init/deployment_slime-boot.yaml"
27+
```
28+
2029
确认所有组件已正常运行
2130

2231
```sh
@@ -30,7 +39,8 @@ slime-boot-6f778b75cd-4v675 1/1 Running 0 26s
3039
创建 `SlimeBoot` CR
3140

3241
```sh
33-
$ echo 'apiVersion: config.netease.com/v1alpha1
42+
$ echo '
43+
apiVersion: config.netease.com/v1alpha1
3444
kind: SlimeBoot
3545
metadata:
3646
name: lazyload
@@ -39,44 +49,41 @@ spec:
3949
image:
4050
pullPolicy: Always
4151
repository: docker.io/slimeio/slime-lazyload
42-
tag: v0.5.0_linux_amd64
43-
resources:
44-
requests:
45-
cpu: 300m
46-
memory: 300Mi
47-
limits:
48-
cpu: 600m
49-
memory: 600Mi
52+
tag: v0.7.0
53+
namespace: mesh-operator
54+
istioNamespace: istio-system
5055
module:
51-
- name: lazyload # custom value
52-
kind: lazyload # should be "lazyload"
56+
- name: lazyload
57+
kind: lazyload
5358
enable: true
54-
general: # replace previous "fence" field
55-
autoPort: false
59+
general:
60+
autoPort: true
5661
autoFence: true
57-
defaultFence: false
62+
defaultFence: true
5863
wormholePort: # replace to your application service ports, and extend the list in case of multi ports
5964
- "9080"
6065
global:
6166
log:
6267
logLevel: info
6368
misc:
64-
globalSidecarMode: cluster # inform the mode of global-sidecar
69+
globalSidecarMode: cluster # the mode of global-sidecar
6570
metricSourceType: accesslog # indicate the metric source
71+
slimeNamespace: mesh-operator
72+
resources:
73+
requests:
74+
cpu: 300m
75+
memory: 300Mi
76+
limits:
77+
cpu: 600m
78+
memory: 600Mi
6679
component:
6780
globalSidecar:
6881
enable: true
6982
sidecarInject:
7083
enable: true # should be true
71-
# mode definition:
72-
# "pod": sidecar auto-inject on pod level, need provide labels for injection
73-
# "namespace": sidecar auto-inject on namespace level, no need to provide labels for injection
74-
# if globalSidecarMode is cluster, global-sidecar will be deployed in slime namespace, which does not enable auto-inject on namespace level, mode can only be "pod".
75-
# if globalSidecarMode is namespace, depending on the namespace definition, mode can be "pod" or "namespace".
7684
mode: pod
7785
labels: # optional, used for sidecarInject.mode = pod
7886
sidecar.istio.io/inject: "true"
79-
# istio.io/rev: canary # use control plane revisions
8087
resources:
8188
requests:
8289
cpu: 200m
@@ -86,11 +93,11 @@ spec:
8693
memory: 400Mi
8794
image:
8895
repository: docker.io/slimeio/slime-global-sidecar
89-
tag: v0.5.0_linux_amd64
96+
tag: v0.7.0
9097
probePort: 20000
9198
' > /tmp/lazyload-slimeboot.yaml
9299

93-
$ kubectl apply -f /tmp/lazyload-slimeboot.yaml
100+
kubectl apply -f /tmp/lazyload-slimeboot.yaml
94101
```
95102

96103
一些字段说明,可参考 [lazyload安装样例](../slime-boot/tutorial.md)
@@ -140,7 +147,17 @@ reviews-v3-84779c7bbc-gb52x 2/2 Running 0 60s
140147

141148
### 开启懒加载
142149

143-
修改service的label,自动创建servicefence,为productpage服务启用懒加载
150+
由于我们在下发的slimeboot中指定了以下配置,所以默认情况下自动开启了懒加载
151+
152+
```
153+
autoPort: true
154+
autoFence: true
155+
defaultFence: true
156+
```
157+
158+
如果`defaultFence: false`
159+
160+
那么需要用户手动修改service的label,自动创建servicefence,为productpage服务启用懒加载
144161

145162
```sh
146163
$ kubectl label service productpage -n default slime.io/serviceFenced=true
@@ -316,7 +333,20 @@ $ kubectl delete -f "https://raw.githubusercontent.com/slime-io/slime/v0.5.0/ins
316333
卸载 lazyload
317334

318335
```sh
319-
$ kubectl delete -f /tmp/lazyload-slimeboot.yaml
336+
kubectl delete -f /tmp/lazyload-slimeboot.yaml
337+
kubectl get envoyfilter -n istio-system | grep to-global-sidecar && kubectl delete envoyfilter to-global-sidecar -n istio-system
338+
```
339+
340+
卸载 servicefence
341+
342+
```
343+
kubectl get svf -A |awk '{print "kubectl delete svf "$2" -n "$1" "}' |bash
344+
```
345+
346+
确认集群中 svf已经清理完毕
347+
348+
```
349+
kubectl get svf -A
320350
```
321351

322352
卸载 slime-boot
@@ -328,6 +358,7 @@ kubectl delete -f "https://raw.githubusercontent.com/slime-io/slime/$tag_or_comm
328358
kubectl delete ns mesh-operator
329359
```
330360

361+
**note** 需要注意的是,如果手动修改过mesh-operator下存在一些envoyfilter和cm,可手动删除
331362

332363
## 特性介绍
333364

@@ -801,7 +832,7 @@ spec:
801832
image:
802833
pullPolicy: Always
803834
repository: docker.io/slimeio/slime-lazyload
804-
tag: master-e5f2d83-dirty_1b68486
835+
tag: v0.7.0
805836
module:
806837
- name: lazyload # custom value
807838
kind: lazyload # should be "lazyload"
@@ -818,7 +849,7 @@ spec:
818849
maxBackups: 10
819850
maxAgeDay: 10
820851
compress: true
821-
#...
852+
#... skip
822853
volumes:
823854
- name: lazyload-storage
824855
persistentVolumeClaim:

docs/user-guide/meshregistry/tutorial.md

+23-23
Original file line numberDiff line numberDiff line change
@@ -24,33 +24,33 @@ spec:
2424
image:
2525
pullPolicy: Always
2626
repository: docker.io/slimeio/slime-meshregistry
27-
tag: v0.6.0_linux_amd64
27+
tag: v0.7.0
2828
module:
2929
- name: meshregistry
3030
kind: meshregistry
3131
enable: true
32-
global:
33-
log:
34-
logLevel: info
3532
general:
3633
LEGACY:
37-
MeshConfigFile: ""
38-
RevCrds: ""
39-
Mcp:
40-
EnableIncPush: false
41-
K8SSource:
42-
Enabled: false
43-
EurekaSource:
44-
Enabled: true
45-
Address:
46-
- "http://eureka.myeureka.com/eureka"
47-
RefreshPeriod: 15s
48-
SvcPort: 80
49-
ZookeeperSource:
50-
Enabled: true
51-
RefreshPeriod: 30s
52-
WaitTime: 10s
53-
# EnableDubboSidecar: false
54-
Address:
55-
- zookeeper.myzk.cluster.local:2181
34+
MeshConfigFile: ""
35+
RevCrds: ""
36+
Mcp: {}
37+
K8SSource:
38+
Enabled: false
39+
# EurekaSource:
40+
# Enabled: true
41+
# Address:
42+
# - "http://test/eureka"
43+
# RefreshPeriod: 15s
44+
# SvcPort: 80
45+
# NacosSource:
46+
# Enabled: true
47+
# Address:
48+
# - "http://test.com"
49+
# Mode: polling
50+
# ZookeeperSource:
51+
# Enabled: true
52+
# RefreshPeriod: 30s
53+
# WaitTime: 10s
54+
# Address:
55+
# - zookeeper.test.svc.cluster.local:2181
5656
```

docs/user-guide/slime-boot/feature.md

+1-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
image:
1616
pullPolicy: Always
1717
repository: docker.io/slimeio/slime-limiter
18-
tag: v0.6.0_linux_amd64
18+
tag: v0.7.0
1919
module:
2020
- name: limiter
2121
kind: limiter
@@ -24,11 +24,6 @@ spec:
2424
disableGlobalRateLimit: true
2525
disableAdaptive: true
2626
disableInsertGlobalRateLimit: true
27-
global:
28-
log:
29-
logLevel: info
30-
configSources:
31-
- address: ss://
3227
misc:
3328
enable-leader-election: "on" #多副本
3429
```

0 commit comments

Comments
 (0)