fluid-cloudnative / fluid

Fluid, elastic data abstraction and acceleration for BigData/AI applications in cloud. (Project under CNCF)
https://fluid-cloudnative.github.io/
Apache License 2.0
1.68k stars 960 forks source link

[wip] add cache worker set interface and use it to replace all statefulset interfaces in alluxio controller logic #4366

Closed zwbrealm closed 1 month ago

zwbrealm commented 1 month ago

…o runtime

Ⅰ. Describe what this PR does

1.在alluxio runtime type中增加workerType字段,用来指示worker类型(STS,ASTS,DaemonSet) 2.增加cacheworkerset 定义以及相关属性的GET/SET操作(pkg/types/cacheworkerset/interface.go) 3.替换ddc/alluxio下的alluxio的GetStatefulset和GetWorkerAsStatefulset,将其都替换为Get(Worker)CacheWorkerSet的形式,接管所有的原先Statefulset的操作;(目前还没有对除了alluxio外其他runtime的代码进行上述的替换) 4.引入了openkruise依赖后,根据它的特性,只需要手动对work pod的label进行patch SpecifiedDeleteKey = "apps.kruise.io/specified-delete",且这些worker pod被openkruise advanced statefulset接管,那么就可以做到指定该pod下线了。

Ⅱ. Does this pull request fix one issue?

fixes #XXXX

Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.

Ⅳ. Describe how to verify it

Ⅴ. Special notes for reviews

sonarcloud[bot] commented 1 month ago

Quality Gate Passed Quality Gate passed

Issues
11 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
6.1% Duplication on New Code

See analysis details on SonarCloud