diff --git a/baize/images/agent-helm.png b/baize/images/agent-helm.png index 8fee37c3aa..9a3e347a88 100644 Binary files a/baize/images/agent-helm.png and b/baize/images/agent-helm.png differ diff --git a/baize/images/baize-01.png b/baize/images/baize-01.png index 7c5407d729..59ce53cad6 100644 Binary files a/baize/images/baize-01.png and b/baize/images/baize-01.png differ diff --git a/baize/images/baize-02.png b/baize/images/baize-02.png index 2ec5180086..6bb3a5f543 100644 Binary files a/baize/images/baize-02.png and b/baize/images/baize-02.png differ diff --git a/baize/images/baize-03.png b/baize/images/baize-03.png index b33f6df739..233c7da85d 100644 Binary files a/baize/images/baize-03.png and b/baize/images/baize-03.png differ diff --git a/baize/images/baize-04.png b/baize/images/baize-04.png index fa09dbd9de..80ccc243d6 100644 Binary files a/baize/images/baize-04.png and b/baize/images/baize-04.png differ diff --git a/baize/images/baize-05.png b/baize/images/baize-05.png index 5bad75fd51..68715eb164 100644 Binary files a/baize/images/baize-05.png and b/baize/images/baize-05.png differ diff --git a/baize/images/baize-06.png b/baize/images/baize-06.png index 3ab8491e2d..57f5442504 100644 Binary files a/baize/images/baize-06.png and b/baize/images/baize-06.png differ diff --git a/baize/images/baize-07.png b/baize/images/baize-07.png index e04c5702d7..92fc719582 100644 Binary files a/baize/images/baize-07.png and b/baize/images/baize-07.png differ diff --git a/baize/images/baize-08.png b/baize/images/baize-08.png index c8738841a2..fba2cb169c 100644 Binary files a/baize/images/baize-08.png and b/baize/images/baize-08.png differ diff --git a/baize/images/bind01.png b/baize/images/bind01.png index c911f45330..fb7fec305e 100644 Binary files a/baize/images/bind01.png and b/baize/images/bind01.png differ diff --git a/baize/images/bind02.png b/baize/images/bind02.png index ecce54a052..67b4e082ce 100644 Binary files a/baize/images/bind02.png and b/baize/images/bind02.png differ diff --git a/baize/images/bind03.png b/baize/images/bind03.png index a763662332..9d51902981 100644 Binary files a/baize/images/bind03.png and b/baize/images/bind03.png differ diff --git a/baize/images/bind04.png b/baize/images/bind04.png index 2b0014087e..6687c6ae12 100644 Binary files a/baize/images/bind04.png and b/baize/images/bind04.png differ diff --git a/baize/images/change-ws.png b/baize/images/change-ws.png index a0dde386f2..e092b70f6d 100644 Binary files a/baize/images/change-ws.png and b/baize/images/change-ws.png differ diff --git a/baize/images/cluster.png b/baize/images/cluster.png index 8f5a742a7a..a872b7a240 100644 Binary files a/baize/images/cluster.png and b/baize/images/cluster.png differ diff --git a/baize/images/conda01.png b/baize/images/conda01.png index 031ae11573..f045056216 100644 Binary files a/baize/images/conda01.png and b/baize/images/conda01.png differ diff --git a/baize/images/conda02.png b/baize/images/conda02.png index dd05326d97..46f51d80e2 100644 Binary files a/baize/images/conda02.png and b/baize/images/conda02.png differ diff --git a/baize/images/conda03.png b/baize/images/conda03.png index 6bc64a575c..7b521d6bc3 100644 Binary files a/baize/images/conda03.png and b/baize/images/conda03.png differ diff --git a/baize/images/dataset01.png b/baize/images/dataset01.png index f74b599d3e..fb0274a335 100644 Binary files a/baize/images/dataset01.png and b/baize/images/dataset01.png differ diff --git a/baize/images/dataset02.png b/baize/images/dataset02.png index c49637a483..09378ab931 100644 Binary files a/baize/images/dataset02.png and b/baize/images/dataset02.png differ diff --git a/baize/images/dataset03.png b/baize/images/dataset03.png index bd6ca6fa43..70483d45fe 100644 Binary files a/baize/images/dataset03.png and b/baize/images/dataset03.png differ diff --git a/baize/images/dataset04.png b/baize/images/dataset04.png index 64b9530ce3..54cceb5076 100644 Binary files a/baize/images/dataset04.png and b/baize/images/dataset04.png differ diff --git a/baize/images/dataset05.png b/baize/images/dataset05.png index e8095ccd20..91304fa674 100644 Binary files a/baize/images/dataset05.png and b/baize/images/dataset05.png differ diff --git a/baize/images/dataset06.png b/baize/images/dataset06.png index da17d3b296..ddd67c6714 100644 Binary files a/baize/images/dataset06.png and b/baize/images/dataset06.png differ diff --git a/baize/images/dataset07.png b/baize/images/dataset07.png index 3a9d559b67..d01bfaa26e 100644 Binary files a/baize/images/dataset07.png and b/baize/images/dataset07.png differ diff --git a/baize/images/delete01.png b/baize/images/delete01.png index 9b364eb2d3..83b2427a82 100644 Binary files a/baize/images/delete01.png and b/baize/images/delete01.png differ diff --git a/baize/images/delete03.png b/baize/images/delete03.png index 23a154dcb1..9331565eca 100644 Binary files a/baize/images/delete03.png and b/baize/images/delete03.png differ diff --git a/baize/images/dev-view.png b/baize/images/dev-view.png index fd71b1965e..54c63f3dea 100644 Binary files a/baize/images/dev-view.png and b/baize/images/dev-view.png differ diff --git a/baize/images/ds-delete01.png b/baize/images/ds-delete01.png index 30077379c3..9cee94af7f 100644 Binary files a/baize/images/ds-delete01.png and b/baize/images/ds-delete01.png differ diff --git a/baize/images/ds-delete03.png b/baize/images/ds-delete03.png index b0ee25445d..5dccf77602 100644 Binary files a/baize/images/ds-delete03.png and b/baize/images/ds-delete03.png differ diff --git a/baize/images/enable-analy.png b/baize/images/enable-analy.png index 14a8fc06a2..fe938af604 100644 Binary files a/baize/images/enable-analy.png and b/baize/images/enable-analy.png differ diff --git a/baize/images/inference-interface.png b/baize/images/inference-interface.png index 67353d2a6d..ade2ad5688 100644 Binary files a/baize/images/inference-interface.png and b/baize/images/inference-interface.png differ diff --git a/baize/images/job-mpi01.png b/baize/images/job-mpi01.png index eef7237b83..5d3c6c6662 100644 Binary files a/baize/images/job-mpi01.png and b/baize/images/job-mpi01.png differ diff --git a/baize/images/job01.png b/baize/images/job01.png index 140d5e70dc..a8b58e4795 100644 Binary files a/baize/images/job01.png and b/baize/images/job01.png differ diff --git a/baize/images/job02.png b/baize/images/job02.png index d70deadd77..77a7032723 100644 Binary files a/baize/images/job02.png and b/baize/images/job02.png differ diff --git a/baize/images/job03.png b/baize/images/job03.png index b522c894ce..5ff857812f 100644 Binary files a/baize/images/job03.png and b/baize/images/job03.png differ diff --git a/baize/images/job04.png b/baize/images/job04.png index 25122c5273..e39ed84364 100644 Binary files a/baize/images/job04.png and b/baize/images/job04.png differ diff --git a/baize/images/job05.png b/baize/images/job05.png index df159af8f8..8fa97af2ea 100644 Binary files a/baize/images/job05.png and b/baize/images/job05.png differ diff --git a/baize/images/job06.png b/baize/images/job06.png index 8a56b84d1f..59b85282c4 100644 Binary files a/baize/images/job06.png and b/baize/images/job06.png differ diff --git a/baize/images/job07.png b/baize/images/job07.png index 1f28a1fe9f..afdb6daf02 100644 Binary files a/baize/images/job07.png and b/baize/images/job07.png differ diff --git a/baize/images/mxnet_job.png b/baize/images/mxnet_job.png index e2d6441a2c..daa7a4627c 100644 Binary files a/baize/images/mxnet_job.png and b/baize/images/mxnet_job.png differ diff --git a/baize/images/nb-delete01.png b/baize/images/nb-delete01.png index b841767745..7b448046aa 100644 Binary files a/baize/images/nb-delete01.png and b/baize/images/nb-delete01.png differ diff --git a/baize/images/nb-delete03.png b/baize/images/nb-delete03.png index 0e19357c3e..1e59466b64 100644 Binary files a/baize/images/nb-delete03.png and b/baize/images/nb-delete03.png differ diff --git a/baize/images/nb-start01.png b/baize/images/nb-start01.png index 6a58b24c32..0bdcac4323 100644 Binary files a/baize/images/nb-start01.png and b/baize/images/nb-start01.png differ diff --git a/baize/images/nb-workload01.png b/baize/images/nb-workload01.png index 62557edd55..82b9deb3f3 100644 Binary files a/baize/images/nb-workload01.png and b/baize/images/nb-workload01.png differ diff --git a/baize/images/nb-workload02.png b/baize/images/nb-workload02.png index 2837eb0daf..568d858685 100644 Binary files a/baize/images/nb-workload02.png and b/baize/images/nb-workload02.png differ diff --git a/baize/images/nb-workload03.png b/baize/images/nb-workload03.png index 5fe218512a..508512d772 100644 Binary files a/baize/images/nb-workload03.png and b/baize/images/nb-workload03.png differ diff --git a/baize/images/notebook-idle.png b/baize/images/notebook-idle.png index 594158b840..a63863bffc 100644 Binary files a/baize/images/notebook-idle.png and b/baize/images/notebook-idle.png differ diff --git a/baize/images/notebook-idle02.png b/baize/images/notebook-idle02.png index ce59047747..30a9755833 100644 Binary files a/baize/images/notebook-idle02.png and b/baize/images/notebook-idle02.png differ diff --git a/baize/images/notebook-images.png b/baize/images/notebook-images.png index 14f5a48078..3ed5f67655 100644 Binary files a/baize/images/notebook-images.png and b/baize/images/notebook-images.png differ diff --git a/baize/images/notebook01.png b/baize/images/notebook01.png index c3fb1ff146..c7eb91071e 100644 Binary files a/baize/images/notebook01.png and b/baize/images/notebook01.png differ diff --git a/baize/images/notebook02.png b/baize/images/notebook02.png index 1e9917a50b..6e35e54663 100644 Binary files a/baize/images/notebook02.png and b/baize/images/notebook02.png differ diff --git a/baize/images/notebook03.png b/baize/images/notebook03.png index a7413baf14..463654f3ec 100644 Binary files a/baize/images/notebook03.png and b/baize/images/notebook03.png differ diff --git a/baize/images/notebook04.png b/baize/images/notebook04.png index e1c5830712..53637344c1 100644 Binary files a/baize/images/notebook04.png and b/baize/images/notebook04.png differ diff --git a/baize/images/oam-overview.png b/baize/images/oam-overview.png index 4824547e18..c7ad8c5516 100644 Binary files a/baize/images/oam-overview.png and b/baize/images/oam-overview.png differ diff --git a/baize/images/othera.png b/baize/images/othera.png index cc35dd52a0..a1eeb08977 100644 Binary files a/baize/images/othera.png and b/baize/images/othera.png differ diff --git a/baize/images/paddle_job.png b/baize/images/paddle_job.png index 74ec030f32..b4fdd3b5dd 100644 Binary files a/baize/images/paddle_job.png and b/baize/images/paddle_job.png differ diff --git a/baize/images/q-delete01.png b/baize/images/q-delete01.png index e7105be51a..e38cd0f08b 100644 Binary files a/baize/images/q-delete01.png and b/baize/images/q-delete01.png differ diff --git a/baize/images/queue01.png b/baize/images/queue01.png index 3e42abd14a..11de504784 100644 Binary files a/baize/images/queue01.png and b/baize/images/queue01.png differ diff --git a/baize/images/queue02.png b/baize/images/queue02.png index e3775b3b5b..944042d33f 100644 Binary files a/baize/images/queue02.png and b/baize/images/queue02.png differ diff --git a/baize/images/queue03.png b/baize/images/queue03.png index b4635390b3..45992e5926 100644 Binary files a/baize/images/queue03.png and b/baize/images/queue03.png differ diff --git a/baize/images/resource.png b/baize/images/resource.png index c02d1889a8..c9fb8cfc32 100644 Binary files a/baize/images/resource.png and b/baize/images/resource.png differ diff --git a/baize/images/tensorboard-01.png b/baize/images/tensorboard-01.png index 3375e0812a..95f0989553 100644 Binary files a/baize/images/tensorboard-01.png and b/baize/images/tensorboard-01.png differ diff --git a/baize/images/tensorboard-02.png b/baize/images/tensorboard-02.png index e181fc53f4..2f567367e0 100644 Binary files a/baize/images/tensorboard-02.png and b/baize/images/tensorboard-02.png differ diff --git a/baize/images/tensorboard-03.png b/baize/images/tensorboard-03.png index 02e5f75316..8afe5f3f58 100644 Binary files a/baize/images/tensorboard-03.png and b/baize/images/tensorboard-03.png differ diff --git a/baize/images/triton-infer-0.png b/baize/images/triton-infer-0.png index 563bc2e690..090e25e5ad 100644 Binary files a/baize/images/triton-infer-0.png and b/baize/images/triton-infer-0.png differ diff --git a/baize/images/triton-infer-1.png b/baize/images/triton-infer-1.png index 47ce6d8765..5f26bd6d6c 100644 Binary files a/baize/images/triton-infer-1.png and b/baize/images/triton-infer-1.png differ diff --git a/baize/images/triton-infer-2.png b/baize/images/triton-infer-2.png index 8fd235aadb..4233726824 100644 Binary files a/baize/images/triton-infer-2.png and b/baize/images/triton-infer-2.png differ diff --git a/baize/images/triton-infer-3.png b/baize/images/triton-infer-3.png index ee619c7c0e..d35b78f394 100644 Binary files a/baize/images/triton-infer-3.png and b/baize/images/triton-infer-3.png differ diff --git a/baize/images/update-baize.png b/baize/images/update-baize.png index 903690d6ee..7db9a1c894 100644 Binary files a/baize/images/update-baize.png and b/baize/images/update-baize.png differ diff --git a/baize/images/view-wl01.png b/baize/images/view-wl01.png index 4aa546bc34..8af0a6c5e7 100644 Binary files a/baize/images/view-wl01.png and b/baize/images/view-wl01.png differ diff --git a/baize/images/view-wl03.png b/baize/images/view-wl03.png index 5580ae69cc..6f8a9c0e40 100644 Binary files a/baize/images/view-wl03.png and b/baize/images/view-wl03.png differ diff --git a/baize/images/vllm-infer-0.png b/baize/images/vllm-infer-0.png index e211cc9dc4..87b8d3d507 100644 Binary files a/baize/images/vllm-infer-0.png and b/baize/images/vllm-infer-0.png differ diff --git a/baize/images/vllm-infer-1.png b/baize/images/vllm-infer-1.png index 49c7c8e693..62e8653f00 100644 Binary files a/baize/images/vllm-infer-1.png and b/baize/images/vllm-infer-1.png differ diff --git a/ghippo/images/1.png b/ghippo/images/1.png index 8473193195..e738a3273f 100644 Binary files a/ghippo/images/1.png and b/ghippo/images/1.png differ diff --git a/ghippo/images/10.png b/ghippo/images/10.png index 63e3f34d5f..0fce55617a 100644 Binary files a/ghippo/images/10.png and b/ghippo/images/10.png differ diff --git a/ghippo/images/11.png b/ghippo/images/11.png index acf7df03ef..607578a52c 100644 Binary files a/ghippo/images/11.png and b/ghippo/images/11.png differ diff --git a/ghippo/images/12.png b/ghippo/images/12.png index fd71372533..a13c08839c 100644 Binary files a/ghippo/images/12.png and b/ghippo/images/12.png differ diff --git a/ghippo/images/13.png b/ghippo/images/13.png index 90b73c2f01..04884391a6 100644 Binary files a/ghippo/images/13.png and b/ghippo/images/13.png differ diff --git a/ghippo/images/2.png b/ghippo/images/2.png index 68e34cd81e..89a3c94d16 100644 Binary files a/ghippo/images/2.png and b/ghippo/images/2.png differ diff --git a/ghippo/images/3.png b/ghippo/images/3.png index 9e5a89386c..d5722b913d 100644 Binary files a/ghippo/images/3.png and b/ghippo/images/3.png differ diff --git a/ghippo/images/5.png b/ghippo/images/5.png index 7d6be00583..6376bc8773 100644 Binary files a/ghippo/images/5.png and b/ghippo/images/5.png differ diff --git a/ghippo/images/6.png b/ghippo/images/6.png index 8e21aa2426..0c872f733a 100644 Binary files a/ghippo/images/6.png and b/ghippo/images/6.png differ diff --git a/ghippo/images/7.png b/ghippo/images/7.png index d665f0dee7..1bfb6afd0d 100644 Binary files a/ghippo/images/7.png and b/ghippo/images/7.png differ diff --git a/ghippo/images/8.png b/ghippo/images/8.png index 3def0728c8..65e9538b8e 100644 Binary files a/ghippo/images/8.png and b/ghippo/images/8.png differ diff --git a/ghippo/images/9.png b/ghippo/images/9.png index 3999931790..ef9fd75fbd 100644 Binary files a/ghippo/images/9.png and b/ghippo/images/9.png differ diff --git a/ghippo/images/about05.png b/ghippo/images/about05.png index e4e87c5402..2a39f48bd4 100644 Binary files a/ghippo/images/about05.png and b/ghippo/images/about05.png differ diff --git a/ghippo/images/access.png b/ghippo/images/access.png index ddd6af04ff..e13ecf7025 100644 Binary files a/ghippo/images/access.png and b/ghippo/images/access.png differ diff --git a/ghippo/images/beian.png b/ghippo/images/beian.png index 80bf7f0276..311ce345bf 100644 Binary files a/ghippo/images/beian.png and b/ghippo/images/beian.png differ diff --git a/ghippo/images/gmagpiereport.png b/ghippo/images/gmagpiereport.png index 84901902e0..546c690f29 100644 Binary files a/ghippo/images/gmagpiereport.png and b/ghippo/images/gmagpiereport.png differ diff --git a/ghippo/images/ldap00.png b/ghippo/images/ldap00.png index 3eb2db2325..396bdecec6 100644 Binary files a/ghippo/images/ldap00.png and b/ghippo/images/ldap00.png differ diff --git a/ghippo/images/ldap01.png b/ghippo/images/ldap01.png index 2530c80b5f..6de1ea0cb4 100644 Binary files a/ghippo/images/ldap01.png and b/ghippo/images/ldap01.png differ diff --git a/ghippo/images/logindesign.png b/ghippo/images/logindesign.png index 8fe469c607..2c51cfb5e6 100644 Binary files a/ghippo/images/logindesign.png and b/ghippo/images/logindesign.png differ diff --git a/ghippo/images/menu2.png b/ghippo/images/menu2.png index a26e74eb8a..5acc97fb32 100644 Binary files a/ghippo/images/menu2.png and b/ghippo/images/menu2.png differ diff --git a/ghippo/images/menu3.png b/ghippo/images/menu3.png index 0ef9e13a0b..1089cbfeae 100644 Binary files a/ghippo/images/menu3.png and b/ghippo/images/menu3.png differ diff --git a/ghippo/images/menu4.png b/ghippo/images/menu4.png index 187c09cf96..8a7c84a7d9 100644 Binary files a/ghippo/images/menu4.png and b/ghippo/images/menu4.png differ diff --git a/ghippo/images/mybusiness.png b/ghippo/images/mybusiness.png index 8317dd59e0..02d296d729 100644 Binary files a/ghippo/images/mybusiness.png and b/ghippo/images/mybusiness.png differ diff --git a/ghippo/images/oauth2.png b/ghippo/images/oauth2.png index 499703af27..a3ba3d01d1 100644 Binary files a/ghippo/images/oauth2.png and b/ghippo/images/oauth2.png differ diff --git a/ghippo/images/oidc-button.png b/ghippo/images/oidc-button.png index 6943283478..a79a3a6957 100644 Binary files a/ghippo/images/oidc-button.png and b/ghippo/images/oidc-button.png differ diff --git a/ghippo/images/oidc02.png b/ghippo/images/oidc02.png index 1e7330daca..b26f03ec80 100644 Binary files a/ghippo/images/oidc02.png and b/ghippo/images/oidc02.png differ diff --git a/ghippo/images/password03zh-en.png b/ghippo/images/password03zh-en.png index b060dade52..d852c3e451 100644 Binary files a/ghippo/images/password03zh-en.png and b/ghippo/images/password03zh-en.png differ diff --git a/ghippo/images/report01.png b/ghippo/images/report01.png index 7215ff525d..7cc86cbe1c 100644 Binary files a/ghippo/images/report01.png and b/ghippo/images/report01.png differ diff --git a/ghippo/images/security-policy.png b/ghippo/images/security-policy.png index db3dc80fe3..73737c7a8c 100644 Binary files a/ghippo/images/security-policy.png and b/ghippo/images/security-policy.png differ diff --git a/ghippo/images/selfapplication.png b/ghippo/images/selfapplication.png index 64129f857f..ce33cb5d11 100644 Binary files a/ghippo/images/selfapplication.png and b/ghippo/images/selfapplication.png differ diff --git a/ghippo/images/sso2.png b/ghippo/images/sso2.png index 04f3546174..2a4b99eaa5 100644 Binary files a/ghippo/images/sso2.png and b/ghippo/images/sso2.png differ diff --git a/ghippo/images/system-message1.png b/ghippo/images/system-message1.png index c6468c978f..8d78995fa3 100644 Binary files a/ghippo/images/system-message1.png and b/ghippo/images/system-message1.png differ diff --git a/ghippo/images/system-message2.png b/ghippo/images/system-message2.png index bfd74ed369..17dc465df2 100644 Binary files a/ghippo/images/system-message2.png and b/ghippo/images/system-message2.png differ diff --git a/ghippo/images/system-message3.png b/ghippo/images/system-message3.png index bf973ac87f..bea3d8f437 100644 Binary files a/ghippo/images/system-message3.png and b/ghippo/images/system-message3.png differ diff --git a/ghippo/images/system-message4.png b/ghippo/images/system-message4.png index fe463130c9..fe2a050847 100644 Binary files a/ghippo/images/system-message4.png and b/ghippo/images/system-message4.png differ diff --git a/ghippo/images/ws01.png b/ghippo/images/ws01.png index c6880853d7..8f305e4b6a 100644 Binary files a/ghippo/images/ws01.png and b/ghippo/images/ws01.png differ diff --git a/ghippo/images/wsbind1.png b/ghippo/images/wsbind1.png index d6172fa218..f8496e67fb 100644 Binary files a/ghippo/images/wsbind1.png and b/ghippo/images/wsbind1.png differ diff --git a/ghippo/images/wsbind2.png b/ghippo/images/wsbind2.png index afb30204aa..a1f45777ee 100644 Binary files a/ghippo/images/wsbind2.png and b/ghippo/images/wsbind2.png differ diff --git a/ghippo/images/wsbind3.png b/ghippo/images/wsbind3.png index b1400fd04d..fafc8efb3c 100644 Binary files a/ghippo/images/wsbind3.png and b/ghippo/images/wsbind3.png differ diff --git a/ghippo/user-guide/access-control/custom-role.html b/ghippo/user-guide/access-control/custom-role.html index 4828554006..08609621f1 100644 --- a/ghippo/user-guide/access-control/custom-role.html +++ b/ghippo/user-guide/access-control/custom-role.html @@ -591,15 +591,15 @@

创建平台角色

+

创建自定义角色

  • 输入名称、描述,选择 平台角色 ,勾选角色权限后点击 确定

    -

    平台角色

    +

    平台角色

  • 返回角色列表,搜索刚创建的自定义角色,点击右侧的 ,可以执行复制、编辑和删除等操作。

    -

    更多操作

    +

    更多操作

  • 平台角色创建成功后,可以去用户/用户组授权,为这个角色添加用户和用户组。

    @@ -610,15 +610,15 @@

    创建工作空间角色

    +

    创建自定义角色

  • 输入名称、描述,选择 工作空间角色 ,勾选角色权限后点击 确定

    -

    工作空间角色

    +

    工作空间角色

  • 返回角色列表,搜索刚创建的自定义角色,点击右侧的 ,可以执行复制、编辑和删除等操作。

    -

    更多操作

    +

    更多操作

  • 工作空间角色创建成功后,可以去工作空间授权,设定这个角色可以管理哪些工作空间。

    @@ -630,15 +630,15 @@

    创建文件夹角色

    +

    创建自定义角色

  • 输入名称、描述,选择 文件夹角色 ,勾选角色权限后点击 确定

    -

    文件夹角色

    +

    文件夹角色

  • 返回角色列表,搜索刚创建的自定义角色,点击右侧的 ,可以执行复制、编辑和删除等操作。

    -

    更多操作

    +

    更多操作

  • 文件夹角色创建成功后,可以去文件夹授权,设定这个角色可以管理哪些文件夹。

    diff --git a/ghippo/user-guide/access-control/docking.html b/ghippo/user-guide/access-control/docking.html index 7c36222e7e..0be825465f 100644 --- a/ghippo/user-guide/access-control/docking.html +++ b/ghippo/user-guide/access-control/docking.html @@ -553,7 +553,7 @@

    创建 SSO 接入

    +

    创建 SSO 接入按钮

  • 创建 SSO 接入 页面填写客户端 ID。

    @@ -570,7 +570,7 @@

    创建 SSO 接入Note

    realm 名称为 ghippo。

    -

    接入管理详情

    +

    接入管理详情

  • diff --git a/ghippo/user-guide/access-control/group.html b/ghippo/user-guide/access-control/group.html index fbd9bc1ec8..6545b66f4b 100644 --- a/ghippo/user-guide/access-control/group.html +++ b/ghippo/user-guide/access-control/group.html @@ -587,11 +587,11 @@

    创建用户组

    +

    创建用户组

  • 创建用户组 页面填写用户组信息。

    -

    创建用户组

    +

    创建用户组

  • 点击 确定 ,创建用户组成功,返回用户组列表页面。列表中的第一行是新创建的用户组。

    @@ -602,26 +602,26 @@

    为用户组授权

    +

    创建用户组按钮

  • 授权 页面勾选需要的角色权限(可多选)。

    -

    创建用户组按钮

    +

    创建用户组按钮

  • 点击 确定 完成为用户组的授权。自动返回用户组列表,点击某个用户组,可以查看用户组被授予的权限。

    -

    创建用户组按钮

    +

    创建用户组按钮

  • 给用户组添加用户

    1. 管理员进入 用户与访问控制 ,选择 用户组 进入用户组列表,在某个用户组右侧,点击 ... -> 添加用户

      -

      添加用户

      +

      添加用户

    2. 添加用户 页面点选需要添加的用户(可多选)。若没有可选的用户,点击 前往创建新用户 ,先前往创建用户,再返回该页面点击 刷新 按钮,显示刚创建的用户。

      -

      选择用户

      +

      选择用户

    3. 点击 确定 完成给用户组添加用户。

      @@ -636,15 +636,15 @@

      删除用户组

      +

      删除按钮

    4. 点击 移除 删除用户组。

      -

      确认删除

      +

      确认删除

    5. 返回用户组列表,屏幕上方将提示删除成功。

      -

      删除提示

      +

      删除提示

    diff --git a/ghippo/user-guide/access-control/iam.html b/ghippo/user-guide/access-control/iam.html index 19625006d1..78224e866f 100644 --- a/ghippo/user-guide/access-control/iam.html +++ b/ghippo/user-guide/access-control/iam.html @@ -537,7 +537,7 @@

    什么是用户与访问控制

    IAM(Identity and Access Management,用户与访问控制)是全局管理的一个重要模块,您可以通过用户与访问控制模块创建、管理和销毁用户(用户组),并使用系统角色和自定义角色控制其他用户使用 DCE 平台的权限。

    -

    IAM 定义

    +

    IAM 定义

    优势

    diff --git a/kpanda/user-guide/network/create-ingress.html b/kpanda/user-guide/network/create-ingress.html index d0d3ed9403..51dbf18cfa 100644 --- a/kpanda/user-guide/network/create-ingress.html +++ b/kpanda/user-guide/network/create-ingress.html @@ -564,7 +564,7 @@

    创建路由(Ingress)

    在 Kubernetes 集群中,Ingress 公开从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源上定义的规则控制。下面是一个将所有流量都发送到同一 Service 的简单 Ingress 示例:

    -

    ingress-diagram

    +

    ingress-diagram

    Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟托管。

    前提条件

    diff --git a/kpanda/user-guide/nodes/taints.html b/kpanda/user-guide/nodes/taints.html index acc8f9b5a3..87d6e33838 100644 --- a/kpanda/user-guide/nodes/taints.html +++ b/kpanda/user-guide/nodes/taints.html @@ -558,11 +558,11 @@

    操作步骤
    1. 集群列表 页找到目标集群,点击集群名称,进入 集群概览 页面。

      -

      点击集群名称

      +

      点击集群名称

    2. 在左侧导航栏,点击 节点管理 ,找到需要修改污点的节点,点击右侧的 操作图标并点击 修改污点 按钮。

      -

      修改污点

      +

      修改污点

    3. 在弹框内输入污点的键值信息,选择污点效果,点击 确定

      @@ -578,7 +578,7 @@

      操作步骤

    4. PreferNoSchedule:这是“软性”的 NoSchedule。控制平面将**尝试**避免将不容忍此污点的 Pod 调度到节点上,但不能保证完全避免。所以要尽量避免使用此污点。
    5. -

      修改污点

      +

      修改污点

    有关污点的更多详情,请参阅 Kubernetes 官方文档:污点和容忍度

    diff --git a/kpanda/user-guide/olm/import-miniooperator.html b/kpanda/user-guide/olm/import-miniooperator.html index b175a625aa..33942d5102 100644 --- a/kpanda/user-guide/olm/import-miniooperator.html +++ b/kpanda/user-guide/olm/import-miniooperator.html @@ -472,7 +472,7 @@

    操作步骤

    如何获取上述镜像地址:

    前往 容器管理 -> 选择当前集群 -> helm 应用 -> 查看 olm 组件 -> 插件设置 ,找到后续步骤所需 opm,minio,minio bundle,minio operator 的镜像。

    -

    olm

    +

    olm

    以上诉截图为例,则四个镜像地址如下
     
     # opm 镜像 
    @@ -517,9 +517,9 @@ 

    操作步骤
  • 替换  minio-operator/manifests/minio-operator.clusterserviceversion.yaml  文件中的所有镜像地址为离线镜像仓库地址镜像。

    替换前:

    -

    image1

    +

    image1

    替换后:

    -

    image2

    +

    image2

  • 生成构建 bundle 镜像的 Dockerfile

    @@ -592,12 +592,12 @@

    操作步骤

  • 前往容器管理,更新 helm 应用 olm 的内置 catsrc 镜像(填写构建 catalog 镜像指定的 ${catalog-image} 即可)

    -

    olm1

    -

    olm2

    +

    olm1

    +

    olm2

  • 更新成功后,Operator Hub 中会出现 minio-operator 组件

    -

    olm3

    +

    olm3

  • diff --git a/kpanda/user-guide/permissions/cluster-ns-auth.html b/kpanda/user-guide/permissions/cluster-ns-auth.html index a68d1e72a2..e88150ddea 100644 --- a/kpanda/user-guide/permissions/cluster-ns-auth.html +++ b/kpanda/user-guide/permissions/cluster-ns-auth.html @@ -544,40 +544,40 @@

    集群授权
    1. 用户登录平台后,点击左侧菜单栏 容器管理 下的 权限管理 ,默认位于 集群权限 页签。

      -

      集群权限

      +

      集群权限

    2. 点击 添加授权 按钮。

      -

      添加授权

      +

      添加授权

    3. 添加集群权限 页面中,选择目标集群、待授权的用户/用户组后,点击 确定

      目前仅支持的集群角色为 Cluster Admin ,详情权限可参考权限说明。如需要给多个用户/用户组同时进行授权, 可点击 添加用户权限 进行多次添加。

      -

      添加集群权限

      +

      添加集群权限

    4. 返回集群权限管理页面,屏幕出现消息: 添加集群权限成功

      -

      添加成功

      +

      添加成功

    命名空间授权

    1. 用户登录平台后,点击左侧菜单栏 容器管理 下的 权限管理 ,点击 命名空间权限 页签。

      -

      命名空间权限

      +

      命名空间权限

    2. 点击 添加授权 按钮。在 添加命名空间权限 页面中,选择目标集群、目标命名空间,以及待授权的用户/用户组后,点击 确定

      目前支持的命名空间角色为 NS Admin、NS Editor、NS Viewer,详情权限可参考权限说明。如需给多个用户/用户组同时进行授权,可点击 添加用户权限 进行多次添加。点击 确定 完成权限授权。

      -

      添加命名空间权限

      +

      添加命名空间权限

    3. 返回命名空间权限管理页面,屏幕出现消息: 添加集群权限成功

      -

      添加成功

      +

      添加成功

      Tip

      后续如需删除或编辑权限,可点击列表右侧的 ,选择 编辑删除

      -

      编辑或删除

      +

      编辑或删除

    diff --git a/kpanda/user-guide/scale/create-hpa.html b/kpanda/user-guide/scale/create-hpa.html index f313f44b14..645caf8408 100644 --- a/kpanda/user-guide/scale/create-hpa.html +++ b/kpanda/user-guide/scale/create-hpa.html @@ -605,23 +605,23 @@

    操作步骤
    1. 点击左侧导航栏上的 集群列表 进入集群列表页面。点击一个集群名称,进入 集群详情 页面。

      -

      集群详情

      +

      集群详情

    2. 在集群详情页面,点击左侧导航栏的 工作负载 进入工作负载列表后,点击一个负载名称,进入 工作负载详情 页面。

      -

      工作负载

      +

      工作负载

    3. 点击 弹性伸缩 页签,查看当前集群的弹性伸缩配置情况。

      -

      弹性伸缩

      +

      弹性伸缩

    4. 确认集群已安装了 metrics-server 插件,且插件运行状态为正常后,即可点击 新建伸缩 按钮。

      -

      新建伸缩

      +

      新建伸缩

    5. 创建自定义指标弹性伸缩策略参数。

      -

      工作负载

      +

      工作负载

    diff --git a/kpanda/user-guide/scale/custom-hpa.html b/kpanda/user-guide/scale/custom-hpa.html index 2189d14474..d11896b973 100644 --- a/kpanda/user-guide/scale/custom-hpa.html +++ b/kpanda/user-guide/scale/custom-hpa.html @@ -652,15 +652,15 @@

    操作步骤
    1. 点击左侧导航栏上的 集群列表 进入集群列表页面。点击一个集群名称,进入 集群详情 页面。

      -

      集群详情

      +

      集群详情

    2. 在集群详情页面,点击左侧导航栏的 工作负载 进入工作负载列表后,点击一个负载名称,进入 工作负载详情 页面。

      -

      工作负载

      +

      工作负载

    3. 点击 弹性伸缩 页签,查看当前集群的弹性伸缩配置情况。

      -

      弹性伸缩配置

      +

      弹性伸缩配置

    4. 确认集群已安装了 metrics-server 、Insight、Prometheus-adapter 插件且插件运行状态为正常后,即可点击 新建伸缩 按钮。

      @@ -668,11 +668,11 @@

      操作步骤

      Note

      如果相关插件未安装或插件处于异常状态,您在页面上将无法看见创建自定义指标弹性伸缩入口。

    -

    新建伸缩

    +

    新建伸缩

  • 创建自定义指标弹性伸缩策略参数。

    -

    伸缩策略参数

    +

    伸缩策略参数

    查看扫描报告

    @@ -600,7 +600,7 @@

    查看扫描报告

    +

    创建扫描配置

  • 查看扫描报告内容,包括:

    @@ -612,7 +612,7 @@

    查看扫描报告

    +

    创建扫描配置

  • diff --git a/kpanda/user-guide/security/cis/config.html b/kpanda/user-guide/security/cis/config.html index 5933616337..a5b1cc56da 100644 --- a/kpanda/user-guide/security/cis/config.html +++ b/kpanda/user-guide/security/cis/config.html @@ -582,21 +582,21 @@

    创建扫描配置

    +

    安全管理

  • 默认进入 合规性扫描 页面,点击 扫描配置 页签,然后在右上角点击 创建扫描配置

    -

    安全管理

    +

    安全管理

  • 填写配置名称、选择配置模板、按需勾选扫描项,最后点击 确定

    扫描模板:目前提供了两个模板。 kubeadm 模板适用于一般情况下的 Kubernetes 集群。 daocloud 模板在 kubeadm 模板基础上,结合 DCE 5.0 的平台设计忽略了不适用于 DCE 5.0 的扫描项。

    -

    安全管理

    +

    安全管理

  • 查看扫描配置

    在扫描配置页签下,点击扫描配置的名称,可以查看该配置的类型、扫描项数量、创建时间、配置模板,以及该配置启用的具体扫描项。

    -

    安全管理

    +

    安全管理

    更新/删除扫描配置

    扫描配置创建成功之后,可以根据需求更新配置或删除该配置。

    在扫描配置页签下,点击配置右侧的 操作按钮:

    @@ -604,7 +604,7 @@

    更新/删除扫描配置

    +

    安全管理

    diff --git a/kpanda/user-guide/security/cis/policy.html b/kpanda/user-guide/security/cis/policy.html index c0ccf788d5..192b1b9349 100644 --- a/kpanda/user-guide/security/cis/policy.html +++ b/kpanda/user-guide/security/cis/policy.html @@ -567,7 +567,7 @@

    创建扫描策略

    +

    创建扫描配置

  • 参考下列说明填写配置后,点击 确定

    @@ -583,7 +583,7 @@

    创建扫描策略

    +

    创建扫描配置

  • @@ -603,7 +603,7 @@

    更新/删除扫描策略

    +

    创建扫描配置

    diff --git a/kpanda/user-guide/security/cis/report.html b/kpanda/user-guide/security/cis/report.html index 2ee317bbd1..e9348ee620 100644 --- a/kpanda/user-guide/security/cis/report.html +++ b/kpanda/user-guide/security/cis/report.html @@ -522,7 +522,7 @@

    扫描报告
  • 下载查看扫描报告

    安全管理 -> 合规性扫描 页面的 扫描报告 页签点击报告右侧的 操作按钮选择 下载

    -

    报告列表截图

    +

    报告列表截图

  • 在线查看扫描报告

    @@ -535,7 +535,7 @@

    扫描报告
  • 对于未通过的扫描项给出对应的修复建议
  • 对于通过的扫描项给出更安全的操作建议
  • -

    报告列表截图

    +

    报告列表截图

  • diff --git a/kpanda/user-guide/security/hunter.html b/kpanda/user-guide/security/hunter.html index 9cecef729e..1e1425a887 100644 --- a/kpanda/user-guide/security/hunter.html +++ b/kpanda/user-guide/security/hunter.html @@ -551,11 +551,11 @@

    创建扫描策略

    +

    安全管理

  • 在左侧导航栏点击 漏洞扫描 ,点击 扫描策略 页签,在右侧点击 创建扫描策略

    -

    安全管理

    +

    安全管理

  • 参考下列说明填写配置,最后点击 确定 即可。

    @@ -570,7 +570,7 @@

    创建扫描策略

    +

    安全管理

  • @@ -590,7 +590,7 @@

    更新/删除扫描策略

    +

    创建扫描配置

    查看扫描报告

    @@ -600,7 +600,7 @@

    查看扫描报告

    +

    创建扫描配置

  • 查看扫描报告内容,包括:

    @@ -612,7 +612,7 @@

    查看扫描报告

    +

    创建扫描配置

  • diff --git a/kpanda/user-guide/storage/pv.html b/kpanda/user-guide/storage/pv.html index f403e2f350..164f32acea 100644 --- a/kpanda/user-guide/storage/pv.html +++ b/kpanda/user-guide/storage/pv.html @@ -612,21 +612,21 @@

    YAML 创建

    +

    路径

  • 在弹框中输入或粘贴事先准备好的 YAML 文件,然后在弹框底部点击 确定

    支持从本地导入 YAML 文件或将填写好的文件下载保存到本地。

    -

    yaml

    +

    yaml

  • 表单创建

    1. 在集群列表中点击目标集群的名称,然后在左侧导航栏点击 容器存储 -> 数据卷(PV) -> 创建数据卷(PV)

      -

      路径

      +

      路径

    2. 填写基本信息。

      @@ -670,7 +670,7 @@

      表单创建

    3. 节点亲和性:

      -

      基本信息

      +

      基本信息

    4. @@ -683,11 +683,11 @@

      查看数据卷

      +

      详情

    5. 点击数据卷的名称,可以查看该数据卷的基本配置、存储池信息、标签、注解等信息。

      -

      详情

      +

      详情

    6. 克隆数据卷

      @@ -701,7 +701,7 @@

      克隆数据卷

      +

      克隆

      @@ -718,11 +718,11 @@

      更新数据卷

      +

      更新

    7. 点击数据卷的名称,进入数据卷的详情页面后,在页面右上角选择 更新 即可通过表单更新,选择 编辑 YAML 即可通过 YAML 更新。

      -

      更新

      +

      更新

    8. 删除数据卷

      @@ -730,7 +730,7 @@

      删除数据卷

      +

      删除

      diff --git a/kpanda/user-guide/storage/pvc.html b/kpanda/user-guide/storage/pvc.html index b02b4ff4ad..e2eaf0800d 100644 --- a/kpanda/user-guide/storage/pvc.html +++ b/kpanda/user-guide/storage/pvc.html @@ -640,21 +640,21 @@

      YAML 创建

      +

      路径

    9. 在弹框中输入或粘贴事先准备好的 YAML 文件,然后在弹框底部点击 确定

      支持从本地导入 YAML 文件或将填写好的文件下载保存到本地。

      -

      yaml

      +

      yaml

    表单创建

    1. 在集群列表中点击目标集群的名称,然后在左侧导航栏点击 容器存储 -> 数据卷声明 (PVC) -> 创建数据卷声明 (PVC)

      -

      路径

      +

      路径

    2. 填写基本信息。

      @@ -679,7 +679,7 @@

      表单创建
    3. ReadOnlyMany,数据卷声明可以被多个节点以只读方式挂载。
    4. ReadWriteOncePod,数据卷声明可以被单个 Pod 以读写方式挂载。

      -

      基本信息

      +

      基本信息

    5. @@ -692,26 +692,26 @@

      查看数据卷声明

      +

      详情

    6. 点击数据卷声明的名称,可以查看该数据卷声明的基本配置、存储池信息、标签、注解等信息。

      -

      详情

      +

      详情

    7. 扩容数据卷声明

      1. 在左侧导航栏点击 容器存储 -> 数据卷声明(PVC) ,找到想要调整容量的数据卷声明。

        -

        扩容

        +

        扩容

      2. 点击数据卷声明的名称,然后在页面右上角点击操作按钮选择 扩容

        -

        扩容

        +

        扩容

      3. 输入目标容量,然后点击 确定

        -

        克隆

        +

        克隆

      克隆数据卷声明

      @@ -725,13 +725,13 @@

      克隆数据卷声明

      +

      克隆

    8. 直接使用原配置,或者按需进行修改,然后在页面底部点击 确定

      -

      克隆

      +

      克隆

    更新数据卷声明

    @@ -743,11 +743,11 @@

    更新数据卷声明

    +

    更新

  • 点击数据卷声明的名称,进入数据卷声明的详情页面后,在页面右上角选择 更新 即可通过表单更新,选择 编辑 YAML 即可通过 YAML 更新。

    -

    更新

    +

    更新

  • 删除数据卷声明

    @@ -755,7 +755,7 @@

    删除数据卷声明

    +

    删除

    常见问题

    1. @@ -763,14 +763,14 @@

      常见问题

    2. 如果列表中没有可选的快照,可以进入数据卷声明的详情页,在右上角制作快照。

      -

      制作快照

      +

      制作快照

    3. 如果数据卷声明所使用的存储池 (SC) 没有启用快照,则无法制作快照,页面不会显示“制作快照”选项。

    4. 如果数据卷声明所使用的存储池 (SC) 没有开启扩容功能,则该数据卷不支持扩容,页面不会显示扩容选项。

      -

      开启快照

      +

      开启快照

    diff --git a/kpanda/user-guide/storage/sc-share.html b/kpanda/user-guide/storage/sc-share.html index 5f6c684d8c..760e5c026a 100644 --- a/kpanda/user-guide/storage/sc-share.html +++ b/kpanda/user-guide/storage/sc-share.html @@ -475,7 +475,7 @@

    共享存储池

    +

    授权

  • 点击 自定义命名空间 可以逐一选择需要将此存储池共享到哪些命名空间。

    @@ -483,7 +483,7 @@

    共享存储池

    +

    授权

  • diff --git a/kpanda/user-guide/storage/sc.html b/kpanda/user-guide/storage/sc.html index 52cbaf443c..eaedc6ce8c 100644 --- a/kpanda/user-guide/storage/sc.html +++ b/kpanda/user-guide/storage/sc.html @@ -591,7 +591,7 @@

    YAML 创建

    +

    yaml

    表单创建

    diff --git a/kpanda/user-guide/workloads/create-cronjob.html b/kpanda/user-guide/workloads/create-cronjob.html index 46cd147c9b..ac34df8a73 100644 --- a/kpanda/user-guide/workloads/create-cronjob.html +++ b/kpanda/user-guide/workloads/create-cronjob.html @@ -649,16 +649,16 @@

    镜像创建
    1. 点击左侧导航栏上的 集群列表 ,然后点击目标集群的名称,进入 集群详情 页面。

      -

      集群详情

      +

      集群详情

    2. 在集群详情页面,点击左侧导航栏的 工作负载 -> 定时任务 ,然后点击页面右上角的 镜像创建 按钮。

      -

      工作负载

      +

      工作负载

    3. 依次填写基本信息容器配置定时任务配置高级配置后,在页面右下角点击 确定 完成创建。

      系统将自动返回 定时任务 列表。点击列表右侧的 ,可以对定时任务执行执行更新、删除、重启等操作。

      -

      操作菜单

      +

      操作菜单

    基本信息

    @@ -722,23 +722,23 @@

    容器配置

    用于判断容器和应用的健康状态,有助于提高应用的可用性。详情可参考容器健康检查配置

    -

    健康检查

    +

    健康检查

    配置 Pod 内的容器参数,为 Pod 添加环境变量或传递配置等。详情可参考容器环境变量配置

    -

    环境变量

    +

    环境变量

    配置容器挂载数据卷和数据持久化的设置。详情可参考容器数据存储配置

    -

    数据存储

    +

    数据存储

    通过 Linux 内置的账号权限隔离机制来对容器进行安全隔离。您可以通过使用不同权限的账号 UID(数字身份标记)来限制容器的权限。例如,输入 0 表示使用 root 账号的权限。

    -

    安全设置

    +

    安全设置

    @@ -773,7 +773,7 @@

    服务配置
  • 参考创建服务,配置服务参数。

    -

    创建服务

    +

    创建服务

  • 点击 确定 ,点击 下一步

    @@ -782,21 +782,21 @@

    服务配置

    高级配置

    定时任务的高级配置主要涉及标签与注解。

    可以点击 添加 按钮为工作负载实例 Pod 添加标签和注解。

    -

    定时任务配置

    +

    定时任务配置

    YAML 创建

    除了通过镜像方式外,还可以通过 YAML 文件更快速地创建创建定时任务。

    1. 点击左侧导航栏上的 集群列表 ,然后点击目标集群的名称,进入 集群详情 页面。

      -

      集群详情

      +

      集群详情

    2. 在集群详情页面,点击左侧导航栏的 工作负载 -> 定时任务 ,然后点击页面右上角的 YAML 创建 按钮。

      -

      工作负载

      +

      工作负载

    3. 输入或粘贴事先准备好的 YAML 文件,点击 确定 即可完成创建。

      -

      工作负载

      +

      工作负载

    diff --git a/kpanda/user-guide/workloads/create-daemonset.html b/kpanda/user-guide/workloads/create-daemonset.html index a7ef3ea206..e4afbc6321 100644 --- a/kpanda/user-guide/workloads/create-daemonset.html +++ b/kpanda/user-guide/workloads/create-daemonset.html @@ -648,21 +648,21 @@

    镜像创建
    1. 点击左侧导航栏上的 集群列表 ,然后点击目标集群的名称,进入 集群详情 页面。

      -

      集群详情

      +

      集群详情

    2. 在集群详情页面,点击左侧导航栏的 工作负载 -> 守护进程 ,然后点击页面右上角的 镜像创建 按钮。

      -

      工作负载

      +

      工作负载

    3. 依次填写基本信息容器配置服务配置高级配置后,在页面右下角点击 确定 完成创建。

      系统将自动返回 守护进程 列表。点击列表右侧的 ,可以对守护进程执行执行更新、删除、重启等操作。

      -

      操作菜单

      +

      操作菜单

    基本信息

    创建守护进程 页面中,根据下表输入信息后,点击 下一步

    -

    基本信息

    +

    基本信息

    容器配置

    @@ -711,23 +711,23 @@

    容器配置

    用于判断容器和应用的健康状态,有助于提高应用的可用性。详情可参考容器健康检查配置

    -

    健康检查

    +

    健康检查

    配置 Pod 内的容器参数,为 Pod 添加环境变量或传递配置等。详情可参考容器环境变量配置

    -

    环境变量

    +

    环境变量

    配置容器挂载数据卷和数据持久化的设置。详情可参考容器数据存储配置

    -

    数据存储

    +

    数据存储

    通过 Linux 内置的账号权限隔离机制来对容器进行安全隔离。您可以通过使用不同权限的账号 UID(数字身份标记)来限制容器的权限。例如,输入 0 表示使用 root 账号的权限。

    -

    安全设置

    +

    安全设置

    @@ -736,11 +736,11 @@

    服务配置
    1. 点击 创建服务 按钮。

      -

      服务配置

      +

      服务配置

    2. 参考创建服务,配置服务参数。

      -

      创建服务

      +

      创建服务

    3. 点击 确定 ,点击 下一步

      @@ -774,7 +774,7 @@

      高级配置
    4. Options:DNS 的配置选项,其中每个对象可以具有 name 属性(必需)和 value 属性(可选)。该字段中的内容将合并到基于 dnsPolicy 生成的域名解析文件的 options 字段中,dnsConfig 的 options 的某些选项如果与基于 dnsPolicy 生成的域名解析文件的选项冲突,则会被 dnsConfig 所覆盖。
    5. 主机别名:为主机设置的别名。

      -

      DNS 配置

      +

      DNS 配置

    6. @@ -815,15 +815,15 @@

      YAML 创建

      +

      集群详情

    7. 在集群详情页面,点击左侧导航栏的 工作负载 -> 无状态负载 ,然后点击页面右上角的 YAML 创建 按钮。

      -

      工作负载

      +

      工作负载

    8. 输入或粘贴事先准备好的 YAML 文件,点击 确定 即可完成创建。

      -

      工作负载

      +

      工作负载

    diff --git a/kpanda/user-guide/workloads/create-job.html b/kpanda/user-guide/workloads/create-job.html index c2afb60f9d..10264f9161 100644 --- a/kpanda/user-guide/workloads/create-job.html +++ b/kpanda/user-guide/workloads/create-job.html @@ -620,21 +620,21 @@

    镜像创建
    1. 点击左侧导航栏上的 集群列表 ,然后点击目标集群的名称,进入 集群详情 页面。

      -

      集群详情

      +

      集群详情

    2. 在集群详情页面,点击左侧导航栏的 工作负载 -> 任务 ,然后点击页面右上角的 镜像创建 按钮。

      -

      工作负载

      +

      工作负载

    3. 依次填写基本信息容器配置、服务配置、高级配置后,在页面右下角点击 确定 完成创建。

      系统将自动返回 任务 列表。点击列表右侧的 ,可以对任务执行执行更新、删除、重启等操作。

      -

      操作菜单

      +

      操作菜单

    基本信息

    创建任务 页面中,根据下表输入基本信息后,点击 下一步

    -

    创建任务

    +

    创建任务

    容器配置

    @@ -668,7 +668,7 @@

    容器配置

    在配置容器相关参数时,必须正确填写容器的名称、镜像参数,否则将无法进入下一步。参考以下要求填写配置后,点击 确认

    -

    基本信息

    +

    基本信息

    用于判断容器和应用的健康状态。有助于提高应用的可用性。详情可参考容器健康检查配置

    -

    健康检查

    +

    健康检查

    配置 Pod 内的容器参数,为 Pod 添加环境变量或传递配置等。详情可参考容器环境变量配置

    -

    环境变量

    +

    环境变量

    配置容器挂载数据卷和数据持久化的设置。详情可参考容器数据存储配置

    -

    数据存储

    +

    数据存储

    通过 Linux 内置的账号权限隔离机制来对容器进行安全隔离。您可以通过使用不同权限的账号 UID(数字身份标记)来限制容器的权限。例如,输入 0 表示使用 root 账号的权限。

    -

    安全设置

    +

    安全设置

    @@ -737,11 +737,11 @@

    服务配置
    1. 点击 创建服务 按钮。

      -

      服务配置

      +

      服务配置

    2. 参考创建服务,配置服务参数。

      -

      创建服务

      +

      创建服务

    3. 点击 确定 ,点击 下一步

      @@ -775,7 +775,7 @@

      高级配置
    4. Options:DNS 的配置选项,其中每个对象可以具有 name 属性(必需)和 value 属性(可选)。该字段中的内容将合并到基于 dnsPolicy 生成的域名解析文件的 options 字段中,dnsConfig 的 options 的某些选项如果与基于 dnsPolicy 生成的域名解析文件的选项冲突,则会被 dnsConfig 所覆盖。
    5. 主机别名:为主机设置的别名。

      -

      DNS 配置

      +

      DNS 配置

    6. @@ -785,7 +785,7 @@

      高级配置
    7. 最大保留版本数:设置版本回滚时保留的旧版本数量。默认 10。
    8. 缩容时间窗:负载停止前命令的执行时间窗(0-9,999秒),默认 30 秒。

      -

      升级策略

      +

      升级策略

    9. @@ -797,7 +797,7 @@

      高级配置

    10. 并行策略(Parallel) :并行创建或删除容器,和 Deployment 类型的 Pod 一样。StatefulSet 控制器并行地启动或终止所有的容器。启动或者终止其他 Pod 前,无需等待 Pod 进入 Running 和 ready 或者完全停止状态。 这个选项只会影响扩缩操作的行为,不影响更新时的顺序。

      -

      容器管理策略

      +

      容器管理策略

    11. @@ -812,12 +812,12 @@

      高级配置

      具体详情请参考调度策略

      -
      ![调度策略](https://docs.daocloud.io/daocloud-docs-images/docs/kpanda/images/deploy15.png)
      +
      ![调度策略](../../../images/deploy15_1.png)
       

      可以点击 添加 按钮为工作负载和容器组添加标签和注解。

      -

      标签与注解

      +

      标签与注解

      @@ -826,15 +826,15 @@

      YAML 创建

      +

      集群详情

    12. 在集群详情页面,点击左侧导航栏的 工作负载 -> 有状态负载 ,然后点击页面右上角的 YAML 创建 按钮。

      -

      工作负载

      +

      工作负载

    13. 输入或粘贴事先准备好的 YAML 文件,点击 确定 即可完成创建。

      -

      工作负载

      +

      工作负载

    diff --git a/openapi/index.html b/openapi/index.html index 5e53c805e7..2b9824229b 100644 --- a/openapi/index.html +++ b/openapi/index.html @@ -309,8 +309,8 @@

    OpenAPI 访问密钥访问密钥(Access Key)可用于访问开放 API 和持续发布,用户可在个人中心参照以下步骤获取密钥并访问 API。

    获取密钥

    登录 DCE 5.0,在右上角的下拉菜单中找到 个人中心 ,可以在 访问密钥 页面管理账号的访问密钥。

    -

    ak list

    -

    created a key

    +

    ak list

    +

    created a key

    Info

    访问密钥信息仅显示一次。如果您忘记了访问密钥信息,您需要重新创建新的访问密钥。

    diff --git a/search/search_index.json b/search/search_index.json index cce28ebfb3..75fca5f125 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["zh","en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"index.html","title":"\u7528\u6237\u6ce8\u518c","text":"

    \u65b0\u7528\u6237\u9996\u6b21\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u9700\u8981\u8fdb\u884c\u6ce8\u518c\u3002

    "},{"location":"index.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    1. AI \u7b97\u529b\u5e73\u53f0\u5df2\u5b89\u88c5
    2. \u5df2\u5f00\u542f\u90ae\u7bb1\u6ce8\u518c\u529f\u80fd
    3. \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u90ae\u7bb1\u5730\u5740
    "},{"location":"index.html#_3","title":"\u90ae\u7bb1\u6ce8\u518c\u6b65\u9aa4","text":"
    1. \u6253\u5f00 AI \u7b97\u529b\u5e73\u53f0\u9996\u9875 https://ai.isuanova.com/\uff0c\u70b9\u51fb \u6ce8\u518c

    2. \u952e\u5165\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u90ae\u7bb1\u540e\u70b9\u51fb \u6ce8\u518c

    3. \u7cfb\u7edf\u63d0\u793a\u53d1\u9001\u4e86\u4e00\u5c01\u90ae\u4ef6\u5230\u60a8\u7684\u90ae\u7bb1\u3002

    4. \u767b\u5f55\u81ea\u5df1\u7684\u90ae\u7bb1\uff0c\u627e\u5230\u90ae\u4ef6\uff0c\u70b9\u51fb\u94fe\u63a5\u3002

    5. \u606d\u559c\uff0c\u60a8\u6210\u529f\u8fdb\u5165\u4e86 AI \u7b97\u529b\u5e73\u53f0\uff0c\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u60a8\u7684 AI \u4e4b\u65c5\u4e86\u3002

    "},{"location":"baize/developer/index.html","title":"\u5f00\u53d1\u63a7\u5236\u53f0","text":"

    \u5f00\u53d1\u63a7\u5236\u53f0\u662f\u5f00\u53d1\u8005\u65e5\u5e38\u6267\u884c AI \u63a8\u7406\u3001\u5927\u6a21\u578b\u8bad\u7ec3\u7b49\u4efb\u52a1\u7684\u63a7\u5236\u53f0\u3002

    \u65b9\u4fbf\u7528\u6237\u901a\u8fc7\u6982\u89c8\u5feb\u901f\u4e86\u89e3\uff0c\u5f53\u524d\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u53ca\u7528\u91cf\u60c5\u51b5\uff0c\u5305\u542b\u4e86GPU\u8d44\u6e90\u3001Notebook\u3001\u4efb\u52a1\u4ee5\u53ca\u6570\u636e\u96c6\u7684\u6570\u91cf\u4fe1\u606f\u3002

    "},{"location":"baize/developer/quick-start.html","title":"\u5feb\u901f\u5165\u95e8","text":"

    \u672c\u6587\u63d0\u4f9b\u4e86\u7b80\u5355\u7684\u64cd\u4f5c\u624b\u518c\u4ee5\u4fbf\u7528\u6237\u4f7f\u7528 DCE 5.0 AI Lab \u8fdb\u884c\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u3002

    "},{"location":"baize/developer/quick-start.html#_2","title":"\u51c6\u5907\u6570\u636e\u96c6","text":"

    \u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6 \uff0c\u9009\u62e9 \u521b\u5efa \u6309\u94ae\uff0c\u5206\u522b\u521b\u5efa\u4ee5\u4e0b\u4e09\u4e2a\u6570\u636e\u96c6\u3002

    "},{"location":"baize/developer/quick-start.html#_3","title":"\u6570\u636e\u96c6\uff1a\u8bad\u7ec3\u4ee3\u7801","text":"
    • \u4ee3\u7801\u6570\u636e\u6e90\uff1ahttps://github.com/samzong/training-sample-code.git\uff0c\u4e3b\u8981\u662f\u4e00\u4e2a\u7b80\u5355\u7684 Tensorflow \u4ee3\u7801\u3002
    • \u5982\u679c\u662f\u4e2d\u56fd\u5883\u5185\u7684\u7528\u6237\uff0c\u53ef\u4ee5\u4f7f\u7528 Gitee \u52a0\u901f\uff1ahttps://gitee.com/samzong_lu/training-sample-code.git
    • \u4ee3\u7801\u8def\u5f84\u4e3a tensorflow/tf-fashion-mnist-sample

    Note

    \u76ee\u524d\u4ec5\u652f\u6301\u8bfb\u5199\u6a21\u5f0f\u4e3a ReadWriteMany \u7684 StorageClass\uff0c\u8bf7\u4f7f\u7528 NFS \u6216\u8005\u63a8\u8350\u7684 JuiceFS\u3002

    "},{"location":"baize/developer/quick-start.html#_4","title":"\u6570\u636e\u96c6\uff1a\u8bad\u7ec3\u6570\u636e","text":"

    \u672c\u6b21\u8bad\u7ec3\u4f7f\u7528\u7684\u6570\u636e\u4e3a https://github.com/zalandoresearch/fashion-mnist.git\uff0c \u8fd9\u662f Fashion-MNIST \u6570\u636e\u96c6\u3002

    \u5982\u679c\u662f\u4e2d\u56fd\u5883\u5185\u7684\u7528\u6237\uff0c\u53ef\u4ee5\u4f7f\u7528 Gitee \u52a0\u901f\uff1ahttps://gitee.com/samzong_lu/fashion-mnist.git

    Note

    \u5982\u679c\u672a\u521b\u5efa\u8bad\u7ec3\u6570\u636e\u7684\u6570\u636e\u96c6\uff0c\u901a\u8fc7\u8bad\u7ec3\u811a\u672c\u4e5f\u4f1a\u81ea\u52a8\u4e0b\u8f7d\uff1b\u63d0\u524d\u51c6\u5907\u8bad\u7ec3\u6570\u636e\u53ef\u4ee5\u63d0\u9ad8\u8bad\u7ec3\u901f\u5ea6\u3002

    "},{"location":"baize/developer/quick-start.html#_5","title":"\u6570\u636e\u96c6\uff1a\u7a7a\u6570\u636e\u96c6","text":"

    AI Lab \u652f\u6301\u5c06 PVC \u4f5c\u4e3a\u6570\u636e\u96c6\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u6240\u4ee5\u521b\u5efa\u4e00\u4e2a\u7a7a PVC \u7ed1\u5b9a\u5230\u6570\u636e\u96c6\u540e\uff0c\u53ef\u5c06\u7a7a\u6570\u636e\u96c6\u4f5c\u4e3a\u5b58\u653e\u540e\u7eed\u8bad\u7ec3\u4efb\u52a1\u7684\u8f93\u51fa\u6570\u636e\u96c6\uff0c\u5b58\u653e\u6a21\u578b\u548c\u65e5\u5fd7\u3002

    "},{"location":"baize/developer/quick-start.html#tensorflow","title":"\u73af\u5883\u4f9d\u8d56: tensorflow","text":"

    \u811a\u672c\u5728\u8fd0\u884c\u65f6\uff0c\u9700\u8981\u4f9d\u8d56 Tensorflow \u7684 Python \u5e93\uff0c\u53ef\u4ee5\u4f7f\u7528 AI Lab \u7684\u73af\u5883\u4f9d\u8d56\u7ba1\u7406\u529f\u80fd\uff0c\u63d0\u524d\u5c06\u9700\u8981\u7684 Python \u5e93\u4e0b\u8f7d\u548c\u51c6\u5907\u5b8c\u6210\uff0c\u65e0\u9700\u4f9d\u8d56\u955c\u50cf\u6784\u5efa

    \u53c2\u8003 \u73af\u5883\u4f9d\u8d56 \u7684\u64cd\u4f5c\u65b9\u5f0f\uff0c\u6dfb\u52a0\u4e00\u4e2a CONDA \u73af\u5883.

    name: tensorflow\nchannels:\n  - defaults\n  - conda-forge\ndependencies:\n  - python=3.12\n  - tensorflow\nprefix: /opt/conda/envs/tensorflow\n

    Note

    \u7b49\u5f85\u73af\u5883\u9884\u70ed\u6210\u529f\u540e\uff0c\u53ea\u9700\u8981\u5c06\u6b64\u73af\u5883\u6302\u8f7d\u5230 Notebook\u3001\u8bad\u7ec3\u4efb\u52a1\u4e2d\uff0c\u4f7f\u7528 AI Lab \u63d0\u4f9b\u7684\u57fa\u7840\u955c\u50cf\u5c31\u53ef\u4ee5

    "},{"location":"baize/developer/quick-start.html#notebook","title":"\u4f7f\u7528 Notebook \u8c03\u8bd5\u811a\u672c","text":"

    \u51c6\u5907\u5f00\u53d1\u73af\u5883\uff0c\u70b9\u51fb\u5bfc\u822a\u680f\u7684 Notebooks \uff0c\u70b9\u51fb \u521b\u5efa \u3002

    • \u5c06\u51c6\u5907\u597d\u7684\u4e09\u4e2a\u6570\u636e\u96c6\u8fdb\u884c\u5173\u8054\uff0c\u6302\u8f7d\u8def\u5f84\u8bf7\u53c2\u7167\u4e0b\u56fe\u586b\u5199\uff0c\u6ce8\u610f\u5c06\u9700\u8981\u4f7f\u7528\u7684\u7a7a\u6570\u636e\u96c6\u5728 \u8f93\u51fa\u6570\u636e\u96c6\u4f4d\u7f6e\u914d\u7f6e

    • \u9009\u62e9\u5e76\u7ed1\u5b9a\u73af\u5883\u4f9d\u8d56\u5305

      \u7b49\u5f85 Notebook \u521b\u5efa\u6210\u529f\uff0c\u70b9\u51fb\u5217\u8868\u4e2d\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u8fdb\u5165 Notebook\u3002\u5e76\u5728 Notebook \u7684\u7ec8\u7aef\u4e2d\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u4efb\u52a1\u8bad\u7ec3\u3002

      Note

      \u811a\u672c\u4f7f\u7528 Tensorflow\uff0c\u5982\u679c\u5fd8\u8bb0\u5173\u8054\u4f9d\u8d56\u5e93\uff0c\u4e5f\u53ef\u4ee5\u4e34\u65f6\u7528 pip install tensorflow \u5b89\u88c5\u3002

      python /home/jovyan/code/tensorflow/tf-fashion-mnist-sample/train.py\n
    "},{"location":"baize/developer/quick-start.html#_6","title":"\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1","text":"
    1. \u70b9\u51fb\u5bfc\u822a\u680f\u7684 \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u521b\u5efa\u4e00\u4e2a Tensorflow \u5355\u673a\u4efb\u52a1
    2. \u5148\u586b\u5199\u57fa\u672c\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65
    3. \u5728\u4efb\u52a1\u8d44\u6e90\u914d\u7f6e\u4e2d\uff0c\u6b63\u786e\u914d\u7f6e\u4efb\u52a1\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65

      • \u955c\u50cf\uff1a\u5982\u679c\u524d\u5e8f\u73af\u5883\u4f9d\u8d56\u5305\u51c6\u5907\u597d\u4e86\uff0c\u4f7f\u7528\u9ed8\u8ba4\u955c\u50cf\u5373\u53ef\uff1b \u5982\u679c\u672a\u51c6\u5907\uff0c\u8981\u786e\u8ba4\u955c\u50cf\u5185\u6709 tensorflow \u7684 Python \u5e93
      • shell\uff1a\u4f7f\u7528 bash \u5373\u53ef
      • \u542f\u7528\u547d\u4ee4\uff1a

        /home/jovyan/code/tensorflow/tf-fashion-mnist-sample/train.py\n
    4. \u5728\u9ad8\u7ea7\u914d\u7f6e\u4e2d\uff0c\u542f\u7528 \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09 \uff0c\u70b9\u51fb \u786e\u5b9a \u3002

      Note

      \u65e5\u5fd7\u6240\u5728\u4f4d\u7f6e\u4e3a\u8f93\u51fa\u6570\u636e\u96c6\u7684 /home/jovyan/model/train/logs/

    5. \u8fd4\u56de\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\uff0c\u7b49\u5230\u72b6\u6001\u53d8\u4e3a \u6210\u529f \u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u8be6\u60c5\u3001\u514b\u9686\u4efb\u52a1\u3001\u66f4\u65b0\u4f18\u5148\u7ea7\u3001\u67e5\u770b\u65e5\u5fd7\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    6. \u6210\u529f\u521b\u5efa\u4efb\u52a1\u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u4efb\u52a1\u5206\u6790 \uff0c\u53ef\u4ee5\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u5e76\u5bf9\u4efb\u52a1\u8bad\u7ec3\u8fdb\u884c\u8c03\u4f18\u3002

    "},{"location":"baize/developer/dataset/create-use-delete.html","title":"\u6570\u636e\u96c6\u5217\u8868","text":"

    AI Lab \u63d0\u4f9b\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4ee5\u53ca\u63a8\u7406\u8fc7\u7a0b\u6240\u6709\u9700\u8981\u7684\u6570\u636e\u96c6\u7ba1\u7406\u529f\u80fd\u3002\u76ee\u524d\u652f\u6301\u5c06\u591a\u79cd\u6570\u636e\u6e90\u7edf\u4e00\u63a5\u5165\u80fd\u529b\u3002

    \u901a\u8fc7\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5c06\u6570\u636e\u6e90\u63a5\u5165\u5230 AI Lab \u4e2d\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u7edf\u4e00\u7eb3\u7ba1\u3001\u9884\u70ed\u3001\u6570\u636e\u96c6\u7ba1\u7406\u7b49\u529f\u80fd\u3002

    "},{"location":"baize/developer/dataset/create-use-delete.html#_2","title":"\u521b\u5efa\u6570\u636e\u96c6","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

    2. \u9009\u62e9\u6570\u636e\u96c6\u5f52\u5c5e\u7684\u5de5\u4f5c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4 \u4e0b\u4e00\u6b65 \u3002

    3. \u914d\u7f6e\u76ee\u6807\u6570\u636e\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

      \u76ee\u524d\u652f\u6301\u8fd9\u51e0\u79cd\u6570\u636e\u6e90\uff1a

      • GIT\uff1a\u652f\u6301 GitHub\u3001GitLab\u3001Gitee \u7b49\u4ed3\u5e93
      • S3\uff1a\u652f\u6301 Amazon \u4e91\u7b49\u5bf9\u8c61\u5b58\u50a8
      • HTTP\uff1a\u76f4\u63a5\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684 HTTP \u7f51\u5740
      • PVC\uff1a\u652f\u6301\u9884\u5148\u521b\u5efa\u7684 Kubernetes PersistentVolumeClaim
      • NFS\uff1a\u652f\u6301 NFS \u5171\u4eab\u5b58\u50a8
    4. \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u5c06\u8fd4\u56de\u6570\u636e\u96c6\u5217\u8868\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

    Info

    \u7cfb\u7edf\u81ea\u52a8\u4f1a\u5728\u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u7acb\u5373\u8fdb\u884c\u4e00\u6b21\u6027\u7684\u6570\u636e\u9884\u52a0\u8f7d\uff1b\u5728\u9884\u52a0\u8f7d\u5b8c\u6210\u4e4b\u524d\uff0c\u6570\u636e\u96c6\u4e0d\u53ef\u4ee5\u4f7f\u7528\u3002

    "},{"location":"baize/developer/dataset/create-use-delete.html#_3","title":"\u6570\u636e\u96c6\u4f7f\u7528","text":"

    \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u5728\u6a21\u578b\u8bad\u7ec3\u3001\u63a8\u7406\u7b49\u4efb\u52a1\u4e2d\u4f7f\u7528\u3002

    "},{"location":"baize/developer/dataset/create-use-delete.html#notebook","title":"\u5728 Notebook \u4e2d\u4f7f\u7528","text":"

    \u5728\u521b\u5efa Notebook \u4e2d\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u6570\u636e\u96c6\uff1b\u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\uff1a

    • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u8bad\u7ec3\u6570\u636e\u6302\u8f7d
    • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u4ee3\u7801\u6302\u8f7d

    "},{"location":"baize/developer/dataset/create-use-delete.html#_4","title":"\u5728 \u8bad\u7ec3\u4efb\u52a1 \u4e2d\u4f7f\u7528","text":"
    • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u51fa
    • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u5165
    • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a TensorBoard \u8f93\u51fa
    "},{"location":"baize/developer/dataset/create-use-delete.html#_5","title":"\u5728\u63a8\u7406\u670d\u52a1 \u4e2d\u4f7f\u7528","text":"
    • \u4f7f\u7528\u6570\u636e\u96c6\u6302\u8f7d\u6a21\u578b
    "},{"location":"baize/developer/dataset/create-use-delete.html#_6","title":"\u5220\u9664\u6570\u636e\u96c6","text":"

    \u5982\u679c\u53d1\u73b0\u6570\u636e\u96c6\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u6570\u636e\u96c6\u5217\u8868\u4e2d\u5220\u9664\u3002

    1. \u5728\u6570\u636e\u96c6\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

    2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u6570\u636e\u96c6\uff0c\u8f93\u5165\u6570\u636e\u96c6\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u6570\u636e\u96c6\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

    Caution

    \u6570\u636e\u96c6\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"baize/developer/dataset/environments.html","title":"\u7ba1\u7406\u73af\u5883","text":"

    \u672c\u6587\u8bf4\u660e\u5982\u4f55\u5728 DCE AI Lab \u4e2d\u7ba1\u7406\u4f60\u7684\u73af\u5883\u4f9d\u8d56\u5e93\uff0c\u4ee5\u4e0b\u662f\u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

    1. \u73af\u5883\u7ba1\u7406\u6982\u8ff0
    2. \u521b\u5efa\u65b0\u73af\u5883
    3. \u914d\u7f6e\u73af\u5883
    4. \u6545\u969c\u6392\u9664
    "},{"location":"baize/developer/dataset/environments.html#_2","title":"\u73af\u5883\u7ba1\u7406\u6982\u8ff0","text":"

    \u4f20\u7edf\u65b9\u5f0f\uff0c\u4e00\u822c\u4f1a\u5c06 Python \u73af\u5883\u4f9d\u8d56\u5728\u955c\u50cf\u4e2d\u6784\u5efa\uff0c\u955c\u50cf\u5e26\u6709 Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7684\u955c\u50cf\uff0c\u7ef4\u62a4\u6210\u672c\u8f83\u9ad8\u4e14\u66f4\u65b0\u4e0d\u65b9\u4fbf\uff0c\u5f80\u5f80\u9700\u8981\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

    \u800c\u5728 DCE 5.0 AI Lab \u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 \u73af\u5883\u7ba1\u7406 \u6a21\u5757\u6765\u7ba1\u7406\u7eaf\u7cb9\u7684\u73af\u5883\u4f9d\u8d56\uff0c\u5c06\u8fd9\u90e8\u5206\u4ece\u955c\u50cf\u4e2d\u89e3\u8026\uff0c\u5e26\u6765\u7684\u4f18\u52bf\u6709\uff1a

    • \u4e00\u4efd\u73af\u5883\u591a\u5904\u4f7f\u7528\uff0c\u540c\u65f6\u53ef\u4ee5\u5728 Notebook\u3001\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3001\u4e43\u81f3\u63a8\u7406\u670d\u52a1\u4e2d\u4f7f\u7528\u3002
    • \u66f4\u65b0\u4f9d\u8d56\u5305\u66f4\u52a0\u65b9\u4fbf\uff0c\u53ea\u9700\u8981\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5373\u53ef\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

    \u4ee5\u4e0b\u4e3a\u73af\u5883\u7ba1\u7406\u7684\u4e3b\u8981\u7ec4\u6210\u90e8\u5206\uff1a

    • \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u3002
    • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4\u4ee5\u9650\u5b9a\u64cd\u4f5c\u8303\u56f4\u3002
    • \u73af\u5883\u5217\u8868 \uff1a\u5c55\u793a\u5f53\u524d\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u73af\u5883\u53ca\u5176\u72b6\u6001\u3002

    \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u73af\u5883\u7684\u540d\u79f0 my-environment \u72b6\u6001 \u73af\u5883\u5f53\u524d\u7684\u72b6\u6001\uff08\u6b63\u5e38\u6216\u5931\u8d25\uff09\uff0c\u65b0\u521b\u5efa\u73af\u5883\u6709\u4e00\u4e2a\u9884\u70ed\u8fc7\u7a0b\uff0c\u9884\u70ed\u6210\u529f\u540e\u5373\u53ef\u5728\u5176\u4ed6\u4efb\u52a1\u4e2d\u4f7f\u7528 \u6b63\u5e38 \u521b\u5efa\u65f6\u95f4 \u73af\u5883\u521b\u5efa\u7684\u65f6\u95f4 2023-10-01 10:00:00"},{"location":"baize/developer/dataset/environments.html#_3","title":"\u521b\u5efa\u65b0\u73af\u5883","text":"

    \u5728 \u73af\u5883\u7ba1\u7406 \u754c\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u73af\u5883\u7684\u6d41\u7a0b\u3002

    \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u8f93\u5165\u73af\u5883\u7684\u540d\u79f0\uff0c\u957f\u5ea6\u4e3a 2-63 \u4e2a\u5b57\u7b26\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\u3002 my-environment \u90e8\u7f72\u4f4d\u7f6e \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u90e8\u7f72\u7684\u96c6\u7fa4 gpu-cluster \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4 default \u5907\u6ce8 \u586b\u5199\u5907\u6ce8\u4fe1\u606f\u3002 \u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u73af\u5883 \u6807\u7b7e \u4e3a\u73af\u5883\u6dfb\u52a0\u6807\u7b7e\u3002 env:test \u6ce8\u89e3 \u4e3a\u73af\u5883\u6dfb\u52a0\u6ce8\u89e3\u3002\u586b\u5199\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u73af\u5883\u914d\u7f6e\u3002 \u6ce8\u89e3\u793a\u4f8b"},{"location":"baize/developer/dataset/environments.html#_4","title":"\u914d\u7f6e\u73af\u5883","text":"

    \u5728\u73af\u5883\u914d\u7f6e\u6b65\u9aa4\u4e2d\uff0c\u7528\u6237\u9700\u8981\u914d\u7f6e Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7ba1\u7406\u5de5\u5177\u3002

    \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c Python \u7248\u672c \u9009\u62e9\u6240\u9700\u7684 Python \u7248\u672c 3.12.3 \u5305\u7ba1\u7406\u5668 \u9009\u62e9\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u53ef\u9009 PIP \u6216 CONDA PIP Environment Data \u5982\u679c\u9009\u62e9 PIP\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 requirements.txt \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 numpy==1.21.0 \u5982\u679c\u9009\u62e9 CONDA\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 environment.yaml \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 \u5176\u4ed6\u9009\u9879 pip \u989d\u5916\u7d22\u5f15\u5730\u5740 \uff1a\u914d\u7f6e pip \u989d\u5916\u7684\u7d22\u5f15\u5730\u5740\uff1b\u9002\u7528\u4e8e\u4f01\u4e1a\u5185\u90e8\u6709\u81ea\u5df1\u7684\u79c1\u6709\u4ed3\u5e93\u6216\u8005 PIP \u52a0\u901f\u7ad9\u70b9\u3002 https://pypi.example.com GPU \u914d\u7f6e \uff1a\u542f\u7528\u6216\u7981\u7528 GPU \u914d\u7f6e\uff1b\u90e8\u5206\u6d89\u53ca\u5230 GPU \u7684\u4f9d\u8d56\u5305\u9700\u8981\u5728\u9884\u52a0\u8f7d\u65f6\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u542f\u7528 \u5173\u8054\u5b58\u50a8 \uff1a\u9009\u62e9\u5173\u8054\u7684\u5b58\u50a8\u914d\u7f6e\uff1b\u73af\u5883\u4f9d\u8d56\u5305\u4f1a\u5b58\u50a8\u5728\u5173\u8054\u5b58\u50a8\u4e2d\u3002\u6ce8\u610f\uff1a\u9700\u8981\u4f7f\u7528\u652f\u6301 ReadWriteMany \u7684\u5b58\u50a8\u3002 my-storage-config

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u521b\u5efa \u6309\u94ae\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa\u5e76\u914d\u7f6e\u65b0\u7684 Python \u73af\u5883\u3002

    "},{"location":"baize/developer/dataset/environments.html#_5","title":"\u6545\u969c\u6392\u9664","text":"
    • \u5982\u679c\u73af\u5883\u521b\u5efa\u5931\u8d25\uff1a

      • \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u662f\u5426\u6b63\u5e38\u3002
      • \u786e\u8ba4\u586b\u5199\u7684 Python \u7248\u672c\u548c\u5305\u7ba1\u7406\u5668\u914d\u7f6e\u65e0\u8bef\u3002
      • \u786e\u4fdd\u6240\u9009\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u53ef\u7528\u3002
    • \u5982\u679c\u4f9d\u8d56\u9884\u70ed\u5931\u8d25\uff1a

      • \u68c0\u67e5 requirements.txt \u6216 environment.yaml \u6587\u4ef6\u683c\u5f0f\u662f\u5426\u6b63\u786e\u3002
      • \u786e\u8ba4\u4f9d\u8d56\u5305\u540d\u79f0\u548c\u7248\u672c\u662f\u5426\u6b63\u786e\u65e0\u8bef\u3002\u5982\u9047\u5230\u5176\u4ed6\u95ee\u9898\uff0c\u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6216\u67e5\u770b\u5e73\u53f0\u5e2e\u52a9\u6587\u6863\u83b7\u53d6\u66f4\u591a\u652f\u6301\u3002

    \u4ee5\u4e0a\u5373\u4e3a\u5728 DCE 5.0 AI Lab \u4e2d\u7ba1\u7406 Python \u4f9d\u8d56\u5e93\u7684\u57fa\u672c\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

    "},{"location":"baize/developer/inference/models.html","title":"\u6a21\u578b\u652f\u6301\u60c5\u51b5","text":"

    \u968f\u7740 AI Lab \u7684\u5feb\u901f\u8fed\u4ee3\uff0c\u6211\u4eec\u5df2\u7ecf\u652f\u6301\u4e86\u591a\u79cd\u6a21\u578b\u7684\u63a8\u7406\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6240\u652f\u6301\u7684\u6a21\u578b\u4fe1\u606f\u3002

    • AI Lab v0.3.0 \u4e0a\u7ebf\u4e86\u6a21\u578b\u63a8\u7406\u670d\u52a1\uff0c\u9488\u5bf9\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u65b9\u4fbf\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528AI Lab \u7684\u63a8\u7406\u670d\u52a1\uff0c\u65e0\u9700\u5173\u5fc3\u6a21\u578b\u7684\u90e8\u7f72\u548c\u7ef4\u62a4\u3002
    • AI Lab v0.6.0 \u652f\u6301\u4e86\u5b8c\u6574\u7248\u672c\u7684 vLLM \u63a8\u7406\u80fd\u529b\uff0c\u652f\u6301\u8bf8\u591a\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u5982 LLama\u3001Qwen\u3001ChatGLM \u7b49\u3002

    Note

    \u63a8\u7406\u80fd\u529b\u7684\u652f\u6301\u4e0e AI Lab \u7684\u7248\u672c\u6709\u5173\uff0c\u8bf7\u67e5\u9605 Release Notes \u4e86\u89e3\u6700\u65b0\u7248\u672c\u5e76\u53ca\u65f6\u66f4\u65b0\u3002

    \u60a8\u53ef\u4ee5\u5728 AI Lab \u4e2d\u4f7f\u7528\u7ecf\u8fc7 DCE 5.0 \u9a8c\u8bc1\u8fc7\u7684 GPU \u7c7b\u578b\uff1b \u66f4\u591a\u7ec6\u8282\u53c2\u9605 GPU \u652f\u6301\u77e9\u9635\u3002

    "},{"location":"baize/developer/inference/models.html#triton-inference-server","title":"Triton Inference Server","text":"

    \u901a\u8fc7 Triton Inference Server \u53ef\u4ee5\u5f88\u597d\u7684\u652f\u6301\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u6211\u4eec\u76ee\u524d\u652f\u6301\u4e3b\u6d41\u7684\u63a8\u7406\u540e\u7aef\u670d\u52a1\uff1a

    Backend \u652f\u6301\u6a21\u578b\u683c\u5f0f \u4ecb\u7ecd pytorch TorchScript\u3001PyTorch 2.0 \u683c\u5f0f\u7684\u6a21\u578b triton-inference-server/pytorch_backend tensorflow TensorFlow 2.x triton-inference-server/tensorflow_backend vLLM(Deprecated) \u4e0e vLLM \u4e00\u81f4 \u652f\u6301\u7684\u6a21\u578b\u548c vLLM support Model \u4e00\u81f4

    Danger

    \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

    "},{"location":"baize/developer/inference/models.html#vllm","title":"vLLM","text":"

    \u901a\u8fc7 vLLM \u6211\u4eec\u53ef\u4ee5\u5f88\u5feb\u7684\u4f7f\u7528\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6211\u4eec\u652f\u6301\u7684\u6a21\u578b\u5217\u8868\uff0c\u8fd9\u901a\u5e38\u548c vLLM Support Models \u4fdd\u6301\u4e00\u81f4\u3002

    • HuggingFace \u6a21\u578b\uff1a\u6211\u4eec\u652f\u6301\u4e86 HuggingFace \u7684\u5927\u90e8\u5206\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728 HuggingFace Model Hub \u67e5\u770b\u66f4\u591a\u6a21\u578b\u3002
    • vLLM \u652f\u6301\u6a21\u578b\u5217\u51fa\u4e86\u652f\u6301\u7684\u5927\u8bed\u8a00\u6a21\u578b\u548c\u89c6\u89c9\u8bed\u8a00\u6a21\u578b\u3002
    • \u4f7f\u7528 vLLM \u652f\u6301\u6846\u67b6\u7684\u6a21\u578b\u8fdb\u884c\u5fae\u8c03\u540e\u7684\u6a21\u578b\u3002
    "},{"location":"baize/developer/inference/models.html#vllm_1","title":"vLLM \u65b0\u7279\u6027","text":"

    \u76ee\u524d\uff0cAI Lab \u8fd8\u652f\u6301\u5728\u4f7f\u7528 vLLM \u4f5c\u4e3a\u63a8\u7406\u5de5\u5177\u65f6\u7684\u4e00\u4e9b\u65b0\u7279\u6027\uff1a

    • \u5728\u63a8\u7406\u6a21\u578b\u65f6\uff0c\u542f\u7528 Lora Adapter \u6765\u4f18\u5316\u6a21\u578b\u63a8\u7406\u670d\u52a1
    • \u63d0\u4f9b\u517c\u5bb9 OpenAI \u7684 OpenAPI \u63a5\u53e3\uff0c\u65b9\u4fbf\u7528\u6237\u5207\u6362\u5230\u672c\u5730\u63a8\u7406\u670d\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f4e\u6210\u672c\u7684\u5feb\u901f\u5207\u6362
    "},{"location":"baize/developer/inference/triton-inference.html","title":"\u521b\u5efa Triton \u63a8\u7406\u670d\u52a1","text":"

    AI Lab \u76ee\u524d\u63d0\u4f9b\u4ee5 Triton\u3001vLLM \u4f5c\u4e3a\u63a8\u7406\u6846\u67b6\uff0c\u7528\u6237\u53ea\u9700\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5feb\u901f\u542f\u52a8\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u63a8\u7406\u670d\u52a1\u3002

    Danger

    \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

    "},{"location":"baize/developer/inference/triton-inference.html#triton_1","title":"Triton\u4ecb\u7ecd","text":"

    Triton \u662f\u7531 NVIDIA \u5f00\u53d1\u7684\u4e00\u4e2a\u5f00\u6e90\u63a8\u7406\u670d\u52a1\u5668\uff0c\u65e8\u5728\u7b80\u5316\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u90e8\u7f72\u548c\u63a8\u7406\u670d\u52a1\u3002\u5b83\u652f\u6301\u591a\u79cd\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5305\u62ec TensorFlow\u3001PyTorch \u7b49\uff0c\u4f7f\u5f97\u7528\u6237\u80fd\u591f\u8f7b\u677e\u7ba1\u7406\u548c\u90e8\u7f72\u4e0d\u540c\u7c7b\u578b\u7684\u6a21\u578b\u3002

    "},{"location":"baize/developer/inference/triton-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\uff0c\u4e0b\u9762\u4ee5 mnist \u624b\u5199\u6570\u5b57\u8bc6\u522b\u7684 PyTorch \u6a21\u578b\u4e3a\u4f8b\u3002

    Note

    \u5f85\u63a8\u7406\u7684\u6a21\u578b\u5728\u6570\u636e\u96c6\u4e2d\u9700\u8981\u9075\u4ee5\u4e0b\u76ee\u5f55\u683c\u5f0f\uff1a

      <model-repository-name>\n  \u2514\u2500\u2500 <model-name>\n     \u2514\u2500\u2500 <version>\n        \u2514\u2500\u2500 <model-definition-file>\n

    \u672c\u4f8b\u4e2d\u7684\u76ee\u5f55\u683c\u5f0f\u4e3a\uff1a

        model-repo\n    \u2514\u2500\u2500 mnist-cnn\n        \u2514\u2500\u2500 1\n            \u2514\u2500\u2500 model.pt\n
    "},{"location":"baize/developer/inference/triton-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"

    \u76ee\u524d\u5df2\u7ecf\u652f\u6301\u8868\u5355\u521b\u5efa\uff0c\u53ef\u4ee5\u754c\u9762\u5b57\u6bb5\u63d0\u793a\uff0c\u8fdb\u884c\u670d\u52a1\u521b\u5efa\u3002

    "},{"location":"baize/developer/inference/triton-inference.html#_3","title":"\u914d\u7f6e\u6a21\u578b\u8def\u5f84","text":"

    \u6a21\u578b\u8def\u5f84 model-repo/mnist-cnn/1/model.pt \u9700\u8981\u548c\u6570\u636e\u96c6\u4e2d\u7684\u6a21\u578b\u76ee\u5f55\u683c\u5f0f\u4e00\u81f4\u3002

    "},{"location":"baize/developer/inference/triton-inference.html#_4","title":"\u6a21\u578b\u914d\u7f6e","text":""},{"location":"baize/developer/inference/triton-inference.html#_5","title":"\u914d\u7f6e\u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570","text":"

    Note

    \u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570\u7684\u7b2c\u4e00\u4e2a\u7ef4\u5ea6\u9ed8\u8ba4\u4e3a batchsize \u7684\u5927\u5c0f\uff0c\u8bbe\u7f6e\u4e3a -1 \u53ef\u4ee5\u6839\u636e\u8f93\u5165\u7684\u63a8\u7406\u6570\u636e\u81ea\u52a8\u8ba1\u7b97 batchsize\u3002\u53c2\u6570\u5176\u4f59\u7ef4\u5ea6\u548c\u6570\u636e\u7c7b\u578b\u9700\u8981\u4e0e\u6a21\u578b\u8f93\u5165\u5339\u914d\u3002

    "},{"location":"baize/developer/inference/triton-inference.html#_6","title":"\u914d\u7f6e\u73af\u5883","text":"

    \u53ef\u4ee5\u5bfc\u5165 \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u7684\u73af\u5883\u4f5c\u4e3a\u63a8\u7406\u65f6\u7684\u8fd0\u884c\u73af\u5883\u3002

    "},{"location":"baize/developer/inference/triton-inference.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":""},{"location":"baize/developer/inference/triton-inference.html#_8","title":"\u914d\u7f6e\u8ba4\u8bc1\u7b56\u7565","text":"

    \u652f\u6301 API key \u7684\u8bf7\u6c42\u65b9\u5f0f\u8ba4\u8bc1\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u5b9a\u4e49\u589e\u52a0\u8ba4\u8bc1\u53c2\u6570\u3002

    "},{"location":"baize/developer/inference/triton-inference.html#_9","title":"\u4eb2\u548c\u6027\u8c03\u5ea6","text":"

    \u652f\u6301 \u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

    "},{"location":"baize/developer/inference/triton-inference.html#_10","title":"\u8bbf\u95ee","text":""},{"location":"baize/developer/inference/triton-inference.html#api","title":"API \u8bbf\u95ee","text":"
    • Triton \u63d0\u4f9b\u4e86\u4e00\u4e2a\u57fa\u4e8e REST \u7684 API\uff0c\u5141\u8bb8\u5ba2\u6237\u7aef\u901a\u8fc7 HTTP POST \u8bf7\u6c42\u8fdb\u884c\u6a21\u578b\u63a8\u7406\u3002
    • \u5ba2\u6237\u7aef\u53ef\u4ee5\u53d1\u9001 JSON \u683c\u5f0f\u7684\u8bf7\u6c42\u4f53\uff0c\u5176\u4e2d\u5305\u542b\u8f93\u5165\u6570\u636e\u548c\u76f8\u5173\u7684\u5143\u6570\u636e\u3002
    "},{"location":"baize/developer/inference/triton-inference.html#http","title":"HTTP \u8bbf\u95ee","text":"
    1. \u53d1\u9001 HTTP POST \u8bf7\u6c42\uff1a\u4f7f\u7528\u5de5\u5177\u5982 curl \u6216 HTTP \u5ba2\u6237\u7aef\u5e93\uff08\u5982 Python \u7684 requests \u5e93\uff09\u5411 Triton Server \u53d1\u9001 POST \u8bf7\u6c42\u3002

    2. \u8bbe\u7f6e HTTP \u5934\uff1a\u6839\u636e\u7528\u6237\u914d\u7f6e\u9879\u81ea\u52a8\u751f\u6210\u7684\u914d\u7f6e\uff0c\u5305\u542b\u6a21\u578b\u8f93\u5165\u548c\u8f93\u51fa\u7684\u5143\u6570\u636e\u3002

    3. \u6784\u5efa\u8bf7\u6c42\u4f53\uff1a\u8bf7\u6c42\u4f53\u901a\u5e38\u5305\u542b\u8981\u8fdb\u884c\u63a8\u7406\u7684\u8f93\u5165\u6570\u636e\uff0c\u4ee5\u53ca\u6a21\u578b\u7279\u5b9a\u7684\u5143\u6570\u636e\u3002

    "},{"location":"baize/developer/inference/triton-inference.html#curl","title":"\u793a\u4f8b curl \u547d\u4ee4","text":"
      curl -X POST \"http://<ip>:<port>/v2/models/<inference-name>/infer\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"inputs\": [\n      {\n        \"name\": \"model_input\",            \n        \"shape\": [1, 1, 32, 32],          \n        \"datatype\": \"FP32\",               \n        \"data\": [\n          [0.1234, 0.5678, 0.9101, ... ]  \n        ]\n      }\n    ]\n  }'\n
    • <ip> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u5730\u5740\u3002
    • <port> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u7aef\u53e3\u53f7\u3002
    • <inference-name> \u662f\u6240\u521b\u5efa\u7684\u63a8\u7406\u670d\u52a1\u7684\u540d\u79f0\u3002
    • \"name\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 name \u4e00\u81f4\u3002
    • \"shape\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 dims \u4e00\u81f4\u3002
    • \"datatype\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 Data Type \u4e00\u81f4\u3002
    • \"data\" \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u63a8\u7406\u6570\u636e\u3002

    \u8bf7\u6ce8\u610f\uff0c\u4e0a\u8ff0\u793a\u4f8b\u4ee3\u7801\u9700\u8981\u6839\u636e\u4f60\u7684\u5177\u4f53\u6a21\u578b\u548c\u73af\u5883\u8fdb\u884c\u8c03\u6574\uff0c\u8f93\u5165\u6570\u636e\u7684\u683c\u5f0f\u548c\u5185\u5bb9\u4e5f\u9700\u8981\u7b26\u5408\u6a21\u578b\u7684\u8981\u6c42\u3002

    "},{"location":"baize/developer/inference/vllm-inference.html","title":"\u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1","text":"

    AI Lab \u652f\u6301\u4ee5 vLLM \u4f5c\u4e3a\u63a8\u7406\u670d\u52a1\uff0c\u63d0\u4f9b\u5168\u90e8 vLLM \u7684\u80fd\u529b\uff0c\u540c\u65f6\u63d0\u4f9b\u4e86\u5b8c\u5168\u9002\u914d OpenAI \u63a5\u53e3\u5b9a\u4e49\u3002

    "},{"location":"baize/developer/inference/vllm-inference.html#vllm_1","title":"vLLM \u4ecb\u7ecd","text":"

    vLLM \u662f\u4e00\u4e2a\u5feb\u901f\u4e14\u6613\u4e8e\u4f7f\u7528\u7684\u7528\u4e8e\u63a8\u7406\u548c\u670d\u52a1\u7684\u5e93\uff0cvLLM \u65e8\u5728\u6781\u5927\u5730\u63d0\u5347\u5b9e\u65f6\u573a\u666f\u4e0b\u7684\u8bed\u8a00\u6a21\u578b\u670d\u52a1\u7684\u541e\u5410\u4e0e\u5185\u5b58\u4f7f\u7528\u6548\u7387\u3002vLLM \u5728\u901f\u5ea6\u3001\u7075\u6d3b\u6027\u65b9\u9762\u5177\u6709\u4ee5\u4e0b\u90e8\u5206\u7279\u70b9\uff1a

    • \u8fde\u7eed\u6279\u5904\u7406\u4f20\u5165\u8bf7\u6c42\uff1b
    • \u4f7f\u7528 PagedAttention \u9ad8\u6548\u7ba1\u7406\u6ce8\u610f\u529b\u952e\u548c\u503c\u5185\u5b58\uff1b
    • \u4e0e\u6d41\u884c\u7684 HuggingFace \u578b\u53f7\u65e0\u7f1d\u96c6\u6210\uff1b
    • \u517c\u5bb9 OpenAI \u7684 API \u670d\u52a1\u5668\u3002
    "},{"location":"baize/developer/inference/vllm-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\u3002

    "},{"location":"baize/developer/inference/vllm-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"
    1. \u9009\u62e9 vLLM \u63a8\u7406\u6846\u67b6\uff0c\u5e76\u5728\u9009\u62e9\u6a21\u578b\u6a21\u5757\u9009\u62e9\u63d0\u524d\u521b\u5efa\u597d\u7684\u6a21\u578b\u6570\u636e\u96c6 hdd-models \u5e76\u586b\u5199\u6570\u636e\u96c6\u4e2d\u6a21\u578b\u6240\u5728\u7684\u8def\u5f84\u4fe1\u606f\u3002

      \u672c\u6587\u63a8\u7406\u670d\u52a1\u7684\u521b\u5efa\u4f7f\u7528 ChatGLM3 \u6a21\u578b\u3002

    2. \u914d\u7f6e\u63a8\u7406\u670d\u52a1\u7684\u8d44\u6e90\uff0c\u5e76\u8c03\u6574\u63a8\u7406\u670d\u52a1\u8fd0\u884c\u7684\u53c2\u6570\u3002

      \u53c2\u6570\u540d \u63cf\u8ff0 GPU \u8d44\u6e90 \u6839\u636e\u6a21\u578b\u89c4\u6a21\u4ee5\u53ca\u96c6\u7fa4\u8d44\u6e90\u53ef\u4ee5\u4e3a\u63a8\u7406\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u5141\u8bb8\u8fdc\u7a0b\u4ee3\u7801 \u63a7\u5236 vLLM \u662f\u5426\u4fe1\u4efb\u5e76\u6267\u884c\u6765\u81ea\u8fdc\u7a0b\u6e90\u7684\u4ee3\u7801 LoRA LoRA \u662f\u4e00\u79cd\u9488\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u7684\u53c2\u6570\u9ad8\u6548\u8c03\u6574\u6280\u672f\u3002\u5b83\u901a\u8fc7\u5c06\u539f\u59cb\u6a21\u578b\u53c2\u6570\u77e9\u9635\u5206\u89e3\u4e3a\u4f4e\u79e9\u77e9\u9635\uff0c\u4ece\u800c\u51cf\u5c11\u53c2\u6570\u6570\u91cf\u548c\u8ba1\u7b97\u590d\u6742\u5ea6\u3002 1. --lora-modules\uff1a\u7528\u6765\u6307\u5b9a\u7279\u5b9a\u6a21\u5757\u6216\u5c42\u8fdb\u884c\u4f4e\u79e9\u8fd1\u4f3c 2. max_loras_rank\uff1a\u7528\u6765\u6307\u5b9a LoRA \u6a21\u578b\u4e2d\u6bcf\u4e2a\u9002\u914d\u5c42\u7684\u6700\u5927\u79e9\uff0c\u5bf9\u4e8e\u7b80\u5355\u7684\u4efb\u52a1\uff0c\u53ef\u4ee5\u9009\u62e9\u8f83\u5c0f\u7684\u79e9\u503c\uff0c\u800c\u5bf9\u4e8e\u590d\u6742\u4efb\u52a1\uff0c\u53ef\u80fd\u9700\u8981\u8f83\u5927\u7684\u79e9\u503c\u6765\u4fdd\u8bc1\u6a21\u578b\u6027\u80fd\u3002 3. max_loras\uff1a\u8868\u793a\u6a21\u578b\u4e2d\u53ef\u4ee5\u5305\u542b\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u91cf\uff0c\u6839\u636e\u6a21\u578b\u5927\u5c0f\u3001\u63a8\u7406\u590d\u6742\u5ea6\u7b49\u56e0\u7d20\u81ea\u5b9a 4. max_cpu_loras\uff1a\u7528\u4e8e\u6307\u5b9a\u5728 CPU \u73af\u5883\u4e2d\u53ef\u4ee5\u5904\u7406\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u3002 \u5173\u8054\u73af\u5883 \u901a\u8fc7\u9009\u62e9\u73af\u5883\u9884\u5b9a\u4e49\u63a8\u7406\u65f6\u6240\u9700\u7684\u73af\u5883\u4f9d\u8d56\u3002

      Info

      \u652f\u6301\u914d\u7f6e LoRA \u53c2\u6570\u7684\u6a21\u578b\u53ef\u53c2\u8003 vLLM \u652f\u6301\u7684\u6a21\u578b\u3002

    3. \u5728 \u9ad8\u7ea7\u914d\u7f6e \u4e2d\uff0c\u652f\u6301\u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

    "},{"location":"baize/developer/inference/vllm-inference.html#_3","title":"\u9a8c\u8bc1\u63a8\u7406\u670d\u52a1","text":"

    \u63a8\u7406\u670d\u52a1\u521b\u5efa\u5b8c\u6210\u4e4b\u540e\uff0c\u70b9\u51fb\u63a8\u7406\u670d\u52a1\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u67e5\u770b API \u8c03\u7528\u65b9\u6cd5\u3002\u901a\u8fc7\u4f7f\u7528 Curl\u3001Python\u3001Nodejs \u7b49\u65b9\u5f0f\u9a8c\u8bc1\u6267\u884c\u7ed3\u679c\u3002

    \u62f7\u8d1d\u8be6\u60c5\u4e2d\u7684 curl \u547d\u4ee4\uff0c\u5e76\u5728\u7ec8\u7aef\u4e2d\u6267\u884c\u547d\u4ee4\u53d1\u9001\u4e00\u6761\u6a21\u578b\u63a8\u7406\u8bf7\u6c42\uff0c\u9884\u671f\u8f93\u51fa\uff1a

    "},{"location":"baize/developer/jobs/create.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

    \u4efb\u52a1\u7ba1\u7406\u662f\u6307\u901a\u8fc7\u4f5c\u4e1a\u8c03\u5ea6\u548c\u7ba1\u63a7\u7ec4\u4ef6\u6765\u521b\u5efa\u548c\u7ba1\u7406\u4efb\u52a1\u751f\u547d\u5468\u671f\u7684\u529f\u80fd\u3002

    DCE 5.0 AI Lab \u91c7\u7528 Kubernetes \u7684 Job \u673a\u5236\u6765\u8c03\u5ea6\u5404\u9879 AI \u63a8\u7406\u3001\u8bad\u7ec3\u4efb\u52a1\u3002

    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

    2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u4efb\u52a1\u7c7b\u578b\u3001\u961f\u5217\u3001\u4f18\u5148\u7ea7\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

    3. \u914d\u7f6e\u955c\u50cf\u5730\u5740\u3001\u8fd0\u884c\u53c2\u6570\u4ee5\u53ca\u5173\u8054\u7684\u6570\u636e\u96c6\u3001\u73af\u5883\u548c\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

    4. \u6309\u9700\u6dfb\u52a0\u6807\u7b7e\u3001\u6ce8\u89e3\u3001\u73af\u5883\u53d8\u91cf\u7b49\u4efb\u52a1\u53c2\u6570\uff0c\u9009\u62e9\u8c03\u5ea6\u7b56\u7565\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    5. \u4efb\u52a1\u521b\u5efa\u6210\u529f\u540e\uff0c\u4f1a\u6709\u51e0\u79cd\u8fd0\u884c\u72b6\u6001\uff1a

      • \u8fd0\u884c\u4e2d
      • \u6392\u961f\u4e2d
      • \u63d0\u4ea4\u6210\u529f\u3001\u63d0\u4ea4\u5931\u8d25
      • \u4efb\u52a1\u6210\u529f\u3001\u4efb\u52a1\u5931\u8d25
    "},{"location":"baize/developer/jobs/create.html#_1","title":"\u4e0b\u4e00\u6b65","text":"
    • \u67e5\u770b\u4efb\u52a1\u8d1f\u8f7d
    • \u5220\u9664\u4efb\u52a1
    "},{"location":"baize/developer/jobs/delete.html","title":"\u5220\u9664\u4efb\u52a1\uff08Job\uff09","text":"

    \u5982\u679c\u53d1\u73b0\u4efb\u52a1\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u5220\u9664\u3002

    1. \u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

    2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165\u4efb\u52a1\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u4efb\u52a1\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

    Caution

    \u4efb\u52a1\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"baize/developer/jobs/mpi.html","title":"MPI \u4efb\u52a1","text":"

    MPI\uff08Message Passing Interface\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u5e76\u884c\u8ba1\u7b97\u7684\u901a\u4fe1\u534f\u8bae\uff0c\u5b83\u5141\u8bb8\u591a\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u6d88\u606f\u4f20\u9012\u548c\u534f\u4f5c\u3002 MPI \u4efb\u52a1\u662f\u4f7f\u7528 MPI \u534f\u8bae\u8fdb\u884c\u5e76\u884c\u8ba1\u7b97\u7684\u4efb\u52a1\uff0c\u9002\u7528\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u5904\u7406\u7684\u5e94\u7528\u573a\u666f\uff0c\u4f8b\u5982\u5206\u5e03\u5f0f\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

    \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 MPI \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MPI \u4efb\u52a1\uff0c\u8fdb\u884c\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u8ba1\u7b97\u3002 \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u4e2d\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002

    "},{"location":"baize/developer/jobs/mpi.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b \uff1aMPI\uff0c\u7528\u4e8e\u8fd0\u884c\u5e76\u884c\u8ba1\u7b97\u4efb\u52a1\u3002
    • \u8fd0\u884c\u73af\u5883 \uff1a\u9009\u7528\u9884\u88c5\u4e86 MPI \u73af\u5883\u7684\u955c\u50cf\uff0c\u6216\u8005\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
    • MPIJob \u914d\u7f6e \uff1a\u7406\u89e3\u5e76\u914d\u7f6e MPIJob \u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u526f\u672c\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
    "},{"location":"baize/developer/jobs/mpi.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf\u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002 \u786e\u4fdd\u8fd0\u884c\u73af\u5883\u4e2d\u5305\u542b MPI \u53ca\u76f8\u5173\u5e93\uff0c\u5982 OpenMPI\u3001mpi4py \u7b49\u3002

    \u6ce8\u610f \uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u5217\u8868\u3002

    "},{"location":"baize/developer/jobs/mpi.html#mpi_1","title":"\u521b\u5efa MPI \u4efb\u52a1","text":""},{"location":"baize/developer/jobs/mpi.html#mpi_2","title":"MPI \u4efb\u52a1\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0 \uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u521b\u5efa\u4efb\u52a1 \uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b \uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MPI\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f \uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cbenchmarks-mpi\u201d\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570 \uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
    "},{"location":"baize/developer/jobs/mpi.html#_3","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \uff1a\u4f7f\u7528 mpirun\uff0c\u8fd9\u662f\u8fd0\u884c MPI \u7a0b\u5e8f\u7684\u547d\u4ee4\u3002
    • \u547d\u4ee4\u53c2\u6570 \uff1a\u8f93\u5165\u60a8\u8981\u8fd0\u884c\u7684 MPI \u7a0b\u5e8f\u7684\u53c2\u6570\u3002

    \u793a\u4f8b\uff1a\u8fd0\u884c TensorFlow Benchmarks

    \u5728\u672c\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u5c06\u8fd0\u884c\u4e00\u4e2a TensorFlow \u7684\u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\uff0c\u4f7f\u7528 Horovod \u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002 \u9996\u5148\uff0c\u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u4e2d\u5305\u542b\u6240\u9700\u7684\u4f9d\u8d56\u9879\uff0c\u4f8b\u5982 TensorFlow\u3001Horovod\u3001Open MPI \u7b49\u3002

    \u955c\u50cf\u9009\u62e9 \uff1a\u4f7f\u7528\u5305\u542b TensorFlow \u548c MPI \u7684\u955c\u50cf\uff0c\u4f8b\u5982 mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\u3002

    \u547d\u4ee4\u53c2\u6570 \uff1a

    mpirun --allow-run-as-root -np 2 -bind-to none -map-by slot \\\n  -x NCCL_DEBUG=INFO -x LD_LIBRARY_PATH -x PATH \\\n  -mca pml ob1 -mca btl ^openib \\\n  python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \\\n  --model=resnet101 --batch_size=64 --variable_update=horovod\n

    \u8bf4\u660e \uff1a

    • mpirun\uff1aMPI \u7684\u542f\u52a8\u547d\u4ee4\u3002
    • --allow-run-as-root\uff1a\u5141\u8bb8\u4ee5 root \u7528\u6237\u8fd0\u884c\uff08\u5728\u5bb9\u5668\u4e2d\u901a\u5e38\u662f root \u7528\u6237\uff09\u3002
    • -np 2\uff1a\u6307\u5b9a\u8fd0\u884c\u7684\u8fdb\u7a0b\u6570\u4e3a 2\u3002
    • -bind-to none\uff0c-map-by slot\uff1aMPI \u8fdb\u7a0b\u7ed1\u5b9a\u548c\u6620\u5c04\u7684\u914d\u7f6e\u3002
    • -x NCCL_DEBUG=INFO\uff1a\u8bbe\u7f6e NCCL\uff08NVIDIA Collective Communication Library\uff09\u7684\u8c03\u8bd5\u4fe1\u606f\u7ea7\u522b\u3002
    • -x LD_LIBRARY_PATH\uff0c-x PATH\uff1a\u5728 MPI \u73af\u5883\u4e2d\u4f20\u9012\u5fc5\u8981\u7684\u73af\u5883\u53d8\u91cf\u3002
    • -mca pml ob1 -mca btl ^openib\uff1aMPI \u7684\u914d\u7f6e\u53c2\u6570\uff0c\u6307\u5b9a\u4f20\u8f93\u5c42\u548c\u6d88\u606f\u5c42\u534f\u8bae\u3002
    • python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\uff1a\u8fd0\u884c TensorFlow \u57fa\u51c6\u6d4b\u8bd5\u811a\u672c\u3002
    • --model=resnet101\uff0c--batch_size=64\uff0c--variable_update=horovod\uff1aTensorFlow \u811a\u672c\u7684\u53c2\u6570\uff0c\u6307\u5b9a\u6a21\u578b\u3001\u6279\u91cf\u5927\u5c0f\u548c\u4f7f\u7528 Horovod \u8fdb\u884c\u53c2\u6570\u66f4\u65b0\u3002
    "},{"location":"baize/developer/jobs/mpi.html#_4","title":"\u8d44\u6e90\u914d\u7f6e","text":"

    \u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u4e3a\u6bcf\u4e2a\u8282\u70b9\uff08Launcher \u548c Worker\uff09\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u4f8b\u5982 CPU\u3001\u5185\u5b58\u548c GPU\u3002

    \u8d44\u6e90\u793a\u4f8b \uff1a

    • Launcher\uff08\u542f\u52a8\u5668\uff09 \uff1a

      • \u526f\u672c\u6570 \uff1a1
      • \u8d44\u6e90\u8bf7\u6c42 \uff1a
        • CPU\uff1a2 \u6838
        • \u5185\u5b58\uff1a4 GiB
    • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09 \uff1a

      • \u526f\u672c\u6570 \uff1a2
      • \u8d44\u6e90\u8bf7\u6c42 \uff1a
        • CPU\uff1a2 \u6838
        • \u5185\u5b58\uff1a4 GiB
        • GPU\uff1a\u6839\u636e\u9700\u6c42\u5206\u914d
    "},{"location":"baize/developer/jobs/mpi.html#mpijob","title":"\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b\uff0c\u4f9b\u60a8\u53c2\u8003\u3002

    apiVersion: kubeflow.org/v1\nkind: MPIJob\nmetadata:\n  name: tensorflow-benchmarks\nspec:\n  slotsPerWorker: 1\n  runPolicy:\n    cleanPodPolicy: Running\n  mpiReplicaSpecs:\n    Launcher:\n      replicas: 1\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              command:\n                - mpirun\n                - --allow-run-as-root\n                - -np\n                - \"2\"\n                - -bind-to\n                - none\n                - -map-by\n                - slot\n                - -x\n                - NCCL_DEBUG=INFO\n                - -x\n                - LD_LIBRARY_PATH\n                - -x\n                - PATH\n                - -mca\n                - pml\n                - ob1\n                - -mca\n                - btl\n                - ^openib\n                - python\n                - scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\n                - --model=resnet101\n                - --batch_size=64\n                - --variable_update=horovod\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 2\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpumem: 1k\n                  nvidia.com/vgpu: \"1\"\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

    \u914d\u7f6e\u89e3\u6790 \uff1a

    • apiVersion \u548c kind\uff1a\u8868\u793a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0cMPIJob \u662f Kubeflow \u5b9a\u4e49\u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u7528\u4e8e\u521b\u5efa MPI \u7c7b\u578b\u7684\u4efb\u52a1\u3002
    • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u542b\u4efb\u52a1\u7684\u540d\u79f0\u7b49\u4fe1\u606f\u3002
    • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
      • slotsPerWorker\uff1a\u6bcf\u4e2a Worker \u8282\u70b9\u7684\u69fd\u4f4d\u6570\u91cf\uff0c\u901a\u5e38\u8bbe\u7f6e\u4e3a 1\u3002
      • runPolicy\uff1a\u8fd0\u884c\u7b56\u7565\uff0c\u4f8b\u5982\u4efb\u52a1\u5b8c\u6210\u540e\u662f\u5426\u6e05\u7406 Pod\u3002
      • mpiReplicaSpecs\uff1aMPI \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
        • Launcher\uff1a\u542f\u52a8\u5668\uff0c\u8d1f\u8d23\u542f\u52a8 MPI \u4efb\u52a1\u3002
          • replicas\uff1a\u526f\u672c\u6570\uff0c\u901a\u5e38\u4e3a 1\u3002
          • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u7684\u955c\u50cf\u3001\u547d\u4ee4\u3001\u8d44\u6e90\u7b49\u3002
        • Worker\uff1a\u5de5\u4f5c\u8282\u70b9\uff0c\u5b9e\u9645\u6267\u884c\u4efb\u52a1\u7684\u8ba1\u7b97\u8282\u70b9\u3002
          • replicas\uff1a\u526f\u672c\u6570\uff0c\u6839\u636e\u5e76\u884c\u9700\u6c42\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 2\u3002
          • template\uff1aPod \u6a21\u677f\uff0c\u540c\u6837\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
    "},{"location":"baize/developer/jobs/mpi.html#_5","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

    \u5728\u521b\u5efa MPI \u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mpiReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

    • \u603b\u526f\u672c\u6570 = Launcher \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
    • \u672c\u793a\u4f8b\u4e2d\uff1a

      • Launcher \u526f\u672c\u6570\uff1a1
      • Worker \u526f\u672c\u6570\uff1a2
      • \u603b\u526f\u672c\u6570 \uff1a1 + 2 = 3

    \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u60a8\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

    "},{"location":"baize/developer/jobs/mpi.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MPI \u4efb\u52a1\u3002

    "},{"location":"baize/developer/jobs/mpi.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002 \u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    TensorFlow:  1.13\nModel:       resnet101\nMode:        training\nBatch size:  64\n...\n\nTotal images/sec: 125.67\n

    \u8fd9\u8868\u793a MPI \u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0cTensorFlow \u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\u5b8c\u6210\u4e86\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002

    "},{"location":"baize/developer/jobs/mpi.html#_8","title":"\u5c0f\u7ed3","text":"

    \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MPIJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c \u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

    \u9644\u5f55 \uff1a

    • \u5982\u679c\u60a8\u7684\u8fd0\u884c\u73af\u5883\u672a\u9884\u88c5\u6240\u9700\u7684\u5e93\uff08\u5982 mpi4py\u3001Horovod \u7b49\uff09\uff0c\u8bf7\u5728\u4efb\u52a1\u4e2d\u6dfb\u52a0\u5b89\u88c5\u547d\u4ee4\uff0c\u6216\u8005\u4f7f\u7528\u9884\u88c5\u4e86\u76f8\u5173\u4f9d\u8d56\u7684\u955c\u50cf\u3002
    • \u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u4fee\u6539 MPIJob \u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u66f4\u6539\u955c\u50cf\u3001\u547d\u4ee4\u53c2\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
    "},{"location":"baize/developer/jobs/mxnet.html","title":"MXNet \u4efb\u52a1","text":"

    Warning

    \u7531\u4e8e Apache MXNet \u9879\u76ee\u5df2\u5b58\u6863\uff0c\u56e0\u6b64 Kubeflow MXJob \u5c06\u5728\u672a\u6765\u7684 Training Operator 1.9 \u7248\u672c\u4e2d\u5f03\u7528\u548c\u5220\u9664\u3002

    Apache MXNet \u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u3002MXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bad\u7ec3\uff0c\u5305\u62ec\u5355\u673a\u6a21\u5f0f\u548c\u5206\u5e03\u5f0f\u6a21\u5f0f\u3002\u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 MXNet \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MXNet \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

    \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

    "},{"location":"baize/developer/jobs/mxnet.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b\uff1aMXNet\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
    • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b MXNet \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
    "},{"location":"baize/developer/jobs/mxnet.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u6211\u4eec\u4f7f\u7528 release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 MXNet \u53ca\u5176\u76f8\u5173\u4f9d\u8d56\uff0c\u652f\u6301 GPU \u52a0\u901f\u3002

    \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

    "},{"location":"baize/developer/jobs/mxnet.html#mxnet_1","title":"\u521b\u5efa MXNet \u4efb\u52a1","text":""},{"location":"baize/developer/jobs/mxnet.html#mxnet_2","title":"MXNet \u5355\u673a\u4efb\u52a1","text":""},{"location":"baize/developer/jobs/mxnet.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
    "},{"location":"baize/developer/jobs/mxnet.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4\uff1apython3
    • \u547d\u4ee4\u53c2\u6570\uff1a

      /mxnet/mxnet/example/gluon/mnist/mnist.py --epochs 10 --cuda\n

      \u8bf4\u660e\uff1a

      • /mxnet/mxnet/example/gluon/mnist/mnist.py\uff1aMXNet \u63d0\u4f9b\u7684 MNIST \u624b\u5199\u6570\u5b57\u8bc6\u522b\u793a\u4f8b\u811a\u672c\u3002
      • --epochs 10\uff1a\u8bbe\u7f6e\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
      • --cuda\uff1a\u4f7f\u7528 CUDA \u8fdb\u884c GPU \u52a0\u901f\u3002
    "},{"location":"baize/developer/jobs/mxnet.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
    • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
    • \u8d44\u6e90\u8bf7\u6c42\uff1a
      • CPU\uff1a2 \u6838
      • \u5185\u5b58\uff1a4 GiB
      • GPU\uff1a1 \u5757
    "},{"location":"baize/developer/jobs/mxnet.html#mxjob","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5355\u673a MXJob \u7684 YAML \u914d\u7f6e\uff1a

    apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-single-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/gluon/mnist/mnist.py\",\n                  \"--epochs\",\n                  \"10\",\n                  \"--cuda\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n

    \u914d\u7f6e\u89e3\u6790\uff1a

    • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f MXJob\u3002
    • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u7b49\u4fe1\u606f\u3002
    • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
      • jobMode\uff1a\u8bbe\u7f6e\u4e3a MXTrain\uff0c\u8868\u793a\u8bad\u7ec3\u4efb\u52a1\u3002
      • mxReplicaSpecs\uff1aMXNet \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
        • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
          • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\u3002
          • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a Never\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u4e0d\u91cd\u542f\u3002
          • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
            • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
              • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
              • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
              • command \u548c args\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
              • ports\uff1a\u5bb9\u5668\u7aef\u53e3\u914d\u7f6e\u3002
              • resources\uff1a\u8d44\u6e90\u8bf7\u6c42\u548c\u9650\u5236\u3002
    "},{"location":"baize/developer/jobs/mxnet.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5355\u673a\u4efb\u52a1\u3002

    "},{"location":"baize/developer/jobs/mxnet.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    Epoch 1: accuracy=0.95\nEpoch 2: accuracy=0.97\n...\nEpoch 10: accuracy=0.98\nTraining completed.\n

    \u8fd9\u8868\u793a MXNet \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

    "},{"location":"baize/developer/jobs/mxnet.html#mxnet_3","title":"MXNet \u5206\u5e03\u5f0f\u4efb\u52a1","text":"

    \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cMXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

    "},{"location":"baize/developer/jobs/mxnet.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
    2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
    "},{"location":"baize/developer/jobs/mxnet.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4\uff1apython3
    • \u547d\u4ee4\u53c2\u6570\uff1a

      /mxnet/mxnet/example/image-classification/train_mnist.py --num-epochs 10 --num-layers 2 --kv-store dist_device_sync --gpus 0\n

      \u8bf4\u660e\uff1a

      • /mxnet/mxnet/example/image-classification/train_mnist.py\uff1aMXNet \u63d0\u4f9b\u7684\u56fe\u50cf\u5206\u7c7b\u793a\u4f8b\u811a\u672c\u3002
      • --num-epochs 10\uff1a\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
      • --num-layers 2\uff1a\u6a21\u578b\u7684\u5c42\u6570\u4e3a 2\u3002
      • --kv-store dist_device_sync\uff1a\u4f7f\u7528\u5206\u5e03\u5f0f\u8bbe\u5907\u540c\u6b65\u6a21\u5f0f\u3002
      • --gpus 0\uff1a\u4f7f\u7528 GPU \u8fdb\u884c\u52a0\u901f\u3002
    "},{"location":"baize/developer/jobs/mxnet.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
    • \u4efb\u52a1\u526f\u672c\u6570\uff1a3\uff08\u5305\u62ec Scheduler\u3001Server \u548c Worker\uff09
    • \u5404\u89d2\u8272\u8d44\u6e90\u8bf7\u6c42\uff1a
      • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a
        • \u526f\u672c\u6570\uff1a1
        • \u8d44\u6e90\u8bf7\u6c42\uff1a
          • CPU\uff1a2 \u6838
          • \u5185\u5b58\uff1a4 GiB
          • GPU\uff1a1 \u5757
      • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a
        • \u526f\u672c\u6570\uff1a1
        • \u8d44\u6e90\u8bf7\u6c42\uff1a
          • CPU\uff1a2 \u6838
          • \u5185\u5b58\uff1a4 GiB
          • GPU\uff1a1 \u5757
      • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a
        • \u526f\u672c\u6570\uff1a1
        • \u8d44\u6e90\u8bf7\u6c42\uff1a
          • CPU\uff1a2 \u6838
          • \u5185\u5b58\uff1a4 GiB
          • GPU\uff1a1 \u5757
    "},{"location":"baize/developer/jobs/mxnet.html#mxjob_1","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f MXJob \u7684 YAML \u914d\u7f6e\uff1a

    apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Scheduler:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Server:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/image-classification/train_mnist.py\",\n                  \"--num-epochs\",\n                  \"10\",\n                  \"--num-layers\",\n                  \"2\",\n                  \"--kv-store\",\n                  \"dist_device_sync\",\n                  \"--gpus\",\n                  \"0\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

    \u914d\u7f6e\u89e3\u6790\uff1a

    • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a\u8d1f\u8d23\u534f\u8c03\u96c6\u7fa4\u4e2d\u5404\u8282\u70b9\u7684\u4efb\u52a1\u8c03\u5ea6\u3002
    • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\uff0c\u5b9e\u73b0\u5206\u5e03\u5f0f\u53c2\u6570\u540c\u6b65\u3002
    • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a\u5b9e\u9645\u6267\u884c\u8bad\u7ec3\u4efb\u52a1\u3002
    • \u8d44\u6e90\u914d\u7f6e\uff1a\u4e3a\u5404\u89d2\u8272\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u4efb\u52a1\u987a\u5229\u8fd0\u884c\u3002
    "},{"location":"baize/developer/jobs/mxnet.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

    \u5728\u521b\u5efa MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mxReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

    • \u603b\u526f\u672c\u6570 = Scheduler \u526f\u672c\u6570 + Server \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
    • \u672c\u793a\u4f8b\u4e2d\uff1a
      • Scheduler \u526f\u672c\u6570\uff1a1
      • Server \u526f\u672c\u6570\uff1a1
      • Worker \u526f\u672c\u6570\uff1a1
      • \u603b\u526f\u672c\u6570\uff1a1 + 1 + 1 = 3

    \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

    "},{"location":"baize/developer/jobs/mxnet.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

    "},{"location":"baize/developer/jobs/mxnet.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u89d2\u8272\uff08Scheduler\u3001Server\u3001Worker\uff09\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    INFO:root:Epoch[0] Batch [50]     Speed: 1000 samples/sec   accuracy=0.85\nINFO:root:Epoch[0] Batch [100]    Speed: 1200 samples/sec   accuracy=0.87\n...\nINFO:root:Epoch[9] Batch [100]    Speed: 1300 samples/sec   accuracy=0.98\nTraining completed.\n

    \u8fd9\u8868\u793a MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

    "},{"location":"baize/developer/jobs/mxnet.html#_14","title":"\u5c0f\u7ed3","text":"

    \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MXJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

    "},{"location":"baize/developer/jobs/mxnet.html#_15","title":"\u9644\u5f55","text":"
    • \u6ce8\u610f\u4e8b\u9879\uff1a

      • \u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u5305\u542b\u6240\u9700\u7684 MXNet \u7248\u672c\u548c\u4f9d\u8d56\u3002
      • \u6839\u636e\u5b9e\u9645\u9700\u6c42\u8c03\u6574\u8d44\u6e90\u914d\u7f6e\uff0c\u907f\u514d\u8d44\u6e90\u4e0d\u8db3\u6216\u6d6a\u8d39\u3002
      • \u5982\u9700\u4f7f\u7528\u81ea\u5b9a\u4e49\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u8bf7\u4fee\u6539\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
    • \u53c2\u8003\u6587\u6863\uff1a

      • MXNet \u5b98\u65b9\u6587\u6863
      • Kubeflow MXJob \u6307\u5357
    "},{"location":"baize/developer/jobs/paddle.html","title":"PaddlePaddle \u4efb\u52a1","text":"

    PaddlePaddle\uff08\u98de\u6868\uff09\u662f\u767e\u5ea6\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u5e73\u53f0\uff0c\u652f\u6301\u4e30\u5bcc\u7684\u795e\u7ecf\u7f51\u7edc\u6a21\u578b\u548c\u5206\u5e03\u5f0f\u8bad\u7ec3\u65b9\u5f0f\u3002PaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u901a\u8fc7\u5355\u673a\u6216\u5206\u5e03\u5f0f\u6a21\u5f0f\u8fdb\u884c\u8bad\u7ec3\u3002\u5728 AI Lab \u5e73\u53f0\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 PaddlePaddle \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa PaddlePaddle \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

    \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

    "},{"location":"baize/developer/jobs/paddle.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b\uff1aPaddlePaddle\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
    • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b PaddlePaddle \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
    "},{"location":"baize/developer/jobs/paddle.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u6211\u4eec\u4f7f\u7528 registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 PaddlePaddle \u6846\u67b6\uff0c\u9002\u7528\u4e8e CPU \u8ba1\u7b97\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u8bf7\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u7248\u672c\u955c\u50cf\u3002

    \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

    "},{"location":"baize/developer/jobs/paddle.html#paddlepaddle_1","title":"\u521b\u5efa PaddlePaddle \u4efb\u52a1","text":""},{"location":"baize/developer/jobs/paddle.html#paddlepaddle_2","title":"PaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1","text":""},{"location":"baize/developer/jobs/paddle.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
    "},{"location":"baize/developer/jobs/paddle.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4\uff1apython
    • \u547d\u4ee4\u53c2\u6570\uff1a

      -m paddle.distributed.launch run_check\n

      \u8bf4\u660e\uff1a

      • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\uff0c\u5373\u4f7f\u5728\u5355\u673a\u6a21\u5f0f\u4e0b\u4e5f\u53ef\u4ee5\u4f7f\u7528\uff0c\u65b9\u4fbf\u5c06\u6765\u8fc1\u79fb\u5230\u5206\u5e03\u5f0f\u3002
      • run_check\uff1aPaddlePaddle \u63d0\u4f9b\u7684\u6d4b\u8bd5\u811a\u672c\uff0c\u7528\u4e8e\u68c0\u67e5\u5206\u5e03\u5f0f\u73af\u5883\u662f\u5426\u6b63\u5e38\u3002
    "},{"location":"baize/developer/jobs/paddle.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
    • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
    • \u8d44\u6e90\u8bf7\u6c42\uff1a
      • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
      • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
      • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
    "},{"location":"baize/developer/jobs/paddle.html#paddlejob","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5355\u673a PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

    apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-simple-cpu\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 1\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'run_check',\n                              ]\n

    \u914d\u7f6e\u89e3\u6790\uff1a

    • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f PaddleJob\u3002
    • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u3002
    • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
      • paddleReplicaSpecs\uff1aPaddlePaddle \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
        • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
          • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\uff0c\u8868\u793a\u5355\u673a\u8bad\u7ec3\u3002
          • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a OnFailure\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u81ea\u52a8\u91cd\u542f\u3002
          • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
            • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
              • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
              • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
              • command\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
    "},{"location":"baize/developer/jobs/paddle.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5355\u673a\u4efb\u52a1\u3002

    "},{"location":"baize/developer/jobs/paddle.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    run check success, PaddlePaddle is installed correctly on this node :)\n

    \u8fd9\u8868\u793a PaddlePaddle \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u73af\u5883\u914d\u7f6e\u6b63\u5e38\u3002

    "},{"location":"baize/developer/jobs/paddle.html#paddlepaddle_3","title":"PaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1","text":"

    \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cPaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

    "},{"location":"baize/developer/jobs/paddle.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
    2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
    "},{"location":"baize/developer/jobs/paddle.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4\uff1apython
    • \u547d\u4ee4\u53c2\u6570\uff1a

      -m paddle.distributed.launch train.py --epochs=10\n

      \u8bf4\u660e\uff1a

      • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\u3002
      • train.py\uff1a\u60a8\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u9700\u8981\u653e\u5728\u955c\u50cf\u4e2d\u6216\u6302\u8f7d\u5230\u5bb9\u5668\u5185\u3002
      • --epochs=10\uff1a\u8bad\u7ec3\u7684\u8f6e\u6570\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 10\u3002
    "},{"location":"baize/developer/jobs/paddle.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
    • \u4efb\u52a1\u526f\u672c\u6570\uff1a\u6839\u636e Worker \u526f\u672c\u6570\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u4e3a 2\u3002
    • \u8d44\u6e90\u8bf7\u6c42\uff1a
      • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
      • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
      • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
    "},{"location":"baize/developer/jobs/paddle.html#paddlejob_1","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

    apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-distributed-job\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 2\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'train.py',\n                              ]\n                          args:\n                              - '--epochs=10'\n

    \u914d\u7f6e\u89e3\u6790\uff1a

    • Worker\uff1a
      • replicas\uff1a\u526f\u672c\u6570\uff0c\u8bbe\u7f6e\u4e3a 2\uff0c\u8868\u793a\u4f7f\u7528 2 \u4e2a\u5de5\u4f5c\u8282\u70b9\u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002
      • \u5176\u4ed6\u914d\u7f6e\u4e0e\u5355\u673a\u6a21\u5f0f\u7c7b\u4f3c\u3002
    "},{"location":"baize/developer/jobs/paddle.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

    \u5728\u521b\u5efa PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e paddleReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

    • \u603b\u526f\u672c\u6570 = Worker \u526f\u672c\u6570
    • \u672c\u793a\u4f8b\u4e2d\uff1a
      • Worker \u526f\u672c\u6570\uff1a2
      • \u603b\u526f\u672c\u6570\uff1a2

    \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 2\u3002

    "},{"location":"baize/developer/jobs/paddle.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

    "},{"location":"baize/developer/jobs/paddle.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u5de5\u4f5c\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\uff0c\u786e\u8ba4\u5206\u5e03\u5f0f\u8bad\u7ec3\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    Worker 0: Epoch 1, Batch 100, Loss 0.5\nWorker 1: Epoch 1, Batch 100, Loss 0.6\n...\nTraining completed.\n

    \u8fd9\u8868\u793a PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

    "},{"location":"baize/developer/jobs/paddle.html#_14","title":"\u5c0f\u7ed3","text":"

    \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 PaddleJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

    "},{"location":"baize/developer/jobs/paddle.html#_15","title":"\u9644\u5f55","text":"
    • \u6ce8\u610f\u4e8b\u9879\uff1a

      • \u8bad\u7ec3\u811a\u672c\uff1a\u786e\u4fdd train.py\uff08\u6216\u5176\u4ed6\u8bad\u7ec3\u811a\u672c\uff09\u5728\u5bb9\u5668\u5185\u5b58\u5728\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u81ea\u5b9a\u4e49\u955c\u50cf\u3001\u6302\u8f7d\u6301\u4e45\u5316\u5b58\u50a8\u7b49\u65b9\u5f0f\u5c06\u811a\u672c\u653e\u5165\u5bb9\u5668\u3002
      • \u955c\u50cf\u9009\u62e9\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u955c\u50cf\uff0c\u4f8b\u5982\u4f7f\u7528 GPU \u65f6\u9009\u62e9 paddle:2.4.0rc0-gpu \u7b49\u3002
      • \u53c2\u6570\u8c03\u6574\uff1a\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 command \u548c args \u6765\u4f20\u9012\u4e0d\u540c\u7684\u8bad\u7ec3\u53c2\u6570\u3002
    • \u53c2\u8003\u6587\u6863\uff1a

      • PaddlePaddle \u5b98\u65b9\u6587\u6863
      • Kubeflow PaddleJob \u6307\u5357
    "},{"location":"baize/developer/jobs/pytorch.html","title":"Pytorch \u4efb\u52a1","text":"

    Pytorch \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002 Pytorch \u4efb\u52a1\u662f\u4e00\u4e2a\u4f7f\u7528 Pytorch \u6846\u67b6\u7684\u4efb\u52a1\u3002

    \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 Pytorch \u4efb\u52a1\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c \u5feb\u901f\u521b\u5efa Pytorch \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

    "},{"location":"baize/developer/jobs/pytorch.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Pytorch \u5355\u673a \u548c Pytorch \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
    • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Pytorch \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
    "},{"location":"baize/developer/jobs/pytorch.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

    \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

    "},{"location":"baize/developer/jobs/pytorch.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"baize/developer/jobs/pytorch.html#pytorch_1","title":"Pytorch \u5355\u673a\u4efb\u52a1","text":"
    1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
    4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
    "},{"location":"baize/developer/jobs/pytorch.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
    • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
    import torch\nimport torch.nn as nn\nimport torch.optim as optim\n\n# \u5b9a\u4e49\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc\nclass SimpleNet(nn.Module):\n    def __init__(self):\n        super(SimpleNet, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\n# \u521b\u5efa\u6a21\u578b\u3001\u635f\u5931\u51fd\u6570\u548c\u4f18\u5316\u5668\nmodel = SimpleNet()\ncriterion = nn.MSELoss()\noptimizer = optim.SGD(model.parameters(), lr=0.01)\n\n# \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = torch.randn(100, 10)\ny = torch.randn(100, 1)\n\n# \u8bad\u7ec3\u6a21\u578b\nfor epoch in range(100):\n    # \u524d\u5411\u4f20\u64ad\n    outputs = model(x)\n    loss = criterion(outputs, y)\n\n    # \u53cd\u5411\u4f20\u64ad\u548c\u4f18\u5316\n    optimizer.zero_grad()\n    loss.backward()\n    optimizer.step()\n\n    if (epoch + 1) % 10 == 0:\n        print(f'Epoch [{epoch+1}/100], Loss: {loss.item():.4f}')\n\nprint('Training finished.')\n
    "},{"location":"baize/developer/jobs/pytorch.html#_5","title":"\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa

    [HAMI-core Warn(1:140244541377408:utils.c:183)]: get default cuda from (null)\n[HAMI-core Msg(1:140244541377408:libvgpu.c:855)]: Initialized\nEpoch [10/100], Loss: 1.1248\nEpoch [20/100], Loss: 1.0486\nEpoch [30/100], Loss: 0.9969\nEpoch [40/100], Loss: 0.9611\nEpoch [50/100], Loss: 0.9360\nEpoch [60/100], Loss: 0.9182\nEpoch [70/100], Loss: 0.9053\nEpoch [80/100], Loss: 0.8960\nEpoch [90/100], Loss: 0.8891\nEpoch [100/100], Loss: 0.8841\nTraining finished.\n[HAMI-core Msg(1:140244541377408:multiprocess_memory_limit.c:468)]: Calling exit handler 1\n
    "},{"location":"baize/developer/jobs/pytorch.html#pytorch_2","title":"Pytorch \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
    1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
    4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
    "},{"location":"baize/developer/jobs/pytorch.html#_6","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
    • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
    import os\nimport torch\nimport torch.distributed as dist\nimport torch.nn as nn\nimport torch.optim as optim\nfrom torch.nn.parallel import DistributedDataParallel as DDP\n\nclass SimpleModel(nn.Module):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f'PyTorch version: {torch.__version__}')\n    print(f'CUDA available: {torch.cuda.is_available()}')\n    if torch.cuda.is_available():\n        print(f'CUDA version: {torch.version.cuda}')\n        print(f'CUDA device count: {torch.cuda.device_count()}')\n\n    rank = int(os.environ.get('RANK', '0'))\n    world_size = int(os.environ.get('WORLD_SIZE', '1'))\n\n    print(f'Rank: {rank}, World Size: {world_size}')\n\n    # \u521d\u59cb\u5316\u5206\u5e03\u5f0f\u73af\u5883\n    try:\n        if world_size > 1:\n            dist.init_process_group('nccl')\n            print('Distributed process group initialized successfully')\n        else:\n            print('Running in non-distributed mode')\n    except Exception as e:\n        print(f'Error initializing process group: {e}')\n        return\n\n    # \u8bbe\u7f6e\u8bbe\u5907\n    try:\n        if torch.cuda.is_available():\n            device = torch.device(f'cuda:{rank % torch.cuda.device_count()}')\n            print(f'Using CUDA device: {device}')\n        else:\n            device = torch.device('cpu')\n            print('CUDA not available, using CPU')\n    except Exception as e:\n        print(f'Error setting device: {e}')\n        device = torch.device('cpu')\n        print('Falling back to CPU')\n\n    try:\n        model = SimpleModel().to(device)\n        print('Model moved to device successfully')\n    except Exception as e:\n        print(f'Error moving model to device: {e}')\n        return\n\n    try:\n        if world_size > 1:\n            ddp_model = DDP(model, device_ids=[rank % torch.cuda.device_count()] if torch.cuda.is_available() else None)\n            print('DDP model created successfully')\n        else:\n            ddp_model = model\n            print('Using non-distributed model')\n    except Exception as e:\n        print(f'Error creating DDP model: {e}')\n        return\n\n    loss_fn = nn.MSELoss()\n    optimizer = optim.SGD(ddp_model.parameters(), lr=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    try:\n        data = torch.randn(100, 10, device=device)\n        labels = torch.randn(100, 1, device=device)\n        print('Data generated and moved to device successfully')\n    except Exception as e:\n        print(f'Error generating or moving data to device: {e}')\n        return\n\n    for epoch in range(10):\n        try:\n            ddp_model.train()\n            outputs = ddp_model(data)\n            loss = loss_fn(outputs, labels)\n            optimizer.zero_grad()\n            loss.backward()\n            optimizer.step()\n\n            if rank == 0:\n                print(f'Epoch {epoch}, Loss: {loss.item():.4f}')\n        except Exception as e:\n            print(f'Error during training epoch {epoch}: {e}')\n            break\n\n    if world_size > 1:\n        dist.destroy_process_group()\n\nif __name__ == '__main__':\n    train()\n
    "},{"location":"baize/developer/jobs/pytorch.html#_7","title":"\u4efb\u52a1\u526f\u672c\u6570","text":"

    \u6ce8\u610f Pytorch \u5206\u5e03\u5f0f \u8bad\u7ec3\u4efb\u52a1\u4f1a\u521b\u5efa\u4e00\u7ec4 Master \u548c Worker \u7684\u8bad\u7ec3 Pod\uff0c Master \u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u4efb\u52a1\uff0cWorker \u8d1f\u8d23\u5b9e\u9645\u7684\u8bad\u7ec3\u5de5\u4f5c\u3002

    Note

    \u672c\u6b21\u6f14\u793a\u4e2d\uff1aMaster \u526f\u672c\u6570\u4e3a 1\uff0cWorker \u526f\u672c\u6570\u4e3a 2\uff1b \u6240\u4ee5\u6211\u4eec\u9700\u8981\u5728 \u4efb\u52a1\u914d\u7f6e \u4e2d\u8bbe\u7f6e\u526f\u672c\u6570\u4e3a 3\uff0c\u5373 Master \u526f\u672c\u6570 + Worker \u526f\u672c\u6570\u3002 Pytorch \u4f1a\u81ea\u52a8\u8c03\u8c10 Master \u548c Worker \u7684\u89d2\u8272\u3002

    "},{"location":"baize/developer/jobs/pytorch.html#_8","title":"\u8fd0\u884c\u7ed3\u679c","text":"

    \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    "},{"location":"baize/developer/jobs/tensorboard.html","title":"\u4efb\u52a1\u5206\u6790\u4ecb\u7ecd","text":"

    \u5728 DCE 5.0 AI Lab \u6a21\u5757\u4e2d\uff0c\u63d0\u4f9b\u4e86\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u91cd\u8981\u7684\u53ef\u89c6\u5316\u5206\u6790\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09\u7684\u57fa\u672c\u6982\u5ff5\u3001\u5728 AI Lab \u7cfb\u7edf\u4e2d\u7684\u4f7f\u7528\u65b9\u6cd5\uff0c\u4ee5\u53ca\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9\u3002

    Note

    Tensorboard \u662f TensorFlow \u63d0\u4f9b\u7684\u4e00\u4e2a\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u5b83\u53ef\u4ee5\u5e2e\u52a9\u5f00\u53d1\u8005\u66f4\u76f4\u89c2\u5730\u7406\u89e3\u6a21\u578b\u7684\u8bad\u7ec3\u52a8\u6001\uff0c\u5206\u6790\u6a21\u578b\u6027\u80fd\uff0c\u8c03\u8bd5\u6a21\u578b\u95ee\u9898\u7b49\u3002

    Tensorboard \u5728\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7684\u4f5c\u7528\u53ca\u4f18\u52bf\uff1a

    • \u53ef\u89c6\u5316\u8bad\u7ec3\u8fc7\u7a0b\uff1a\u901a\u8fc7\u56fe\u8868\u5c55\u793a\u8bad\u7ec3\u548c\u9a8c\u8bc1\u7684\u635f\u5931\u3001\u7cbe\u5ea6\u7b49\u6307\u6807\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u76f4\u89c2\u5730\u89c2\u5bdf\u6a21\u578b\u7684\u8bad\u7ec3\u6548\u679c\u3002
    • \u8c03\u8bd5\u548c\u4f18\u5316\u6a21\u578b\uff1a\u901a\u8fc7\u67e5\u770b\u4e0d\u540c\u5c42\u7684\u6743\u91cd\u3001\u68af\u5ea6\u5206\u5e03\u7b49\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u53d1\u73b0\u548c\u4fee\u6b63\u6a21\u578b\u4e2d\u7684\u95ee\u9898\u3002
    • \u5bf9\u6bd4\u4e0d\u540c\u5b9e\u9a8c\uff1a\u53ef\u4ee5\u540c\u65f6\u5c55\u793a\u591a\u4e2a\u5b9e\u9a8c\u7684\u7ed3\u679c\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5bf9\u6bd4\u4e0d\u540c\u6a21\u578b\u548c\u8d85\u53c2\u6570\u914d\u7f6e\u7684\u6548\u679c\u3002
    • \u8ffd\u8e2a\u8bad\u7ec3\u6570\u636e\uff1a\u8bb0\u5f55\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u6570\u636e\u96c6\u548c\u53c2\u6570\uff0c\u786e\u4fdd\u5b9e\u9a8c\u7684\u53ef\u590d\u73b0\u6027\u3002
    "},{"location":"baize/developer/jobs/tensorboard.html#tensorboard","title":"\u5982\u4f55\u521b\u5efa Tensorboard","text":"

    \u5728 AI Lab \u7cfb\u7edf\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u65b9\u5f0f\u6765\u521b\u5efa\u548c\u7ba1\u7406 Tensorboard\u3002\u4ee5\u4e0b\u662f\u5177\u4f53\u6b65\u9aa4\uff1a

    "},{"location":"baize/developer/jobs/tensorboard.html#notebook-tensorboard","title":"\u5728\u521b\u5efa\u65f6 Notebook \u542f\u7528 Tensorboard","text":"
    1. \u521b\u5efa Notebook\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Notebook\u3002
    2. \u542f\u7528 Tensorboard\uff1a\u5728\u521b\u5efa Notebook \u7684\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002

    "},{"location":"baize/developer/jobs/tensorboard.html#tensorboard_1","title":"\u5728\u5206\u5e03\u5f0f\u4efb\u52a1\u521b\u5efa\u53ca\u5b8c\u6210\u540e\u542f\u7528 Tensorboard","text":"
    1. \u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3002
    2. \u914d\u7f6e Tensorboard\uff1a\u5728\u4efb\u52a1\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002
    3. \u4efb\u52a1\u5b8c\u6210\u540e\u67e5\u770b Tensorboard\uff1a\u4efb\u52a1\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u4efb\u52a1\u8be6\u60c5\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\uff0c\u70b9\u51fb\u94fe\u63a5\u5373\u53ef\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

    "},{"location":"baize/developer/jobs/tensorboard.html#notebook-tensorboard_1","title":"\u5728 Notebook \u4e2d\u76f4\u63a5\u5f15\u7528 Tensorboard","text":"

    \u5728 Notebook \u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee3\u7801\u76f4\u63a5\u542f\u52a8 Tensorboard\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

    # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\nimport datetime\n\n# \u5b9a\u4e49\u65e5\u5fd7\u76ee\u5f55\nlog_dir = \"logs/fit/\" + datetime.datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n\n# \u521b\u5efa Tensorboard \u56de\u8c03\ntensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)\n\n# \u6784\u5efa\u5e76\u7f16\u8bd1\u6a21\u578b\nmodel = tf.keras.models.Sequential([\n    tf.keras.layers.Flatten(input_shape=(28, 28)),\n    tf.keras.layers.Dense(512, activation='relu'),\n    tf.keras.layers.Dropout(0.2),\n    tf.keras.layers.Dense(10, activation='softmax')\n])\n\nmodel.compile(optimizer='adam',\n              loss='sparse_categorical_crossentropy',\n              metrics=['accuracy'])\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u542f\u7528 Tensorboard \u56de\u8c03\nmodel.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])\n
    "},{"location":"baize/developer/jobs/tensorboard.html#_2","title":"\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9","text":"

    \u5728\u4f7f\u7528 Tensorboard \u65f6\uff0c\u53ef\u4ee5\u8bb0\u5f55\u548c\u914d\u7f6e\u4e0d\u540c\u7684\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u5185\u5bb9\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5e38\u89c1\u7684\u914d\u7f6e\u65b9\u5f0f\uff1a

    "},{"location":"baize/developer/jobs/tensorboard.html#_3","title":"\u914d\u7f6e\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7","text":"

    \u5728\u8bad\u7ec3\u6a21\u578b\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 TensorFlow \u7684 tf.summary API \u6765\u8bb0\u5f55\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

    # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\n\n# \u521b\u5efa\u65e5\u5fd7\u76ee\u5f55\ntrain_log_dir = 'logs/gradient_tape/train'\nval_log_dir = 'logs/gradient_tape/val'\ntrain_summary_writer = tf.summary.create_file_writer(train_log_dir)\nval_summary_writer = tf.summary.create_file_writer(val_log_dir)\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u8bb0\u5f55\u65e5\u5fd7\nfor epoch in range(EPOCHS):\n    for (x_train, y_train) in train_dataset:\n        # \u8bad\u7ec3\u6b65\u9aa4\n        train_step(x_train, y_train)\n        with train_summary_writer.as_default():\n            tf.summary.scalar('loss', train_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', train_accuracy.result(), step=epoch)\n\n    for (x_val, y_val) in val_dataset:\n        # \u9a8c\u8bc1\u6b65\u9aa4\n        val_step(x_val, y_val)\n        with val_summary_writer.as_default():\n            tf.summary.scalar('loss', val_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', val_accuracy.result(), step=epoch)\n
    "},{"location":"baize/developer/jobs/tensorboard.html#_4","title":"\u914d\u7f6e\u81ea\u5b9a\u4e49\u65e5\u5fd7","text":"

    \u9664\u4e86\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5916\uff0c\u8fd8\u53ef\u4ee5\u8bb0\u5f55\u5176\u4ed6\u81ea\u5b9a\u4e49\u7684\u65e5\u5fd7\u5185\u5bb9\uff0c\u4f8b\u5982\u5b66\u4e60\u7387\u3001\u68af\u5ea6\u5206\u5e03\u7b49\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

    # \u8bb0\u5f55\u81ea\u5b9a\u4e49\u65e5\u5fd7\nwith train_summary_writer.as_default():\n    tf.summary.scalar('learning_rate', learning_rate, step=epoch)\n    tf.summary.histogram('gradients', gradients, step=epoch)\n
    "},{"location":"baize/developer/jobs/tensorboard.html#tensorboard_2","title":"Tensorboard \u7ba1\u7406","text":"

    \u5728 AI Lab \u4e2d\uff0c\u901a\u8fc7\u5404\u79cd\u65b9\u5f0f\u521b\u5efa\u51fa\u6765\u7684 Tensorboard \u4f1a\u7edf\u4e00\u5c55\u793a\u5728\u4efb\u52a1\u5206\u6790\u7684\u9875\u9762\u4e2d\uff0c\u65b9\u4fbf\u7528\u6237\u67e5\u770b\u548c\u7ba1\u7406\u3002

    \u7528\u6237\u53ef\u4ee5\u5728\u4efb\u52a1\u5206\u6790\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\u3001\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u4fe1\u606f\uff0c\u5e76\u901a\u8fc7\u94fe\u63a5\u76f4\u63a5\u8bbf\u95ee Tensorboard \u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

    "},{"location":"baize/developer/jobs/tensorflow.html","title":"Tensorflow \u4efb\u52a1","text":"

    Tensorflow \u662f\u9664\u4e86 Pytorch \u53e6\u5916\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u7684\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002

    \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u540c\u6837\u63d0\u4f9b\u4e86 Tensorflow \u6846\u67b6\u7684\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa Tensorflow \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

    "},{"location":"baize/developer/jobs/tensorflow.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Tensorflow \u5355\u673a \u548c Tensorflow \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
    • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Tensorflow \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
    "},{"location":"baize/developer/jobs/tensorflow.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

    \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

    "},{"location":"baize/developer/jobs/tensorflow.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"baize/developer/jobs/tensorflow.html#tfjob","title":"\u793a\u4f8b TFJob \u5355\u673a\u4efb\u52a1","text":"
    1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
    4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
    "},{"location":"baize/developer/jobs/tensorflow.html#_4","title":"\u63d0\u524d\u9884\u70ed\u4ee3\u7801\u4ed3\u5e93","text":"

    \u4f7f\u7528 AI Lab -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u96c6\uff0c\u5e76\u5c06\u8fdc\u7aef Github \u7684\u4ee3\u7801\u62c9\u53d6\u5230\u6570\u636e\u96c6\u4e2d\uff0c \u8fd9\u6837\u5728\u521b\u5efa\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u9009\u62e9\u6570\u636e\u96c6\uff0c\u5c06\u4ee3\u7801\u6302\u8f7d\u5230\u4efb\u52a1\u4e2d\u3002

    \u6f14\u793a\u4ee3\u7801\u4ed3\u5e93\u5730\u5740\uff1ahttps://github.com/d-run/training-sample-code/

    "},{"location":"baize/developer/jobs/tensorflow.html#_5","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
    • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tf-single.py
    \"\"\"\n  pip install tensorflow numpy\n\"\"\"\n\nimport tensorflow as tf\nimport numpy as np\n\n# \u521b\u5efa\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = np.random.rand(100, 1)\ny = 2 * x + 1 + np.random.rand(100, 1) * 0.1\n\n# \u521b\u5efa\u4e00\u4e2a\u7b80\u5355\u7684\u6a21\u578b\nmodel = tf.keras.Sequential([\n    tf.keras.layers.Dense(1, input_shape=(1,))\n])\n\n# \u7f16\u8bd1\u6a21\u578b\nmodel.compile(optimizer='adam', loss='mse')\n\n# \u8bad\u7ec3\u6a21\u578b\uff0c\u5c06 epochs \u6539\u4e3a 10\nhistory = model.fit(x, y, epochs=10, verbose=1)\n\n# \u6253\u5370\u6700\u7ec8\u635f\u5931\nprint('Final loss: {' + str(history.history['loss'][-1]) +'}')\n\n# \u4f7f\u7528\u6a21\u578b\u8fdb\u884c\u9884\u6d4b\ntest_x = np.array([[0.5]])\nprediction = model.predict(test_x)\nprint(f'Prediction for x=0.5: {prediction[0][0]}')\n
    "},{"location":"baize/developer/jobs/tensorflow.html#_6","title":"\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    "},{"location":"baize/developer/jobs/tensorflow.html#tfjob_1","title":"TFJob \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
    1. \u767b\u5f55 AI Lab \uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
    4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
    "},{"location":"baize/developer/jobs/tensorflow.html#_7","title":"\u793a\u4f8b\u4efb\u52a1\u4ecb\u7ecd","text":"

    \u672c\u6b21\u5305\u542b\u4e86\u4e09\u79cd\u89d2\u8272\uff1aChief\u3001Worker \u548c Parameter Server (PS)\u3002

    • Chief: \u4e3b\u8981\u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u8fc7\u7a0b\u548c\u6a21\u578b\u68c0\u67e5\u70b9\u7684\u4fdd\u5b58\u3002
    • Worker: \u6267\u884c\u5b9e\u9645\u7684\u6a21\u578b\u8bad\u7ec3\u3002
    • PS: \u5728\u5f02\u6b65\u8bad\u7ec3\u4e2d\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\u3002

    \u4e3a\u4e0d\u540c\u7684\u89d2\u8272\u5206\u914d\u4e86\u4e0d\u540c\u7684\u8d44\u6e90\u3002Chief \u548c Worker \u4f7f\u7528 GPU\uff0c\u800c PS \u4f7f\u7528 CPU \u548c\u8f83\u5927\u7684\u5185\u5b58\u3002

    "},{"location":"baize/developer/jobs/tensorflow.html#_8","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
    • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tensorflow-distributed.py
    import os\nimport json\nimport tensorflow as tf\n\nclass SimpleModel(tf.keras.Model):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = tf.keras.layers.Dense(1, input_shape=(10,))\n\n    def call(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f\"TensorFlow version: {tf.__version__}\")\n    print(f\"GPU available: {tf.test.is_gpu_available()}\")\n    if tf.test.is_gpu_available():\n        print(f\"GPU device count: {len(tf.config.list_physical_devices('GPU'))}\")\n\n    # \u83b7\u53d6\u5206\u5e03\u5f0f\u8bad\u7ec3\u4fe1\u606f\n    tf_config = json.loads(os.environ.get('TF_CONFIG') or '{}')\n    task_type = tf_config.get('task', {}).get('type')\n    task_id = tf_config.get('task', {}).get('index')\n\n    print(f\"Task type: {task_type}, Task ID: {task_id}\")\n\n    # \u8bbe\u7f6e\u5206\u5e03\u5f0f\u7b56\u7565\n    strategy = tf.distribute.experimental.MultiWorkerMirroredStrategy()\n\n    with strategy.scope():\n        model = SimpleModel()\n        loss_fn = tf.keras.losses.MeanSquaredError()\n        optimizer = tf.keras.optimizers.SGD(learning_rate=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    data = tf.random.normal((100, 10))\n    labels = tf.random.normal((100, 1))\n\n    @tf.function\n    def train_step(inputs, labels):\n        with tf.GradientTape() as tape:\n            predictions = model(inputs)\n            loss = loss_fn(labels, predictions)\n        gradients = tape.gradient(loss, model.trainable_variables)\n        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n        return loss\n\n    for epoch in range(10):\n        loss = train_step(data, labels)\n        if task_type == 'chief':\n            print(f'Epoch {epoch}, Loss: {loss.numpy():.4f}')\n\nif __name__ == '__main__':\n    train()\n
    "},{"location":"baize/developer/jobs/tensorflow.html#_9","title":"\u8fd0\u884c\u7ed3\u679c","text":"

    \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    "},{"location":"baize/developer/jobs/view.html","title":"\u67e5\u770b\u4efb\u52a1\uff08Job\uff09\u5de5\u4f5c\u8d1f\u8f7d","text":"

    \u4efb\u52a1\u521b\u5efa\u597d\u540e\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u3002

    1. \u5728\u8bad\u7ec3\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u4efb\u52a1\u53f3\u4fa7\u7684 \u2507 -> \u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u3002

    2. \u51fa\u73b0\u4e00\u4e2a\u5f39\u7a97\u9009\u62e9\u8981\u67e5\u770b\u54ea\u4e2a Pod \u540e\uff0c\u70b9\u51fb \u8fdb\u5165 \u3002

    3. \u8df3\u8f6c\u5230\u5bb9\u5668\u7ba1\u7406\u754c\u9762\uff0c\u53ef\u4ee5\u67e5\u770b\u5bb9\u5668\u7684\u5de5\u4f5c\u72b6\u6001\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4ee5\u53ca\u53d1\u751f\u7684\u4e8b\u4ef6\u3002

    4. \u4f60\u8fd8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d Pod \u6700\u8fd1\u4e00\u6bb5\u65f6\u95f4\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002 \u6b64\u5904\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u65e5\u5fd7\uff0c\u5982\u679c\u8981\u67e5\u770b\u66f4\u8be6\u7ec6\u7684\u65e5\u5fd7\u6d3b\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u8bf7\u70b9\u51fb\u9876\u90e8\u7684\u84dd\u8272 \u53ef\u89c2\u6d4b\u6027 \u6587\u5b57\u3002

    5. \u5f53\u7136\u4f60\u8fd8\u53ef\u4ee5\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684 ... \uff0c\u67e5\u770b\u5f53\u524d Pod \u7684 YAML\u3001\u4e0a\u4f20\u548c\u4e0b\u8f7d\u6587\u4ef6\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a Pod \u7684 YAML \u793a\u4f8b\u3002

    kind: Pod\napiVersion: v1\nmetadata:\n  name: neko-tensorboard-job-test-202404181843-skxivllb-worker-0\n  namespace: default\n  uid: ddedb6ff-c278-47eb-ae1e-0de9b7c62f8c\n  resourceVersion: '41092552'\n  creationTimestamp: '2024-04-18T10:43:36Z'\n  labels:\n    training.kubeflow.org/job-name: neko-tensorboard-job-test-202404181843-skxivllb\n    training.kubeflow.org/operator-name: pytorchjob-controller\n    training.kubeflow.org/replica-index: '0'\n    training.kubeflow.org/replica-type: worker\n  annotations:\n    cni.projectcalico.org/containerID: 0cfbb9af257d5e69027c603c6cb2d3890a17c4ae1a145748d5aef73a10d7fbe1\n    cni.projectcalico.org/podIP: ''\n    cni.projectcalico.org/podIPs: ''\n    hami.io/bind-phase: success\n    hami.io/bind-time: '1713437016'\n    hami.io/vgpu-devices-allocated: GPU-29d5fa0d-935b-2966-aff8-483a174d61d1,NVIDIA,1024,20:;\n    hami.io/vgpu-devices-to-allocate: ;\n    hami.io/vgpu-node: worker-a800-1\n    hami.io/vgpu-time: '1713437016'\n    k8s.v1.cni.cncf.io/network-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n    k8s.v1.cni.cncf.io/networks-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n  ownerReferences:\n    - apiVersion: kubeflow.org/v1\n      kind: PyTorchJob\n      name: neko-tensorboard-job-test-202404181843-skxivllb\n      uid: e5a8b05d-1f03-4717-8e1c-4ec928014b7b\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  volumes:\n    - name: 0-dataset-pytorch-examples\n      persistentVolumeClaim:\n        claimName: pytorch-examples\n    - name: kube-api-access-wh9rh\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n  containers:\n    - name: pytorch\n      image: m.daocloud.io/docker.io/pytorch/pytorch\n      command:\n        - bash\n      args:\n        - '-c'\n        - >-\n          ls -la /root && which pip && pip install pytorch_lightning tensorboard\n          && python /root/Git/pytorch/examples/mnist/main.py\n      ports:\n        - name: pytorchjob-port\n          containerPort: 23456\n          protocol: TCP\n      env:\n        - name: PYTHONUNBUFFERED\n          value: '1'\n        - name: PET_NNODES\n          value: '1'\n      resources:\n        limits:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n        requests:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n      volumeMounts:\n        - name: 0-dataset-pytorch-examples\n          mountPath: /root/Git/pytorch/examples\n        - name: kube-api-access-wh9rh\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Never\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: worker-a800-1\n  securityContext: {}\n  affinity: {}\n  schedulerName: hami-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priorityClassName: baize-high-priority\n  priority: 100000\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\nstatus:\n  phase: Succeeded\n  conditions:\n    - type: Initialized\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n      reason: PodCompleted\n    - type: Ready\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: ContainersReady\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: PodScheduled\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n  hostIP: 10.20.100.211\n  podIP: 10.233.97.184\n  podIPs:\n    - ip: 10.233.97.184\n  startTime: '2024-04-18T10:43:36Z'\n  containerStatuses:\n    - name: pytorch\n      state:\n        terminated:\n          exitCode: 0\n          reason: Completed\n          startedAt: '2024-04-18T10:43:39Z'\n          finishedAt: '2024-04-18T10:46:34Z'\n          containerID: >-\n            containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      lastState: {}\n      ready: false\n      restartCount: 0\n      image: m.daocloud.io/docker.io/pytorch/pytorch:latest\n      imageID: >-\n        m.daocloud.io/docker.io/pytorch/pytorch@sha256:11691e035a3651d25a87116b4f6adc113a27a29d8f5a6a583f8569e0ee5ff897\n      containerID: >-\n        containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      started: false\n  qosClass: Guaranteed\n
    "},{"location":"baize/developer/notebooks/baizectl.html","title":"baizectl \u547d\u4ee4\u884c\u5de5\u5177\u4f7f\u7528\u6307\u5357","text":"

    baizectl \u662f\u5728 DCE 5.0 AI Lab \u6a21\u5757\u4e2d\u4e13\u95e8\u670d\u52a1\u4e8e\u6a21\u578b\u5f00\u53d1\u8005\u4e0e\u6570\u636e\u79d1\u5b66\u5bb6\u4eec\u4f7f\u7528\u7684\u547d\u4ee4\u884c\u5de5\u5177\u3002 \u5b83\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u547d\u4ee4\u6765\u5e2e\u52a9\u7528\u6237\u7ba1\u7406\u5206\u5e03\u5f0f\u8bad\u7ec3\u4f5c\u4e1a\u3001\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u3001\u7ba1\u7406\u6570\u636e\u96c6\u7b49\u64cd\u4f5c\uff0c\u540c\u65f6\u652f\u6301\u8fde\u63a5 Kubernetes \u5de5\u4f5c\u96c6\u7fa4\u548c DCE 5.0 \u5de5\u4f5c\u7a7a\u95f4\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u9ad8\u6548\u5730\u4f7f\u7528\u548c\u7ba1\u7406 Kubernetes \u5e73\u53f0\u8d44\u6e90\u3002

    "},{"location":"baize/developer/notebooks/baizectl.html#_1","title":"\u5b89\u88c5","text":"

    \u76ee\u524d\uff0cbaizectl \u5df2\u7ecf\u96c6\u6210\u5728 DCE 5.0 AI Lab \u4e2d\u3002 \u4f60\u5728\u521b\u5efa Notebook \u540e\uff0c\u5373\u53ef\u5728 Notebook \u4e2d\u76f4\u63a5\u4f7f\u7528 baizectl\u3002

    "},{"location":"baize/developer/notebooks/baizectl.html#_2","title":"\u5feb\u901f\u4e0a\u624b","text":""},{"location":"baize/developer/notebooks/baizectl.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

    baizectl \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

    jovyan@19d0197587cc:/$ baizectl\nAI platform management tool\n\nUsage:\n  baizectl [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  data        Management datasets\n  help        Help about any command\n  job         Manage jobs\n  login       Login to the platform\n  version     Show cli version\n\nFlags:\n      --cluster string     Cluster name to operate\n  -h, --help               help for baizectl\n      --mode string        Connection mode: auto, api, notebook (default \"auto\")\n  -n, --namespace string   Namespace to use for the operation. If not set, the default Namespace will be used.\n  -s, --server string      DCE5 access base url\n      --skip-tls-verify    Skip TLS certificate verification\n      --token string       DCE5 access token\n  -w, --workspace int32    Workspace ID to use for the operation\n\nUse \"baizectl [command] --help\" for more information about a command.\n

    \u4ee5\u4e0a\u662f baizectl \u7684\u57fa\u672c\u4fe1\u606f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl --help \u67e5\u770b\u5e2e\u52a9\u4fe1\u606f\uff0c \u6216\u8005\u901a\u8fc7 baizectl [command] --help \u67e5\u770b\u5177\u4f53\u547d\u4ee4\u7684\u5e2e\u52a9\u4fe1\u606f\u3002

    "},{"location":"baize/developer/notebooks/baizectl.html#_4","title":"\u67e5\u770b\u7248\u672c\u4fe1\u606f","text":"

    baizectl \u652f\u6301\u901a\u8fc7 version \u547d\u4ee4\u67e5\u770b\u7248\u672c\u4fe1\u606f\u3002

    (base) jovyan@den-0:~$ baizectl version \nbaizectl version: v0.5.0, commit sha: ac0837c4\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_5","title":"\u547d\u4ee4\u683c\u5f0f","text":"

    baizectl \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

    baizectl [command] [flags]\n

    \u5176\u4e2d\uff0c[command] \u662f\u5177\u4f53\u7684\u64cd\u4f5c\u547d\u4ee4\uff0c\u5982 data\u3001job \u7b49\uff0c[flags] \u662f\u53ef\u9009\u7684\u53c2\u6570\uff0c\u7528\u4e8e\u6307\u5b9a\u64cd\u4f5c\u7684\u8be6\u7ec6\u4fe1\u606f\u3002

    "},{"location":"baize/developer/notebooks/baizectl.html#_6","title":"\u5e38\u7528\u9009\u9879","text":"
    • --cluster string\uff1a\u6307\u5b9a\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u540d\u79f0\u3002
    • -h, --help\uff1a\u663e\u793a\u5e2e\u52a9\u4fe1\u606f\u3002
    • --mode string\uff1a\u8fde\u63a5\u6a21\u5f0f\uff0c\u53ef\u9009\u503c\u4e3a auto\u3001api\u3001notebook\uff08\u9ed8\u8ba4\u503c\u4e3a auto\uff09\u3002
    • -n, --namespace string\uff1a\u6307\u5b9a\u64cd\u4f5c\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5982\u679c\u672a\u8bbe\u7f6e\uff0c\u5c06\u4f7f\u7528\u9ed8\u8ba4\u547d\u540d\u7a7a\u95f4\u3002
    • -s, --server string\uff1aDCE5 \u8bbf\u95ee\u57fa\u7840 URL\u3002
    • --skip-tls-verify\uff1a\u8df3\u8fc7 TLS \u8bc1\u4e66\u9a8c\u8bc1\u3002
    • --token string\uff1aDCE5 \u8bbf\u95ee\u4ee4\u724c\u3002
    • -w, --workspace int32\uff1a\u6307\u5b9a\u64cd\u4f5c\u7684\u5de5\u4f5c\u533a ID\u3002
    "},{"location":"baize/developer/notebooks/baizectl.html#_7","title":"\u529f\u80fd\u4ecb\u7ecd","text":""},{"location":"baize/developer/notebooks/baizectl.html#_8","title":"\u4efb\u52a1\u7ba1\u7406","text":"

    baizectl \u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u547d\u4ee4\u6765\u7ba1\u7406\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\uff0c\u5305\u542b\u4e86\u67e5\u770b\u4efb\u52a1\u5217\u8868\uff0c\u63d0\u4ea4\u4efb\u52a1\u3001\u67e5\u770b\u65e5\u5fd7\u3001\u91cd\u542f\u4efb\u52a1\u3001\u5220\u9664\u4efb\u52a1\u7b49\u3002

    jovyan@19d0197587cc:/$ baizectl job\nManage jobs\n\nUsage:\n  baizectl job [command]\n\nAvailable Commands:\n  delete      Delete a job\n  logs        Show logs of a job\n  ls          List jobs\n  restart     restart a job\n  submit      Submit a job\n\nFlags:\n  -h, --help            help for job\n  -o, --output string   Output format. One of: table, json, yaml (default \"table\")\n      --page int        Page number (default 1)\n      --page-size int   Page size (default -1)\n      --search string   Search query\n      --sort string     Sort order\n      --truncate int    Truncate output to the given length, 0 means no truncation (default 50)\n\nUse \"baizectl job [command] --help\" for more information about a command.\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_9","title":"\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1","text":"

    baizectl \u652f\u6301\u4f7f\u7528 submit \u547d\u4ee4\u63d0\u4ea4\u4e00\u4e2a\u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job submit --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

    (base) jovyan@den-0:~$ baizectl job submit --help\nSubmit a job\n\nUsage:\n  baizectl job submit [flags] -- command ...\n\nAliases:\n  submit, create\n\nExamples:\n# Submit a job to run the command \"torchrun python train.py\"\nbaizectl job submit -- torchrun python train.py\n# Submit a job with 2 workers(each pod use 4 gpus) to run the command \"torchrun python train.py\" and use the image \"pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime\"\nbaizectl job submit --image pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime --workers 2 --resources nvidia.com/gpu=4 -- torchrun python train.py\n# Submit a tensorflow job to run the command \"python train.py\"\nbaizectl job submit --tensorflow -- python train.py\n\n\nFlags:\n      --annotations stringArray                       The annotations of the job, the format is key=value\n      --auto-load-env                                 It only takes effect when executed in Notebook, the environment variables of the current environment will be automatically read and set to the environment variables of the Job, the specific environment variables to be read can be specified using the BAIZE_MAPPING_ENVS environment variable, the default is PATH,CONDA_*,*PYTHON*,NCCL_*, if set to false, the environment variables of the current environment will not be read. (default true)\n      --commands stringArray                          The default command of the job\n  -d, --datasets stringArray                          The dataset bind to the job, the format is datasetName:mountPath, e.g. mnist:/data/mnist\n  -e, --envs stringArray                              The environment variables of the job, the format is key=value\n  -x, --from-notebook string                          Define whether to read the configuration of the current Notebook and directly create tasks, including images, resources, Dataset, etc.\n                                                      auto: Automatically determine the mode according to the current environment. If the current environment is a Notebook, it will be set to notebook mode.\n                                                      false: Do not read the configuration of the current Notebook.\n                                                      true: Read the configuration of the current Notebook. (default \"auto\")\n  -h, --help                                          help for submit\n      --image string                                  The image of the job, it must be specified if fromNotebook is false.\n  -t, --job-type string                               Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --labels stringArray                            The labels of the job, the format is key=value\n      --max-retries int32                             number of retries before marking this job failed\n      --max-run-duration int                          Specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it\n      --name string                                   The name of the job, if empty, the name will be generated automatically.\n      --paddle                                        PaddlePaddle Job, has higher priority than --job-type\n      --priority string                               The priority of the job, current support baize-medium-priority, baize-low-priority, baize-high-priority\n      --pvcs stringArray                              The pvcs bind to the job, the format is pvcName:mountPath, e.g. mnist:/data/mnist\n      --pytorch                                       Pytorch Job, has higher priority than --job-type\n      --queue string                                  The queue to used\n      --requests-resources stringArray                Similar to resources, but sets the resources of requests\n      --resources stringArray                         The resources of the job, it is a string in the format of cpu=1,memory=1Gi,nvidia.com/gpu=1, it will be set to the limits and requests of the container.\n      --restart-policy string                         The job restart policy (default \"on-failure\")\n      --runtime-envs baizectl data ls --runtime-env   The runtime environment to use for the job, you can use baizectl data ls --runtime-env to get the runtime environment\n      --shm-size int32                                The shared memory size of the job, default is 0, which means no shared memory, if set to more than 0, the job will use the shared memory, the unit is MiB\n      --tensorboard-log-dir string                    The tensorboard log directory, if set, the job will automatically start tensorboard, else not. The format is /path/to/log, you can use relative path in notebook.\n      --tensorflow                                    Tensorflow Job, has higher priority than --job-type\n      --workers int                                   The workers of the job, default is 1, which means single worker, if set to more than 1, the job will be distributed. (default 1)\n      --working-dir string                            The working directory of job container, if in notebook mode, the default is the directory of the current file\n

    Note

    \u63d0\u4ea4\u4efb\u52a1\u7684\u547d\u4ee4\u53c2\u6570\u8bf4\u660e\uff1a

    • --name: \u4efb\u52a1\u540d\u79f0\uff0c\u5982\u679c\u4e3a\u7a7a\uff0c\u5219\u4f1a\u81ea\u52a8\u751f\u6210
    • --image: \u955c\u50cf\u540d\u79f0\uff0c\u5fc5\u987b\u6307\u5b9a
    • --priority: \u4efb\u52a1\u4f18\u5148\u7ea7\uff0c\u652f\u6301 \u9ad8=baize-high-priority\u3001\u4e2d=baize-medium-priority\u3001\u4f4e=baize-low-priority
    • --resources: \u4efb\u52a1\u8d44\u6e90\uff0c\u683c\u5f0f\u4e3a cpu=1 memory=1Gi,nvidia.com/gpu=1
    • --workers: \u4efb\u52a1\u5de5\u4f5c\u8282\u70b9\u6570\uff0c\u9ed8\u8ba4\u4e3a 1\uff0c\u5f53\u8bbe\u7f6e\u5927\u4e8e 1 \u65f6\uff0c\u4efb\u52a1\u5c06\u4f1a\u5206\u5e03\u5f0f\u8fd0\u884c
    • --queue: \u4efb\u52a1\u961f\u5217\uff0c\u9700\u8981\u63d0\u524d\u521b\u5efa\u961f\u5217\u8d44\u6e90
    • --working-dir: \u5de5\u4f5c\u76ee\u5f55\uff0c\u5982\u679c\u5728 Notebook \u6a21\u5f0f\u4e0b\uff0c\u4f1a\u9ed8\u8ba4\u4f7f\u7528\u5f53\u524d\u6587\u4ef6\u76ee\u5f55
    • --datasets: \u6570\u636e\u96c6\uff0c\u683c\u5f0f\u4e3a datasetName:mountPath\uff0c\u4f8b\u5982 mnist:/data/mnist
    • --shm-size: \u5171\u4eab\u5185\u5b58\u5927\u5c0f\uff0c\u5728\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u542f\u7528\uff0c\u8868\u793a\u4f7f\u7528\u5171\u4eab\u5185\u5b58\uff0c\u5355\u4f4d\u4e3a MiB
    • --labels: \u4efb\u52a1\u6807\u7b7e\uff0c\u683c\u5f0f\u4e3a key=value
    • --max-retries: \u6700\u5927\u91cd\u8bd5\u6b21\u6570\uff0c\u4efb\u52a1\u5931\u8d25\u540e\u91cd\u8bd5\u6b21\u6570\uff0c\u5931\u8d25\u540e\u4f1a\u91cd\u542f\u4efb\u52a1\uff0c\u9ed8\u8ba4\u4e0d\u9650\u5236
    • --max-run-duration: \u6700\u5927\u8fd0\u884c\u65f6\u95f4\uff0c\u4efb\u52a1\u8fd0\u884c\u65f6\u95f4\u8d85\u8fc7\u6307\u5b9a\u65f6\u95f4\u540e\uff0c\u4f1a\u88ab\u7cfb\u7edf\u7ec8\u6b62\uff0c\u9ed8\u8ba4\u4e0d\u9650\u5236
    • --restart-policy: \u91cd\u542f\u7b56\u7565\uff0c\u652f\u6301 on-failure\u3001never\u3001always\uff0c\u9ed8\u8ba4\u4e3a on-failure
    • --from-notebook: \u662f\u5426\u4ece Notebook \u4e2d\u8bfb\u53d6\u914d\u7f6e\uff0c\u652f\u6301 auto\u3001true\u3001false\uff0c\u9ed8\u8ba4\u4e3a auto
    "},{"location":"baize/developer/notebooks/baizectl.html#pytorch","title":"PyTorch \u5355\u673a\u4efb\u52a1\u793a\u4f8b","text":"

    \u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u793a\u4f8b\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u6c42\u4fee\u6539\u53c2\u6570\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a PyTorch \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

    baizectl job submit --name demojob-v2 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=1,memory=1Gi \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
    "},{"location":"baize/developer/notebooks/baizectl.html#pytorch_1","title":"PyTorch \u5206\u5e03\u5f0f\u4efb\u52a1\u793a\u4f8b","text":"

    \u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u793a\u4f8b\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u6c42\u4fee\u6539\u53c2\u6570\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a PyTorch \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

    baizectl job submit --name demojob-v2 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=1,memory=1Gi \\\n    --workers 2 \\   # \u591a\u4efb\u52a1\u526f\u672c\u4f1a\u81ea\u52a8\u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\n    --shm-size 1024 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
    "},{"location":"baize/developer/notebooks/baizectl.html#tensorflow","title":"Tensorflow \u4efb\u52a1\u793a\u4f8b","text":"

    \u4f7f\u7528 -t \u53c2\u6570\u6307\u5b9a\u4efb\u52a1\u7c7b\u578b\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a Tensorflow \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

    baizectl job submit --name demojob-v2 -t TENSORFLOW \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --from-notebook auto \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n

    \u4e5f\u53ef\u4ee5\u4f7f\u7528 --job-type \u6216\u8005 --tensorflow \u53c2\u6570\u6307\u5b9a\u4efb\u52a1\u7c7b\u578b

    "},{"location":"baize/developer/notebooks/baizectl.html#paddle","title":"Paddle \u4efb\u52a1\u793a\u4f8b","text":"
    baizectl job submit --name demojob-v2 -t PADDLE \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_10","title":"\u67e5\u770b\u4efb\u52a1\u5217\u8868","text":"

    baizectl job \u652f\u6301\u901a\u8fc7 ls \u547d\u4ee4\u67e5\u770b\u4efb\u52a1\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a pytroch \u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -t \u6307\u5b9a\u4efb\u52a1\u7c7b\u578b\u3002

    (base) jovyan@den-0:~$ baizectl job ls  # \u9ed8\u8ba4\u67e5\u770b pytorch \u4efb\u52a1\n NAME        TYPE     PHASE      DURATION  COMMAND    \n demong      PYTORCH  SUCCEEDED  1m2s      sleep 60   \n demo-sleep  PYTORCH  RUNNING    1h25m28s  sleep 7200 \n(base) jovyan@den-0:~$ baizectl job ls demo-sleep  # \u67e5\u770b\u6307\u5b9a\u4efb\u52a1\n NAME        TYPE     PHASE      DURATION  COMMAND     \n demo-sleep  PYTORCH  RUNNING    1h25m28s  sleep 7200 \n(base) jovyan@den-0:~$ baizectl job ls -t TENSORFLOW   # \u67e5\u770b tensorflow \u4efb\u52a1\n NAME       TYPE        PHASE    DURATION  COMMAND    \n demotfjob  TENSORFLOW  CREATED  0s        sleep 1000 \n

    \u4efb\u52a1\u5217\u8868\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f7f\u7528 table \u4f5c\u4e3a\u5c55\u793a\u5f62\u5f0f\uff0c\u5982\u679c\u5e0c\u671b\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 json \u6216 yaml \u683c\u5f0f\u5c55\u793a\uff0c\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u3002

    (base) jovyan@den-0:~$ baizectl job ls -t TENSORFLOW -o yaml\n- baseConfig:\n    args:\n    - sleep\n    - \"1000\"\n    image: release.daocloud.io/baize/baize-notebook:v0.5.0\n    labels:\n      app: den\n    podConfig:\n      affinity: {}\n      kubeEnvs:\n      - name: CONDA_EXE\n        value: /opt/conda/bin/conda\n      - name: CONDA_PREFIX\n        value: /opt/conda\n      - name: CONDA_PROMPT_MODIFIER\n        value: '(base) '\n      - name: CONDA_SHLVL\n        value: \"1\"\n      - name: CONDA_DIR\n        value: /opt/conda\n      - name: CONDA_PYTHON_EXE\n        value: /opt/conda/bin/python\n      - name: CONDA_PYTHON_EXE\n        value: /opt/conda/bin/python\n      - name: CONDA_DEFAULT_ENV\n        value: base\n      - name: PATH\n        value: /opt/conda/bin:/opt/conda/condabin:/command:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n      priorityClass: baize-high-priority\n      queue: default\n  creationTimestamp: \"2024-06-16T07:47:27Z\"\n  jobSpec:\n    runPolicy:\n      suspend: true\n    tfReplicaSpecs:\n      Worker:\n        replicas: 1\n        restartPolicy: OnFailure\n        template:\n          metadata:\n            creationTimestamp: null\n          spec:\n            affinity: {}\n            containers:\n            - args:\n              - sleep\n              - \"1000\"\n              env:\n              - name: CONDA_EXE\n                value: /opt/conda/bin/conda\n              - name: CONDA_PREFIX\n                value: /opt/conda\n              - name: CONDA_PROMPT_MODIFIER\n                value: '(base) '\n              - name: CONDA_SHLVL\n                value: \"1\"\n              - name: CONDA_DIR\n                value: /opt/conda\n              - name: CONDA_PYTHON_EXE\n                value: /opt/conda/bin/python\n              - name: CONDA_PYTHON_EXE\n                value: /opt/conda/bin/python\n              - name: CONDA_DEFAULT_ENV\n                value: base\n              - name: PATH\n                value: /opt/conda/bin:/opt/conda/condabin:/command:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n              image: release.daocloud.io/baize/baize-notebook:v0.5.0\n              name: tensorflow\n              resources:\n                limits:\n                  memory: 1Gi\n                requests:\n                  cpu: \"1\"\n                  memory: 2Gi\n              workingDir: /home/jovyan\n            priorityClassName: baize-high-priority\n  name: demotfjob\n  namespace: ns-chuanjia-ndx\n  phase: CREATED\n  roleConfig:\n    TF_WORKER:\n      replicas: 1\n      resources:\n        limits:\n          memory: 1Gi\n        requests:\n          cpu: \"1\"\n          memory: 2Gi\n  totalResources:\n    limits:\n      memory: \"1073741824\"\n    requests:\n      cpu: \"1\"\n      memory: \"2147483648\"\n  trainingConfig:\n    restartPolicy: RESTART_POLICY_ON_FAILURE\n  trainingMode: SINGLE\n  type: TENSORFLOW\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_11","title":"\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7","text":"

    baizectl job \u652f\u6301\u4f7f\u7528 logs \u547d\u4ee4\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job logs --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

    (base) jovyan@den-0:~$ baizectl job logs --help\nShow logs of a job\n\nUsage:\n  baizectl job logs <job-name> [pod-name] [flags]\n\nAliases:\n  logs, log\n\nFlags:\n  -f, --follow            Specify if the logs should be streamed.\n  -h, --help              help for logs\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tail int          Lines of recent log file to display.\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n      --timestamps        Show timestamps\n

    Note

    • --follow \u53c2\u6570\u5b9e\u65f6\u67e5\u770b\u65e5\u5fd7
    • --tail \u53c2\u6570\u6307\u5b9a\u67e5\u770b\u65e5\u5fd7\u7684\u884c\u6570\uff0c\u9ed8\u8ba4\u4e3a 50 \u884c
    • --timestamps \u53c2\u6570\u663e\u793a\u65f6\u95f4\u6233

    \u793a\u4f8b\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7\uff1a

    (base) jovyan@den-0:~$ baizectl job log -t TENSORFLOW tf-sample-job-v2-202406161632-evgrbrhn -f\n2024-06-16 08:33:06.083766: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n2024-06-16 08:33:06.086189: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.\n2024-06-16 08:33:06.132416: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.\n2024-06-16 08:33:06.132903: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\nTo enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n2024-06-16 08:33:07.223046: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\nModel: \"sequential\"\n_________________________________________________________________\n Layer (type)                Output Shape              Param #   \n=================================================================\n Conv1 (Conv2D)              (None, 13, 13, 8)         80        \n\n flatten (Flatten)           (None, 1352)              0         \n\n Softmax (Dense)             (None, 10)                13530     \n\n=================================================================\nTotal params: 13610 (53.16 KB)\nTrainable params: 13610 (53.16 KB)\nNon-trainable params: 0 (0.00 Byte)\n...\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_12","title":"\u5220\u9664\u4efb\u52a1","text":"

    baizectl job \u652f\u6301\u4f7f\u7528 delete \u547d\u4ee4\u5220\u9664\u4efb\u52a1\uff0c\u5e76\u4e14\u540c\u65f6\u652f\u6301\u5220\u9664\u591a\u4e2a\u4efb\u52a1\u3002

    (base) jovyan@den-0:~$ baizectl job delete --help\nDelete a job\n\nUsage:\n  baizectl job delete [flags]\n\nAliases:\n  delete, del, remove, rm\n\nFlags:\n  -h, --help              help for delete\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n

    \u793a\u4f8b\u5220\u9664\u4efb\u52a1\uff1a

    (base) jovyan@den-0:~$ baizectl job ls\n NAME        TYPE     PHASE      DURATION  COMMAND    \n demong      PYTORCH  SUCCEEDED  1m2s      sleep 60   \n demo-sleep  PYTORCH  RUNNING    1h20m51s  sleep 7200 \n demojob     PYTORCH  FAILED     16m46s    sleep 1000 \n demojob-v2  PYTORCH  RUNNING    3m13s     sleep 1000 \n demojob-v3  PYTORCH  CREATED    0s        sleep 1000 \n(base) jovyan@den-0:~$ baizectl job delete demojob      # \u5220\u9664\u5355\u4e2a\u4efb\u52a1\nDelete job demojob in ns-chuanjia-ndx successfully\n(base) jovyan@den-0:~$ baizectl job delete demojob-v2 demojob-v3     # \u5220\u9664\u591a\u4e2a\u4efb\u52a1\nDelete job demojob-v2 in ns-chuanjia-ndx successfully\nDelete job demojob-v3 in ns-chuanjia-ndx successfully\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_13","title":"\u91cd\u542f\u4efb\u52a1","text":"

    baizectl job \u652f\u6301\u4f7f\u7528 restart \u547d\u4ee4\u91cd\u542f\u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job restart --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

    (base) jovyan@den-0:~$ baizectl job restart --help\nrestart a job\n\nUsage:\n  baizectl job restart [flags] job\n\nAliases:\n  restart, rerun\n\nFlags:\n  -h, --help              help for restart\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_14","title":"\u6570\u636e\u96c6\u7ba1\u7406","text":"

    baizectl \u652f\u6301\u7ba1\u7406\u6570\u636e\u96c6\uff0c\u76ee\u524d\u652f\u6301\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868\uff0c\u65b9\u4fbf\u5728\u4efb\u52a1\u8bad\u7ec3\u65f6\uff0c\u5feb\u901f\u7ed1\u5b9a\u6570\u636e\u96c6\u3002

    (base) jovyan@den-0:~$ baizectl data \nManagement datasets\n\nUsage:\n  baizectl data [flags]\n  baizectl data [command]\n\nAliases:\n  data, dataset, datasets, envs, runtime-envs\n\nAvailable Commands:\n  ls          List datasets\n\nFlags:\n  -h, --help            help for data\n  -o, --output string   Output format. One of: table, json, yaml (default \"table\")\n      --page int        Page number (default 1)\n      --page-size int   Page size (default -1)\n      --search string   Search query\n      --sort string     Sort order\n      --truncate int    Truncate output to the given length, 0 means no truncation (default 50)\n\nUse \"baizectl data [command] --help\" for more information about a command.\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_15","title":"\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868","text":"

    baizectl data \u652f\u6301\u901a\u8fc7 ls \u547d\u4ee4\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a table \u683c\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002

    (base) jovyan@den-0:~$ baizectl data ls\n NAME             TYPE  URI                                                    PHASE \n fashion-mnist    GIT   https://gitee.com/samzong_lu/fashion-mnist.git         READY \n sample-code      GIT   https://gitee.com/samzong_lu/training-sample-code....  READY \n training-output  PVC   pvc://training-output                                  READY \n

    \u5728\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 -d \u6216\u8005 --datasets \u53c2\u6570\u6307\u5b9a\u6570\u636e\u96c6\uff0c\u4f8b\u5982\uff1a

    baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --datasets sample-code:/home/jovyan/code \\\n    -- sleep 1000\n

    \u540c\u65f6\u6302\u8f7d\u591a\u4e2a\u6570\u636e\u96c6\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u683c\u5f0f\uff1a

    baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --datasets sample-code:/home/jovyan/code fashion-mnist:/home/jovyan/data \\\n    -- sleep 1000\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_16","title":"\u67e5\u770b\u4f9d\u8d56\u5e93\uff08\u73af\u5883\uff09","text":"

    \u73af\u5883 runtime-env \u662f DCE \u7684\u7279\u8272\u73af\u5883\u7ba1\u7406\u80fd\u529b\uff0c\u901a\u8fc7\u5c06\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4efb\u52a1\u4ee5\u53ca\u63a8\u7406\u4e2d\u6240\u9700\u7684\u4f9d\u8d56\u5e93\u89e3\u8026\uff0c \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u52a0\u7075\u6d3b\u7684\u4f9d\u8d56\u5e93\u7ba1\u7406\u65b9\u5f0f\uff0c\u65e0\u9700\u91cd\u590d\u6784\u5efa\u590d\u6742\u7684 Docker \u955c\u50cf\uff0c\u53ea\u9700\u9009\u62e9\u5408\u9002\u7684\u73af\u5883\u5373\u53ef\u3002

    \u540c\u65f6 runtime-env \u652f\u6301\u70ed\u66f4\u65b0\uff0c\u52a8\u6001\u5347\u7ea7\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\uff0c\u5373\u53ef\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5e93\u3002

    baizectl data \u652f\u6301\u901a\u8fc7 runtime-env \u547d\u4ee4\u67e5\u770b\u73af\u5883\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a table \u683c\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002

    (base) jovyan@den-0:~$ baizectl data ls --runtime-env \n NAME               TYPE   URI                                                    PHASE      \n fashion-mnist      GIT    https://gitee.com/samzong_lu/fashion-mnist.git         READY      \n sample-code        GIT    https://gitee.com/samzong_lu/training-sample-code....  READY      \n training-output    PVC    pvc://training-output                                  READY      \n tensorflow-sample  CONDA  conda://python?version=3.12.3                          PROCESSING \n

    \u5728\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 --runtime-env \u53c2\u6570\u6307\u5b9a\u73af\u5883\uff0c\u4f8b\u5982\uff1a

    baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --runtime-env tensorflow-sample \\\n    -- sleep 1000\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_17","title":"\u9ad8\u7ea7\u7528\u6cd5","text":"

    baizectl \u652f\u6301\u66f4\u591a\u9ad8\u7ea7\u7528\u6cd5\uff0c\u4f8b\u5982\u81ea\u52a8\u8865\u5168\u811a\u672c\u751f\u6210\u3001\u4f7f\u7528\u7279\u5b9a\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u3001\u4f7f\u7528\u7279\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u7b49\u3002

    "},{"location":"baize/developer/notebooks/baizectl.html#_18","title":"\u81ea\u52a8\u8865\u5168\u811a\u672c\u751f\u6210","text":"
    baizectl completion bash > /etc/bash_completion.d/baizectl\n

    \u4e0a\u8ff0\u547d\u4ee4\u751f\u6210 bash \u7684\u81ea\u52a8\u8865\u5168\u811a\u672c\uff0c\u5e76\u5c06\u5176\u4fdd\u5b58\u5230 /etc/bash_completion.d/baizectl \u76ee\u5f55\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 source /etc/bash_completion.d/baizectl \u52a0\u8f7d\u81ea\u52a8\u8865\u5168\u811a\u672c\u3002

    "},{"location":"baize/developer/notebooks/baizectl.html#_19","title":"\u4f7f\u7528\u7279\u5b9a\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4","text":"
    baizectl job ls --cluster my-cluster --namespace my-namespace\n

    \u8be5\u547d\u4ee4\u5c06\u5217\u51fa my-cluster \u96c6\u7fa4\u4e2d my-namespace \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u4f5c\u4e1a\u3002

    "},{"location":"baize/developer/notebooks/baizectl.html#_20","title":"\u4f7f\u7528\u7279\u5b9a\u5de5\u4f5c\u7a7a\u95f4","text":"
    baizectl job ls --workspace 123\n
    "},{"location":"baize/developer/notebooks/baizectl.html#_21","title":"\u5e38\u89c1\u95ee\u9898","text":"
    • \u95ee\u9898\uff1a\u4e3a\u4ec0\u4e48\u65e0\u6cd5\u8fde\u63a5\u5230\u670d\u52a1\u5668\uff1f

      \u89e3\u51b3\u65b9\u6cd5\uff1a\u68c0\u67e5 --server \u53c2\u6570\u662f\u5426\u6b63\u786e\u8bbe\u7f6e\uff0c\u5e76\u786e\u4fdd\u7f51\u7edc\u8fde\u63a5\u6b63\u5e38\u3002 \u5982\u679c\u670d\u52a1\u5668\u4f7f\u7528\u81ea\u7b7e\u540d\u8bc1\u4e66\uff0c\u53ef\u4ee5\u4f7f\u7528 --skip-tls-verify \u8df3\u8fc7 TLS \u8bc1\u4e66\u9a8c\u8bc1\u3002

    • \u95ee\u9898\uff1a\u5982\u4f55\u89e3\u51b3\u6743\u9650\u4e0d\u8db3\u7684\u95ee\u9898\uff1f

      \u89e3\u51b3\u65b9\u6cd5\uff1a\u786e\u4fdd\u4f7f\u7528\u6b63\u786e\u7684 --token \u53c2\u6570\u767b\u5f55\uff0c\u5e76\u68c0\u67e5\u5f53\u524d\u7528\u6237\u662f\u5426\u5177\u6709\u76f8\u5e94\u7684\u64cd\u4f5c\u6743\u9650\u3002

    • \u95ee\u9898\uff1a\u4e3a\u4ec0\u4e48\u65e0\u6cd5\u5217\u51fa\u6570\u636e\u96c6\uff1f

      \u89e3\u51b3\u65b9\u6cd5\uff1a\u68c0\u67e5\u547d\u540d\u7a7a\u95f4\u548c\u5de5\u4f5c\u533a\u662f\u5426\u6b63\u786e\u8bbe\u7f6e\uff0c\u786e\u4fdd\u5f53\u524d\u7528\u6237\u6709\u6743\u9650\u8bbf\u95ee\u8fd9\u4e9b\u8d44\u6e90\u3002

    "},{"location":"baize/developer/notebooks/baizectl.html#_22","title":"\u7ed3\u8bed","text":"

    \u901a\u8fc7\u4ee5\u4e0a\u6307\u5357\uff0c\u7528\u6237\u53ef\u4ee5\u5feb\u901f\u4e0a\u624b baizectl \u547d\u4ee4\uff0c\u5e76\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u9ad8\u6548\u5730\u7ba1\u7406 AI \u5e73\u53f0\u8d44\u6e90\u3002 \u5982\u679c\u6709\u4efb\u4f55\u7591\u95ee\u6216\u95ee\u9898\uff0c\u5efa\u8bae\u53c2\u8003 baizectl [command] --help \u83b7\u53d6\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\u3002

    "},{"location":"baize/developer/notebooks/baizess.html","title":"baizess \u6362\u6e90\u5de5\u5177\u4f7f\u7528\u6307\u5357","text":"

    baizess \u662f DCE 5.0 AI Lab \u6a21\u5757\u4e2d Notebook \u5185\u7f6e\u7684\u5f00\u7bb1\u5373\u7528\u7684\u6362\u6e90\u5c0f\u5de5\u5177\u3002\u5b83\u63d0\u4f9b\u4e86\u7b80\u6d01\u7684\u547d\u4ee4\u884c\u754c\u9762\uff0c\u65b9\u4fbf\u7528\u6237\u7ba1\u7406\u5404\u79cd\u7f16\u7a0b\u73af\u5883\u7684\u5305\u7ba1\u7406\u5668\u6e90\u3002 \u901a\u8fc7 baizess\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u5207\u6362\u5e38\u7528\u5305\u7ba1\u7406\u5668\u7684\u6e90\uff0c\u786e\u4fdd\u987a\u5229\u8bbf\u95ee\u6700\u65b0\u7684\u5e93\u548c\u4f9d\u8d56\u9879\u3002\u8be5\u5de5\u5177\u901a\u8fc7\u7b80\u5316\u5305\u6e90\u7ba1\u7406\u6d41\u7a0b\uff0c\u63d0\u5347\u4e86\u5f00\u53d1\u8005\u548c\u6570\u636e\u79d1\u5b66\u5bb6\u7684\u5de5\u4f5c\u6548\u7387\u3002

    "},{"location":"baize/developer/notebooks/baizess.html#_1","title":"\u5b89\u88c5","text":"

    \u76ee\u524d\uff0cbaizess \u5df2\u7ecf\u96c6\u6210\u5728 DCE 5.0 AI Lab \u4e2d\u3002 \u4f60\u5728\u521b\u5efa Notebook \u540e\uff0c\u5373\u53ef\u5728 Notebook \u4e2d\u76f4\u63a5\u4f7f\u7528 baizess\u3002

    "},{"location":"baize/developer/notebooks/baizess.html#_2","title":"\u5feb\u901f\u4e0a\u624b","text":""},{"location":"baize/developer/notebooks/baizess.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

    baizess \u547d\u4ee4\u7684\u57fa\u672c\u4fe1\u606f\u5982\u4e0b\uff1a

    jovyan@19d0197587cc:/$ baizess\nsource switch tool\n\nUsage:\n  baizess [command] [package-manager]\n\nAvailable Commands:\n  set     Switch the source of specified package manager to current fastest source\n  reset   Reset the source of specified package manager to default source\n\nAvailable Package-managers:\n  apt     (require root privilege)\n  conda\n  pip\n
    "},{"location":"baize/developer/notebooks/baizess.html#_4","title":"\u547d\u4ee4\u683c\u5f0f","text":"

    baizess \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

    baizess [command] [package-manager]\n

    \u5176\u4e2d\uff0c[command] \u662f\u5177\u4f53\u7684\u64cd\u4f5c\u547d\u4ee4\uff0c[package-manager] \u7528\u4e8e\u6307\u5b9a\u64cd\u4f5c\u5bf9\u5e94\u7684\u5305\u7ba1\u7406\u5668\u3002

    "},{"location":"baize/developer/notebooks/baizess.html#command","title":"command","text":"
    • set\uff1a\u5907\u4efd\u6e90\uff0c\u6d4b\u901f\uff0c\u5c06\u6240\u6307\u5b9a\u7684\u5305\u7ba1\u7406\u5668\u7684\u6e90\u5207\u6362\u4e3a\u6d4b\u901f\u7ed3\u679c\u6700\u5feb\u7684\u56fd\u5185\u6e90\u3002
    • reset\uff1a\u5c06\u6240\u6307\u5b9a\u7684\u5305\u7ba1\u7406\u5668\u91cd\u7f6e\u4e3a\u9ed8\u8ba4\u6e90\u3002
    "},{"location":"baize/developer/notebooks/baizess.html#package-manager","title":"\u76ee\u524d\u652f\u6301\u7684 package-manager","text":"
    • apt \uff08\u6e90\u7684\u5207\u6362\u4e0e\u91cd\u7f6e\u9700\u8981root\u6743\u9650\uff09
    • conda \uff08\u539f\u5148\u7684\u6e90\u5c06\u88ab\u5907\u4efd\u5728/etc/apt/backup/\uff09
    • pip \uff08\u66f4\u65b0\u540e\u6e90\u4fe1\u606f\u5c06\u88ab\u5199\u5165~/.condarc\uff09
    "},{"location":"baize/developer/notebooks/create.html","title":"\u521b\u5efa Notebook","text":"

    Notebook \u63d0\u4f9b\u4e86\u4e00\u4e2a\u5728\u7ebf\u7684 Web \u4ea4\u4e92\u5f0f\u7f16\u7a0b\u73af\u5883\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5feb\u901f\u8fdb\u884c\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u5b9e\u9a8c\u3002

    \u8fdb\u5165\u5f00\u53d1\u8005\u63a7\u5236\u53f0\u540e\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u5728\u4e0d\u540c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u4e2d\u521b\u5efa\u548c\u7ba1\u7406 Notebook\u3002

    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb Notebooks \uff0c\u8fdb\u5165 Notebook \u5217\u8868\u3002\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

    2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001Notebook \u955c\u50cf\u5730\u5740\u3001\u961f\u5217\u3001\u8d44\u6e90\u3001\u7528\u6237\u76ee\u5f55\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u521a\u521b\u5efa\u7684 Notebook \u72b6\u6001\u4e3a \u7b49\u5f85\u4e2d \uff0c\u7247\u523b\u540e\u5c06\u53d8\u4e3a \u8fd0\u884c\u4e2d \uff0c\u9ed8\u8ba4\u6700\u65b0\u7684\u4f4d\u4e8e\u5217\u8868\u9876\u90e8\u3002

    4. \u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u66f4\u591a\u64cd\u4f5c\uff1a\u66f4\u65b0\u53c2\u6570\u3001\u542f\u52a8/\u6682\u505c\u3001\u514b\u9686 Notebook \u3001\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u548c\u5220\u9664\u3002

    Note

    \u5982\u679c\u9009\u62e9\u7eaf CPU \u8d44\u6e90\u540e\uff0c\u53d1\u73b0\u6302\u8f7d\u4e86\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5361\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u6dfb\u52a0 container env \u6765\u89e3\u51b3\u6b64\u95ee\u9898\uff1a

    NVIDIA_VISIBLE_DEVICES=\"\"\n
    "},{"location":"baize/developer/notebooks/delete.html","title":"\u5220\u9664 Notebook","text":"

    \u5982\u679c\u53d1\u73b0 Notebook \u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece Notebook \u5217\u8868\u4e2d\u5220\u9664\u3002

    1. \u5728 Notebook \u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

    2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165 Notebook \u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5 Notebook \u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

    Caution

    Notebook \u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"baize/developer/notebooks/notebook-auto-close.html","title":"Notebook \u95f2\u7f6e\u8d85\u65f6\u81ea\u52a8\u5173\u673a","text":"

    \u5728\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4f18\u5316\u8d44\u6e90\u5229\u7528\u7387\uff0cAI Lab \u542f\u7528\u4e86 Notebook \u95f2\u7f6e\u8d85\u65f6\u81ea\u52a8\u5173\u673a\u529f\u80fd\uff1b \u5f53 Notebook \u957f\u65f6\u95f4\u65e0\u64cd\u4f5c\u65f6\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5173\u673a Notebook\uff0c\u91ca\u653e\u8d44\u6e90\u3002

    • \u4f18\u70b9\uff1a\u901a\u8fc7\u8fd9\u4e2a\u65b9\u5f0f\uff0c\u53ef\u4ee5\u6781\u5927\u51cf\u5c11\u56e0\u4e3a\u957f\u65f6\u95f4\u65e0\u64cd\u4f5c\u5bfc\u81f4\u7684\u8d44\u6e90\u6d6a\u8d39\uff0c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002
    • \u7f3a\u70b9\uff1a\u5982\u679c Notebook \u672a\u914d\u7f6e\u76f8\u5173\u5907\u4efd\u7b56\u7565\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e22\u5931\u3002

    Note

    \u5f53\u524d\uff0c\u6b64\u529f\u80fd\u4e3a\u96c6\u7fa4\u7ea7\u522b\u914d\u7f6e\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u5206\u949f\u3002

    "},{"location":"baize/developer/notebooks/notebook-auto-close.html#_1","title":"\u914d\u7f6e\u53d8\u66f4","text":"

    \u76ee\u524d\u914d\u7f6e\u4fee\u6539\u65b9\u5f0f\u4e3a\u624b\u52a8\u4fee\u6539\uff0c\u540e\u7eed\u4f1a\u63d0\u4f9b\u66f4\u52a0\u4fbf\u6377\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

    \u4fee\u6539\u5de5\u4f5c\u96c6\u7fa4\u4e2d baize-agent \u7684\u90e8\u7f72\u53c2\u6570\uff0c\u6b63\u786e\u7684\u4fee\u6539\u65b9\u5f0f\u4e3a\u66f4\u65b0 Helm \u5e94\u7528\uff0c

    "},{"location":"baize/developer/notebooks/notebook-auto-close.html#_2","title":"\u754c\u9762\u5316\u4fee\u6539","text":"
    1. \u5728\u96c6\u7fa4\u7ba1\u7406\u754c\u9762\u627e\u5230\u5bf9\u5e94\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\uff0c\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u5728 baize-system \u547d\u540d\u7a7a\u95f4\u4e0b\u627e\u5230 baize-agent\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\uff1a

    2. \u5982\u56fe\u4fee\u6539 YAML \u4ee3\u7801\uff1a

      ...\nnotebook-controller:\n  culling_enabled: false\n  cull_idle_time: 120\n  idleness_check_period: 1\n...\n
    3. \u786e\u8ba4\u53c2\u6570\u4fee\u6539\u6210\u529f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u548c \u786e\u5b9a \u3002

    "},{"location":"baize/developer/notebooks/notebook-auto-close.html#_3","title":"\u547d\u4ee4\u884c\u4fee\u6539","text":"

    \u8fdb\u5165\u63a7\u5236\u53f0\u4ee5\u540e\uff0c\u4f7f\u7528 helm upgrade \u547d\u4ee4\u66f4\u6539\u914d\u7f6e\uff1a

    # \u8bbe\u5b9a\u7248\u672c\u53f7\nexport VERSION=0.8.0\n\n# \u66f4\u65b0 Helm Chart \nhelm upgrade --install baize-agent baize/baize-agent \\\n    --namespace baize-system \\\n    --create-namespace \\\n    --set global.imageRegistry=release.daocloud.io \\\n    --set notebook-controller.culling_enabled=true \\    # \u5f00\u542f\u81ea\u52a8\u5173\u673a\uff0c\u9ed8\u8ba4\u4e3a true\n    --set notebook-controller.cull_idle_time=120 \\      # \u8bbe\u7f6e\u95f2\u7f6e\u8d85\u65f6\u65f6\u95f4\u4e3a 120 \u5206\u949f\uff0c\u9ed8\u8ba4\u4e3a 30 \u5206\u949f\n    --set notebook-controller.idleness_check_period=1 \\ # \u8bbe\u7f6e\u68c0\u67e5\u95f4\u9694\u4e3a 1 \u5206\u949f\uff0c\u9ed8\u8ba4\u4e3a 1 \u5206\u949f\n    --version=$VERSION\n

    Note

    \u4e3a\u4e86\u907f\u514d\u81ea\u52a8\u5173\u673a\u540e\u4e22\u5931\u6570\u636e\uff0c\u60a8\u53ef\u4ee5\u5c06 AI Lab \u5347\u7ea7\u5230 v0.8.0 \u53ca\u66f4\u9ad8\u7248\u672c\uff0c\u5728 Notebook \u914d\u7f6e\u4e2d\u542f\u7528\u5173\u673a\u81ea\u52a8\u4fdd\u5b58\u529f\u80fd\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-envs.html","title":"\u5728 Notebook \u4e2d\u4f7f\u7528\u73af\u5883","text":"

    \u73af\u5883\u7ba1\u7406\u662f AI Lab \u7684\u91cd\u8981\u529f\u80fd\u4e4b\u4e00\uff0c\u901a\u8fc7\u5728 Notebook \u4e2d\u5173\u8054\u5bf9\u5e94\u7684\u73af\u5883\uff0c\u53ef\u4ee5\u5feb\u901f\u5207\u6362\u4e0d\u540c\u7684\u73af\u5883\uff0c\u65b9\u4fbf\u7528\u6237\u8fdb\u884c\u5f00\u53d1\u548c\u8c03\u8bd5\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-envs.html#notebook_1","title":"\u521b\u5efa Notebook \u65f6\u9009\u62e9\u73af\u5883","text":"

    \u5728\u521b\u5efa Notebook \u65f6\uff0c\u53ef\u4ee5\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u7684\u73af\u5883 Envs \u3002\u5982\u679c\u6ca1\u6709\u5408\u9002\u7684\u73af\u5883\uff0c\u53ef\u4ee5\u53bb \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u73af\u5883\u3002

    \u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u7ba1\u7406\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-envs.html#notebook_2","title":"\u5728 Notebook \u4f7f\u7528\u73af\u5883","text":"

    Note

    \u5728 Notebook \u4e2d\uff0c\u6211\u4eec\u540c\u65f6\u63d0\u4f9b\u4e86 conda \u548c mamba \u4e24\u79cd\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u73af\u5883\u7ba1\u7406\u5de5\u5177\u3002

    AI Lab \u4e2d\uff0c\u6211\u4eec\u91c7\u7528\u4e86 conda \u73af\u5883\u7ba1\u7406\u5de5\u5177\uff0c\u7528\u6237\u53ef\u4ee5\u5728 Notebook \u4e2d\u901a\u8fc7 !conda env list \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u73af\u5883\u5217\u8868\u3002

    (base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list\n# conda environments:\n#\ndkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure\npython-3.10              /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10\ntorch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple\nbase                  *  /opt/conda     # \u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\nbaize-base               /opt/conda/envs/baize-base\n

    \u8fd9\u4e2a\u547d\u4ee4\u4f1a\u5217\u51fa\u6240\u6709\u7684 conda \u73af\u5883\uff0c\u5e76\u5728\u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\u524d\u9762\u52a0\u4e0a\u4e00\u4e2a\u661f\u53f7\uff08*\uff09\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-envs.html#jupyterlab-kernel","title":"JupyterLab \u7684 Kernel \u73af\u5883\u7ba1\u7406","text":"

    \u5728 Jupyterlab \u4e2d\uff0c\u6211\u4eec\u81ea\u52a8\u5c06 Notebook \u5173\u8054\u7684\u73af\u5883\u7ed1\u5b9a\u5230 Kernel \u5217\u8868\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 Kernel \u5feb\u901f\u5207\u6362\u73af\u5883\u3002

    \u901a\u8fc7\u4ee5\u4e0a\u529e\u6cd5\uff0c\u53ef\u4ee5\u540c\u65f6\u5728\u4e00\u4e2a Notebook \u4e2d\u4f7f\u7528\u4e0d\u540c\u7f16\u5199\u548c\u8c03\u8bd5\u7b97\u6cd5\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-envs.html#terminal","title":"Terminal \u5207\u6362\u73af\u5883","text":"

    AI Lab \u7684 Notebook \u76ee\u524d\u4e5f\u5df2\u7ecf\u652f\u6301\u4e86 VSCode\u3002

    \u5982\u679c\u60a8\u66f4\u559c\u6b22\u5728 Terminal \u4e2d\u7ba1\u7406\u548c\u5207\u6362\u73af\u5883\uff0c\u53ef\u4ee5\u5b89\u88c5\u5982\u4e0b\u6b65\u9aa4\uff1a

    \u5728\u9996\u6b21\u542f\u52a8\u5e76\u4f7f\u7528 Notebook \u65f6\uff0c\u9700\u8981\u5148\u6267\u884c conda init\uff0c\u7136\u540e\u518d\u6267\u884c conda activate <env_name> \u5207\u6362\u5230\u5bf9\u5e94\u7684\u73af\u5883\u3002

    (base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda init bash# \u521d\u59cb\u5316 bash \u73af\u5883, \u4ec5\u9996\u6b21\u4f7f\u7528\u9700\u8981\u6267\u884c\nno change     /opt/conda/condabin/conda\n change     /opt/conda/bin/conda\n change     /opt/conda/bin/conda-env\n change     /opt/conda/bin/activate\n change     /opt/conda/bin/deactivate\n change     /opt/conda/etc/profile.d/conda.sh\n change     /opt/conda/etc/fish/conf.d/conda.fish\n change     /opt/conda/shell/condabin/Conda.psm1\n change     /opt/conda/shell/condabin/conda-hook.ps1\n change     /opt/conda/lib/python3.11/site-packages/xontrib/conda.xsh\n change     /opt/conda/etc/profile.d/conda.csh\n change     /home/jovyan/.bashrc\n action taken.\nAdded mamba to /home/jovyan/.bashrc\n\n==> For changes to take effect, close and re-open your current shell. <==\n\n(base) jovyan@chuanjia-jupyter-0:~/yolov8$ source ~/.bashrc  # \u91cd\u65b0\u52a0\u8f7d bash \u73af\u5883\n(base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda activate python-3.10   # \u5207\u6362\u5230 python-3.10 \u73af\u5883\n(python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list\n\n              mamba version : 1.5.1\n# conda environments:\n#\ndkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure\npython-3.10           *  /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10    # \u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\ntorch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple\nbase                     /opt/conda\nbaize-base               /opt/conda/envs/baize-base\n

    \u5982\u679c\u60a8\u66f4\u559c\u6b22\u4f7f\u7528 mamba \uff0c\u8fd9\u91cc\u9700\u8981\u4f7f\u7528 mamaba init \u548c mamba activate <env_name>\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-envs.html#_1","title":"\u67e5\u770b\u73af\u5883\u4e2d\u7684\u5305","text":"

    \u901a\u8fc7\u4e0d\u540c\u73af\u5883\u7ba1\u7406\u7684\u4e00\u4e2a\u5f88\u91cd\u8981\u7684\u529f\u80fd\u662f\uff0c\u53ef\u4ee5\u5728\u4e00\u4e2a Notebook \u4e2d\u901a\u8fc7\u5feb\u901f\u5207\u6362\u73af\u5883\uff0c\u4f7f\u7528\u4e0d\u7528\u7684\u5305\u3002

    \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e0b\u65b9\u7684\u547d\u4ee4\u6765\u4f7f\u7528 conda \u67e5\u770b\u5f53\u524d\u73af\u5883\u4e2d\u7684\u6240\u6709\u5305\u3002

    (python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda list\n# packages in environment at /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10:\n#\n# Name                    Version                   Build  Channel\n_libgcc_mutex             0.1                        main    defaults\n_openmp_mutex             5.1                       1_gnu    defaults\n... # \u7701\u7565\u90e8\u5206\u8f93\u51fa\nidna                      3.7             py310h06a4308_0    defaults\nipykernel                 6.28.0          py310h06a4308_0    defaults\nipython                   8.20.0          py310h06a4308_0    defaults\nipython_genutils          0.2.0              pyhd3eb1b0_1    defaults\njedi                      0.18.1          py310h06a4308_1    defaults\njinja2                    3.1.4           py310h06a4308_0    defaults\njsonschema                4.19.2          py310h06a4308_0    defaults\njsonschema-specifications 2023.7.1        py310h06a4308_0    defaults\njupyter_client            7.4.9           py310h06a4308_0    defaults\njupyter_core              5.5.0           py310h06a4308_0    defaults\njupyter_events            0.8.0           py310h06a4308_0    defaults\njupyter_server            2.10.0          py310h06a4308_0    defaults\njupyter_server_terminals  0.4.4           py310h06a4308_1    defaults\njupyterlab_pygments       0.2.2           py310h06a4308_0    defaults\n... # \u7701\u7565\u90e8\u5206\u8f93\u51fa\nxz                        5.4.6                h5eee18b_1    defaults\nyaml                      0.2.5                h7b6447c_0    defaults\nzeromq                    4.3.5                h6a678d5_0    defaults\nzlib                      1.2.13               h5eee18b_1    defaults\n
    "},{"location":"baize/developer/notebooks/notebook-with-envs.html#_2","title":"\u66f4\u65b0\u73af\u5883\u7684\u5305","text":"

    \u76ee\u524d\uff0c\u53ef\u4ee5\u901a\u8fc7\u5728 AI Lab \u7684\u754c\u9762\u4e2d \u73af\u5883\u7ba1\u7406 \u6765\u66f4\u65b0\u73af\u5883\u4e2d\u7684\u5305\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-ssh.html","title":"Notebook SSH \u8bbf\u95ee\u6307\u5357","text":"

    AI Lab \u63d0\u4f9b\u7684 Notebook \u652f\u6301\u5728\u672c\u5730\u901a\u8fc7 SSH \u7684\u65b9\u5f0f\u8bbf\u95ee\uff1b

    \u901a\u8fc7\u7b80\u5355\u7684\u914d\u7f6e\uff0c\u5373\u53ef\u4f7f\u7528 SSH \u8bbf\u95ee Jupyter Notebook \u7684\u529f\u80fd\u3002 \u65e0\u8bba\u60a8\u662f\u4f7f\u7528 Windows\u3001Mac \u8fd8\u662f Linux \u64cd\u4f5c\u7cfb\u7edf\uff0c\u90fd\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u64cd\u4f5c\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ssh","title":"\u914d\u7f6e SSH \u8bbf\u95ee\u51ed\u8bc1","text":""},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ssh_1","title":"\u751f\u6210 SSH \u5bc6\u94a5\u5bf9","text":"

    \u9996\u5148\uff0c\u60a8\u9700\u8981\u5728\u60a8\u7684\u8ba1\u7b97\u673a\u4e0a\u751f\u6210 SSH \u516c\u94a5\u548c\u79c1\u94a5\u5bf9\u3002\u8fd9\u4e2a\u5bc6\u94a5\u5bf9\u5c06\u7528\u4e8e\u8ba4\u8bc1\u8fc7\u7a0b\uff0c\u786e\u4fdd\u5b89\u5168\u8bbf\u95ee\u3002

    Mac/LinuxWindows
    1. \u6253\u5f00\u7ec8\u7aef
    2. \u8f93\u5165\u547d\u4ee4\uff1a

      ssh-keygen -t rsa -b 4096\n
    3. \u5f53\u7cfb\u7edf\u63d0\u793a\u60a8\u201cEnter a file in which to save the key\u201d\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u6572\u51fb Enter \u952e\u4f7f\u7528\u9ed8\u8ba4\u8def\u5f84\uff0c\u6216\u8005\u6307\u5b9a\u4e00\u4e2a\u65b0\u7684\u8def\u5f84\u3002

    4. \u63a5\u4e0b\u6765\uff0c\u7cfb\u7edf\u4f1a\u63d0\u793a\u60a8\u8f93\u5165\u5bc6\u7801\uff08\u53ef\u9009\uff09\uff0c\u8fd9\u5c06\u589e\u52a0\u4e00\u4e2a\u989d\u5916\u7684\u5b89\u5168\u5c42\u3002\u5982\u679c\u9009\u62e9\u8f93\u5165\u5bc6\u7801\uff0c\u8bf7\u8bb0\u4f4f\u8fd9\u4e2a\u5bc6\u7801\uff0c\u56e0\u4e3a\u6bcf\u6b21\u4f7f\u7528\u5bc6\u94a5\u65f6\u90fd\u4f1a\u9700\u8981\u5b83\u3002
    1. \u5b89\u88c5 Git Bash\uff08\u5982\u679c\u60a8\u5c1a\u672a\u5b89\u88c5\uff09
    2. \u6253\u5f00 Git Bash
    3. \u8f93\u5165\u547d\u4ee4\uff1a

      ssh-keygen -t rsa -b 4096\n
    4. \u540c Mac/Linux \u6b65\u9aa4

    "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ssh_2","title":"\u6dfb\u52a0 SSH \u516c\u94a5\u5230\u4e2a\u4eba\u4e2d\u5fc3","text":"

    Note

    \u5177\u4f53\u64cd\u4f5c\u53ef\u4ee5\u53c2\u8003\uff1a\u914d\u7f6e SSH \u516c\u94a5

    1. \u6253\u5f00\u751f\u6210\u7684\u516c\u94a5\u6587\u4ef6\uff0c\u901a\u5e38\u4f4d\u4e8e ~/.ssh/id_rsa.pub\uff08\u5982\u679c\u60a8\u6ca1\u6709\u66f4\u6539\u9ed8\u8ba4\u8def\u5f84\uff09
    2. \u590d\u5236\u516c\u94a5\u5185\u5bb9
    3. \u767b\u5f55\u5230 DCE, \u7136\u540e\u53f3\u4e0a\u89d2\u5e10\u53f7\u70b9\u5f00\uff0c\u9009\u62e9\u4e2a\u4eba\u4e2d\u5fc3
    4. \u5728 SSH \u516c\u94a5\u914d\u7f6e\u9875\uff0c\u6dfb\u52a0\u4f60\u672c\u5730\u751f\u6210\u7684\u516c\u94a5\u6587\u4ef6
    5. \u4fdd\u5b58\u66f4\u6539
    "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#notebook-ssh_1","title":"\u5728 Notebook \u4e2d\u5f00\u542f SSH \u8bbf\u95ee","text":"
    1. \u767b\u5f55\u5230 Jupyter Notebook \u7684 Web \u754c\u9762\u3002
    2. \u5bfb\u627e\u60a8\u60f3\u8981\u542f\u7528 SSH \u8bbf\u95ee\u7684 Notebook\u3002
    3. \u5728 Notebook \u7684\u8bbe\u7f6e\u6216\u8be6\u60c5\u9875\u9762\uff0c\u627e\u5230 \u5f00\u542f SSH \u8bbf\u95ee \u7684\u9009\u9879\u5e76\u542f\u7528\u5b83\u3002
    4. \u8bb0\u5f55\u6216\u590d\u5236\u663e\u793a\u7684 SSH \u8bbf\u95ee\u547d\u4ee4\u3002\u8fd9\u4e2a\u547d\u4ee4\u5c06\u7528\u4e8e\u540e\u7eed\u6b65\u9aa4\u4e2d\u7684 SSH \u8fde\u63a5\u3002
    "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ssh_3","title":"\u4e0d\u540c\u73af\u5883\u4e0b\u7684 SSH \u8bbf\u95ee\u65b9\u5f0f","text":""},{"location":"baize/developer/notebooks/notebook-with-ssh.html#_1","title":"\u8bbf\u95ee\u793a\u4f8b","text":"

    \u5047\u8bbe\u60a8\u83b7\u5f97\u7684 SSH \u8bbf\u95ee\u547d\u4ee4\u5982\u4e0b\uff1a

        # ssh {DCE5_USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{DCE5_UI_LOGIN_IP} -p {DCE5_UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n

    \u8bf7\u5c06 DCE5_USERNAME \u66ff\u6362\u4e3a\u60a8\u7684\u7528\u6237\u540d\uff0cDCE5_UI_LOGIN_IP \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u4e3b\u673a\u540d\uff0cDCE5_UI_LOGIN_IP \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7aef\u53e3\u53f7\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#windows","title":"Windows","text":"

    \u63a8\u8350\u4f7f\u7528 PuTTY \u6216 Git Bash \u8fdb\u884c SSH \u8fde\u63a5\u3002

    PuTTYGit Bash
    1. \u6253\u5f00 PuTTY
    2. \u5728 Host Name (or IP address) \u680f\u8f93\u5165 mockhost\uff08\u5b9e\u9645\u7684\u4e3b\u673a\u540d\uff09
    3. \u8f93\u5165\u7aef\u53e3\u53f7 2222\uff08\u5b9e\u9645\u7684\u7aef\u53e3\u53f7\uff09
    4. \u70b9\u51fb Open \u5f00\u59cb\u8fde\u63a5
    5. \u7b2c\u4e00\u6b21\u8fde\u63a5\u65f6\uff0c\u53ef\u80fd\u4f1a\u63d0\u793a\u9a8c\u8bc1\u670d\u52a1\u5668\u7684\u8eab\u4efd\uff0c\u70b9\u51fb Yes
    1. \u6253\u5f00 Git Bash
    2. \u8f93\u5165\u8bbf\u95ee\u547d\u4ee4\uff1a

          # ssh {DCE5_USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{DCE5_UI_LOGIN_IP} -p {DCE5_UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
    3. \u6309 Enter \u952e

    "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#maclinux","title":"Mac/Linux","text":"
    1. \u6253\u5f00\u7ec8\u7aef\u3002
    2. \u8f93\u5165\u8bbf\u95ee\u547d\u4ee4\uff1a

          # ssh {DCE5_USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{DCE5_UI_LOGIN_IP} -p {DCE5_UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
    3. \u5982\u679c\u7cfb\u7edf\u63d0\u793a\u60a8\u63a5\u53d7\u4e3b\u673a\u7684\u8eab\u4efd\uff0c\u8bf7\u8f93\u5165yes\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ide","title":"\u914d\u5408 IDE \u5b9e\u73b0\u8fdc\u7a0b\u5f00\u53d1","text":"

    \u9664\u4e86\u4f7f\u7528\u547d\u4ee4\u884c\u5de5\u5177\u8fdb\u884c SSH \u8fde\u63a5\uff0c\u60a8\u8fd8\u53ef\u4ee5\u5229\u7528\u73b0\u4ee3 IDE \u5982 Visual Studio Code (VSCode) \u548c PyCharm \u7684 SSH \u8fdc\u7a0b\u8fde\u63a5\u529f\u80fd\uff0c \u76f4\u63a5\u5728\u672c\u5730 IDE \u4e2d\u5f00\u53d1\u5e76\u5229\u7528\u8fdc\u7a0b\u670d\u52a1\u5668\u7684\u8d44\u6e90\u3002

    \u5728 VSCode \u4e2d\u4f7f\u7528 SSH \u8fdc\u7a0b\u8fde\u63a5\u5728 PyCharm \u4e2d\u4f7f\u7528 SSH \u8fdc\u7a0b\u8fde\u63a5

    VSCode \u901a\u8fc7 Remote - SSH \u6269\u5c55\u652f\u6301 SSH \u8fdc\u7a0b\u8fde\u63a5\uff0c\u5141\u8bb8\u60a8\u76f4\u63a5\u5728\u672c\u5730 VSCode \u73af\u5883\u4e2d\u7f16\u8f91\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a\u7684\u6587\u4ef6\uff0c\u5e76\u8fd0\u884c\u547d\u4ee4\u3002

    \u64cd\u4f5c\u6b65\u9aa4\u4e3a\uff1a

    1. \u786e\u4fdd\u60a8\u5df2\u5b89\u88c5 VSCode \u548c Remote - SSH \u6269\u5c55\u3002
    2. \u6253\u5f00 VSCode\uff0c\u70b9\u51fb\u5de6\u4fa7\u6d3b\u52a8\u680f\u5e95\u90e8\u7684\u8fdc\u7a0b\u8d44\u6e90\u7ba1\u7406\u5668\u56fe\u6807\u3002
    3. \u9009\u62e9 Remote-SSH: Connect to Host... \u9009\u9879\uff0c\u7136\u540e\u70b9\u51fb + Add New SSH Host...
    4. \u8f93\u5165 SSH \u8fde\u63a5\u547d\u4ee4\uff0c\u4f8b\u5982\uff1a

          # ssh {DCE5_USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{DCE5_UI_LOGIN_IP} -p {DCE5_UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
    5. \u6572\u51fb Enter \u952e\u3002\u8bf7\u5c06 username\u3001mockhost \u548c 2222 \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7528\u6237\u540d\u3001\u4e3b\u673a\u540d\u548c\u7aef\u53e3\u53f7\u3002

    6. \u9009\u62e9\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\u6765\u4fdd\u5b58\u6b64 SSH \u4e3b\u673a\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u5373\u53ef\u3002

    \u5b8c\u6210\u540e\uff0c\u60a8\u7684 SSH \u4e3b\u673a\u5c06\u6dfb\u52a0\u5230 SSH \u76ee\u6807\u5217\u8868\u4e2d\u3002\u70b9\u51fb\u60a8\u7684\u4e3b\u673a\u8fdb\u884c\u8fde\u63a5\u3002 \u5982\u679c\u662f\u7b2c\u4e00\u6b21\u8fde\u63a5\uff0c\u53ef\u80fd\u4f1a\u63d0\u793a\u60a8\u9a8c\u8bc1\u4e3b\u673a\u7684\u6307\u7eb9\u3002\u63a5\u53d7\u540e\uff0c\u60a8\u5c06\u88ab\u8981\u6c42\u8f93\u5165\u5bc6\u7801\uff08\u5982\u679c SSH \u5bc6\u94a5\u8bbe\u7f6e\u4e86\u5bc6\u7801\uff09\u3002 \u8fde\u63a5\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u50cf\u5728\u672c\u5730\u5f00\u53d1\u4e00\u6837\u5728 VSCode \u4e2d\u7f16\u8f91\u8fdc\u7a0b\u6587\u4ef6\uff0c\u5e76\u5229\u7528\u8fdc\u7a0b\u8d44\u6e90\u3002

    PyCharm Professional \u7248\u652f\u6301\u901a\u8fc7 SSH \u8fde\u63a5\u5230\u8fdc\u7a0b\u670d\u52a1\u5668\uff0c\u5e76\u5728\u672c\u5730 PyCharm \u4e2d\u76f4\u63a5\u5f00\u53d1\u3002

    \u64cd\u4f5c\u6b65\u9aa4\u4e3a\uff1a

    1. \u6253\u5f00 PyCharm\uff0c\u5e76\u6253\u5f00\u6216\u521b\u5efa\u4e00\u4e2a\u9879\u76ee
    2. \u9009\u62e9 File -> Settings \uff08\u5728 Mac \u4e0a\u662f PyCharm -> Preferences
    3. \u5728\u8bbe\u7f6e\u7a97\u53e3\u4e2d\uff0c\u5bfc\u822a\u5230 Project: YourProjectName -> Python Interpreter
    4. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u9f7f\u8f6e\u56fe\u6807\uff0c\u9009\u62e9 Add...

      • \u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9 SSH Interpreter
      • \u8f93\u5165\u8fdc\u7a0b\u4e3b\u673a\u7684\u4fe1\u606f\uff1a\u4e3b\u673a\u540d\uff08mockhost\uff09\u3001\u7aef\u53e3\u53f7\uff082222\uff09\u3001\u7528\u6237\u540d\uff08username\uff09\u3002 \u8bf7\u4f7f\u7528\u60a8\u7684\u5b9e\u9645\u4fe1\u606f\u66ff\u6362\u8fd9\u4e9b\u5360\u4f4d\u7b26\u3002
      • \u70b9\u51fb Next \uff0cPyCharm \u5c06\u5c1d\u8bd5\u8fde\u63a5\u5230\u8fdc\u7a0b\u670d\u52a1\u5668\u3002\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u60a8\u5c06\u88ab\u8981\u6c42\u8f93\u5165\u5bc6\u7801\u6216\u9009\u62e9\u79c1\u94a5\u6587\u4ef6\u3002
    5. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb Finish \u3002\u73b0\u5728\uff0c\u60a8\u7684 PyCharm \u5c06\u4f7f\u7528\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a\u7684 Python \u89e3\u91ca\u5668\u3002

    "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#_2","title":"\u5b89\u5168\u9650\u5236","text":"

    \u5728\u540c\u4e00\u4e2a Workspace \u5185\uff0c\u4efb\u610f\u7528\u6237\u90fd\u53ef\u4ee5\u901a\u8fc7\u81ea\u5df1\u7684 SSH \u8bbf\u95ee\u51ed\u8bc1\u6765\u767b\u5f55\u5230\u542f\u7528\u4e86 SSH \u7684 Notebook\u3002 \u8fd9\u610f\u5473\u7740\uff0c\u53ea\u8981\u7528\u6237\u914d\u7f6e\u4e86\u81ea\u5df1\u7684 SSH \u516c\u94a5\u5230\u4e2a\u4eba\u4e2d\u5fc3\uff0c\u5e76\u4e14 Notebook \u542f\u7528\u4e86 SSH \u8bbf\u95ee\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528 SSH \u8fdb\u884c\u5b89\u5168\u8fde\u63a5\u3002

    \u8bf7\u6ce8\u610f\uff0c\u4e0d\u540c\u7528\u6237\u7684\u8bbf\u95ee\u6743\u9650\u53ef\u80fd\u4f1a\u6839\u636e Workspace \u7684\u914d\u7f6e\u800c\u6709\u6240\u4e0d\u540c\u3002\u786e\u4fdd\u60a8\u4e86\u89e3\u5e76\u9075\u5b88\u60a8\u6240\u5728\u7ec4\u7ec7\u7684\u5b89\u5168\u548c\u8bbf\u95ee\u7b56\u7565\u3002

    \u901a\u8fc7\u9075\u5faa\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u5e94\u8be5\u80fd\u591f\u6210\u529f\u914d\u7f6e\u5e76\u4f7f\u7528 SSH \u8bbf\u95ee Jupyter Notebook\u3002\u5982\u679c\u9047\u5230\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u7cfb\u7edf\u5e2e\u52a9\u6587\u6863\u6216\u8054\u7cfb\u7cfb\u7edf\u7ba1\u7406\u5458\u3002

    "},{"location":"baize/developer/notebooks/start-pause.html","title":"\u542f\u52a8\u548c\u6682\u505c Notebook","text":"

    Notebook \u521b\u5efa\u6210\u529f\u540e\uff0c\u901a\u5e38\u4f1a\u6709\u51e0\u4e2a\u72b6\u6001\uff1a

    • \u7b49\u5f85\u4e2d
    • \u8fd0\u884c\u4e2d
    • \u5df2\u505c\u6b62

    \u5982\u679c\u67d0\u4e2a Notebook \u7684\u72b6\u6001\u4e3a \u5df2\u505c\u6b62 \uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u542f\u52a8 \u3002

    \u6b64 Notebook \u5c06\u8fdb\u5165\u8fd0\u884c\u961f\u5217\u4e2d\uff0c\u72b6\u6001\u53d8\u4e3a \u7b49\u5f85\u4e2d \uff0c\u5982\u679c\u4e00\u5207\u6b63\u5e38\uff0c\u7247\u523b\u540e\u5176\u72b6\u6001\u5c06\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

    \u5982\u679c\u4f7f\u7528\u7ed3\u675f\uff0c\u53ef\u4ee5\u4ece\u83dc\u5355\u4e2d\u9009\u62e9 \u6682\u505c \uff0c\u5c06\u5176\u72b6\u6001\u53d8\u4e3a \u5df2\u505c\u6b62 \u3002

    "},{"location":"baize/developer/notebooks/view.html","title":"Notebook \u5de5\u4f5c\u8d1f\u8f7d","text":"

    \u5982\u679c\u60f3\u8981\u67e5\u770b\u67d0\u4e2a Notebook \u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a

    1. \u5728 Notebook \u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u3002

    2. \u8df3\u8f6c\u5230\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08StatefulSet\uff09\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\uff1a

      • \u5bb9\u5668\u7ec4 Pod \u7684\u8fd0\u884c\u72b6\u6001\u3001IP\u3001\u8d44\u6e90\u8bf7\u6c42\u548c\u4f7f\u7528\u60c5\u51b5
      • \u5bb9\u5668\u914d\u7f6e\u4fe1\u606f
      • \u8bbf\u95ee\u65b9\u5f0f\uff1aClusterIP\u3001NodePort
      • \u8c03\u5ea6\u7b56\u7565\uff1a\u8282\u70b9\u548c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027
      • \u6807\u7b7e\u4e0e\u6ce8\u89e3\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u3001Pod \u7684\u6807\u7b7e\u4e0e\u6ce8\u89e3\u952e\u503c\u5bf9
      • \u5f39\u6027\u4f38\u7f29\uff1a\u652f\u6301 HPA\u3001CronHPA\u3001VPA \u7b49\u65b9\u5f0f
      • \u4e8b\u4ef6\u5217\u8868\uff1a\u8b66\u544a\u3001\u901a\u77e5\u7b49\u6d88\u606f

    3. \u5728 StatefulSet \u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u9488\u5bf9 Pod \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

    "},{"location":"baize/oam/index.html","title":"\u8fd0\u7ef4\u7ba1\u7406","text":"

    \u8fd0\u7ef4\u7ba1\u7406\u662f IT \u8fd0\u7ef4\u4eba\u5458\u65e5\u5e38\u7ba1\u7406 IT \u8d44\u6e90\uff0c\u5904\u7406\u5de5\u4f5c\u7684\u7a7a\u95f4\u3002

    \u5728\u8fd9\u91cc\u53ef\u4ee5\u76f4\u89c2\u5730\u4e86\u89e3\u5f53\u524d\u96c6\u7fa4\u3001\u8282\u70b9\u3001CPU\u3001GPU\u3001vGPU \u7b49\u8d44\u6e90\u7684\u4f7f\u7528\u72b6\u51b5\u3002

    "},{"location":"baize/oam/index.html#_2","title":"\u5e38\u89c1\u672f\u8bed","text":"
    • GPU \u5206\u914d\u7387\uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u5185\u6240\u6709\u672a\u5b8c\u6210\u7684\u4efb\u52a1\u7684 GPU \u5206\u914d\u60c5\u51b5\uff0c\u7edf\u8ba1\u8bf7\u6c42\u7684 GPU\uff08Request\uff09\u4e0e\u603b\u8d44\u6e90\u91cf\uff08Total\uff09\u4e4b\u95f4\u7684\u6bd4\u4f8b\u3002
    • GPU \u5229\u7528\u7387\uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u8fd0\u884c\u4e2d\u7684\u4efb\u52a1\u7684\u5b9e\u9645\u8d44\u6e90\u5229\u7528\u60c5\u51b5\uff0c\u7edf\u8ba1\u5b9e\u9645\u4f7f\u7528\u7684 GPU\uff08Usage\uff09\u4e0e\u603b\u8d44\u6e90\u91cf\uff08Total\uff09\u4e4b\u95f4\u7684\u6bd4\u4f8b\u3002
    "},{"location":"baize/oam/resource.html","title":"GPU \u5217\u8868","text":"

    \u81ea\u52a8\u5316\u6c47\u603b\u6574\u4e2a\u5e73\u53f0\u4e2d\u7684 GPU \u8d44\u6e90\u4fe1\u606f\uff0c\u63d0\u4f9b\u8be6\u5c3d\u7684 GPU \u8bbe\u5907\u4fe1\u606f\u5c55\u793a\uff0c\u53ef\u67e5\u770b\u5404\u79cd GPU \u5361\u7684\u8d1f\u8f7d\u7edf\u8ba1\u548c\u4efb\u52a1\u8fd0\u884c\u4fe1\u606f\u3002

    \u8fdb\u5165 \u8fd0\u7ef4\u7ba1\u7406 \u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u8d44\u6e90\u7ba1\u7406 -> GPU \u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b GPU \u5361\u548c\u4efb\u52a1\u4fe1\u606f\u3002

    "},{"location":"baize/oam/queue/create.html","title":"\u521b\u5efa\u961f\u5217","text":"

    \u5728\u8fd0\u7ef4\u7ba1\u7406\u6a21\u5f0f\u4e2d\uff0c\u961f\u5217\u53ef\u7528\u4e8e\u8c03\u5ea6\u548c\u4f18\u5316\u6279\u5904\u7406\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5b83\u53ef\u4ee5\u6709\u6548\u5730\u7ba1\u7406\u5728\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u591a\u4e2a\u4efb\u52a1\uff0c\u901a\u8fc7\u961f\u5217\u7cfb\u7edf\u6765\u4f18\u5316\u8d44\u6e90\u5229\u7528\u7387\u3002

    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u961f\u5217\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

    2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u8bbe\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u6392\u961f\u7b56\u7565\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u521b\u5efa\uff0c\u8fd4\u56de\u961f\u5217\u7ba1\u7406\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

    "},{"location":"baize/oam/queue/delete.html","title":"\u5220\u9664\u961f\u5217","text":"

    \u5728\u8fd0\u7ef4\u7ba1\u7406\u6a21\u5f0f\u4e2d\uff0c\u5982\u679c\u53d1\u73b0\u961f\u5217\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u961f\u5217\u5217\u8868\u4e2d\u5220\u9664\u3002

    1. \u5728\u961f\u5217\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

    2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u961f\u5217\uff0c\u8f93\u5165\u961f\u5217\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u961f\u5217\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

    Caution

    \u961f\u5217\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"ghippo/permissions/amamba.html","title":"\u5e94\u7528\u5de5\u4f5c\u53f0\u6743\u9650\u8bf4\u660e","text":"

    \u5e94\u7528\u5de5\u4f5c\u53f0\u652f\u6301\u4e09\u79cd\u7528\u6237\u89d2\u8272\uff1a

    • Workspace Admin
    • Workspace Editor
    • Workspace Viewer

    \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

    \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u5e94\u7528 \u67e5\u770b\u5e94\u7528\u5217\u8868 \u2713 \u2713 \u2713 \u67e5\u770b\u8be6\u60c5\uff08\u8df3\u8f6c\u5230\u5bb9\u5668\u7ba1\u7406\uff09 \u2713 \u2713 \u2713 \u67e5\u770b\u5e94\u7528\u65e5\u5fd7\uff08\u8df3\u8f6c\u5230\u53ef\u89c2\u6d4b\uff09 \u2713 \u2713 \u2713 \u67e5\u770b\u5e94\u7528\u76d1\u63a7\uff08\u8df3\u8f6c\u5230\u53ef\u89c2\u6d4b\uff09 \u2713 \u2713 \u2713 \u67e5\u770b RabbitMQ \u8be6\u60c5 - \u57fa\u672c\u4fe1\u606f \u2713 \u2713 \u2713 \u67e5\u770b\u670d\u52a1\u7f51\u683c\uff08\u8df3\u8f6c\u5230\u670d\u52a1\u7f51\u683c\uff09 \u2713 \u2713 \u2713 \u67e5\u770b\u5fae\u670d\u52a1\u5f15\u64ce\uff08\u8df3\u8f6c\u5230\u5fae\u670d\u52a1\u5f15\u64ce\uff09 \u2713 \u2713 \u2713 \u521b\u5efa\u5e94\u7528 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2717 \u66f4\u65b0\u526f\u672c\u6570\u91cf \u2713 \u2713 \u2717 \u66f4\u65b0\u5bb9\u5668\u955c\u50cf \u2713 \u2713 \u2717 \u7f16\u8f91\u6d41\u6c34\u7ebf \u2713 \u2713 \u2717 \u5e94\u7528\u5206\u7ec4 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2717 \u2717 \u7f16\u8f91\u6807\u7b7e \u2713 \u2717 \u2717 \u7f16\u8f91\u8d44\u6e90\u914d\u989d \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u6d41\u6c34\u7ebf \u67e5\u770b\u6d41\u6c34\u7ebf \u2713 \u2713 \u2713 \u67e5\u770b\u8fd0\u884c\u8bb0\u5f55 \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u8fd0\u884c \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u590d\u5236 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u53d6\u6d88\u8fd0\u884c \u2713 \u2713 \u2717 \u51ed\u8bc1 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u6301\u7eed\u90e8\u7f72 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u540c\u6b65 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u4ee3\u7801\u4ed3\u5e93 \u67e5\u770b \u2713 \u2713 \u2717 \u5bfc\u5165 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u7070\u5ea6\u53d1\u5e03 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u53d1\u5e03 \u2713 \u2713 \u2717 \u7ee7\u7eed\u53d1\u5e03 \u2713 \u2713 \u2717 \u7ec8\u6b62\u53d1\u5e03 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2717 \u56de\u6eda \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717

    Note

    \u6709\u5173\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u7684\u5b8c\u6574\u4ecb\u7ecd\uff0c\u8bf7\u53c2\u8003\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u3002

    "},{"location":"ghippo/permissions/baize.html","title":"AI Lab \u6743\u9650\u8bf4\u660e","text":"

    AI Lab\u652f\u6301\u56db\u79cd\u7528\u6237\u89d2\u8272\uff1a

    • Admin / Baize Owner\uff1a\u62e5\u6709 \u5f00\u53d1\u63a7\u5236\u53f0 \u548c \u8fd0\u7ef4\u7ba1\u7406 \u5168\u90e8\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7684\u6743\u9650\u3002
    • Workspace Admin\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7684\u6743\u9650\u3002
    • Workspace Editor\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u66f4\u65b0\u3001\u67e5\u8be2\u7684\u6743\u9650\u3002
    • Workspace Viewer\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u67e5\u8be2\u7684\u6743\u9650\u3002

    \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

    \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Admin / Baize Owner Workspace Admin Workspace Editor Workspace Viewer \u5f00\u53d1\u63a7\u5236\u53f0 \u6982\u89c8 \u67e5\u770b\u6982\u89c8 \u2713 \u2713 \u2713 \u2713 Notebooks \u67e5\u770b Notebooks \u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b Notebooks \u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 \u521b\u5efa Notebooks \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0 Notebooks \u2713 \u2713 \u2713 \u2717 \u514b\u9686 Notebooks \u2713 \u2713 \u2717 \u2717 \u505c\u6b62 Notebooks \u2713 \u2713 \u2713 \u2717 \u542f\u52a8 Notebooks \u2713 \u2713 \u2713 \u2717 \u5220\u9664 Notebooks \u2713 \u2713 \u2717 \u2717 \u4efb\u52a1\u5217\u8868 \u67e5\u770b\u4efb\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4efb\u52a1\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u514b\u9686\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b\u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u4efb\u52a1\u5206\u6790 \u67e5\u770b\u4efb\u52a1\u5206\u6790 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4efb\u52a1\u5206\u6790\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u5220\u9664\u4efb\u52a1\u5206\u6790 \u2713 \u2713 \u2717 \u2717 \u6570\u636e\u96c6\u5217\u8868 \u67e5\u770b\u6570\u636e\u96c6\u5217\u8868 \u2713 \u2713 \u2713 \u2717 \u521b\u5efa\u6570\u636e\u96c6 \u2713 \u2713 \u2717 \u2717 \u91cd\u65b0\u540c\u6b65\u6570\u636e\u96c6 \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0\u51ed\u8bc1 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u6570\u636e\u96c6 \u2713 \u2713 \u2717 \u2717 \u73af\u5883\u7ba1\u7406 \u67e5\u770b\u73af\u5883\u7ba1\u7406\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u73af\u5883 \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0\u73af\u5883 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u73af\u5883 \u2713 \u2713 \u2717 \u2717 \u63a8\u7406\u670d\u52a1 \u67e5\u770b\u63a8\u7406\u670d\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u63a8\u7406\u670d\u52a1\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u505c\u6b62\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u542f\u52a8\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2717 \u2717 \u8fd0\u7ef4\u7ba1\u7406 \u6982\u89c8 \u67e5\u770b\u6982\u89c8 \u2713 \u2717 \u2717 \u2717 GPU \u7ba1\u7406 \u67e5\u770b GPU \u7ba1\u7406\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u961f\u5217\u7ba1\u7406 \u67e5\u770b\u961f\u5217\u7ba1\u7406\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u961f\u5217\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u961f\u5217 \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u961f\u5217 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u961f\u5217 \u2713 \u2717 \u2717 \u2717"},{"location":"ghippo/permissions/kpanda.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

    \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f7f\u7528\u4ee5\u4e0b\u89d2\u8272\uff1a

    • Admin / Kpanda Owner
    • Cluster Admin
    • NS Admin
    • NS Editor
    • NS Viewer

    Note

    • \u6709\u5173\u6743\u9650\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u4f53\u7cfb\u8bf4\u660e\u3002
    • \u6709\u5173\u89d2\u8272\u7684\u521b\u5efa\u3001\u7ba1\u7406\u548c\u5220\u9664\uff0c\u8bf7\u53c2\u9605\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u3002
    • Cluster Admin , NS Admin , NS Editor , NS Viewer \u7684\u6743\u9650\u4ec5\u5728\u5f53\u524d\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u5185\u751f\u6548\u3002

    \u5404\u89d2\u8272\u6240\u5177\u5907\u7684\u6743\u9650\u5982\u4e0b\uff1a

    \u4e00\u7ea7\u529f\u80fd \u4e8c\u7ea7\u529f\u80fd \u6743\u9650\u70b9 Cluster Admin Ns Admin Ns Editor NS Viewer \u96c6\u7fa4 \u96c6\u7fa4\u5217\u8868 \u67e5\u770b\u96c6\u7fa4\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u63a5\u5165\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u521b\u5efa\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u64cd\u4f5c \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713\uff08\u4ec5\u5217\u8868\u5185\u53ef\u4ee5\u8fdb\u5165\uff09 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91\u57fa\u7840\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u4e0b\u8f7d kubeconfig \u2713 \u2713\uff08\u4e0b\u8f7dns\u6743\u9650\u7684kubeconfig\uff09 \u2713\uff08\u4e0b\u8f7d ns \u6743\u9650\u7684 kubeconfig\uff09 \u2713\uff08\u4e0b\u8f7d ns \u6743\u9650\u7684 kubeconfig\uff09 \u89e3\u9664\u63a5\u5165 \u2717 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u91cd\u8bd5 \u2717 \u2717 \u2717 \u2717 \u5378\u8f7d\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u6982\u89c8 \u67e5\u770b\u96c6\u7fa4\u6982\u89c8 \u2713 \u2717 \u2717 \u2717 \u8282\u70b9\u7ba1\u7406 \u63a5\u5165\u8282\u70b9 \u2717 \u2717 \u2717 \u2717 \u67e5\u770b\u8282\u70b9\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u8282\u70b9\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u6682\u505c\u8c03\u5ea6 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6c61\u70b9 \u2713 \u2717 \u2717 \u2717 \u79fb\u9664\u8282\u70b9 \u2717 \u2717 \u2717 \u2717 \u65e0\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9 ns \u7ed1\u5b9a\u7684 ws \u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 IP \u6c60\u67e5\u770b \u2713 \u2713 \u2713 \u2717 \u7f51\u5361\u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u6682\u505c\u5347\u7ea7 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u6709\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b88\u62a4\u8fdb\u7a0b \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u5b9e\u4f8b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b9a\u65f6\u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4efb\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bb9\u5668\u7ec4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u4e0a\u4f20\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u4e0b\u8f7d\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u5bb9\u5668\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 ReplicaSet \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 Helm \u5e94\u7528 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 Helm \u6a21\u677f \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u5b89\u88c5\u6a21\u677f \u2713 \u2713\uff08ns\u7ea7\u522b\u7684\u53ef\u4ee5\uff09 \u2717 \u2717 \u4e0b\u8f7d\u6a21\u677f \u2713 \u2713 \u2713\uff08\u548c\u67e5\u770b\u63a5\u53e3\u4e00\u81f4\uff09 \u2713 Helm \u4ed3\u5e93 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u514b\u9686\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u5237\u65b0\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u670d\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u8def\u7531 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u7f51\u7edc\u7b56\u7565 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u7f51\u7edc\u914d\u7f6e \u914d\u7f6e\u7f51\u7edc \u2713 \u2713 \u2713 \u2717 \u81ea\u5b9a\u4e49\u8d44\u6e90 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91 YAML \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 PVC \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9sc \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u514b\u9686 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 PV \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91 YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0 \u2713 \u2717 \u2717 \u2717 \u514b\u9686 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 SC \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0 \u2713 \u2717 \u2717 \u2717 \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u2713 \u2717 \u2717 \u2717 \u89e3\u9664\u6388\u6743 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u914d\u7f6e\u9879 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u5bfc\u51fa\u914d\u7f6e\u9879 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bc6\u94a5 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u5bfc\u51fa\u5bc6\u94a5 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2713 \u2717 \u2717 \u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4 \u2717 \u2717 \u2717 \u2717 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u2717 \u2717 \u2717 \u2717 \u914d\u989d\u7ba1\u7406 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u64cd\u4f5c \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 helm \u64cd\u4f5c \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u96c6\u7fa4\u5347\u7ea7 \u67e5\u770b\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5347\u7ea7 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u8bbe\u7f6e addon \u63d2\u4ef6\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u9ad8\u7ea7\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2713 \u2717 \u2717 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u2713 \u2717 \u2717 \u2717 \u914d\u989d\u7ba1\u7406 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5de5\u4f5c\u8d1f\u8f7d \u65e0\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u6682\u505c\u5347\u7ea7 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u56de\u9000 \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e\u6ce8\u89e3 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u6709\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b88\u62a4\u8fdb\u7a0b \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b9a\u65f6\u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bb9\u5668\u7ec4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u4e0a\u4f20\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u4e0b\u8f7d\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u5bb9\u5668\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5907\u4efd\u6062\u590d \u5e94\u7528\u5907\u4efd \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u8ba1\u5212 \u2713 \u2717 \u2717 \u2717 \u6682\u505c \u2713 \u2717 \u2717 \u2717 \u7acb\u5373\u6267\u884c \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u6062\u590d\u5907\u4efd \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u6062\u590d\u5907\u4efd \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5907\u4efd\u70b9 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5bf9\u8c61\u5b58\u50a8 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 ETCD\u5907\u4efd \u67e5\u770b\u5907\u4efd\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u5907\u4efd\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u505c\u6b62/\u542f\u52a8 \u2713 \u2717 \u2717 \u2717 \u7acb\u5373\u6267\u884c \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u5907\u4efd\u8bb0\u5f55 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u5907\u4efd\u70b9\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u5de1\u68c0 \u96c6\u7fa4\u5de1\u68c0 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u5de1\u68c0 \u2713 \u2717 \u2717 \u2717 \u8bbe\u7f6e \u2713 \u2717 \u2717 \u2717 \u6743\u9650\u7ba1\u7406 \u96c6\u7fa4\u6743\u9650 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a cluster admin \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns admin \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns editor \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns viewer \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91\u6743\u9650 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u5b89\u5168\u7ba1\u7406 \u5408\u89c4\u6027\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u4e0b\u8f7d\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u914d\u7f6e\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u914d\u7f6e\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u6743\u9650\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u6f0f\u6d1e\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717"},{"location":"ghippo/permissions/mcamel.html","title":"\u4e2d\u95f4\u4ef6\u6570\u636e\u670d\u52a1\u6743\u9650\u8bf4\u660e","text":"

    \u4e2d\u95f4\u4ef6\u6570\u636e\u670d\u52a1\u5305\u62ec\u4e86\u8bb8\u591a\u7cbe\u9009\u7684\u4e2d\u95f4\u4ef6\uff1aMySQL\u3001Redis\u3001MongoDB\u3001PostgreSQL\u3001Elasticsearch\u3001Kafka\u3001RabbitMQ\u3001RocketMQ\u3001MinIO\u3002 \u4e2d\u95f4\u4ef6\u6570\u636e\u670d\u52a1\u652f\u6301\u4e09\u79cd\u7528\u6237\u89d2\u8272\uff1a

    • Workspace Admin
    • Workspace Editor
    • Workspace Viewer

    \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

    "},{"location":"ghippo/permissions/mcamel.html#_2","title":"\u4e2d\u95f4\u4ef6\u6570\u636e\u670d\u52a1\u6743\u9650\u8bf4\u660e","text":"\u4e2d\u95f4\u4ef6\u6a21\u5757 \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer MySQL MySQL \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 MySQL \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u5907\u4efd\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u521b\u5efa\u5907\u4efd \u2713 \u2713 \u2717 \u5b9e\u4f8b\u4fee\u6539\u81ea\u52a8\u5907\u4efd\u4efb\u52a1 \u2713 \u2713 \u2717 \u4f7f\u7528\u5907\u4efd\u521b\u5efa\u65b0\u5b9e\u4f8b \u2713 \u2713 \u2717 \u5907\u4efd\u914d\u7f6e\u7ba1\u7406 \u5907\u4efd\u914d\u7f6e\u5217\u8868 \u2713 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u914d\u7f6e \u2713 \u2717 \u2717 \u4fee\u6539\u5907\u4efd\u914d\u7f6e \u2713 \u2717 \u2717 \u5220\u9664\u5907\u4efd\u914d\u7f6e \u2713 \u2717 \u2717 RabbitMQ RabbitMQ \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 RabbitMQ \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 Elasticsearch Elasticsearch \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 Elasticsearch \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 Redis Redis \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 Redis \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 Kafka Kafka \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 Kafka \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 MinIO MinIO \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 MinIO \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717"},{"location":"ghippo/permissions/mspider.html","title":"\u670d\u52a1\u7f51\u683c\u6743\u9650\u8bf4\u660e","text":"

    \u670d\u52a1\u7f51\u683c\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u7528\u6237\u89d2\u8272\uff1a

    • Admin
    • Workspace Admin
    • Workspace Editor
    • Workspace Viewer

    Info

    \u81ea DCE 5.0 \u7684 v0.6.0 \u8d77\uff0c\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u652f\u6301\u4e3a\u670d\u52a1\u7f51\u683c\u914d\u7f6e\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c \u5373\u9664\u4e86\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u89d2\u8272\u5916\uff0c\u8fd8\u53ef\u4ee5\u5728\u670d\u52a1\u7f51\u683c\u4e2d\u81ea\u5b9a\u4e49\u89d2\u8272\u5e76\u6388\u4e88\u4e0d\u540c\u6743\u9650\u3002

    \u8fd9\u4e9b\u89d2\u8272\u7684\u5177\u4f53\u6743\u9650\u5982\u4e0b\u8868\u6240\u793a\u3002

    \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Admin Workspace Admin Workspace Editor Workspace Viewer \u670d\u52a1\u7f51\u683c\u5217\u8868 \u521b\u5efa\u7f51\u683c \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u7f51\u683c \u2713 \u2713 \u2717 \u2717 \u5220\u9664\u7f51\u683c \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u7f51\u683c\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u7f51\u683c\u6982\u89c8 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u670d\u52a1\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u670d\u52a1\u5217\u8868 \u521b\u5efa VM \u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u670d\u52a1\u5217\u8868 \u5220\u9664 VM \u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u670d\u52a1\u6761\u76ee \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u865a\u62df\u670d\u52a1 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u76ee\u6807\u89c4\u5219 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u7f51\u5173\u89c4\u5219 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u5bf9\u7b49\u8eab\u4efd\u8ba4\u8bc1 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u8bf7\u6c42\u8eab\u4efd\u8ba4\u8bc1 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u6388\u6743\u7b56\u7565 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u7ba1\u7406 \u542f\u7528\u6ce8\u5165 \u2713 \u2713 \u2713 \u2717 \u7981\u7528\u6ce8\u5165 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u8fb9\u8f66\u670d\u52a1\u53d1\u73b0\u8303\u56f4 \u2713 \u2713 \u2713 \u2717 \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u7ba1\u7406 \u542f\u7528\u6ce8\u5165 \u2713 \u2713 \u2713 \u2717 \u7981\u7528\u6ce8\u5165 \u2713 \u2713 \u2713 \u2717 \u8fb9\u8f66\u8d44\u6e90\u8bbe\u7f6e \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u5168\u5c40\u8fb9\u8f66\u6ce8\u5165 \u542f\u7528\u6ce8\u5165 \u2713 \u2713 \u2717 \u2717 \u7981\u7528\u6ce8\u5165 \u2713 \u2713 \u2717 \u2717 \u8fb9\u8f66\u8d44\u6e90\u8bbe\u7f6e \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u96c6\u7fa4\u7eb3\u7ba1 (\u4ec5\u6258\u7ba1\u7f51\u683c) \u96c6\u7fa4\u63a5\u5165 \u2713 \u2713 \u2717 \u2717 \u96c6\u7fa4\u79fb\u9664 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u7f51\u683c\u7f51\u5173 \u521b\u5efa \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 Istio \u8d44\u6e90\u7ba1\u7406 \u521b\u5efa \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 TLS \u8bc1\u4e66\u7ba1\u7406 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u591a\u4e91\u7f51\u7edc\u4e92\u8054 (\u6258\u7ba1\u3001\u4e13\u7528\u7f51\u683c) \u542f\u7528 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u5173\u95ed \u2713 \u2713 \u2717 \u2717 \u7cfb\u7edf\u5347\u7ea7 Istio \u5347\u7ea7 \u2713 \u2713 \u2717 \u2717 \u8fb9\u8f66\u5347\u7ea7 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406 \u7ed1\u5b9a \u2713 \u2717 \u2717 \u2717 \u89e3\u7ed1 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b \u2713 \u2717 \u2717 \u2717"},{"location":"ghippo/permissions/skoala.html","title":"\u5fae\u670d\u52a1\u5f15\u64ce\u6743\u9650\u8bf4\u660e","text":"

    \u5fae\u670d\u52a1\u5f15\u64ce\u5305\u62ec\u5fae\u670d\u52a1\u6cbb\u7406\u4e2d\u5fc3\u548c\u5fae\u670d\u52a1\u7f51\u5173\u4e24\u90e8\u5206\u3002\u5fae\u670d\u52a1\u5f15\u64ce\u652f\u6301\u4e09\u79cd\u7528\u6237\u89d2\u8272\uff1a

    • Workspace Admin
    • Workspace Editor
    • Workspace Viewer

    \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

    "},{"location":"ghippo/permissions/skoala.html#_2","title":"\u5fae\u670d\u52a1\u6cbb\u7406\u4e2d\u5fc3\u6743\u9650\u8bf4\u660e","text":"\u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u6258\u7ba1\u6ce8\u518c\u4e2d\u5fc3\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u6258\u7ba1\u6ce8\u518c\u4e2d\u5fc3 \u67e5\u770b\u57fa\u7840\u4fe1\u606f \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u91cd\u542f \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u4e0a/\u4e0b\u7ebf \u2713 \u2713 \u2717 \u5fae\u670d\u52a1\u547d\u540d\u7a7a\u95f4 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u5fae\u670d\u52a1\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u7b5b\u9009\u547d\u540d\u7a7a\u95f4 \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u6cbb\u7406 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u89c4\u5219-Sentinel \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u89c4\u5219-Mesh \u6cbb\u7406 \u2713 \u2713 \u2717 \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u4e0a/\u4e0b\u7ebf \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u7b56\u7565-Sentinel \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u7b56\u7565-Mesh \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 YAML \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u5fae\u670d\u52a1\u914d\u7f6e\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u7b5b\u9009\u547d\u540d\u7a7a\u95f4 \u2713 \u2713 \u2713 \u6279\u91cf\u5220\u9664 \u2713 \u2713 \u2717 \u5bfc\u51fa/\u5bfc\u5165 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2717 \u514b\u9686 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5386\u53f2\u67e5\u8be2 \u2713 \u2713 \u2713 \u56de\u6eda \u2713 \u2713 \u2717 \u76d1\u542c\u67e5\u8be2 \u2713 \u2713 \u2713 \u4e1a\u52a1\u76d1\u63a7 \u67e5\u770b \u2713 \u2713 \u2713 \u8d44\u6e90\u76d1\u63a7 \u67e5\u770b \u2713 \u2713 \u2713 \u8bf7\u6c42\u65e5\u5fd7 \u67e5\u770b \u2713 \u2713 \u2713 \u5b9e\u4f8b\u65e5\u5fd7 \u67e5\u770b \u2713 \u2713 \u2713 \u63d2\u4ef6\u4e2d\u5fc3 \u67e5\u770b \u2713 \u2713 \u2713 \u5f00\u542f \u2713 \u2713 \u2717 \u5173\u95ed \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u67e5\u770b\u8be6\u60c5 \u2713 \u2713 \u2713 \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u63a5\u5165 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u79fb\u9664 \u2713 \u2717 \u2717 \u5fae\u670d\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u67e5\u770b\u8be6\u60c5 \u2713 \u2713 \u2713 \u6cbb\u7406 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u7b56\u7565-Mesh \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 YAML \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717"},{"location":"ghippo/permissions/skoala.html#_3","title":"\u5fae\u670d\u52a1\u7f51\u5173\u6743\u9650\u8bf4\u660e","text":"\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u7f51\u5173\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u7f51\u5173\u5b9e\u4f8b \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u8bca\u65ad\u6a21\u5f0f \u67e5\u770b \u2713 \u2713 \u2713 \u8c03\u8bd5 \u2713 \u2713 \u2717 \u670d\u52a1\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u6dfb\u52a0 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u670d\u52a1\u8be6\u60c5 \u67e5\u770b \u2713 \u2713 \u2713 \u670d\u52a1\u6765\u6e90\u7ba1\u7406 \u67e5\u770b \u2713 \u2713 \u2713 \u6dfb\u52a0 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 API \u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u8bf7\u6c42\u65e5\u5fd7 \u67e5\u770b \u2713 \u2713 \u2713 \u5b9e\u4f8b\u65e5\u5fd7 \u67e5\u770b \u2713 \u2713 \u2713 \u63d2\u4ef6\u4e2d\u5fc3 \u67e5\u770b \u2713 \u2713 \u2713 \u542f\u7528 \u2713 \u2713 \u2717 \u7981\u7528 \u2713 \u2713 \u2717 \u63d2\u4ef6\u914d\u7f6e \u67e5\u770b \u2713 \u2713 \u2713 \u542f\u7528 \u2713 \u2713 \u2717 \u57df\u540d\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u6dfb\u52a0 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u76d1\u63a7\u544a\u8b66 \u67e5\u770b \u2713 \u2713 \u2713

    Note

    \u6709\u5173\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u7684\u5b8c\u6574\u4ecb\u7ecd\uff0c\u8bf7\u53c2\u8003\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u3002

    "},{"location":"ghippo/user-guide/password.html","title":"\u5bc6\u7801\u91cd\u7f6e","text":"

    \u5982\u679c\u60a8\u5fd8\u8bb0\u5bc6\u7801\uff0c\u53ef\u4ee5\u6309\u672c\u9875\u9762\u8bf4\u660e\u91cd\u7f6e\u5bc6\u7801\u3002

    "},{"location":"ghippo/user-guide/password.html#_2","title":"\u91cd\u7f6e\u5bc6\u7801\u6b65\u9aa4","text":"

    \u7ba1\u7406\u5458\u6700\u521d\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u65f6\uff0c\u4f1a\u4e3a\u5176\u8bbe\u7f6e\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002 \u8be5\u7528\u6237\u767b\u5f55\u540e\uff0c\u5728 \u4e2a\u4eba\u4e2d\u5fc3 \u586b\u5199\u90ae\u7bb1\u5e76\u4fee\u6539\u5bc6\u7801\u3002 \u82e5\u8be5\u7528\u6237\u672a\u8bbe\u7f6e\u90ae\u7bb1\uff0c\u5219\u53ea\u80fd\u8054\u7cfb\u7ba1\u7406\u5458\u8fdb\u884c\u5bc6\u7801\u91cd\u7f6e\u3002

    1. \u5982\u679c\u7528\u6237\u5fd8\u8bb0\u4e86\u5bc6\u7801\uff0c\u53ef\u4ee5\u5728\u767b\u5f55\u754c\u9762\u70b9\u51fb \u5fd8\u8bb0\u5bc6\u7801 \u3002

    2. \u8f93\u5165\u767b\u5f55\u90ae\u7bb1\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002

    3. \u5728\u90ae\u7bb1\u4e2d\u627e\u5230\u5bc6\u7801\u91cd\u7f6e\u90ae\u4ef6\uff0c\u70b9\u51fb\u4e0b\u65b9\u94fe\u63a5\u8fdb\u884c\u5bc6\u7801\u91cd\u7f6e\uff0c\u94fe\u63a5\u65f6\u6548 5 \u5206\u949f\u3002

    4. \u5728\u624b\u673a\u7b49\u7ec8\u7aef\u8bbe\u5907\u5b89\u88c5\u652f\u6301 2FA \u52a8\u6001\u53e3\u4ee4\u751f\u6210\u7684\u5e94\u7528\uff08\u5982 Google Authenticator\uff09\uff0c\u6309\u7167\u9875\u9762\u63d0\u793a\u914d\u7f6e\u52a8\u6001\u53e3\u4ee4\u4ee5\u6fc0\u6d3b\u8d26\u6237\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002

    5. \u8bbe\u7f6e\u65b0\u5bc6\u7801\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002\u8bbe\u7f6e\u65b0\u5bc6\u7801\u7684\u8981\u6c42\u4e0e\u521b\u5efa\u7528\u6237\u65f6\u7684\u5bc6\u7801\u89c4\u5219\u4e00\u81f4\u3002

    6. \u4fee\u6539\u5bc6\u7801\u6210\u529f\uff0c\u76f4\u63a5\u8df3\u8f6c\u9996\u9875\u3002

    "},{"location":"ghippo/user-guide/password.html#_3","title":"\u91cd\u7f6e\u5bc6\u7801\u6d41\u7a0b","text":"

    \u6574\u4e2a\u5bc6\u7801\u91cd\u7f6e\u7684\u6d41\u7a0b\u793a\u610f\u56fe\u5982\u4e0b\u3002

    graph TB\n\npass[\u5fd8\u8bb0\u5bc6\u7801] --> usern[\u8f93\u5165\u7528\u6237\u540d]\n--> button[\u70b9\u51fb\u53d1\u9001\u9a8c\u8bc1\u90ae\u4ef6\u7684\u6309\u94ae] --> judge1[\u5224\u65ad\u7528\u6237\u540d\u662f\u5426\u6b63\u786e]\n\n    judge1 -.\u6b63\u786e.-> judge2[\u5224\u65ad\u662f\u5426\u7ed1\u5b9a\u90ae\u7bb1]\n    judge1 -.\u9519\u8bef.-> tip1[\u63d0\u793a\u7528\u6237\u540d\u4e0d\u6b63\u786e]\n\n        judge2 -.\u5df2\u7ed1\u5b9a\u90ae\u7bb1.-> send[\u53d1\u9001\u91cd\u7f6e\u90ae\u4ef6]\n        judge2 -.\u672a\u7ed1\u5b9a\u90ae\u7bb1.-> tip2[\u63d0\u793a\u672a\u7ed1\u5b9a\u90ae\u7bb1<br>\u8054\u7cfb\u7ba1\u7406\u5458\u91cd\u7f6e\u5bc6\u7801]\n\nsend --> click[\u70b9\u51fb\u90ae\u4ef6\u4e2d\u7684\u94fe\u63a5] --> config[\u914d\u7f6e\u52a8\u6001\u53e3\u4ee4] --> reset[\u91cd\u7f6e\u5bc6\u7801]\n--> success[\u6210\u529f\u91cd\u7f6e\u5bc6\u7801]\n\nclassDef plain fill:#ddd,stroke:#fff,stroke-width:1px,color:#000;\nclassDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff;\nclassDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;\n\nclass pass,usern,button,tip1,send,tip2,send,click,config,reset,success plain;\nclass judge1,judge2 k8s
    "},{"location":"ghippo/user-guide/access-control/custom-role.html","title":"\u81ea\u5b9a\u4e49\u89d2\u8272","text":"

    DCE 5.0 \u652f\u6301\u521b\u5efa\u4e09\u79cd\u8303\u56f4\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff1a

    • \u5e73\u53f0\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u5e73\u53f0\u6240\u6709\u76f8\u5173\u8d44\u6e90\u751f\u6548
    • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u8be5\u7528\u6237\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u751f\u6548
    • \u6587\u4ef6\u5939\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u8be5\u7528\u6237\u6240\u5728\u7684\u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u8d44\u6e90\u751f\u6548
    "},{"location":"ghippo/user-guide/access-control/custom-role.html#_2","title":"\u521b\u5efa\u5e73\u53f0\u89d2\u8272","text":"

    \u5e73\u53f0\u89d2\u8272\u662f\u7c97\u7c92\u5ea6\u89d2\u8272\uff0c\u80fd\u591f\u5bf9\u6240\u9009\u6743\u9650\u5185\u7684\u6240\u6709\u8d44\u6e90\u751f\u6548\u3002\u5982\u6388\u6743\u540e\u7528\u6237\u53ef\u4ee5\u62e5\u6709\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\u3001\u6240\u6709\u96c6\u7fa4\u7684\u7f16\u8f91\u6743\u9650\u7b49\uff0c\u800c\u4e0d\u80fd\u9488\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u67d0\u4e2a\u96c6\u7fa4\u751f\u6548\u3002\u5e73\u53f0\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\u53ef\u4ee5\u5728\u7528\u6237/\u7528\u6237\u7ec4\u5217\u8868\u4e2d\u8fdb\u884c\u6388\u6743\u3002

    1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

    2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u5e73\u53f0\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    4. \u5e73\u53f0\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\uff0c\u4e3a\u8fd9\u4e2a\u89d2\u8272\u6dfb\u52a0\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

    "},{"location":"ghippo/user-guide/access-control/custom-role.html#_3","title":"\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u662f\u7ec6\u7c92\u5ea6\u89d2\u8272\uff0c\u9488\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u751f\u6548\u3002\u5982\u5728\u8be5\u89d2\u8272\u4e2d\u9009\u62e9\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u5168\u90e8\u6743\u9650\uff0c\u7ed9\u7528\u6237\u5728\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u6388\u4e88\u8be5\u89d2\u8272\u540e\uff0c\u8be5\u7528\u6237\u5c06\u4ec5\u80fd\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u7684\u529f\u80fd\uff0c\u800c\u65e0\u6cd5\u4f7f\u7528\u5982\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u7b49\u5176\u4ed6\u6a21\u5757\u7684\u80fd\u529b\u3002\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u4e2d\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4\u540e\u8fdb\u884c\u6388\u6743\u3002

    1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

    2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    4. \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\uff0c\u8bbe\u5b9a\u8fd9\u4e2a\u89d2\u8272\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u5de5\u4f5c\u7a7a\u95f4\u3002

    "},{"location":"ghippo/user-guide/access-control/custom-role.html#_4","title":"\u521b\u5efa\u6587\u4ef6\u5939\u89d2\u8272","text":"

    \u6587\u4ef6\u5939\u89d2\u8272\u9488\u5bf9\u67d0\u4e2a\u6587\u4ef6\u5939\u548c\u8be5\u6587\u4ef6\u5939\u4e0b\u7684\u6240\u6709\u5b50\u6587\u4ef6\u5939\u53ca\u5de5\u4f5c\u7a7a\u95f4\u751f\u6548\u3002\u5982\u5728\u8be5\u89d2\u8272\u4e2d\u9009\u62e9\u5168\u5c40\u7ba1\u7406-\u5de5\u4f5c\u7a7a\u95f4\u548c\u5e94\u7528\u5de5\u4f5c\u53f0\uff0c\u7ed9\u7528\u6237\u5728\u67d0\u4e2a\u6587\u4ef6\u5939\u4e0b\u6388\u4e88\u8be5\u89d2\u8272\u540e\uff0c\u8be5\u7528\u6237\u5c06\u80fd\u591f\u5728\u5176\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u76f8\u5173\u529f\u80fd\uff0c\u800c\u65e0\u6cd5\u4f7f\u7528\u5982\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u7b49\u5176\u4ed6\u6a21\u5757\u7684\u80fd\u529b\u3002\u6587\u4ef6\u5939\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u4e2d\u9009\u62e9\u6587\u4ef6\u5939\u540e\u8fdb\u884c\u6388\u6743\u3002 \u8bf7\u6ce8\u610f\uff1a\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u591a\u4e91\u7f16\u6392\u3001\u955c\u50cf\u4ed3\u5e93\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u670d\u52a1\u7f51\u683c\u548c\u4e2d\u95f4\u4ef6\u5747\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u5728\u521b\u5efa\u6587\u4ef6\u5939\u89d2\u8272\u65f6\u5927\u90e8\u5206\u573a\u666f\u4e0b\u9700\u8981\u7528\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u8bf7\u6ce8\u610f\u5728\u5168\u5c40\u7ba1\u7406-\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u52fe\u9009\u3002

    1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

    2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u6587\u4ef6\u5939\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    4. \u6587\u4ef6\u5939\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u6587\u4ef6\u5939\u6388\u6743\uff0c\u8bbe\u5b9a\u8fd9\u4e2a\u89d2\u8272\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u6587\u4ef6\u5939\u3002

    "},{"location":"ghippo/user-guide/access-control/docking.html","title":"\u63a5\u5165\u7ba1\u7406","text":"

    \u5f53\u4e24\u4e2a\u6216\u4e24\u4e2a\u4ee5\u4e0a\u5e73\u53f0\u76f8\u4e92\u5bf9\u63a5\u6216\u5d4c\u5165\u65f6\uff0c\u901a\u5e38\u9700\u8981\u8fdb\u884c\u7528\u6237\u4f53\u7cfb\u6253\u901a\u3002 \u5728\u7528\u6237\u6253\u901a\u8fc7\u7a0b\u4e2d\uff0c \u63a5\u5165\u7ba1\u7406 \u4e3b\u8981\u63d0\u4f9b SSO \u63a5\u5165\u80fd\u529b\uff0c\u5f53\u60a8\u9700\u8981\u5c06 DCE 5.0 \u4f5c\u4e3a\u7528\u6237\u6e90\u63a5\u5165\u5ba2\u6237\u7cfb\u7edf\u65f6\uff0c \u60a8\u53ef\u4ee5\u901a\u8fc7 \u63a5\u5165\u7ba1\u7406 \u521b\u5efa SSO \u63a5\u5165\u6765\u5b9e\u73b0\u3002

    "},{"location":"ghippo/user-guide/access-control/docking.html#sso","title":"\u521b\u5efa SSO \u63a5\u5165","text":"

    \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u63a5\u5165\u7ba1\u7406 \uff0c\u8fdb\u5165\u63a5\u5165\u7ba1\u7406\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa SSO \u63a5\u5165 \u3002

    2. \u5728 \u521b\u5efa SSO \u63a5\u5165 \u9875\u9762\u586b\u5199\u5ba2\u6237\u7aef ID\u3002

      • \u5ba2\u6237\u7aef ID\uff1a\u5bf9\u5e94 client \u540d\u79f0
      • \u5ba2\u6237\u7aef\u8bbf\u95ee\u5730\u5740\uff1a\u7528\u6237\u5b8c\u6210\u767b\u5f55\u5e76\u901a\u8fc7\u8eab\u4efd\u9a8c\u8bc1\u540e\uff0c\u8ba4\u8bc1\u670d\u52a1\u5668\u7528\u6765\u91cd\u5b9a\u5411\u7528\u6237\u7684\u5730\u5740\uff0c\u5373 Callback URL

    3. \u521b\u5efa SSO \u63a5\u5165\u6210\u529f\u540e\uff0c\u5728 \u63a5\u5165\u7ba1\u7406 \u7ba1\u7406\u5217\u8868\uff0c\u70b9\u51fb\u521a\u521b\u5efa\u7684\u5ba2\u6237\u7aef ID \u8fdb\u5165\u8be6\u60c5\uff0c \u590d\u5236\u5ba2\u6237\u7aef ID\u3001\u5bc6\u94a5\u548c\u5355\u70b9\u767b\u5f55 URL \u4fe1\u606f\uff0c\u586b\u5199\u81f3\u5ba2\u6237\u7cfb\u7edf\u5b8c\u6210\u7528\u6237\u4f53\u7cfb\u6253\u901a\u3002

      Note

      realm \u540d\u79f0\u4e3a ghippo\u3002

    "},{"location":"ghippo/user-guide/access-control/global.html","title":"\u7cfb\u7edf\u89d2\u8272","text":""},{"location":"ghippo/user-guide/access-control/global.html#_2","title":"\u9002\u7528\u573a\u666f","text":"

    DCE 5.0 \u63d0\u4f9b\u4e86\u9884\u7f6e\u7684\u7cfb\u7edf\u89d2\u8272\uff0c\u5e2e\u52a9\u7528\u6237\u7b80\u5316\u89d2\u8272\u6743\u9650\u7684\u4f7f\u7528\u6b65\u9aa4\u3002

    Note

    DCE 5.0 \u63d0\u4f9b\u4e86\u4e09\u79cd\u7c7b\u578b\u7684\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u4e3a\u5e73\u53f0\u89d2\u8272\u3001\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u548c\u6587\u4ef6\u5939\u89d2\u8272\u3002

    • \u5e73\u53f0\u89d2\u8272\uff1a\u5bf9\u5e73\u53f0\u4e0a\u6240\u6709\u76f8\u5173\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u3002
    • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff1a\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u5177\u4f53\u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\u3002
    • \u6587\u4ef6\u5939\u89d2\u8272\uff1a\u5bf9\u67d0\u4e2a\u6587\u4ef6\u5939\u3001\u5b50\u6587\u4ef6\u5939\u53ca\u5176\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u5177\u4f53\u6587\u4ef6\u5939\u6388\u6743\u3002
    "},{"location":"ghippo/user-guide/access-control/global.html#_3","title":"\u5e73\u53f0\u89d2\u8272","text":"

    \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 5 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aAdmin\u3001IAM Owner\u3001Audit Owner\u3001 Kpanda Owner \u548c Workspace and Folder Owner \u3002\u8fd9 5 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

    \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Admin \u7cfb\u7edf\u89d2\u8272 \u5168\u90e8 \u5e73\u53f0\u7ba1\u7406\u5458\uff0c\u7ba1\u7406\u6240\u6709\u5e73\u53f0\u8d44\u6e90\uff0c\u4ee3\u8868\u5e73\u53f0\u7684\u6700\u9ad8\u6743\u9650 IAM Owner \u7cfb\u7edf\u89d2\u8272 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u7ba1\u7406\u7528\u6237/\u7528\u6237\u7ec4\u53ca\u6388\u6743 Audit Owner \u7cfb\u7edf\u89d2\u8272 \u5ba1\u8ba1\u65e5\u5fd7 \u5ba1\u8ba1\u65e5\u5fd7\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u8bbe\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u7b56\u7565\uff0c\u5bfc\u51fa\u5ba1\u8ba1\u65e5\u5fd7 Kpanda Owner \u7cfb\u7edf\u89d2\u8272 \u5bb9\u5668\u7ba1\u7406 \u5bb9\u5668\u7ba1\u7406\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u521b\u5efa/\u63a5\u5165\u96c6\u7fa4\uff0c\u90e8\u7f72\u5e94\u7528\uff0c\u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u4e88\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u76f8\u5173\u7684\u6743\u9650 Workspace and Folder Owner \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u521b\u5efa\u6587\u4ef6\u5939/\u5de5\u4f5c\u7a7a\u95f4\uff0c\u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u6587\u4ef6\u5939/\u5de5\u4f5c\u7a7a\u95f4\u7684\u76f8\u5173\u6743\u9650\uff0c\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u7b49\u529f\u80fd"},{"location":"ghippo/user-guide/access-control/global.html#_4","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

    \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 3 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aWorkspace Admin\u3001Workspace Editor\u3001Workspace Viewer\u3002\u8fd9 3 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

    \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Workspace Admin \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650 Workspace Editor \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u7f16\u8f91\u6743\u9650 Workspace Viewer \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u53ea\u8bfb\u6743\u9650"},{"location":"ghippo/user-guide/access-control/global.html#_5","title":"\u6587\u4ef6\u5939\u89d2\u8272","text":"

    \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 3 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aFolder Admin\u3001Folder Editor\u3001Folder Viewer\u3002\u8fd9 3 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

    \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Folder Admin \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650 Folder Editor \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u7f16\u8f91\u6743\u9650 Folder Viewer \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u53ea\u8bfb\u6743\u9650"},{"location":"ghippo/user-guide/access-control/group.html","title":"\u7528\u6237\u7ec4","text":"

    \u7528\u6237\u7ec4\u662f\u7528\u6237\u7684\u96c6\u5408\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u52a0\u5165\u7528\u6237\u7ec4\uff0c\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u89d2\u8272\u6743\u9650\u3002\u901a\u8fc7\u7528\u6237\u7ec4\u6279\u91cf\u5730\u7ed9\u7528\u6237\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u4ee5\u66f4\u597d\u5730\u7ba1\u7406\u7528\u6237\u53ca\u5176\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/group.html#_2","title":"\u9002\u7528\u573a\u666f","text":"

    \u5f53\u7528\u6237\u6743\u9650\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ea\u9700\u5c06\u5176\u79fb\u5230\u76f8\u5e94\u7684\u7528\u6237\u7ec4\u4e0b\uff0c\u4e0d\u4f1a\u5bf9\u5176\u4ed6\u7528\u6237\u4ea7\u751f\u5f71\u54cd\u3002

    \u5f53\u7528\u6237\u7ec4\u7684\u6743\u9650\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ea\u9700\u4fee\u6539\u7528\u6237\u7ec4\u7684\u89d2\u8272\u6743\u9650\uff0c\u5373\u53ef\u5e94\u7528\u5230\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u3002

    "},{"location":"ghippo/user-guide/access-control/group.html#_3","title":"\u521b\u5efa\u7528\u6237\u7ec4","text":"

    \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \uff0c\u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa\u7528\u6237\u7ec4 \u3002

    2. \u5728 \u521b\u5efa\u7528\u6237\u7ec4 \u9875\u9762\u586b\u5199\u7528\u6237\u7ec4\u4fe1\u606f\u3002

    3. \u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u7528\u6237\u7ec4\u6210\u529f\uff0c\u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\u9875\u9762\u3002\u5217\u8868\u4e2d\u7684\u7b2c\u4e00\u884c\u662f\u65b0\u521b\u5efa\u7684\u7528\u6237\u7ec4\u3002

    "},{"location":"ghippo/user-guide/access-control/group.html#_4","title":"\u4e3a\u7528\u6237\u7ec4\u6388\u6743","text":"

    \u524d\u63d0\uff1a\u8be5\u7528\u6237\u7ec4\u5df2\u5b58\u5728\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \uff0c\u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb ... -> \u6388\u6743 \u3002

    2. \u5728 \u6388\u6743 \u9875\u9762\u52fe\u9009\u9700\u8981\u7684\u89d2\u8272\u6743\u9650\uff08\u53ef\u591a\u9009\uff09\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u4e3a\u7528\u6237\u7ec4\u7684\u6388\u6743\u3002\u81ea\u52a8\u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb\u67d0\u4e2a\u7528\u6237\u7ec4\uff0c\u53ef\u4ee5\u67e5\u770b\u7528\u6237\u7ec4\u88ab\u6388\u4e88\u7684\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/group.html#_5","title":"\u7ed9\u7528\u6237\u7ec4\u6dfb\u52a0\u7528\u6237","text":"
    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5728\u67d0\u4e2a\u7528\u6237\u7ec4\u53f3\u4fa7\uff0c\u70b9\u51fb ... -> \u6dfb\u52a0\u7528\u6237 \u3002

    2. \u5728 \u6dfb\u52a0\u7528\u6237 \u9875\u9762\u70b9\u9009\u9700\u8981\u6dfb\u52a0\u7684\u7528\u6237\uff08\u53ef\u591a\u9009\uff09\u3002\u82e5\u6ca1\u6709\u53ef\u9009\u7684\u7528\u6237\uff0c\u70b9\u51fb \u524d\u5f80\u521b\u5efa\u65b0\u7528\u6237 \uff0c\u5148\u524d\u5f80\u521b\u5efa\u7528\u6237\uff0c\u518d\u8fd4\u56de\u8be5\u9875\u9762\u70b9\u51fb \u5237\u65b0 \u6309\u94ae\uff0c\u663e\u793a\u521a\u521b\u5efa\u7684\u7528\u6237\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u7ed9\u7528\u6237\u7ec4\u6dfb\u52a0\u7528\u6237\u3002

    Note

    \u7528\u6237\u7ec4\u4e2d\u7684\u7528\u6237\u4f1a\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u6743\u9650\uff1b\u53ef\u4ee5\u5728\u7528\u6237\u7ec4\u8be6\u60c5\u4e2d\u67e5\u770b\u52a0\u5165\u8be5\u7ec4\u7684\u7528\u6237\u3002

    "},{"location":"ghippo/user-guide/access-control/group.html#_6","title":"\u5220\u9664\u7528\u6237\u7ec4","text":"

    \u8bf4\u660e\uff1a\u5220\u9664\u7528\u6237\u7ec4\uff0c\u4e0d\u4f1a\u5220\u9664\u7ec4\u5185\u7684\u7528\u6237\uff0c\u4f46\u7ec4\u5185\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u7ee7\u627f\u8be5\u7ec4\u7684\u6743\u9650

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5728\u67d0\u4e2a\u7528\u6237\u7ec4\u53f3\u4fa7\uff0c\u70b9\u51fb ... -> \u5220\u9664 \u3002

    2. \u70b9\u51fb \u79fb\u9664 \u5220\u9664\u7528\u6237\u7ec4\u3002

    3. \u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5c4f\u5e55\u4e0a\u65b9\u5c06\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

    Note

    \u8bf4\u660e\uff1a\u5220\u9664\u7528\u6237\u7ec4\uff0c\u4e0d\u4f1a\u5220\u9664\u7ec4\u5185\u7684\u7528\u6237\uff0c\u4f46\u7ec4\u5185\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u7ee7\u627f\u8be5\u7ec4\u7684\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/iam.html","title":"\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236","text":"

    IAM\uff08Identity and Access Management\uff0c\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\uff09\u662f\u5168\u5c40\u7ba1\u7406\u7684\u4e00\u4e2a\u91cd\u8981\u6a21\u5757\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u6a21\u5757\u521b\u5efa\u3001\u7ba1\u7406\u548c\u9500\u6bc1\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\uff0c\u5e76\u4f7f\u7528\u7cfb\u7edf\u89d2\u8272\u548c\u81ea\u5b9a\u4e49\u89d2\u8272\u63a7\u5236\u5176\u4ed6\u7528\u6237\u4f7f\u7528 DCE \u5e73\u53f0\u7684\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/iam.html#_2","title":"\u4f18\u52bf","text":"
    • \u7b80\u6d01\u6d41\u7545

      \u4f01\u4e1a\u5185\u90e8\u7684\u7ed3\u6784\u548c\u89d2\u8272\u53ef\u80fd\u975e\u5e38\u590d\u6742\uff0c\u9879\u76ee\u3001\u5de5\u4f5c\u5c0f\u7ec4\u53ca\u6388\u6743\u7684\u7ba1\u7406\u90fd\u5728\u4e0d\u65ad\u5730\u53d8\u5316\u3002\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u91c7\u7528\u6e05\u6670\u6574\u6d01\u7684\u9875\u9762\uff0c\u6253\u901a\u7528\u6237\u3001\u7528\u6237\u7ec4\u3001\u89d2\u8272\u4e4b\u95f4\u7684\u6388\u6743\u5173\u7cfb\uff0c\u4ee5\u6700\u77ed\u94fe\u8def\u5b9e\u73b0\u5bf9\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u7684\u6388\u6743\u3002

    • \u9002\u5f53\u7684\u89d2\u8272

      \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e3a\u6bcf\u4e2a\u5b50\u6a21\u5757\u9884\u5b9a\u4e49\u4e86\u4e00\u4e2a\u7ba1\u7406\u5458\u89d2\u8272\uff0c\u65e0\u9700\u7528\u6237\u7ef4\u62a4\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5c06\u5e73\u53f0\u9884\u5b9a\u4e49\u7684\u7cfb\u7edf\u89d2\u8272\u6388\u6743\u7ed9\u7528\u6237\uff0c\u5b9e\u73b0\u5e73\u53f0\u7684\u6a21\u5757\u5316\u7ba1\u7406\uff08\u7ec6\u7c92\u5ea6\u6743\u9650\u8bf7\u53c2\u9605\u6743\u9650\u7ba1\u7406\u3002

    • \u4f01\u4e1a\u7ea7\u8bbf\u95ee\u63a7\u5236

      \u5f53\u60a8\u5e0c\u671b\u672c\u4f01\u4e1a\u5458\u5de5\u53ef\u4ee5\u4f7f\u7528\u4f01\u4e1a\u5185\u90e8\u7684\u8ba4\u8bc1\u7cfb\u7edf\u767b\u5f55 DCE \u5e73\u53f0\uff0c\u800c\u4e0d\u9700\u8981\u5728 DCE \u5e73\u53f0\u521b\u5efa\u5bf9\u5e94\u7684\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u5efa\u7acb\u60a8\u6240\u5728\u4f01\u4e1a\u4e0e DCE \u7684\u4fe1\u4efb\u5173\u7cfb\uff0c\u901a\u8fc7\u8054\u5408\u8ba4\u8bc1\u4f7f\u5458\u5de5\u4f7f\u7528\u4f01\u4e1a\u5df2\u6709\u8d26\u53f7\u76f4\u63a5\u767b\u5f55 DCE \u5e73\u53f0\uff0c\u5b9e\u73b0\u5355\u70b9\u767b\u5f55\u3002

    "},{"location":"ghippo/user-guide/access-control/iam.html#_3","title":"\u4f7f\u7528\u6d41\u7a0b","text":"

    \u6709\u5173\u8bbf\u95ee\u63a7\u5236\u7684\u5e38\u89c4\u6d41\u7a0b\u4e3a\uff1a

    graph TD\n    login[\u767b\u5f55] --> user[\u521b\u5efa\u7528\u6237]\n    user --> auth[\u4e3a\u7528\u6237\u6388\u6743]\n    auth --> group[\u521b\u5efa\u7528\u6237\u7ec4]\n    group --> role[\u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272]\n    role --> id[\u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546]\n\n classDef plain fill:#ddd,stroke:#fff,stroke-width:4px,color:#000;\n classDef k8s fill:#326ce5,stroke:#fff,stroke-width:4px,color:#fff;\n classDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;\n class login,user,auth,group,role,id cluster;\n\nclick login \"https://docs.daocloud.io/ghippo/install/login.html\"\nclick user \"https://docs.daocloud.io/ghippo/user-guide/access-control/user.html\"\nclick auth \"https://docs.daocloud.io/ghippo/user-guide/access-control/role.html\"\nclick group \"https://docs.daocloud.io/ghippo/user-guide/access-control/group.html\"\nclick role \"https://docs.daocloud.io/ghippo/user-guide/access-control/custom-role.html\"\nclick id \"https://docs.daocloud.io/ghippo/user-guide/access-control/idprovider.html\"
    "},{"location":"ghippo/user-guide/access-control/idprovider.html","title":"\u8eab\u4efd\u63d0\u4f9b\u5546","text":"

    \u5168\u5c40\u7ba1\u7406\u652f\u6301\u57fa\u4e8e LDAP \u548c OIDC \u534f\u8bae\u7684\u5355\u70b9\u767b\u5f55\uff0c\u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u5e0c\u671b\u7ba1\u7406\u7ec4\u7ec7\u5185\u7684\u6210\u5458\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728\u60a8\u7684 DCE 5.0 \u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002\u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\u7684\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/idprovider.html#_2","title":"\u57fa\u672c\u6982\u5ff5","text":"
    • \u8eab\u4efd\u63d0\u4f9b\u5546\uff08Identity Provider\uff0c\u7b80\u79f0 IdP\uff09

      \u8d1f\u8d23\u6536\u96c6\u548c\u5b58\u50a8\u7528\u6237\u8eab\u4efd\u4fe1\u606f\u3001\u7528\u6237\u540d\u3001\u5bc6\u7801\u7b49\uff0c\u5728\u7528\u6237\u767b\u5f55\u65f6\u8d1f\u8d23\u8ba4\u8bc1\u7528\u6237\u7684\u670d\u52a1\u3002\u5728\u4f01\u4e1a\u4e0e DCE 5.0 \u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u8eab\u4efd\u63d0\u4f9b\u5546\u6307\u4f01\u4e1a\u81ea\u8eab\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u3002

    • \u670d\u52a1\u63d0\u4f9b\u5546\uff08Service Provider\uff0c\u7b80\u79f0 SP\uff09

      \u670d\u52a1\u63d0\u4f9b\u5546\u901a\u8fc7\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546 IdP \u5efa\u7acb\u4fe1\u4efb\u5173\u7cfb\uff0c\u4f7f\u7528 IDP \u63d0\u4f9b\u7684\u7528\u6237\u4fe1\u606f\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u5177\u4f53\u7684\u670d\u52a1\u3002\u5728\u4f01\u4e1a\u4e0e DCE 5.0 \u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u670d\u52a1\u63d0\u4f9b\u5546\u6307 DCE 5.0\u3002

    • LDAP

      LDAP \u6307\u8f7b\u578b\u76ee\u5f55\u8bbf\u95ee\u534f\u8bae\uff08Lightweight Directory Access Protocol\uff09\uff0c\u5e38\u7528\u4e8e\u5355\u70b9\u767b\u5f55\uff0c\u5373\u7528\u6237\u53ef\u4ee5\u5728\u591a\u4e2a\u670d\u52a1\u4e2d\u4f7f\u7528\u4e00\u4e2a\u8d26\u53f7\u5bc6\u7801\u8fdb\u884c\u767b\u5f55\u3002\u5168\u5c40\u7ba1\u7406\u652f\u6301 LDAP \u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\uff0c\u56e0\u6b64\u4e0e DCE 5.0 \u901a\u8fc7 LDAP \u534f\u8bae\u5efa\u7acb\u8eab\u4efd\u8ba4\u8bc1\u7684\u4f01\u4e1a IdP \u5fc5\u987b\u652f\u6301 LDAP \u534f\u8bae\u3002\u5173\u4e8e LDAP \u7684\u8be6\u7ec6\u63cf\u8ff0\u8bf7\u53c2\u89c1\uff1a\u6b22\u8fce\u4f7f\u7528 LDAP\u3002

    • OIDC

      OIDC \u662f OpenID Connect \u7684\u7b80\u79f0\uff0c\u662f\u4e00\u4e2a\u57fa\u4e8e OAuth 2.0 \u534f\u8bae\u7684\u8eab\u4efd\u8ba4\u8bc1\u6807\u51c6\u534f\u8bae\u3002\u5168\u5c40\u7ba1\u7406\u652f\u6301\u4f7f\u7528 OIDC \u534f\u8bae\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\uff0c\u56e0\u6b64\u4e0e DCE 5.0 \u901a\u8fc7 OIDC \u534f\u8bae\u5efa\u7acb\u8eab\u4efd\u8ba4\u8bc1\u7684\u4f01\u4e1a IdP \u5fc5\u987b\u652f\u6301 OIDC \u534f\u8bae\u3002\u5173\u4e8e OIDC \u7684\u8be6\u7ec6\u63cf\u8ff0\u8bf7\u53c2\u89c1\uff1a\u6b22\u8fce\u4f7f\u7528 OpenID Connect\u3002

    • OAuth 2.0

      OAuth 2.0 \u662f Open Authorization 2.0 \u7684\u7b80\u79f0\uff0c\u662f\u4e00\u79cd\u5f00\u653e\u6388\u6743\u534f\u8bae\uff0c\u6388\u6743\u6846\u67b6\u652f\u6301\u7b2c\u4e09\u65b9\u5e94\u7528\u7a0b\u5e8f\u4ee5\u81ea\u5df1\u7684\u540d\u4e49\u83b7\u53d6\u8bbf\u95ee\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/idprovider.html#_3","title":"\u529f\u80fd\u7279\u6027","text":"
    • \u7ba1\u7406\u5458\u65e0\u9700\u91cd\u65b0\u521b\u5efa DCE 5.0 \u7528\u6237

      \u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u524d\uff0c\u7ba1\u7406\u5458\u9700\u8981\u5728\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u548c DCE 5.0 \u4e2d\u5206\u522b\u4e3a\u7528\u6237\u521b\u5efa\u8d26\u53f7\uff1b\u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u540e\uff0c\u4f01\u4e1a\u7ba1\u7406\u5458\u53ea\u9700\u8981\u5728\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u4e2d\u4e3a\u7528\u6237\u521b\u5efa\u8d26\u53f7\uff0c\u7528\u6237\u5373\u53ef\u540c\u65f6\u8bbf\u95ee\u4e24\u4e2a\u7cfb\u7edf\uff0c\u964d\u4f4e\u4e86\u4eba\u5458\u7ba1\u7406\u6210\u672c\u3002

    • \u7528\u6237\u65e0\u9700\u8bb0\u4f4f\u4e24\u5957\u5e73\u53f0\u8d26\u53f7

      \u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u524d\uff0c\u7528\u6237\u8bbf\u95ee\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u548c DCE 5.0 \u9700\u8981\u4f7f\u7528\u4e24\u4e2a\u7cfb\u7edf\u7684\u8d26\u53f7\u767b\u5f55\uff1b\u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u540e\uff0c\u7528\u6237\u5728\u672c\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u4e2d\u767b\u5f55\u5373\u53ef\u8bbf\u95ee\u4e24\u4e2a\u7cfb\u7edf\u3002

    "},{"location":"ghippo/user-guide/access-control/ldap.html","title":"LDAP","text":"

    LDAP \u82f1\u6587\u5168\u79f0\u4e3a Lightweight Directory Access Protocol\uff0c\u5373\u8f7b\u578b\u76ee\u5f55\u8bbf\u95ee\u534f\u8bae\uff0c\u8fd9\u662f\u4e00\u4e2a\u5f00\u653e\u7684\u3001\u4e2d\u7acb\u7684\u5de5\u4e1a\u6807\u51c6\u5e94\u7528\u534f\u8bae\uff0c \u901a\u8fc7 IP \u534f\u8bae\u63d0\u4f9b\u8bbf\u95ee\u63a7\u5236\u548c\u7ef4\u62a4\u5206\u5e03\u5f0f\u4fe1\u606f\u7684\u76ee\u5f55\u4fe1\u606f\u3002

    \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u60a8\u7684\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u652f\u6301 LDAP \u534f\u8bae\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e LDAP \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728 DCE 5.0 \u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\u7684\u6743\u9650\u3002

    \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5176\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5de6\u4e0b\u89d2\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb \u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546 \u6309\u94ae\u3002

    3. \u5728 LDAP \u9875\u7b7e\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u540e\u70b9\u51fb \u4fdd\u5b58 \uff0c\u5efa\u7acb\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u4fe1\u4efb\u5173\u7cfb\u53ca\u7528\u6237\u7684\u6620\u5c04\u5173\u7cfb\u3002

      \u5b57\u6bb5 \u63cf\u8ff0 \u7c7b\u578b\uff08Vendor\uff09 \u652f\u6301 LDAP (Lightweight Directory Access Protocol) \u548c AD (Active Directory) \u8eab\u4efd\u63d0\u4f9b\u5546\u540d\u79f0\uff08UI display name\uff09 \u7528\u4e8e\u533a\u5206\u4e0d\u540c\u7684\u8eab\u4efd\u63d0\u4f9b\u5546 \u670d\u52a1\u5668\uff08Connection URL\uff09 LDAP \u670d\u52a1\u7684\u5730\u5740\u548c\u7aef\u53e3\u53f7\uff0c\u5982 ldap://10.6.165.2:30061 \u7528\u6237\u540d\u79f0\uff08Bind DN\uff09 LDAP \u7ba1\u7406\u5458\u7684 DN\uff0cKeycloak \u5c06\u4f7f\u7528\u8be5 DN \u6765\u8bbf\u95ee LDAP \u670d\u52a1\u5668 \u5bc6\u7801\uff08Bind credentials\uff09 LDAP \u7ba1\u7406\u5458\u7684\u5bc6\u7801\u3002\u8be5\u5b57\u6bb5\u53ef\u4ee5\u4ece vault \u4e2d\u83b7\u53d6\u5176\u503c\uff0c\u4f7f\u7528 ${vault.ID} \u683c\u5f0f\u3002 \u7528\u6237 DN\uff08Users DN\uff09 \u60a8\u7684\u7528\u6237\u6240\u5728\u7684 LDAP \u6811\u7684\u5b8c\u6574 DN\u3002\u6b64 DN \u662f LDAP \u7528\u6237\u7684\u7236\u7ea7\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u60a8\u7684\u5178\u578b\u7528\u6237\u7684 DN \u7c7b\u4f3c\u4e8e\u201cuid='john',ou=users,dc=example,dc=com\u201d\uff0c\u5219\u53ef\u4ee5\u662f\u201cou=users,dc=example,dc=com\u201d\u3002 \u7528\u6237\u5bf9\u8c61\u7c7b\uff08User object classes\uff09 LDAP \u4e2d\u7528\u6237\u7684 LDAP objectClass \u5c5e\u6027\u7684\u6240\u6709\u503c\uff0c\u4ee5\u9017\u53f7\u5206\u9694\u3002\u4f8b\u5982\uff1a\u201cinetOrgPerson\uff0corganizationalPerson\u201d\u3002\u65b0\u521b\u5efa\u7684 Keycloak \u7528\u6237\u5c06\u4e0e\u6240\u6709\u8fd9\u4e9b\u5bf9\u8c61\u7c7b\u4e00\u8d77\u5199\u5165 L\u200b\u200bDAP\uff0c\u5e76\u4e14\u53ea\u8981\u73b0\u6709 LDAP \u7528\u6237\u8bb0\u5f55\u5305\u542b\u6240\u6709\u8fd9\u4e9b\u5bf9\u8c61\u7c7b\uff0c\u5c31\u4f1a\u627e\u5230\u5b83\u4eec\u3002 \u662f\u5426\u542f\u7528TLS\uff08Enable StartTLS\uff09 \u542f\u7528\u540e\u5c06\u52a0\u5bc6 DCE 5.0 \u4e0e LDAP \u7684\u8fde\u63a5 \u9884\u8bbe\u6743\u9650\uff08Default permission\uff09 \u540c\u6b65\u540e\u7684\u7528\u6237/\u7528\u6237\u7ec4\u9ed8\u8ba4\u6ca1\u6709\u4efb\u4f55\u6743\u9650 \u5168\u540d\u6620\u5c04\uff08First/Last name mapping\uff09 \u5bf9\u5e94 First name \u548c Last Name \u7528\u6237\u540d\u6620\u5c04\uff08User name mapping\uff09 \u7528\u6237\u552f\u4e00\u7684\u7528\u6237\u540d \u90ae\u7bb1\u6620\u5c04\uff08Mailbox mapping\uff09 \u7528\u6237\u7684\u90ae\u7bb1

      \u9ad8\u7ea7\u914d\u7f6e

      \u5b57\u6bb5 \u63cf\u8ff0 \u662f\u5426\u542f\u7528\uff08Enable or not\uff09 \u9ed8\u8ba4\u542f\u7528\uff0c\u5173\u95ed\u540e\u8be5 LDAP \u914d\u7f6e\u4e0d\u751f\u6548 \u81ea\u52a8\u540c\u6b65\u7528\u6237\uff08Periodic full sync\uff09 \u9ed8\u8ba4\u4e0d\u542f\u7528\uff0c\u542f\u7528\u540e\u53ef\u914d\u7f6e\u540c\u6b65\u5468\u671f\uff0c\u5982\u6bcf\u5c0f\u65f6\u540c\u6b65\u4e00\u6b21 \u6570\u636e\u540c\u6b65\u6a21\u5f0f\uff08Edit mode\uff09 \u53ea\u8bfb\u6a21\u5f0f\u4e0d\u4f1a\u4fee\u6539 LDAP \u7684\u6e90\u6570\u636e\uff1b\u5199\u5165\u6a21\u5f0f\u5728\u5e73\u53f0\u7f16\u8f91\u7528\u6237\u4fe1\u606f\u540e\uff0c\u6570\u636e\u5c06\u540c\u6b65\u56deLDAP \u8bfb\u53d6\u8d85\u65f6\uff08Read timeout\uff09 \u5f53LDAP\u6570\u636e\u91cf\u8f83\u5927\u65f6\uff0c\u8c03\u6574\u8be5\u6570\u503c\u53ef\u4ee5\u6709\u6548\u907f\u514d\u63a5\u53e3\u8d85\u65f6 \u7528\u6237\u5bf9\u8c61\u8fc7\u6ee4\u5668\uff08User LDAP filter\uff09 \u7528\u4e8e\u8fc7\u6ee4\u641c\u7d22\u7528\u6237\u7684\u9644\u52a0 LDAP \u8fc7\u6ee4\u5668\u3002\u5982\u679c\u60a8\u4e0d\u9700\u8981\u989d\u5916\u7684\u8fc7\u6ee4\u5668\uff0c\u8bf7\u5c06\u5176\u7559\u7a7a\u3002\u786e\u4fdd\u5b83\u4ee5\u201c(\u201d\u5f00\u5934\uff0c\u5e76\u4ee5\u201c)\u201d\u7ed3\u5c3e\u3002 \u7528\u6237\u540d\u5c5e\u6027\uff08Username LDAP attribute\uff09 LDAP \u5c5e\u6027\u7684\u540d\u79f0\uff0c\u6620\u5c04\u4e3a Keycloak \u7528\u6237\u540d\u3002\u5bf9\u4e8e\u8bb8\u591a LDAP \u670d\u52a1\u5668\u4f9b\u5e94\u5546\u6765\u8bf4\uff0c\u5b83\u53ef\u4ee5\u662f\u201cuid\u201d\u3002\u5bf9\u4e8e Active Directory\uff0c\u5b83\u53ef\u4ee5\u662f\u201csAMAccountName\u201d\u6216\u201ccn\u201d\u3002\u5e94\u4e3a\u60a8\u60f3\u8981\u4ece LDAP \u5bfc\u5165\u5230 Keycloak \u7684\u6240\u6709 LDAP \u7528\u6237\u8bb0\u5f55\u586b\u5199\u8be5\u5c5e\u6027\u3002 RDN\u5c5e\u6027\uff08RDN LDAP attribute\uff09 LDAP \u5c5e\u6027\u540d\u79f0\uff0c\u4f5c\u4e3a\u5178\u578b\u7528\u6237DN\u7684RDN\uff08\u9876\u7ea7\u5c5e\u6027\uff09\u3002\u901a\u5e38\u5b83\u4e0e\u7528\u6237\u540d LDAP \u5c5e\u6027\u76f8\u540c\uff0c\u4f46\u8fd9\u4e0d\u662f\u5fc5\u9700\u7684\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e Active Directory\uff0c\u5f53\u7528\u6237\u540d\u5c5e\u6027\u53ef\u80fd\u662f\u201csAMAccountName\u201d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u201ccn\u201d\u4f5c\u4e3a RDN \u5c5e\u6027\u3002 UUID\u5c5e\u6027\uff08UUID LDAP attribute\uff09 LDAP \u5c5e\u6027\u7684\u540d\u79f0\uff0c\u7528\u4f5c LDAP \u4e2d\u5bf9\u8c61\u7684\u552f\u4e00\u5bf9\u8c61\u6807\u8bc6\u7b26 (UUID)\u3002\u5bf9\u4e8e\u8bb8\u591a LDAP \u670d\u52a1\u5668\u4f9b\u5e94\u5546\u6765\u8bf4\uff0c\u5b83\u662f\u201centryUUID\u201d\uff1b\u7136\u800c\u6709\u4e9b\u662f\u4e0d\u540c\u7684\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e Active Directory\uff0c\u5b83\u5e94\u8be5\u662f\u201cobjectGUID\u201d\u3002\u5982\u679c\u60a8\u7684 LDAP \u670d\u52a1\u5668\u4e0d\u652f\u6301 UUID \u6982\u5ff5\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5728\u6811\u4e2d\u7684 LDAP \u7528\u6237\u4e4b\u95f4\u5e94\u8be5\u552f\u4e00\u7684\u4efb\u4f55\u5176\u4ed6\u5c5e\u6027\u3002\u4f8b\u5982\u201cuid\u201d\u6216\u201centryDN\u201d\u3002
    4. \u5728 \u540c\u6b65\u7528\u6237\u7ec4 \u9875\u7b7e\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u914d\u7f6e\u7528\u6237\u7ec4\u7684\u6620\u5c04\u5173\u7cfb\u540e\uff0c\u518d\u6b21\u70b9\u51fb \u4fdd\u5b58 \u3002

      \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u57fa\u51c6 DN \u7528\u6237\u7ec4\u5728 LDAP \u6811\u72b6\u7ed3\u6784\u4e2d\u7684\u4f4d\u7f6e ou=groups,dc=example,dc=org \u7528\u6237\u7ec4\u5bf9\u8c61\u8fc7\u6ee4\u5668 \u7528\u6237\u7ec4\u7684\u5bf9\u8c61\u7c7b\uff0c\u5982\u679c\u9700\u8981\u66f4\u591a\u7c7b\uff0c\u5219\u7528\u9017\u53f7\u5206\u9694\u3002\u5728\u5178\u578b\u7684 LDAP \u90e8\u7f72\u4e2d\uff0c\u901a\u5e38\u662f \u201cgroupOfNames\u201d\uff0c\u7cfb\u7edf\u5df2\u81ea\u52a8\u586b\u5165\uff0c\u5982\u9700\u66f4\u6539\u8bf7\u76f4\u63a5\u7f16\u8f91\u3002* \u8868\u793a\u6240\u6709\u3002 * \u7528\u6237\u7ec4\u540d cn \u4e0d\u53ef\u66f4\u6539

    Note

    1. \u5f53\u60a8\u901a\u8fc7 LDAP \u534f\u8bae\u5c06\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e0e DCE 5.0 \u5efa\u7acb\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u53ef\u901a\u8fc7\u624b\u52a8\u540c\u6b65\u6216\u81ea\u52a8\u540c\u6b65\u7684\u65b9\u5f0f\uff0c\u5c06\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u7528\u6237\u6216\u7528\u6237\u7ec4\u4e00\u6b21\u6027\u540c\u6b65\u81f3 DCE 5.0\u3002
    2. \u540c\u6b65\u540e\u7ba1\u7406\u5458\u53ef\u5bf9\u7528\u6237\u7ec4/\u7528\u6237\u7ec4\u8fdb\u884c\u6279\u91cf\u6388\u6743\uff0c\u540c\u65f6\u7528\u6237\u53ef\u901a\u8fc7\u5728\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u8d26\u53f7/\u5bc6\u7801\u767b\u5f55 DCE 5.0\u3002
    3. \u6709\u5173\u5b9e\u9645\u64cd\u4f5c\u6559\u7a0b\uff0c\u8bf7\u53c2\u9605 LDAP \u64cd\u4f5c\u6f14\u793a\u89c6\u9891\u3002
    "},{"location":"ghippo/user-guide/access-control/oauth2.0.html","title":"OAuth 2.0 - \u4f01\u4e1a\u5fae\u4fe1","text":"

    \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u4e2d\u7684\u6210\u5458\u5747\u7ba1\u7406\u5728\u4f01\u4e1a\u5fae\u4fe1\u4e2d\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e OAuth 2.0 \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c \u800c\u4e0d\u5fc5\u5728 DCE 5.0 \u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\u7684\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/oauth2.0.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb OAuth2.0 \u9875\u7b7e\u3002\u586b\u5199\u8868\u5355\u5b57\u6bb5\uff0c\u5efa\u7acb\u4e0e\u4f01\u4e1a\u5fae\u4fe1\u7684\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

    "},{"location":"ghippo/user-guide/access-control/oauth2.0.html#_2","title":"\u4f01\u4e1a\u5fae\u4fe1\u4e2d\u5bf9\u5e94\u7684\u5b57\u6bb5","text":"

    Note

    \u5bf9\u63a5\u524d\u9700\u8981\u5728\u4f01\u4e1a\u5fae\u4fe1\u7ba1\u7406\u540e\u53f0\u4e2d\u521b\u5efa\u81ea\u5efa\u5e94\u7528\uff0c\u53c2\u9605\u5982\u4f55\u521b\u5efa\u81ea\u5efa\u5e94\u7528\u94fe\u63a5\u3002

    \u5b57\u6bb5 \u63cf\u8ff0 \u4f01\u4e1a ID \u4f01\u4e1a\u5fae\u4fe1\u7684 ID Agent ID \u81ea\u5efa\u5e94\u7528\u7684 ID ClientSecret \u81ea\u5efa\u5e94\u7528\u7684 Secret

    \u4f01\u4e1a\u5fae\u4fe1 ID\uff1a

    Agent ID \u548c ClientSecret\uff1a

    "},{"location":"ghippo/user-guide/access-control/oidc.html","title":"\u521b\u5efa\u548c\u7ba1\u7406 OIDC","text":"

    OIDC\uff08OpenID Connect\uff09\u662f\u5efa\u7acb\u5728 OAuth 2.0 \u57fa\u7840\u4e0a\u7684\u4e00\u4e2a\u8eab\u4efd\u5c42\uff0c\u662f\u57fa\u4e8e OAuth2 \u534f\u8bae\u7684\u8eab\u4efd\u8ba4\u8bc1\u6807\u51c6\u534f\u8bae\u3002

    \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u60a8\u7684\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u652f\u6301 OIDC \u534f\u8bae\uff0c \u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e OIDC \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728 DCE 5.0 \u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\u7684\u6743\u9650\u3002

    \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb OIDC \u9875\u7b7e -> \u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546 \u6309\u94ae\u3002

    3. \u586b\u5199\u8868\u5355\u5b57\u6bb5\uff0c\u5efa\u7acb\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

      \u5b57\u6bb5 \u63cf\u8ff0 \u63d0\u4f9b\u5546\u540d\u79f0 \u663e\u793a\u5728\u767b\u5f55\u9875\u4e0a\uff0c\u662f\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u5165\u53e3 \u8ba4\u8bc1\u65b9\u5f0f \u5ba2\u6237\u7aef\u8eab\u4efd\u9a8c\u8bc1\u65b9\u6cd5\u3002\u5982\u679c JWT \u4f7f\u7528\u79c1\u94a5\u7b7e\u540d\uff0c\u8bf7\u4e0b\u62c9\u9009\u62e9 JWT signed with private key \u3002\u5177\u4f53\u53c2\u9605 Client Authentication\u3002 \u5ba2\u6237\u7aef ID \u5ba2\u6237\u7aef\u7684 ID \u5ba2\u6237\u7aef\u5bc6\u94a5 \u5ba2\u6237\u7aef\u5bc6\u7801 \u5ba2\u6237\u7aef URL \u53ef\u901a\u8fc7\u8eab\u4efd\u63d0\u4f9b\u5546 well-known \u63a5\u53e3\u4e00\u952e\u83b7\u53d6\u767b\u5f55 URL\u3001Token URL\u3001\u7528\u6237\u4fe1\u606f URL \u548c\u767b\u51fa URL \u81ea\u52a8\u5173\u8054 \u5f00\u542f\u540e\u5f53\u8eab\u4efd\u63d0\u4f9b\u5546\u7528\u6237\u540d/\u90ae\u7bb1\u4e0e DCE 5.0 \u7528\u6237\u540d/\u90ae\u7bb1\u91cd\u590d\u65f6\u5c06\u81ea\u52a8\u4f7f\u4e8c\u8005\u5173\u8054

    Note

    1. \u5f53\u7528\u6237\u901a\u8fc7\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u5b8c\u6210\u7b2c\u4e00\u6b21\u767b\u5f55 DCE 5.0 \u540e\uff0c\u7528\u6237\u4fe1\u606f\u624d\u4f1a\u88ab\u540c\u6b65\u81f3 DCE 5.0 \u7684 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237\u5217\u8868 \u3002
    2. \u521d\u6b21\u767b\u5f55\u7684\u7528\u6237\u4e0d\u4f1a\u88ab\u8d4b\u4e88\u4efb\u4f55\u9ed8\u8ba4\u6743\u9650\uff0c\u9700\u8981\u6709\u7ba1\u7406\u5458\u7ed9\u5176\u8d4b\u6743\uff08\u7ba1\u7406\u5458\u53ef\u4ee5\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u3001\u5b50\u6a21\u5757\u7ba1\u7406\u5458\u6216\u8d44\u6e90\u7ba1\u7406\u5458\uff09\u3002
    3. \u6709\u5173\u5b9e\u9645\u64cd\u4f5c\u6559\u7a0b\uff0c\u8bf7\u53c2\u9605 OIDC \u64cd\u4f5c\u6f14\u793a\u89c6\u9891\uff0c\u4e5f\u53ef\u53c2\u8003 Azure OpenID Connect (OIDC) \u63a5\u5165\u6d41\u7a0b\u3002
    "},{"location":"ghippo/user-guide/access-control/oidc.html#_1","title":"\u7528\u6237\u8eab\u4efd\u8ba4\u8bc1\u4ea4\u4e92\u6d41\u7a0b","text":"

    \u7528\u6237\u8eab\u4efd\u8ba4\u8bc1\u7684\u4ea4\u4e92\u6d41\u7a0b\u4e3a\uff1a

    1. \u4f7f\u7528\u6d4f\u89c8\u5668\u53d1\u8d77\u5355\u70b9\u767b\u5f55 DCE 5.0 \u7684\u8bf7\u6c42\u3002
    2. DCE 5.0 \u6839\u636e\u767b\u5f55\u94fe\u63a5\u4e2d\u643a\u5e26\u7684\u4fe1\u606f\uff0c\u67e5\u627e \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u8eab\u4efd\u63d0\u4f9b\u5546 \u4e2d\u5bf9\u5e94\u7684\u914d\u7f6e\u4fe1\u606f\uff0c \u6784\u5efa OIDC \u6388\u6743 Request\uff0c\u53d1\u9001\u7ed9\u6d4f\u89c8\u5668\u3002
    3. \u6d4f\u89c8\u5668\u6536\u5230\u8bf7\u6c42\u540e\uff0c\u8f6c\u53d1 OIDC \u6388\u6743 Request \u7ed9\u4f01\u4e1a IdP\u3002
    4. \u5728\u4f01\u4e1a IdP \u7684\u767b\u5f55\u9875\u9762\u4e2d\u8f93\u5165\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u4f01\u4e1a IdP \u5bf9\u63d0\u4f9b\u7684\u8eab\u4efd\u4fe1\u606f\u8fdb\u884c\u9a8c\u8bc1\uff0c\u5e76\u6784\u5efa\u643a\u5e26\u7528\u6237\u4fe1\u606f\u7684 ID Token\uff0c\u5411\u6d4f\u89c8\u5668\u53d1\u9001 OIDC \u6388\u6743 Response\u3002
    5. \u6d4f\u89c8\u5668\u54cd\u5e94\u540e\u8f6c\u53d1 OIDC \u6388\u6743 Response \u7ed9 DCE 5.0\u3002
    6. DCE 5.0 \u4ece OIDC \u6388\u6743 Response \u4e2d\u53d6\u51fa ID Token\uff0c\u5e76\u6839\u636e\u5df2\u914d\u7f6e\u7684\u8eab\u4efd\u8f6c\u6362\u89c4\u5219\u6620\u5c04\u5230\u5177\u4f53\u7684\u7528\u6237\u5217\u8868\uff0c\u9881\u53d1 Token\u3002
    7. \u5b8c\u6210\u5355\u70b9\u767b\u5f55\uff0c\u8bbf\u95ee DCE 5.0\u3002
    "},{"location":"ghippo/user-guide/access-control/role.html","title":"\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406","text":"

    \u4e00\u4e2a\u89d2\u8272\u5bf9\u5e94\u4e00\u7ec4\u6743\u9650\u3002\u6743\u9650\u51b3\u5b9a\u4e86\u53ef\u4ee5\u5bf9\u8d44\u6e90\u6267\u884c\u7684\u64cd\u4f5c\u3002\u5411\u7528\u6237\u6388\u4e88\u67d0\u89d2\u8272\uff0c\u5373\u6388\u4e88\u8be5\u89d2\u8272\u6240\u5305\u542b\u7684\u6240\u6709\u6743\u9650\u3002

    DCE 5.0 \u5e73\u53f0\u5b58\u5728\u4e09\u79cd\u89d2\u8272\u8303\u56f4\uff0c\u80fd\u591f\u7075\u6d3b\u3001\u6709\u6548\u5730\u89e3\u51b3\u60a8\u5728\u6743\u9650\u4e0a\u7684\u4f7f\u7528\u95ee\u9898\uff1a

    • \u5e73\u53f0\u89d2\u8272
    • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272
    • \u6587\u4ef6\u5939\u89d2\u8272
    "},{"location":"ghippo/user-guide/access-control/role.html#_2","title":"\u5e73\u53f0\u89d2\u8272","text":"

    \u5e73\u53f0\u89d2\u8272\u662f\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u5bf9\u5e73\u53f0\u4e0a\u6240\u6709\u76f8\u5173\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\u3002\u901a\u8fc7\u5e73\u53f0\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u5bf9\u6240\u6709\u96c6\u7fa4\u3001\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7b49\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\uff0c \u800c\u4e0d\u80fd\u5177\u4f53\u5230\u67d0\u4e00\u4e2a\u96c6\u7fa4\u6216\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002DCE 5.0 \u63d0\u4f9b\u4e86 5 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u7684\u5e73\u53f0\u89d2\u8272\uff1a

    • Admin
    • Kpanda Owner
    • Workspace and Folder Owner
    • IAM Owner
    • Audit Owner

    \u540c\u65f6\uff0cDCE 5.0 \u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u5e73\u53f0\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002 \u5982\u521b\u5efa\u4e00\u4e2a\u5e73\u53f0\u89d2\u8272\uff0c\u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\uff0c\u7531\u4e8e\u5e94\u7528\u5de5\u4f5c\u53f0\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c \u56e0\u6b64\u5e73\u53f0\u4f1a\u5e2e\u52a9\u7528\u6237\u9ed8\u8ba4\u52fe\u9009\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\uff0c\u8bf7\u4e0d\u8981\u624b\u52a8\u53d6\u6d88\u52fe\u9009\u3002 \u82e5\u7528\u6237 A \u88ab\u6388\u4e88\u8be5 Workbench\uff08\u5e94\u7528\u5de5\u4f5c\u53f0\uff09\u89d2\u8272\uff0c\u5c06\u81ea\u52a8\u62e5\u6709\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7b49\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/role.html#_3","title":"\u5e73\u53f0\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

    \u7ed9\u5e73\u53f0\u89d2\u8272\u6388\u6743\u5171\u6709\u4e09\u79cd\u65b9\u5f0f\uff1a

    • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237 \u7684\u7528\u6237\u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u7528\u6237\uff0c\u70b9\u51fb ... \uff0c\u9009\u62e9 \u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u5e73\u53f0\u89d2\u8272\u6743\u9650\u3002

    • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237\u7ec4 \u7684\u7528\u6237\u7ec4\u5217\u8868\u4e2d\u521b\u5efa\u7528\u6237\u7ec4\uff0c\u5c06\u8be5\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4\uff0c\u5e76\u7ed9\u7528\u6237\u7ec4\u6388\u6743 \uff08\u5177\u4f53\u64cd\u4f5c\u4e3a\uff1a\u5728\u7528\u6237\u7ec4\u5217\u8868\u627e\u5230\u8be5\u7528\u6237\u7ec4\uff0c\u70b9\u51fb ... \uff0c\u9009\u62e9 \u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u7ec4\u8d4b\u4e88\u5e73\u53f0\u89d2\u8272\uff09\u3002

    • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \u7684\u89d2\u8272\u5217\u8868\u4e2d\uff0c\u627e\u5230\u76f8\u5e94\u7684\u5e73\u53f0\u89d2\u8272\uff0c \u70b9\u51fb\u89d2\u8272\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb \u5173\u8054\u6210\u5458 \u6309\u94ae\uff0c\u9009\u4e2d\u8be5\u7528\u6237\u6216\u7528\u6237\u6240\u5728\u7684\u7528\u6237\u7ec4\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

    "},{"location":"ghippo/user-guide/access-control/role.html#_4","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u662f\u7ec6\u7c92\u5ea6\u89d2\u8272\uff0c\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650\u3001\u67e5\u770b\u6743\u9650\u6216\u8be5\u5de5\u4f5c\u7a7a\u95f4\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u7684\u6743\u9650\u7b49\u3002 \u83b7\u5f97\u8be5\u89d2\u8272\u6743\u9650\u7684\u7528\u6237\u53ea\u80fd\u7ba1\u7406\u8be5\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u65e0\u6cd5\u8bbf\u95ee\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u3002DCE 5.0 \u63d0\u4f9b\u4e86 3 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u7684\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff1a

    • Workspace Admin
    • Workspace Editor
    • Workspace Viewer

    \u540c\u65f6\uff0cDCE 5.0 \u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002\u5982\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff0c \u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\uff0c\u7531\u4e8e\u5e94\u7528\u5de5\u4f5c\u53f0\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u5e73\u53f0\u4f1a\u5e2e\u52a9\u7528\u6237\u9ed8\u8ba4\u52fe\u9009\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\uff0c \u8bf7\u4e0d\u8981\u624b\u52a8\u53d6\u6d88\u52fe\u9009\u3002\u82e5\u7528\u6237 A \u5728\u5de5\u4f5c\u7a7a\u95f4 01 \u4e2d\u88ab\u6388\u4e88\u8be5\u89d2\u8272\uff0c\u5c06\u62e5\u6709\u5de5\u4f5c\u7a7a\u95f4 01 \u4e0b\u7684\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\u3002

    Note

    \u4e0e\u5e73\u53f0\u89d2\u8272\u4e0d\u540c\uff0c\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u88ab\u521b\u5efa\u540e\u9700\u8981\u524d\u5f80\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u88ab\u6388\u6743\u540e\u7528\u6237\u4ec5\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u62e5\u6709\u8be5\u89d2\u8272\u4e2d\u7684\u529f\u80fd\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/role.html#_5","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

    \u5728 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u5de5\u4f5c\u7a7a\u95f4\uff0c\u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/role.html#_6","title":"\u6587\u4ef6\u5939\u89d2\u8272","text":"

    \u6587\u4ef6\u5939\u89d2\u8272\u7684\u6743\u9650\u7c92\u5ea6\u4ecb\u4e8e\u5e73\u53f0\u89d2\u8272\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u4e4b\u95f4\uff0c\u901a\u8fc7\u6587\u4ef6\u5939\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u67d0\u4e2a\u6587\u4ef6\u5939\u53ca\u5176\u5b50\u6587\u4ef6\u5939\u548c\u8be5\u6587\u4ef6\u5939\u4e0b\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650\u3001\u67e5\u770b\u6743\u9650\u7b49\uff0c \u5e38\u9002\u7528\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8\u573a\u666f\u3002\u6bd4\u5982\u7528\u6237 B \u662f\u4e00\u7ea7\u90e8\u95e8\u7684 Leader\uff0c\u901a\u5e38\u7528\u6237 B \u80fd\u591f\u7ba1\u7406\u8be5\u4e00\u7ea7\u90e8\u95e8\u3001\u5176\u4e0b\u7684\u6240\u6709\u4e8c\u7ea7\u90e8\u95e8\u548c\u90e8\u95e8\u4e2d\u7684\u9879\u76ee\u7b49\uff0c \u5728\u6b64\u573a\u666f\u4e2d\u7ed9\u7528\u6237 B \u6388\u4e88\u4e00\u7ea7\u6587\u4ef6\u5939\u7684\u7ba1\u7406\u5458\u6743\u9650\uff0c\u7528\u6237 B \u4e5f\u5c06\u62e5\u6709\u5176\u4e0b\u7684\u4e8c\u7ea7\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u7684\u76f8\u5e94\u6743\u9650\u3002 DCE 5.0 \u63d0\u4f9b\u4e86 3 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u6587\u4ef6\u5939\u89d2\u8272\uff1a

    • Folder Admin
    • Folder Editor
    • Folder Viewer

    \u540c\u65f6\uff0cDCE 5.0 \u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u6587\u4ef6\u5939\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002 \u5982\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u89d2\u8272\uff0c\u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\u3002\u82e5\u7528\u6237 A \u5728\u6587\u4ef6\u5939 01 \u4e2d\u88ab\u6388\u4e88\u8be5\u89d2\u8272\uff0c \u5c06\u62e5\u6709\u8be5\u6587\u4ef6\u5939\u4e0b\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\u3002

    Note

    \u529f\u80fd\u6a21\u5757\u672c\u8eab\u4f9d\u8d56\u7684\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u6587\u4ef6\u5939\u662f\u5de5\u4f5c\u7a7a\u95f4\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\u4e14\u5177\u6709\u6743\u9650\u7ee7\u627f\u80fd\u529b\uff0c \u56e0\u6b64\u6587\u4ef6\u5939\u6743\u9650\u4e0d\u5149\u5305\u542b\u6587\u4ef6\u5939\u672c\u8eab\uff0c\u8fd8\u5305\u62ec\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

    "},{"location":"ghippo/user-guide/access-control/role.html#_7","title":"\u6587\u4ef6\u5939\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

    \u5728 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u6587\u4ef6\u5939\uff0c\u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u6587\u4ef6\u5939\u89d2\u8272\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/access-control/user.html","title":"\u7528\u6237","text":"

    \u7528\u6237\u6307\u7684\u662f\u7531\u5e73\u53f0\u7ba1\u7406\u5458 admin \u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237 \u9875\u9762\u521b\u5efa\u7684\u7528\u6237\uff0c\u6216\u8005\u901a\u8fc7 LDAP / OIDC \u5bf9\u63a5\u8fc7\u6765\u7684\u7528\u6237\u3002 \u7528\u6237\u540d\u4ee3\u8868\u8d26\u53f7\uff0c\u7528\u6237\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55 DaoCloud Enterprise \u5e73\u53f0\u3002

    \u62e5\u6709\u4e00\u4e2a\u7528\u6237\u8d26\u53f7\u662f\u7528\u6237\u8bbf\u95ee\u5e73\u53f0\u7684\u524d\u63d0\u3002\u65b0\u5efa\u7684\u7528\u6237\u9ed8\u8ba4\u6ca1\u6709\u4efb\u4f55\u6743\u9650\uff0c\u4f8b\u5982\u60a8\u9700\u8981\u7ed9\u7528\u6237\u8d4b\u4e88\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\uff0c\u6bd4\u5982\u5728 \u7528\u6237\u5217\u8868 \u6216 \u7528\u6237\u8be6\u60c5 \u6388\u4e88\u5b50\u6a21\u5757\u7684\u7ba1\u7406\u5458\u6743\u9650\u3002 \u5b50\u6a21\u5757\u7ba1\u7406\u5458\u62e5\u6709\u8be5\u5b50\u6a21\u5757\u7684\u6700\u9ad8\u6743\u9650\uff0c\u80fd\u591f\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u8be5\u6a21\u5757\u7684\u6240\u6709\u8d44\u6e90\u3002 \u5982\u679c\u7528\u6237\u9700\u8981\u88ab\u6388\u4e88\u5177\u4f53\u8d44\u6e90\u7684\u6743\u9650\uff0c\u6bd4\u5982\u67d0\u4e2a\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8bf7\u67e5\u770b\u8d44\u6e90\u6388\u6743\u8bf4\u660e\u3002

    \u672c\u9875\u4ecb\u7ecd\u7528\u6237\u7684\u521b\u5efa\u3001\u6388\u6743\u3001\u7981\u7528\u3001\u542f\u7528\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    "},{"location":"ghippo/user-guide/access-control/user.html#_2","title":"\u521b\u5efa\u7528\u6237","text":"

    \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa\u7528\u6237 \u3002

    2. \u5728 \u521b\u5efa\u7528\u6237 \u9875\u9762\u586b\u5199\u7528\u6237\u540d\u548c\u767b\u5f55\u5bc6\u7801\u3002\u5982\u9700\u4e00\u6b21\u6027\u521b\u5efa\u591a\u4e2a\u7528\u6237\uff0c\u53ef\u4ee5\u70b9\u51fb \u521b\u5efa\u7528\u6237 \u540e\u8fdb\u884c\u6279\u91cf\u521b\u5efa\uff0c\u4e00\u6b21\u6027\u6700\u591a\u521b\u5efa 5 \u4e2a\u7528\u6237\u3002\u6839\u636e\u60a8\u7684\u5b9e\u9645\u60c5\u51b5\u786e\u5b9a\u662f\u5426\u8bbe\u7f6e\u7528\u6237\u5728\u9996\u6b21\u767b\u5f55\u65f6\u91cd\u7f6e\u5bc6\u7801\u3002

    3. \u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u7528\u6237\u6210\u529f\uff0c\u8fd4\u56de\u7528\u6237\u5217\u8868\u9875\u3002

    Note

    \u6b64\u5904\u8bbe\u7f6e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u5c06\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u3002

    "},{"location":"ghippo/user-guide/access-control/user.html#grant-admin-permissions","title":"\u4e3a\u7528\u6237\u6388\u4e88\u5b50\u6a21\u5757\u7ba1\u7406\u5458\u6743\u9650","text":"

    \u524d\u63d0\uff1a\u8be5\u7528\u6237\u5df2\u5b58\u5728\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u6388\u6743 \u3002

    2. \u5728 \u6388\u6743 \u9875\u9762\u52fe\u9009\u9700\u8981\u7684\u89d2\u8272\u6743\u9650\uff08\u53ef\u591a\u9009\uff09\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u4e3a\u7528\u6237\u7684\u6388\u6743\u3002

    Note

    \u5728\u7528\u6237\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u7528\u6237\uff0c\u53ef\u4ee5\u8fdb\u5165\u7528\u6237\u8be6\u60c5\u9875\u9762\u3002

    "},{"location":"ghippo/user-guide/access-control/user.html#_3","title":"\u5c06\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4","text":"
    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u52a0\u5165\u7528\u6237\u7ec4 \u3002

    2. \u5728 \u52a0\u5165\u7528\u6237\u7ec4 \u9875\u9762\u52fe\u9009\u9700\u8981\u52a0\u5165\u7684\u7528\u6237\u7ec4\uff08\u53ef\u591a\u9009\uff09\u3002\u82e5\u6ca1\u6709\u53ef\u9009\u7684\u7528\u6237\u7ec4\uff0c\u70b9\u51fb \u521b\u5efa\u7528\u6237\u7ec4 \u521b\u5efa\u7528\u6237\u7ec4\uff0c\u518d\u8fd4\u56de\u8be5\u9875\u9762\u70b9\u51fb \u5237\u65b0 \u6309\u94ae\uff0c\u663e\u793a\u521a\u521b\u5efa\u7684\u7528\u6237\u7ec4\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5c06\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4\u3002

    Note

    \u7528\u6237\u4f1a\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u6743\u9650\uff0c\u53ef\u4ee5\u5728 \u7528\u6237\u8be6\u60c5 \u4e2d\u67e5\u770b\u8be5\u7528\u6237\u5df2\u52a0\u5165\u7684\u7528\u6237\u7ec4\u3002

    "},{"location":"ghippo/user-guide/access-control/user.html#_4","title":"\u542f\u7528/\u7981\u7528\u7528\u6237","text":"

    \u7981\u7528\u7528\u6237\u540e\uff0c\u8be5\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u8bbf\u95ee\u5e73\u53f0\u3002\u4e0e\u5220\u9664\u7528\u6237\u4e0d\u540c\uff0c\u7981\u7528\u7684\u7528\u6237\u53ef\u4ee5\u6839\u636e\u9700\u8981\u518d\u6b21\u542f\u7528\uff0c\u5efa\u8bae\u5220\u9664\u7528\u6237\u524d\u5148\u7981\u7528\uff0c\u4ee5\u786e\u4fdd\u6ca1\u6709\u5173\u952e\u670d\u52a1\u5728\u4f7f\u7528\u8be5\u7528\u6237\u521b\u5efa\u7684\u5bc6\u94a5\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb\u4e00\u4e2a\u7528\u6237\u540d\u8fdb\u5165\u7528\u6237\u8be6\u60c5\u3002

    2. \u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u7f16\u8f91 \uff0c\u5173\u95ed\u72b6\u6001\u6309\u94ae\uff0c\u4f7f\u6309\u94ae\u7f6e\u7070\u4e14\u5904\u4e8e\u672a\u542f\u7528\u72b6\u6001\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u7981\u7528\u7528\u6237\u7684\u64cd\u4f5c\u3002

    "},{"location":"ghippo/user-guide/access-control/user.html#_5","title":"\u5fd8\u8bb0\u5bc6\u7801","text":"

    \u524d\u63d0\uff1a\u9700\u8981\u8bbe\u7f6e\u7528\u6237\u90ae\u7bb1\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u4ee5\u8bbe\u7f6e\u7528\u6237\u90ae\u7bb1\u3002

    • \u7ba1\u7406\u5458\u5728\u8be5\u7528\u6237\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u7f16\u8f91 \uff0c\u5728\u5f39\u51fa\u6846\u8f93\u5165\u7528\u6237\u90ae\u7bb1\u5730\u5740\uff0c\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u90ae\u7bb1\u8bbe\u7f6e\u3002

    • \u7528\u6237\u8fd8\u53ef\u4ee5\u8fdb\u5165 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u5728 \u5b89\u5168\u8bbe\u7f6e \u9875\u9762\u8bbe\u7f6e\u90ae\u7bb1\u5730\u5740\u3002

    \u5982\u679c\u7528\u6237\u767b\u5f55\u65f6\u5fd8\u8bb0\u5bc6\u7801\uff0c\u8bf7\u53c2\u8003\u91cd\u7f6e\u5bc6\u7801\u3002

    "},{"location":"ghippo/user-guide/access-control/user.html#_6","title":"\u5220\u9664\u7528\u6237","text":"

    Warning

    \u5220\u9664\u7528\u6237\u540e\uff0c\u8be5\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u901a\u8fc7\u4efb\u4f55\u65b9\u5f0f\u8bbf\u95ee\u5e73\u53f0\u8d44\u6e90\uff0c\u8bf7\u8c28\u614e\u5220\u9664\u3002 \u5728\u5220\u9664\u7528\u6237\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5173\u952e\u7a0b\u5e8f\u4e0d\u518d\u4f7f\u7528\u8be5\u7528\u6237\u521b\u5efa\u7684\u5bc6\u94a5\u3002 \u5982\u679c\u60a8\u4e0d\u786e\u5b9a\uff0c\u5efa\u8bae\u5728\u5220\u9664\u524d\u5148\u7981\u7528\u8be5\u7528\u6237\u3002 \u5982\u679c\u60a8\u5220\u9664\u4e86\u4e00\u4e2a\u7528\u6237\uff0c\u7136\u540e\u518d\u521b\u5efa\u4e00\u4e2a\u540c\u540d\u7684\u65b0\u7528\u6237\uff0c\u5219\u65b0\u7528\u6237\u5c06\u88ab\u89c6\u4e3a\u4e00\u4e2a\u65b0\u7684\u72ec\u7acb\u8eab\u4efd\uff0c\u5b83\u4e0d\u4f1a\u7ee7\u627f\u5df2\u5220\u9664\u7528\u6237\u7684\u89d2\u8272\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u5220\u9664 \u3002

    2. \u70b9\u51fb \u79fb\u9664 \u5b8c\u6210\u5220\u9664\u7528\u6237\u7684\u64cd\u4f5c\u3002

    "},{"location":"ghippo/user-guide/access-control/webhook.html","title":"Webhook \u6d88\u606f\u901a\u77e5","text":"

    DCE 5.0 \u5728\u63a5\u5165\u5ba2\u6237\u7684\u7cfb\u7edf\u540e\uff0c\u53ef\u4ee5\u521b\u5efa Webhook\uff0c\u5728\u7528\u6237\u521b\u5efa/\u66f4\u65b0/\u5220\u9664/\u767b\u5f55/\u767b\u51fa\u4e4b\u65f6\u53d1\u9001\u6d88\u606f\u901a\u77e5\u3002

    Webhook \u662f\u4e00\u79cd\u7528\u4e8e\u5b9e\u73b0\u5b9e\u65f6\u4e8b\u4ef6\u901a\u77e5\u7684\u673a\u5236\u3002\u5b83\u5141\u8bb8\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u5c06\u6570\u636e\u6216\u4e8b\u4ef6\u63a8\u9001\u5230\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c \u800c\u65e0\u9700\u8f6e\u8be2\u6216\u6301\u7eed\u67e5\u8be2\u3002\u901a\u8fc7\u914d\u7f6e Webhook\uff0c\u60a8\u53ef\u4ee5\u6307\u5b9a\u5728\u67d0\u4e2a\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u7531\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u63a5\u6536\u5e76\u5904\u7406\u901a\u77e5\u3002

    Webhook \u7684\u5de5\u4f5c\u539f\u7406\u5982\u4e0b\uff1a

    1. \u6e90\u5e94\u7528\u7a0b\u5e8f\uff08DCE 5.0\uff09\u6267\u884c\u67d0\u4e2a\u7279\u5b9a\u64cd\u4f5c\u6216\u4e8b\u4ef6\u3002
    2. \u6e90\u5e94\u7528\u7a0b\u5e8f\u5c06\u76f8\u5173\u6570\u636e\u548c\u4fe1\u606f\u6253\u5305\u6210 HTTP \u8bf7\u6c42\uff0c\u5e76\u5c06\u5176\u53d1\u9001\u5230\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u6307\u5b9a\u7684 URL\uff08\u4f8b\u5982\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\uff09\u3002
    3. \u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u63a5\u6536\u5230\u8bf7\u6c42\u540e\uff0c\u6839\u636e\u5176\u4e2d\u7684\u6570\u636e\u548c\u4fe1\u606f\u8fdb\u884c\u76f8\u5e94\u7684\u5904\u7406\u3002

    \u901a\u8fc7\u4f7f\u7528 Webhook\uff0c\u60a8\u53ef\u4ee5\u5b9e\u73b0\u4ee5\u4e0b\u529f\u80fd\uff1a

    • \u5b9e\u65f6\u901a\u77e5\uff1a\u5f53\u67d0\u4e2a\u7279\u5b9a\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u901a\u8fc7 Webhook \u53ca\u65f6\u901a\u77e5\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002
    • \u81ea\u52a8\u5316\u5904\u7406\uff1a\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u6839\u636e\u6536\u5230\u7684 Webhook \u8bf7\u6c42\u81ea\u52a8\u89e6\u53d1\u4e8b\u5148\u5b9a\u4e49\u597d\u7684\u64cd\u4f5c\uff0c\u65e0\u9700\u624b\u52a8\u5e72\u9884\u3002
    • \u6570\u636e\u540c\u6b65\uff1a\u901a\u8fc7 Webhook \u5c06\u6570\u636e\u4ece\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u4f20\u9012\u5230\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u540c\u6b65\u66f4\u65b0\u3002

    \u5e38\u89c1\u7684\u5e94\u7528\u573a\u666f\u5305\u62ec\uff1a

    • \u7248\u672c\u63a7\u5236\u7cfb\u7edf\uff08\u4f8b\u5982 GitHub\u3001GitLab\uff09\u4e2d\uff0c\u5f53\u4ee3\u7801\u4ed3\u5e93\u53d1\u751f\u53d8\u52a8\u65f6\uff0c\u81ea\u52a8\u89e6\u53d1\u6784\u5efa\u548c\u90e8\u7f72\u64cd\u4f5c\u3002
    • \u7535\u5b50\u5546\u52a1\u5e73\u53f0\u4e2d\uff0c\u5f53\u8ba2\u5355\u72b6\u6001\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u5411\u7269\u6d41\u7cfb\u7edf\u53d1\u9001\u66f4\u65b0\u901a\u77e5\u3002
    • \u804a\u5929\u673a\u5668\u4eba\u5e73\u53f0\u4e2d\uff0c\u5f53\u63a5\u6536\u5230\u7528\u6237\u6d88\u606f\u65f6\uff0c\u901a\u8fc7 Webhook \u5c06\u6d88\u606f\u63a8\u9001\u5230\u76ee\u6807\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\u3002
    "},{"location":"ghippo/user-guide/access-control/webhook.html#_1","title":"\u914d\u7f6e\u6b65\u9aa4","text":"

    DCE 5.0 \u56fe\u5f62\u5316\u914d\u7f6e Webhook \u7684\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u63a5\u5165\u7ba1\u7406 \uff0c\u521b\u5efa\u4e00\u4e2a\u5ba2\u6237\u7aef ID\u3002

    2. \u70b9\u51fb\u67d0\u4e2a\u5ba2\u6237\u7aef ID\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u70b9\u51fb \u521b\u5efa Webhook \u6309\u94ae\u3002

    3. \u5728\u5f39\u7a97\u4e2d\u586b\u5165\u5b57\u6bb5\u4fe1\u606f\u540e\u70b9\u51fb \u786e\u5b9a \u3002

      • \u5bf9\u8c61\uff1a\u76ee\u524d\u4ec5\u652f\u6301 \u7528\u6237 \u5bf9\u8c61
      • \u884c\u4e3a\uff1a\u7528\u6237\u521b\u5efa/\u66f4\u65b0/\u5220\u9664/\u767b\u5f55/\u767b\u5f55\u65f6\u53d1\u9001 Webhook \u6d88\u606f
      • URL\uff1a\u63a5\u6536\u6d88\u606f\u7684\u5730\u5740
      • Method\uff1a\u89c6\u60c5\u51b5\u9009\u62e9\u9002\u7528\u7684\u65b9\u6cd5\uff0c\u4f8b\u5982\u4f01\u4e1a\u5fae\u4fe1\u63a8\u8350\u4f7f\u7528 POST \u65b9\u6cd5
      • \u9ad8\u7ea7\u914d\u7f6e\uff1a\u53ef\u4ee5\u7528 Json \u7f16\u5199\u6d88\u606f\u4f53\u3002\u5982\u679c\u662f\u4f01\u4e1a\u5fae\u4fe1\u7fa4\uff0c\u8bf7\u53c2\u9605\u7fa4\u673a\u5668\u4eba\u914d\u7f6e\u8bf4\u660e

    4. \u5c4f\u5e55\u63d0\u793a Webhook \u521b\u5efa\u6210\u529f\u3002

    5. \u73b0\u5728\u53bb\u8bd5\u7740\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u3002

    6. \u7528\u6237\u521b\u5efa\u6210\u529f\uff0c\u53ef\u4ee5\u770b\u5230\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u6536\u5230\u4e86\u4e00\u6761\u6d88\u606f\u3002

    "},{"location":"ghippo/user-guide/access-control/webhook.html#_2","title":"\u9ad8\u7ea7\u914d\u7f6e\u793a\u4f8b","text":"

    \u7cfb\u7edf\u9ed8\u8ba4\u7684\u6d88\u606f\u4f53

    DCE 5.0 \u9884\u5148\u5b9a\u4e49\u4e86\u4e00\u4e9b\u53d8\u91cf\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u60c5\u51b5\u5728\u6d88\u606f\u4f53\u4e2d\u4f7f\u7528\u8fd9\u4e9b\u53d8\u91cf\u3002

    {\n  \"id\": \"{{$$.ID$$}}\",\n  \"email\": \"{{$$.Email$$}}\",\n  \"username\": \"{{$$.Name$$}}\",\n  \"last_name\": \"{{$$.LastName$$}}\",\n  \"first_name\": \"{{$$.FirstName$$}}\",\n  \"created_at\": \"{{$$.CreatedAt$$}}\",\n  \"enabled\": \"{{$$.Enabled$$}}\"\n}\n

    \u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\u7684 Message Body

    {\n    \"msgtype\": \"text\",\n    \"text\": {\n      \"content\": \"{{$$.Name$$}} hello world\"\n    }\n}\n
    "},{"location":"ghippo/user-guide/access-control/webhook.html#_3","title":"\u53c2\u8003\u6587\u6863","text":"
    • OEM OUT \u6587\u6863
    • OEM IN \u6587\u6863
    "},{"location":"ghippo/user-guide/audit/audit-log.html","title":"\u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u5ba1\u8ba1\u65e5\u5fd7\u5e2e\u52a9\u60a8\u76d1\u63a7\u5e76\u8bb0\u5f55\u6bcf\u4e2a\u7528\u6237\u7684\u6d3b\u52a8\uff0c\u63d0\u4f9b\u4e86\u4e0e\u5b89\u5168\u76f8\u5173\u7684\u3001\u6309\u65f6\u95f4\u987a\u5e8f\u6392\u5217\u7684\u8bb0\u5f55\u7684\u6536\u96c6\u3001\u5b58\u50a8\u548c\u67e5\u8be2\u529f\u80fd\u3002 \u501f\u52a9\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u6301\u7eed\u76d1\u63a7\u5e76\u4fdd\u7559\u7528\u6237\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u7684\u4f7f\u7528\u884c\u4e3a\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u521b\u5efa\u7528\u6237\u3001\u7528\u6237\u767b\u5f55/\u767b\u51fa\u3001\u7528\u6237\u6388\u6743\u4ee5\u53ca\u4e0e Kubernetes \u76f8\u5173\u7684\u7528\u6237\u64cd\u4f5c\u884c\u4e3a\u3002

    "},{"location":"ghippo/user-guide/audit/audit-log.html#_2","title":"\u529f\u80fd\u7279\u6027","text":"

    \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u5177\u6709\u4ee5\u4e0b\u7279\u70b9\uff1a

    • \u5f00\u7bb1\u5373\u7528\uff1a\u5728\u5b89\u88c5\u4f7f\u7528\u8be5\u5e73\u53f0\u65f6\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u5c06\u4f1a\u88ab\u9ed8\u8ba4\u542f\u7528\uff0c\u81ea\u52a8\u8bb0\u5f55\u4e0e\u7528\u6237\u76f8\u5173\u7684\u5404\u79cd\u884c\u4e3a\uff0c \u5982\u521b\u5efa\u7528\u6237\u3001\u6388\u6743\u3001\u767b\u5f55/\u767b\u51fa\u7b49\u3002\u9ed8\u8ba4\u53ef\u4ee5\u5728\u5e73\u53f0\u5185\u67e5\u770b 365 \u5929\u7684\u7528\u6237\u884c\u4e3a\u3002
    • \u5b89\u5168\u5206\u6790\uff1a\u5ba1\u8ba1\u65e5\u5fd7\u4f1a\u5bf9\u7528\u6237\u64cd\u4f5c\u8fdb\u884c\u8be6\u7ec6\u7684\u8bb0\u5f55\u5e76\u63d0\u4f9b\u5bfc\u51fa\u529f\u80fd\uff0c\u901a\u8fc7\u8fd9\u4e9b\u4e8b\u4ef6\u60a8\u53ef\u4ee5\u5224\u65ad\u8d26\u53f7\u662f\u5426\u5b58\u5728\u98ce\u9669\u3002
    • \u5b9e\u65f6\u8bb0\u5f55\uff1a\u8fc5\u901f\u6536\u96c6\u64cd\u4f5c\u4e8b\u4ef6\uff0c\u7528\u6237\u64cd\u4f5c\u540e\u53ef\u5728\u5ba1\u8ba1\u65e5\u5fd7\u5217\u8868\u8fdb\u884c\u8ffd\u6eaf\uff0c\u968f\u65f6\u53d1\u73b0\u53ef\u7591\u884c\u4e3a\u3002
    • \u65b9\u4fbf\u53ef\u9760\uff1a\u5ba1\u8ba1\u65e5\u5fd7\u652f\u6301\u624b\u52a8\u6e05\u7406\u548c\u81ea\u52a8\u6e05\u7406\u4e24\u79cd\u65b9\u5f0f\uff0c\u53ef\u6839\u636e\u60a8\u7684\u5b58\u50a8\u5927\u5c0f\u914d\u7f6e\u6e05\u7406\u7b56\u7565\u3002
    "},{"location":"ghippo/user-guide/audit/audit-log.html#_3","title":"\u67e5\u770b\u5ba1\u8ba1\u65e5\u5fd7","text":"
    1. \u4f7f\u7528\u5177\u6709 admin \u6216 Audit Owner \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002

    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\uff0c\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u5ba1\u8ba1\u65e5\u5fd7 \u3002

    "},{"location":"ghippo/user-guide/audit/audit-log.html#_4","title":"\u7528\u6237\u64cd\u4f5c","text":"

    \u5728 \u7528\u6237\u64cd\u4f5c \u9875\u7b7e\u4e2d\uff0c\u53ef\u4ee5\u6309\u65f6\u95f4\u8303\u56f4\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6a21\u7cca\u641c\u7d22\u3001\u7cbe\u786e\u641c\u7d22\u6765\u67e5\u627e\u7528\u6237\u64cd\u4f5c\u4e8b\u4ef6\u3002

    \u70b9\u51fb\u67d0\u4e2a\u4e8b\u4ef6\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u4e8b\u4ef6\u8be6\u60c5\u3002

    \u4e8b\u4ef6\u8be6\u60c5\u5982\u4e0b\u56fe\u6240\u793a\u3002

    \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u5bfc\u51fa \u6309\u94ae\uff0c\u53ef\u4ee5\u6309 CSV \u548c Excel \u683c\u5f0f\u5bfc\u51fa\u5f53\u524d\u6240\u9009\u65f6\u95f4\u8303\u56f4\u5185\u7684\u7528\u6237\u64cd\u4f5c\u65e5\u5fd7\u3002

    "},{"location":"ghippo/user-guide/audit/audit-log.html#_5","title":"\u7cfb\u7edf\u64cd\u4f5c","text":"

    \u5728 \u7cfb\u7edf\u64cd\u4f5c \u9875\u7b7e\u4e2d\uff0c\u53ef\u4ee5\u6309\u65f6\u95f4\u8303\u56f4\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6a21\u7cca\u641c\u7d22\u3001\u7cbe\u786e\u641c\u7d22\u6765\u67e5\u627e\u7cfb\u7edf\u64cd\u4f5c\u4e8b\u4ef6\u3002

    \u540c\u6837\u70b9\u51fb\u67d0\u4e2a\u4e8b\u4ef6\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u4e8b\u4ef6\u8be6\u60c5\u3002

    \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u5bfc\u51fa \u6309\u94ae\uff0c\u53ef\u4ee5\u6309 CSV \u548c Excel \u683c\u5f0f\u5bfc\u51fa\u5f53\u524d\u6240\u9009\u65f6\u95f4\u8303\u56f4\u5185\u7684\u7cfb\u7edf\u64cd\u4f5c\u65e5\u5fd7\u3002

    "},{"location":"ghippo/user-guide/audit/audit-log.html#_6","title":"\u8bbe\u7f6e","text":"

    \u5728 \u8bbe\u7f6e \u9875\u7b7e\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6e05\u7406\u7528\u6237\u64cd\u4f5c\u548c\u7cfb\u7edf\u64cd\u4f5c\u7684\u5ba1\u8ba1\u65e5\u5fd7\u3002

    \u53ef\u4ee5\u624b\u52a8\u6e05\u7406\uff0c\u5efa\u8bae\u6e05\u7406\u524d\u5148\u5bfc\u51fa\u5e76\u4fdd\u5b58\u3002\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u65e5\u5fd7\u7684\u6700\u957f\u4fdd\u5b58\u65f6\u95f4\u5b9e\u73b0\u81ea\u52a8\u6e05\u7406\u3002

    Note

    \u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u4e0e Kubernetes \u76f8\u5173\u7684\u65e5\u5fd7\u8bb0\u5f55\u7531\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u63d0\u4f9b\uff0c\u4e3a\u51cf\u8f7b\u5ba1\u8ba1\u65e5\u5fd7\u7684\u5b58\u50a8\u538b\u529b\uff0c\u5168\u5c40\u7ba1\u7406\u9ed8\u8ba4\u4e0d\u91c7\u96c6 Kubernetes \u76f8\u5173\u65e5\u5fd7\u3002 \u5982\u9700\u8bb0\u5f55\u8bf7\u53c2\u9605\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002\u5f00\u542f\u540e\u7684\u6e05\u7406\u529f\u80fd\u4e0e\u5168\u5c40\u7ba1\u7406\u7684\u6e05\u7406\u529f\u80fd\u4e00\u81f4\uff0c\u4f46\u4e92\u4e0d\u5f71\u54cd\u3002

    "},{"location":"ghippo/user-guide/audit/open-audit.html","title":"\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"
    • \u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\uff1aK8s \u672c\u8eab\u751f\u6210\u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u5f00\u542f\u8be5\u529f\u80fd\u540e\uff0c\u4f1a\u5728\u6307\u5b9a\u76ee\u5f55\u4e0b\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\u7684\u65e5\u5fd7\u6587\u4ef6
    • \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\uff1a\u901a\u8fc7 insight-agent \u91c7\u96c6\u4e0a\u8ff0 \u2018K8s \u5ba1\u8ba1\u65e5\u5fd7\u2019\u7684\u65e5\u5fd7\u6587\u4ef6\uff0c\u2019\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u2018 \u7684\u524d\u63d0\u6761\u4ef6\u662f\uff1a
      • \u96c6\u7fa4\u751f\u6210\u4e86 \u2018K8s \u5ba1\u8ba1\u65e5\u5fd7\u2018
      • \u65e5\u5fd7\u8f93\u51fa\u5f00\u5173\u5df2\u6253\u5f00
      • \u65e5\u5fd7\u91c7\u96c6\u5f00\u5173\u5df2\u6253\u5f00
    "},{"location":"ghippo/user-guide/audit/open-audit.html#dce-50","title":"DCE 5.0 \u5b89\u88c5\u5b8c\u6210\u65f6\u72b6\u6001","text":"
    • \u793e\u533a\u7248\u5b89\u88c5\u7ba1\u7406\u96c6\u7fa4\u8fc7\u7a0b\u4e2d\u672a\u64cd\u4f5c K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173
    • \u5546\u4e1a\u7248\u7ba1\u7406\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173\u9ed8\u8ba4\u5f00\u542f
      • \u5982\u9700\u8bbe\u7f6e\u6210\u9ed8\u8ba4\u5173\u95ed\uff0c\u53ef\u4fee\u6539\u5b89\u88c5\u5668 clusterConfig.yaml \u6765\u914d\u7f6e\uff08logPath \u8bbe\u7f6e\u4e3a\u7a7a \u201d\u201c\uff09
    • \u7ba1\u7406\u96c6\u7fa4\u7684\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173\u9ed8\u8ba4\u5173\u95ed
      • \u9ed8\u8ba4\u8bbe\u7f6e\u4e0d\u652f\u6301\u914d\u7f6e
    "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_1","title":"\u7ba1\u7406\u96c6\u7fa4\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173","text":""},{"location":"ghippo/user-guide/audit/open-audit.html#_1","title":"\u5546\u4e1a\u7248\u5b89\u88c5\u73af\u5883","text":""},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_2","title":"\u786e\u8ba4\u662f\u5426\u5f00\u542f\u4e86 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\u3002 \u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

    ls /var/log/kubernetes/audit\n

    \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002

    "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_3","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6d41\u7a0b","text":"
    1. \u6dfb\u52a0 chartmuseum \u5230 helm repo \u4e2d

      helm repo add chartmuseum http://10.5.14.30:8081\n

      \u8fd9\u6761\u547d\u4ee4\u4e2d\u7684 IP \u9700\u8981\u4fee\u6539\u4e3a\u706b\u79cd\u8282\u70b9\u7684 IP \u5730\u5740\u3002

      Note

      \u4f7f\u7528\u81ea\u5efa Harbor \u4ed3\u5e93\u7684\u60c5\u51b5\u4e0b\uff0c\u8bf7\u4fee\u6539\u7b2c\u4e00\u6b65\u4e2d\u7684 chart repo \u5730\u5740\u4e3a\u81ea\u5efa\u4ed3\u5e93\u7684 insight-agent chart \u5730\u5740\u3002

    2. \u4fdd\u5b58\u5f53\u524d insight-agent helm value

      helm get values insight-agent -n insight-system -o yaml > insight-agent-values-bak.yaml\n
    3. \u83b7\u53d6\u5f53\u524d\u7248\u672c\u53f7 ${insight_version_code}

      insight_version_code=`helm list -n insight-system |grep insight-agent | awk {'print $10'}`\n
    4. \u66f4\u65b0 helm value \u914d\u7f6e

      helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=true\n
    5. \u91cd\u542f insight-system \u4e0b\u7684\u6240\u6709 fluentBit pod

      fluent_pod=`kubectl get pod -n insight-system | grep insight-agent-fluent-bit | awk {'print $1'} | xargs`\nkubectl delete pod ${fluent_pod} -n insight-system\n
    "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_4","title":"\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u5176\u4f59\u6b65\u9aa4\u548c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u4e00\u81f4\uff0c\u4ec5\u9700\u4fee\u6539\u4e0a\u4e00\u8282\u4e2d\u7b2c 4 \u6b65\uff1a\u66f4\u65b0 helm value \u914d\u7f6e\u3002

    helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=false\n
    "},{"location":"ghippo/user-guide/audit/open-audit.html#_2","title":"\u793e\u533a\u7248\u5728\u7ebf\u5b89\u88c5\u73af\u5883","text":"

    Note

    \u82e5\u5728 Kind \u96c6\u7fa4\u4e2d\u5b89\u88c5\u793e\u533a\u7248 DCE5.0 \u793e\u533a\u7248\uff0c\u9700\u8981\u5728 Kind \u5bb9\u5668\u5185\u8fdb\u884c\u4ee5\u4e0b\u64cd\u4f5c\u3002

    "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_5","title":"\u786e\u8ba4\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

    ls /var/log/kubernetes/audit\n

    \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u5f00\u542f\u5173\u95ed K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002

    "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_6","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6d41\u7a0b","text":"
    1. \u4fdd\u5b58\u5f53\u524d value

      helm get values insight-agent -n insight-system -o yaml > insight-agent-values-bak.yaml\n
    2. \u83b7\u53d6\u5f53\u524d\u7248\u672c\u53f7 ${insight_version_code}\uff0c\u7136\u540e\u66f4\u65b0\u914d\u7f6e

      insight_version_code=`helm list -n insight-system |grep insight-agent | awk {'print $10'}`\n
    3. \u66f4\u65b0 helm value \u914d\u7f6e

      helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent insight-release/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=true\n

      \u5982\u679c\u56e0\u4e3a\u7248\u672c\u672a\u627e\u5230\u800c\u5347\u7ea7\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u547d\u4ee4\u4e2d\u4f7f\u7528\u7684 helm repo \u662f\u5426\u6709\u8fd9\u4e2a\u7248\u672c\u3002 \u82e5\u6ca1\u6709\uff0c\u8bf7\u5c1d\u8bd5\u66f4\u65b0 helm repo \u540e\u91cd\u8bd5\u3002

      helm repo update insight-release\n
    4. \u91cd\u542f insight-system \u4e0b\u7684\u6240\u6709 fluentBit pod

      fluent_pod=`kubectl get pod -n insight-system | grep insight-agent-fluent-bit | awk {'print $1'} | xargs`\nkubectl delete pod ${fluent_pod} -n insight-system\n
    "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_7","title":"\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u5176\u4f59\u6b65\u9aa4\u548c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u4e00\u81f4\uff0c\u4ec5\u9700\u4fee\u6539\u4e0a\u4e00\u8282\u4e2d\u7b2c 3 \u6b65\uff1a \u66f4\u65b0 helm value \u914d\u7f6e

    helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent insight-release/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=false\n
    "},{"location":"ghippo/user-guide/audit/open-audit.html#_3","title":"\u5de5\u4f5c\u96c6\u7fa4\u5f00\u5173","text":"

    \u5404\u5de5\u4f5c\u96c6\u7fa4\u5f00\u5173\u72ec\u7acb\uff0c\u6309\u9700\u5f00\u542f\u3002

    "},{"location":"ghippo/user-guide/audit/open-audit.html#_4","title":"\u521b\u5efa\u96c6\u7fa4\u65f6\u6253\u5f00\u91c7\u96c6\u5ba1\u8ba1\u65e5\u5fd7\u6b65\u9aa4","text":"

    \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u9ed8\u8ba4\u4e3a\u5173\u95ed\u72b6\u6001\u3002\u82e5\u9700\u8981\u5f00\u542f\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\uff1a

    \u5c06\u8be5\u6309\u94ae\u8bbe\u7f6e\u4e3a\u542f\u7528\u72b6\u6001\uff0c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u3002

    \u901a\u8fc7 DCE 5.0 \u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u786e\u8ba4\u8be5\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u9009\u62e9 \u2018true'\uff0c\u8fd9\u6837\u521b\u5efa\u51fa\u6765\u7684\u5de5\u4f5c\u96c6\u7fa4 K8s \u5ba1\u8ba1\u65e5\u5fd7\u662f\u5f00\u542f\u7684\u3002

    \u7b49\u5f85\u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5c06\u88ab\u91c7\u96c6\u3002

    "},{"location":"ghippo/user-guide/audit/open-audit.html#_5","title":"\u63a5\u5165\u7684\u96c6\u7fa4\u548c\u521b\u5efa\u5b8c\u6210\u540e\u5f00\u5173\u6b65\u9aa4","text":""},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_8","title":"\u786e\u8ba4\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

    ls /var/log/kubernetes/audit\n

    \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u5f00\u542f\u5173\u95ed K8s \u5ba1\u8ba1\u65e5\u5fd7

    "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_9","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u9ed8\u8ba4\u4e3a\u5173\u95ed\u72b6\u6001\uff0c\u82e5\u9700\u8981\u5f00\u542f\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\uff1a

    1. \u9009\u4e2d\u5df2\u63a5\u5165\u5e76\u4e14\u9700\u8981\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u7684\u96c6\u7fa4

    2. \u8fdb\u5165 helm \u5e94\u7528\u7ba1\u7406\u9875\u9762\uff0c\u66f4\u65b0 insight-agent \u914d\u7f6e \uff08\u82e5\u672a\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u5b89\u88c5 insight-agent\uff09

    3. \u5f00\u542f/\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6309\u94ae

    4. \u63a5\u5165\u96c6\u7fa4\u7684\u60c5\u51b5\u4e0b\u5f00\u5173\u540e\u4ecd\u9700\u8981\u91cd\u542f fluent-bit pod \u624d\u80fd\u751f\u6548

    "},{"location":"ghippo/user-guide/audit/open-k8s-audit.html","title":"\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u9ed8\u8ba4 Kubernetes \u96c6\u7fa4\u4e0d\u4f1a\u751f\u6210\u5ba1\u8ba1\u65e5\u5fd7\u4fe1\u606f\u3002\u901a\u8fc7\u4ee5\u4e0b\u914d\u7f6e\uff0c\u53ef\u4ee5\u5f00\u542f Kubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u3002

    Note

    \u516c\u6709\u4e91\u73af\u5883\u4e2d\u53ef\u80fd\u65e0\u6cd5\u63a7\u5236 Kubernetes \u5ba1\u8ba1\u65e5\u5fd7\u8f93\u51fa\u53ca\u8f93\u51fa\u8def\u5f84\u3002

    1. \u51c6\u5907\u5ba1\u8ba1\u65e5\u5fd7\u7684 Policy \u6587\u4ef6
    2. \u914d\u7f6e API \u670d\u52a1\u5668\uff0c\u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7
    3. \u91cd\u542f\u5e76\u9a8c\u8bc1
    "},{"location":"ghippo/user-guide/audit/open-k8s-audit.html#policy","title":"\u51c6\u5907\u5ba1\u8ba1\u65e5\u5fd7 Policy \u6587\u4ef6","text":"\u70b9\u51fb\u67e5\u770b\u5ba1\u8ba1\u65e5\u5fd7 Policy YAML \u6587\u4ef6 policy.yaml
    apiVersion: audit.k8s.io/v1\nkind: Policy\nrules:\n# The following requests were manually identified as high-volume and low-risk,\n# so drop them.\n- level: None\n  users: [\"system:kube-proxy\"]\n  verbs: [\"watch\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"endpoints\", \"services\", \"services/status\"]\n- level: None\n  # Ingress controller reads `configmaps/ingress-uid` through the unsecured port.\n  # TODO(#46983): Change this to the ingress controller service account.\n  users: [\"system:unsecured\"]\n  namespaces: [\"kube-system\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"configmaps\"]\n- level: None\n  users: [\"kubelet\"] # legacy kubelet identity\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"nodes\", \"nodes/status\"]\n- level: None\n  userGroups: [\"system:nodes\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"nodes\", \"nodes/status\"]\n- level: None\n  users:\n   - system:kube-controller-manager\n   - system:kube-scheduler\n   - system:serviceaccount:kube-system:endpoint-controller\n     verbs: [\"get\", \"update\"]\n     namespaces: [\"kube-system\"]\n     resources:\n   - group: \"\" # core\n     resources: [\"endpoints\"]\n- level: None\n  users: [\"system:apiserver\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"namespaces\", \"namespaces/status\", \"namespaces/finalize\"]\n# Don't log HPA fetching metrics.\n- level: None\n  users:\n   - system:kube-controller-manager\n     verbs: [\"get\", \"list\"]\n     resources:\n   - group: \"metrics.k8s.io\"\n# Don't log these read-only URLs.\n- level: None\n  nonResourceURLs:\n   - /healthz*\n   - /version\n   - /swagger*\n# Don't log events requests.\n- level: None\n  resources:\n   - group: \"\" # core\n     resources: [\"events\"]\n# Secrets, ConfigMaps, TokenRequest and TokenReviews can contain sensitive & binary data,\n# so only log at the Metadata level.\n- level: Metadata\n  resources:\n   - group: \"\" # core\n     resources: [\"secrets\", \"configmaps\", \"serviceaccounts/token\"]\n   - group: authentication.k8s.io\n     resources: [\"tokenreviews\"]\n     omitStages:\n   - \"RequestReceived\"\n# Get responses can be large; skip them.\n- level: Request\n  verbs: [\"get\", \"list\", \"watch\"]\n  resources:\n   - group: \"\" # core\n   - group: \"admissionregistration.k8s.io\"\n   - group: \"apiextensions.k8s.io\"\n   - group: \"apiregistration.k8s.io\"\n   - group: \"apps\"\n   - group: \"authentication.k8s.io\"\n   - group: \"authorization.k8s.io\"\n   - group: \"autoscaling\"\n   - group: \"batch\"\n   - group: \"certificates.k8s.io\"\n   - group: \"extensions\"\n   - group: \"metrics.k8s.io\"\n   - group: \"networking.k8s.io\"\n   - group: \"policy\"\n   - group: \"rbac.authorization.k8s.io\"\n   - group: \"settings.k8s.io\"\n   - group: \"storage.k8s.io\"\n     omitStages:\n   - \"RequestReceived\"\n# Default level for known APIs\n- level: RequestResponse\n  resources:\n   - group: \"\" # core\n   - group: \"admissionregistration.k8s.io\"\n   - group: \"apiextensions.k8s.io\"\n   - group: \"apiregistration.k8s.io\"\n   - group: \"apps\"\n   - group: \"authentication.k8s.io\"\n   - group: \"authorization.k8s.io\"\n   - group: \"autoscaling\"\n   - group: \"batch\"\n   - group: \"certificates.k8s.io\"\n   - group: \"extensions\"\n   - group: \"metrics.k8s.io\"\n   - group: \"networking.k8s.io\"\n   - group: \"policy\"\n   - group: \"rbac.authorization.k8s.io\"\n   - group: \"settings.k8s.io\"\n   - group: \"storage.k8s.io\"\n     omitStages:\n   - \"RequestReceived\"\n# Default level for all other requests.\n- level: Metadata\n  omitStages:\n   - \"RequestReceived\"\n

    \u5c06\u4ee5\u4e0a\u5ba1\u8ba1\u65e5\u5fd7\u6587\u4ef6\u653e\u5230 /etc/kubernetes/audit-policy/ \u6587\u4ef6\u5939\u4e0b\uff0c\u5e76\u53d6\u540d\u4e3a apiserver-audit-policy.yaml \u3002

    "},{"location":"ghippo/user-guide/audit/open-k8s-audit.html#api","title":"\u914d\u7f6e API \u670d\u52a1\u5668","text":"

    \u6253\u5f00 API \u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6 kube-apiserver.yaml \uff0c\u4e00\u822c\u4f1a\u5728 /etc/kubernetes/manifests/ \u6587\u4ef6\u5939\u4e0b\uff0c\u5e76\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\u4fe1\u606f\uff1a

    \u8fd9\u4e00\u6b65\u64cd\u4f5c\u524d\u8bf7\u5907\u4efd kube-apiserver.yaml \uff0c\u5e76\u4e14\u5907\u4efd\u7684\u6587\u4ef6\u4e0d\u80fd\u653e\u5728 /etc/kubernetes/manifests/ \u4e0b\uff0c\u5efa\u8bae\u653e\u5728 /etc/kubernetes/tmp \u3002

    1. \u5728 spec.containers.command \u4e0b\u6dfb\u52a0\u547d\u4ee4\uff1a

      --audit-log-maxage=30\n--audit-log-maxbackup=10\n--audit-log-maxsize=100\n--audit-log-path=/var/log/audit/kube-apiserver-audit.log\n--audit-policy-file=/etc/kubernetes/audit-policy/apiserver-audit-policy.yaml\n
    2. \u5728 spec.containers.volumeMounts \u4e0b\u6dfb\u52a0\uff1a

      - mountPath: /var/log/audit\n  name: audit-logs\n- mountPath: /etc/kubernetes/audit-policy\n  name: audit-policy\n
    3. \u5728 spec.volumes \u4e0b\u6dfb\u52a0\uff1a

      - hostPath:\n  path: /var/log/kubernetes/audit\n  type: \"\"\n  name: audit-logs\n- hostPath:\n  path: /etc/kubernetes/audit-policy\n  type: \"\"\n  name: audit-policy\n
    "},{"location":"ghippo/user-guide/audit/open-k8s-audit.html#_1","title":"\u6d4b\u8bd5\u5e76\u9a8c\u8bc1","text":"

    \u7a0d\u7b49\u4e00\u4f1a\uff0cAPI \u670d\u52a1\u5668\u4f1a\u81ea\u52a8\u91cd\u542f\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

    ls /var/log/kubernetes/audit\n

    \u5982\u679c\u60f3\u5173\u95ed\uff0c\u53bb\u6389 spec.containers.command \u4e2d\u7684\u76f8\u5173\u547d\u4ee4\u5373\u53ef\u3002

    "},{"location":"ghippo/user-guide/audit/source-ip.html","title":"\u5ba1\u8ba1\u65e5\u5fd7\u83b7\u53d6\u6e90 IP","text":"

    \u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u5728\u7cfb\u7edf\u548c\u7f51\u7edc\u7ba1\u7406\u4e2d\u626e\u6f14\u7740\u5173\u952e\u89d2\u8272\uff0c\u5b83\u6709\u52a9\u4e8e\u8ffd\u8e2a\u6d3b\u52a8\u3001\u7ef4\u62a4\u5b89\u5168\u3001\u89e3\u51b3\u95ee\u9898\u5e76\u786e\u4fdd\u7cfb\u7edf\u5408\u89c4\u6027\u3002 \u4f46\u662f\u83b7\u53d6\u6e90 IP \u4f1a\u5e26\u6765\u4e00\u5b9a\u7684\u6027\u80fd\u635f\u8017\uff0c\u6240\u4ee5\u5728 DCE 5.0 \u4e2d\u5ba1\u8ba1\u65e5\u5fd7\u5e76\u4e0d\u603b\u662f\u5f00\u542f\u7684\uff0c \u5728\u4e0d\u540c\u7684\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u7684\u9ed8\u8ba4\u5f00\u542f\u60c5\u51b5\u4e0d\u540c\uff0c\u5e76\u4e14\u5f00\u542f\u7684\u65b9\u5f0f\u4e0d\u540c\u3002 \u4e0b\u9762\u4f1a\u6839\u636e\u5b89\u88c5\u6a21\u5f0f\u5206\u522b\u4ecb\u7ecd\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u7684\u9ed8\u8ba4\u5f00\u542f\u60c5\u51b5\u4ee5\u53ca\u5982\u4f55\u5f00\u542f\u3002

    Note

    \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u4f1a\u4fee\u6539 istio-ingressgateway \u7684\u526f\u672c\u6570\uff0c\u5e26\u6765\u4e00\u5b9a\u7684\u6027\u80fd\u635f\u8017\u3002 \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u9700\u8981\u5173\u95ed kube-proxy \u7684\u8d1f\u8f7d\u5747\u8861\u4ee5\u53ca\u62d3\u6251\u611f\u77e5\u8def\u7531\uff0c\u4f1a\u5bf9\u96c6\u7fa4\u6027\u80fd\u4ea7\u751f\u4e00\u5b9a\u7684\u5f71\u54cd\u3002 \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u540e\uff0c\u8bbf\u95eeIP\u6240\u5bf9\u5e94\u7684\u8282\u70b9\u4e0a\u5fc5\u987b\u4fdd\u8bc1\u5b58\u5728 istio-ingressgateway \uff0c\u82e5\u56e0\u4e3a\u8282\u70b9\u5065\u5eb7\u6216\u5176\u4ed6\u95ee\u9898\u5bfc\u81f4 istio-ingressgateway \u53d1\u751f\u6f02\u79fb\uff0c\u9700\u8981\u624b\u52a8\u8c03\u5ea6\u56de\u8be5\u8282\u70b9\uff0c\u5426\u5219\u4f1a\u5f71\u54cd DCE 5.0 \u7684\u6b63\u5e38\u4f7f\u7528\u3002

    "},{"location":"ghippo/user-guide/audit/source-ip.html#_1","title":"\u5224\u65ad\u5b89\u88c5\u6a21\u5f0f\u7684\u65b9\u6cd5","text":"
    kubectl get pod -n metallb-system\n

    \u5728\u96c6\u7fa4\u4e2d\u6267\u884c\u4e0a\u9762\u7684\u547d\u4ee4\uff0c\u82e5\u8fd4\u56de\u7ed3\u679c\u5982\u4e0b\uff0c\u5219\u8868\u793a\u8be5\u96c6\u7fa4\u4e3a\u975e MetalLB \u5b89\u88c5\u6a21\u5f0f

    No resources found in metallbs-system namespace.\n
    "},{"location":"ghippo/user-guide/audit/source-ip.html#nodeport","title":"NodePort \u5b89\u88c5\u6a21\u5f0f","text":"

    \u8be5\u6a21\u5f0f\u5b89\u88c5\u4e0b\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u9ed8\u8ba4\u662f\u5173\u95ed\u7684\uff0c\u5f00\u542f\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u8bbe\u7f6e istio-ingressgateway \u7684 HPA \u7684\u6700\u5c0f\u526f\u672c\u6570\u4e3a\u63a7\u5236\u9762\u8282\u70b9\u6570

      count=$(kubectl get nodes --selector=node-role.kubernetes.io/control-plane | wc -l)\ncount=$((count-1))\n\nkubectl patch hpa istio-ingressgateway -n istio-system -p '{\"spec\":{\"minReplicas\":'$count'}}'\n
    2. \u4fee\u6539 istio-ingressgateway \u7684 service \u7684 externalTrafficPolicy \u548c internalTrafficPolicy \u503c\u4e3a \"Local\"

      kubectl patch svc istio-ingressgateway -n istio-system -p '{\"spec\":{\"externalTrafficPolicy\":\"Local\",\"internalTrafficPolicy\":\"Local\"}}'\n
    "},{"location":"ghippo/user-guide/audit/source-ip.html#metallb","title":"MetalLB \u5b89\u88c5\u6a21\u5f0f","text":"

    \u8be5\u6a21\u5f0f\u4e0b\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u4f1a\u9ed8\u8ba4\u83b7\u53d6\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP\uff0c\u82e5\u9700\u8981\u4e86\u89e3\u66f4\u591a\uff0c\u8bf7\u53c2\u8003 MetalLB \u6e90 IP\u3002

    "},{"location":"ghippo/user-guide/audit/gproduct-audit/amamba.html","title":"\u5e94\u7528\u5de5\u4f5c\u53f0\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u539f\u751f\u5e94\u7528\uff1aCreate-Application Application \u66f4\u65b0\u539f\u751f\u5e94\u7528\uff1aUpdate-Application Application \u7f16\u8f91yaml\u3001\u521b\u5efa\u7248\u672c\u5feb\u7167\u3001\u56de\u6eda \u5220\u9664\u539f\u751f\u5e94\u7528\uff1aDelete-Application Application \u521b\u5efa OAM \u5e94\u7528\uff1aCreate-OAMApplication OAMApplication \u66f4\u65b0 OAM \u5e94\u7528\uff1aUpdate-OAMApplication OAMApplication \u7f16\u8f91yaml \u6dfb\u52a0 OAM \u5e94\u7528\u7ec4\u4ef6\uff1aAdd-OAMApplicationComponent OAMApplicationComponent \u6dfb\u52a0\u7ec4\u4ef6 \u66f4\u65b0 OAM \u7ec4\u4ef6\u8fd0\u7ef4\u7279\u5f81\uff1aUpdate-OAMApplicationComponentTrait OAMApplicationComponentTrait \u66f4\u65b0\u5e94\u7528\u7ec4\u4ef6\u8fd0\u7ef4\u7279\u5f81 \u5220\u9664 OAM \u5e94\u7528\uff1aDelete-OAMApplication OAMApplication \u521b\u5efa HELM \u5e94\u7528\uff1aCreate-HelmApplication HelmApplication \u521b\u5efaOLM \u5e94\u7528\uff1aCreate-OLMApplication OLMApplication \u66f4\u65b0OLM \u5e94\u7528\uff1aUpdate-OLMApplication OLMApplication \u521b\u5efaOLM \u5e94\u7528\uff1aDelete-OLMApplication OLMApplication \u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff1aCreate-Namespace Namespace \u66f4\u65b0\u547d\u540d\u7a7a\u95f4\u914d\u989d\uff1aUpdate-NamespaceQuota NamespaceQuota \u5220\u9664\u547d\u540d\u7a7a\u95f4\uff1aDelete-Namespace Namespace \u521b\u5efa\u6d41\u6c34\u7ebf\uff1aCreate-Pipeline Pipeline \u66f4\u65b0\u6d41\u6c34\u7ebf\uff1aUpdate-Pipeline Pipeline \u5305\u542b\u6240\u6709\u7684\u66f4\u65b0\u64cd\u4f5c(\u7f16\u8f91jenkinsfile\u3001\u7f16\u8f91\u914d\u7f6e\u3001\u7f16\u8f91\u56fe\u5f62\u5316\u3001) \u8fd0\u884c\u6d41\u6c34\u7ebf\uff1aRun-Pipeline Pipeline \u7acb\u5373\u8fd0\u884cc\u5965\u505a \u91cd\u65b0\u8fd0\u884c\uff1aReRun-Pipeline Pipeline \u91cd\u65b0\u6267\u884c\u64cd\u4f5c \u7ec8\u6b62\u6d41\u6c34\u7ebf\uff1aAbort-Pipeline Pipeline \u7ec8\u6b62\u64cd\u4f5c+\u5ba1\u6279\u6b65\u9aa4\u7684\u7ec8\u6b62\u64cd\u4f5c \u5ba1\u6279\u6d41\u6c34\u7ebf\uff1aApproval-Pipeline Pipeline \u5ba1\u6279\u901a\u8fc7\u6d41\u6c34\u7ebf \u5220\u9664\u6d41\u6c34\u7ebf\uff1aDelete-Pipeline Pipeline \u521b\u5efa\u6d41\u6c34\u7ebf\u51ed\u8bc1\uff1aCreate-PipelineCredential PipelineCredential \u5220\u9664\u6d41\u6c34\u7ebf\u51ed\u8bc1\uff1aDelete-PipelineCredential PipelineCredential \u521b\u5efa\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aCreate-GrayscaleTask GrayscaleTask \u662f\u5426\u8981\u533a\u5206\u662f\u84dd\u7eff\u8fd8\u662f\u91d1\u4e1d\u96c0 \u66f4\u65b0\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aUpdate-GrayscaleTask GrayscaleTask \u66f4\u65b0\u53d1\u5e03\u4efb\u52a1\u3001\u66f4\u65b0\u7248\u672c\u3001\u7f16\u8f91 yaml\u3001\u66f4\u65b0\u5b9e\u4f8b\u6570 \u53d1\u5e03\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\u4efb\u52a1\uff1aUpgrade-GrayscaleTask GrayscaleTask \u7ec8\u6b62\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aAbort-GrayscaleTask GrayscaleTask \u56de\u6eda\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aUndo-GrayscaleTask GrayscaleTask \u5220\u9664\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aDelete-GrayscaleTask GrayscaleTask \u521b\u5efaGitOps\u5e94\u7528\uff1aCreate-GitOpsApplication GitOpsApplication \u66f4\u65b0GitOps\u5e94\u7528\uff1aUpdate-GitOpsApplication GitOpsApplication \u540c\u6b65GitOps\u5e94\u7528\uff1aSync-GitOpsApplication GitOpsApplication \u5220\u9664GitOps\u5e94\u7528\uff1aDelete-GitOpsApplication GitOpsApplication \u5bfc\u5165 GitOps \u4ed3\u5e93\uff1aImport-GitOpsRepository GitOpsRepository \u5220\u9664 GitOps \u4ed3\u5e93\uff1aDelete-GitOpsRepository GitOpsRepository \u5de5\u5177\u94fe\u96c6\u6210\uff1aIntegrated-Toolchain Toolchain \u89e3\u9664\u96c6\u6210\u5de5\u5177\u94fe\uff1aDelete-Toolchain Toolchain \u7ed1\u5b9a\u5de5\u5177\u94fe\u9879\u76ee\uff1aBind-ToolchainProject ToolchainProject jira\u3001gitlab \u652f\u6301\u7ba1\u7406\u5458\u89c6\u89d2\u4e0b sonarqube \u4e5f\u652f\u6301 \u89e3\u9664\u7ed1\u5b9a\u5de5\u5177\u94fe\u5de5\u5177\u94fe\u9879\u76ee\uff1aUnbind-ToolchainProject ToolchainProject jira\u3001gitlab \u652f\u6301\u7ba1\u7406\u5458\u89c6\u89d2\u4e0b sonarqube \u4e5f\u652f\u6301"},{"location":"ghippo/user-guide/audit/gproduct-audit/ghippo.html","title":"\u5168\u5c40\u7ba1\u7406\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u4fee\u6539\u7528\u6237email\uff1aUpdateEmail-Account Account \u4fee\u6539\u7528\u6237\u5bc6\u7801\uff1aUpdatePassword-Account Account \u521b\u5efask\uff1aCreateAccessKeys-Account Account \u4fee\u6539sk\uff1aUpdateAccessKeys-Account Account \u5220\u9664sk\uff1aDeleteAccessKeys-Account Account \u521b\u5efa\u7528\u6237\uff1aCreate-User User \u5220\u9664\u7528\u6237\uff1aDelete-User User \u66f4\u65b0\u7528\u6237\u4fe1\u606f\uff1aUpdate-User User \u66f4\u65b0\u7528\u6237\u89d2\u8272\uff1a UpdateRoles-User User \u8bbe\u7f6e\u7528\u6237\u5bc6\u7801\uff1a UpdatePassword-User User \u521b\u5efa\u7528\u6237\u5bc6\u94a5\uff1a CreateAccessKeys-User User \u66f4\u65b0\u7528\u6237\u5bc6\u94a5\uff1a UpdateAccessKeys-User User \u5220\u9664\u7528\u6237\u5bc6\u94a5\uff1aDeleteAccessKeys-User User \u521b\u5efa\u7528\u6237\u7ec4\uff1aCreate-Group Group \u5220\u9664\u7528\u6237\u7ec4\uff1aDelete-Group Group \u66f4\u65b0\u7528\u6237\u7ec4\uff1aUpdate-Group Group \u6dfb\u52a0\u7528\u6237\u81f3\u7528\u6237\u7ec4\uff1aAddUserTo-Group Group \u4ece\u7528\u6237\u7ec4\u5220\u9664\u7528\u6237\uff1a RemoveUserFrom-Group Group \u66f4\u65b0\u7528\u6237\u7ec4\u89d2\u8272\uff1a UpdateRoles-Group Group \u89d2\u8272\u5173\u8054\u7528\u6237\uff1aUpdateRoles-User User \u521b\u5efaLdap \uff1aCreate-LADP LADP \u66f4\u65b0Ldap\uff1aUpdate-LADP LADP \u5220\u9664Ldap \uff1a Delete-LADP LADP OIDC\u6ca1\u6709\u8d70APIserver\u5ba1\u8ba1\u4e0d\u5230 \u767b\u5f55\uff1aLogin-User User \u767b\u51fa\uff1aLogout-User User \u8bbe\u7f6e\u5bc6\u7801\u7b56\u7565\uff1aUpdatePassword-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u4f1a\u8bdd\u8d85\u65f6\uff1aUpdateSessionTimeout-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u8d26\u53f7\u9501\u5b9a\uff1aUpdateAccountLockout-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u81ea\u52a8\u767b\u51fa\uff1aUpdateLogout-SecurityPolicy SecurityPolicy \u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e MailServer-SecurityPolicy SecurityPolicy \u5916\u89c2\u5b9a\u5236 CustomAppearance-SecurityPolicy SecurityPolicy \u6b63\u7248\u6388\u6743 OfficialAuthz-SecurityPolicy SecurityPolicy \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\uff1aCreate-Workspace Workspace \u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\uff1aDelete-Workspace Workspace \u7ed1\u5b9a\u8d44\u6e90\uff1aBindResourceTo-Workspace Workspace \u89e3\u7ed1\u8d44\u6e90\uff1aUnBindResource-Workspace Workspace \u7ed1\u5b9a\u5171\u4eab\u8d44\u6e90\uff1aBindShared-Workspace Workspace \u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff1aSetQuota-Workspace Workspace \u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\uff1aAuthorize-Workspace Workspace \u5220\u9664\u6388\u6743 DeAuthorize-Workspace Workspace \u7f16\u8f91\u6388\u6743 UpdateDeAuthorize-Workspace Workspace \u66f4\u65b0\u5de5\u4f5c\u7a7a\u95f4 Update-Workspace Workspace \u521b\u5efa\u6587\u4ef6\u5939\uff1aCreate-Folder Folder \u5220\u9664\u6587\u4ef6\u5939\uff1aDelete-Folder Folder \u7f16\u8f91\u6587\u4ef6\u5939\u6388\u6743\uff1aUpdateAuthorize-Folder Folder \u66f4\u65b0\u6587\u4ef6\u5939\uff1aUpdate-Folder Folder \u65b0\u589e\u6587\u4ef6\u5939\u6388\u6743\uff1aAuthorize-Folder Folder \u5220\u9664\u6587\u4ef6\u5939\u6388\u6743\uff1aDeAuthorize-Folder Folder \u8bbe\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u81ea\u52a8\u6e05\u7406\uff1aAutoCleanup-Audit Audit \u624b\u52a8\u6e05\u7406\u5ba1\u8ba1\u65e5\u5fd7\uff1aManualCleanup-Audit Audit \u5bfc\u51fa\u5ba1\u8ba1\u65e5\u5fd7\uff1aExport-Audit Audit"},{"location":"ghippo/user-guide/audit/gproduct-audit/insight.html","title":"\u53ef\u89c2\u6d4b\u6027\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u62e8\u6d4b\u4efb\u52a1\uff1aCreate-ProbeJob ProbeJob \u7f16\u8f91\u62e8\u6d4b\u4efb\u52a1\uff1aUpdate-ProbeJob ProbeJob \u5220\u9664\u62e8\u6d4b\u4efb\u52a1\uff1aDelete-ProbeJob ProbeJob \u521b\u5efa\u544a\u8b66\u7b56\u7565\uff1aCreate-AlertPolicy AlertPolicy \u7f16\u8f91\u544a\u8b66\u7b56\u7565\uff1aUpdate-AlertPolicy AlertPolicy \u5220\u9664\u544a\u8b66\u7b56\u7565\uff1aDelete-AlertPolicy AlertPolicy \u5bfc\u5165\u544a\u8b66\u7b56\u7565\uff1aImport-AlertPolicy AlertPolicy \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u6dfb\u52a0\u89c4\u5219\uff1aCreate-AlertRule AlertRule \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u7f16\u8f91\u89c4\u5219\uff1aUpdate-AlertRule AlertRule \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u5220\u9664\u89c4\u5219\uff1aDelete-AlertRule AlertRule \u521b\u5efa\u544a\u8b66\u6a21\u677f\uff1aCreate-RuleTemplate RuleTemplate \u7f16\u8f91\u544a\u8b66\u6a21\u677f\uff1aUpdate-RuleTemplate RuleTemplate \u5220\u9664\u544a\u8b66\u6a21\u677f\uff1aDelete-RuleTemplate RuleTemplate \u521b\u5efa\u90ae\u7bb1\u7ec4\uff1aCreate-email email \u7f16\u8f91\u90ae\u7bb1\u7ec4\uff1aUpdate-email email \u5220\u9664\u90ae\u7bb1\u7ec4\uff1aDelete-Receiver Receiver \u521b\u5efa\u9489\u9489\u673a\u5668\u4eba\uff1aCreate-dingtalk dingtalk \u7f16\u8f91\u9489\u9489\u673a\u5668\u4eba\uff1aUpdate-dingtalk dingtalk \u5220\u9664\u9489\u9489\u673a\u5668\u4eba\uff1aDelete-Receiver Receiver \u521b\u5efa\u4f01\u5fae\u673a\u5668\u4eba\uff1aCreate-wecom wecom \u7f16\u8f91\u4f01\u5fae\u673a\u5668\u4eba\uff1aUpdate-wecom wecom \u5220\u9664\u4f01\u5fae\u673a\u5668\u4eba\uff1aDelete-Receiver Receiver \u521b\u5efa Webhook\uff1aCreate-webhook webhook \u7f16\u8f91 Webhook\uff1aUpdate-webhook webhook \u5220\u9664 Webhook\uff1aDelete-Receiver Receiver \u521b\u5efa SMS\uff1aCreate-sms sms \u7f16\u8f91 SMS\uff1aUpdate-sms sms \u5220\u9664 SMS\uff1aDelete-Receiver Receiver \u521b\u5efa SMS \u670d\u52a1\u5668\uff1aCreate-aliyun(\u6216\u8005\uff1atencent\uff0ccustom) aliyun, tencent, custom \u7f16\u8f91 SMS \u670d\u52a1\u5668\uff1aUpdate-aliyun(\u6216\u8005\uff1atencent\uff0ccustom) aliyun, tencent, custom \u5220\u9664 SMS \u670d\u52a1\u5668\uff1aDelete-SMSserver SMSserver \u521b\u5efa\u6d88\u606f\u6a21\u677f\uff1aCreate-MessageTemplate MessageTemplate \u7f16\u8f91\u6d88\u606f\u6a21\u677f\uff1aUpdate-MessageTemplate MessageTemplate \u5220\u9664\u6d88\u606f\u6a21\u677f\uff1aDelete-MessageTemplate MessageTemplate \u521b\u5efa\u544a\u8b66\u9759\u9ed8\uff1aCreate-AlertSilence AlertSilence \u7f16\u8f91\u544a\u8b66\u9759\u9ed8\uff1aUpdate-AlertSilence AlertSilence \u5220\u9664\u544a\u8b66\u9759\u9ed8\uff1aDelete-AlertSilence AlertSilence \u521b\u5efa\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aCreate-AlertInhibition AlertInhibition \u7f16\u8f91\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aUpdate-AlertInhibition AlertInhibition \u5220\u9664\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aDelete-AlertInhibition AlertInhibition \u66f4\u65b0\u7cfb\u7edf\u914d\u7f6e\uff1aUpdate-SystemSettings SystemSettings"},{"location":"ghippo/user-guide/audit/gproduct-audit/kairship.html","title":"\u591a\u4e91\u7f16\u6392\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u6dfb\u52a0\u591a\u4e91\u5b9e\u4f8b\uff1aCreate-Instance Instance \u5220\u9664\u591a\u4e91\u5b9e\u4f8b\uff1aDelete-Instance Instance \u63a5\u5165\u96c6\u7fa4\uff1aIntegrate-Cluster Cluster \u79fb\u9664\u96c6\u7fa4\uff1aRemove-Cluster Cluster \u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-Deployment Deployment \u66f4\u65b0\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aUpdate-Deployment Deployment \u5220\u9664\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-Deployment Deployment \u521b\u5efa\u4efb\u52a1\uff1aCreate-Job Job \u66f4\u65b0\u4efb\u52a1\uff1aUpdate-Job Job \u5220\u9664\u4efb\u52a1\uff1aDelete-Job Job \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff1aCreate-CronJob CronJob \u66f4\u65b0\u5b9a\u65f6\u4efb\u52a1\uff1aUpdate-CronJob CronJob \u5220\u9664\u5b9a\u65f6\u4efb\u52a1\uff1aDelete-CronJob CronJob \u521b\u5efa\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aCreate-CRD CRD \u66f4\u65b0\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aUpdate-CRD CRD \u5220\u9664\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aDelete-CRD CRD \u521b\u5efa\u591a\u4e91\u670d\u52a1\uff1aCreate-Multicloud Services Multicloud Services \u66f4\u65b0\u591a\u4e91\u670d\u52a1\uff1aUpdate-Multicloud Services Multicloud Services \u5220\u9664\u591a\u4e91\u670d\u52a1\uff1aDelete-Multicloud Services Multicloud Services \u521b\u5efa\u591a\u4e91\u8def\u7531\uff1aCreate-Multicloud Ingress Multicloud Ingress \u66f4\u65b0\u591a\u4e91\u8def\u7531\uff1aUpdate-Multicloud Ingress Multicloud Ingress \u5220\u9664\u591a\u4e91\u8def\u7531\uff1aDelete-Multicloud Ingress Multicloud Ingress \u521b\u5efa\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aCreate-Multicloud Namespace Multicloud Namespace \u66f4\u65b0\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aUpdate-Multicloud Namespace Multicloud Namespace \u5220\u9664\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aDelete-Multicloud Namespace Multicloud Namespace \u521b\u5efa\u591a\u4e91\u914d\u7f6e\u9879\uff1aCreate-Multicloud ConfigMaps Multicloud ConfigMaps \u66f4\u65b0\u591a\u4e91\u914d\u7f6e\u9879\uff1aUpdate-Multicloud ConfigMaps Multicloud ConfigMaps \u5220\u9664\u591a\u4e91\u914d\u7f6e\u9879\uff1aDelete-Multicloud ConfigMaps Multicloud ConfigMaps \u521b\u5efa\u591a\u4e91\u5bc6\u94a5\uff1aCreate-Multicloud Secret Multicloud Secret \u66f4\u65b0\u591a\u4e91\u5bc6\u94a5\uff1aUpdate-Multicloud Secret Multicloud Secret \u5220\u9664\u591a\u4e91\u5bc6\u94a5\uff1aDelete-Multicloud Secret Multicloud Secret \u521b\u5efa\u90e8\u7f72\u7b56\u7565\uff1aCreate-Propagation Policies Propagation Policies \u66f4\u65b0\u90e8\u7f72\u7b56\u7565\uff1aUpdate-Propagation Policies Propagation Policies \u5220\u9664\u90e8\u7f72\u7b56\u7565\uff1aDelete-Propagation Policies Propagation Policies \u521b\u5efa\u5dee\u5f02\u5316\u7b56\u7565\uff1aCreate-Override Policies Override Policies \u66f4\u65b0\u5dee\u5f02\u5316\u7b56\u7565\uff1aUpdate-Override Policies Override Policies \u5220\u9664\u5dee\u5f02\u5316\u7b56\u7565\uff1aDelete-Override Policies Override Policies"},{"location":"ghippo/user-guide/audit/gproduct-audit/kangaroo.html","title":"\u955c\u50cf\u4ed3\u5e93\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u955c\u50cf\u5220\u9664\uff1aDelete-Image Image artifact\u5220\u9664\uff1aDelete-Artifacts Artifacts \u521b\u5efa\u56de\u6536\u89c4\u5219\uff1aCreate-ReclaimRule ReclaimRule \u540c\u4e00\u4e2a\u63a5\u53e3\uff0c\u53ea\u80fd\u8bb0\u5f55\u4e00\u6761 \u5220\u9664\u56de\u6536\u89c4\u5219\uff1aDelete-ReclaimRule ReclaimRule \u5b9a\u65f6\u8fd0\u884c\u56de\u6536\u89c4\u5219\uff1aSheduled-ReclaimRule ReclaimRule \u624b\u52a8\u8fd0\u884c\u56de\u6536\u89c4\u5219\uff1aManual-ReclaimRule ReclaimRule \u5355\u72ec\u8bb0\u5f55 \u521b\u5efa\u4ed3\u5e93\u96c6\u6210\uff1aCreate-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u5220\u9664\u4ed3\u5e93\u96c6\u6210\uff1aDelete-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u66f4\u65b0\u4ed3\u5e93\u96c6\u6210\uff1aUpdate-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u521b\u5efa\u4ed3\u5e93\u96c6\u6210\uff1aCreate-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u5220\u9664\u4ed3\u5e93\u96c6\u6210\uff1aDelete-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u66f4\u65b0\u4ed3\u5e93\u96c6\u6210\uff1aUpdate-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u521b\u5efa\u6258\u7ba1harbor\uff1aCreate-Harbor Harbor \u5220\u9664\u6258\u7ba1Harbor\uff1aDelete-Harbor Harbor \u66f4\u65b0\u6258\u7ba1Harbor\uff1aUpdate-Harbor Harbor"},{"location":"ghippo/user-guide/audit/gproduct-audit/kpanda.html","title":"\u5bb9\u5668\u7ba1\u7406\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u521b\u5efa\u96c6\u7fa4\uff1aCreate-Cluster Cluster \u5378\u8f7d\u96c6\u7fa4\uff1aDelete-Cluster Cluster \u63a5\u5165\u96c6\u7fa4\uff1aIntegrate-Cluster Cluster \u89e3\u9664\u63a5\u5165\u7684\u96c6\u7fa4\uff1aRemove-Cluster Cluster \u96c6\u7fa4\u5347\u7ea7\uff1aUpgrade-Cluster Cluster \u96c6\u7fa4\u63a5\u5165\u8282\u70b9\uff1aIntegrate-Node Node \u96c6\u7fa4\u8282\u70b9\u79fb\u9664\uff1aRemove-Node Node \u96c6\u7fa4\u8282\u70b9 GPU \u6a21\u5f0f\u5207\u6362\uff1aUpdate-NodeGPUMode NodeGPUMode helm\u4ed3\u5e93\u521b\u5efa\uff1aCreate-HelmRepo HelmRepo helm\u5e94\u7528\u90e8\u7f72\uff1aCreate-HelmApp HelmApp helm\u5e94\u7528\u5220\u9664\uff1aDelete-HelmApp HelmApp \u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-Deployment Deployment \u5220\u9664\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-Deployment Deployment \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff1aCreate-DaemonSet DaemonSet \u5220\u9664\u5b88\u62a4\u8fdb\u7a0b\uff1aDelete-DaemonSet DaemonSet \u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-StatefulSet StatefulSet \u5220\u9664\u6709\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-StatefulSet StatefulSet \u521b\u5efa\u4efb\u52a1\uff1aCreate-Job Job \u5220\u9664\u4efb\u52a1\uff1aDelete-Job Job \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff1aCreate-CronJob CronJob \u5220\u9664\u5b9a\u65f6\u4efb\u52a1\uff1aDelete-CronJob CronJob \u5220\u9664\u5bb9\u5668\u7ec4\uff1aDelete-Pod Pod \u521b\u5efa\u670d\u52a1\uff1aCreate-Service Service \u5220\u9664\u670d\u52a1\uff1aDelete-Service Service \u521b\u5efa\u8def\u7531\uff1aCreate-Ingress Ingress \u5220\u9664\u8def\u7531\uff1aDelete-Ingress Ingress \u521b\u5efa\u5b58\u50a8\u6c60\uff1aCreate-StorageClass StorageClass \u5220\u9664\u5b58\u50a8\u6c60\uff1aDelete-StorageClass StorageClass \u521b\u5efa\u6570\u636e\u5377\uff1aCreate-PersistentVolume PersistentVolume \u5220\u9664\u6570\u636e\u5377\uff1aDelete-PersistentVolume PersistentVolume \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff1aCreate-PersistentVolumeClaim PersistentVolumeClaim \u5220\u9664\u6570\u636e\u5377\u58f0\u660e\uff1aDelete-PersistentVolumeClaim PersistentVolumeClaim \u5220\u9664\u526f\u672c\u96c6\uff1aDelete-ReplicaSet ReplicaSet ns\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\uff1aBindResourceTo-Workspace Workspace ns\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4 \uff1aUnBindResource-Workspace Workspace \u96c6\u7fa4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\uff1aBindResourceTo-Workspace Workspace \u96c6\u7fa4\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\uff1aUnBindResource-Workspace Workspace \u6253\u5f00\u63a7\u5236\u53f0\uff1aCreate-CloudShell CloudShell \u5173\u95ed\u63a7\u5236\u53f0\uff1aDelete-CloudShell CloudShell"},{"location":"ghippo/user-guide/audit/gproduct-audit/mcamel.html","title":"\u4e2d\u95f4\u4ef6\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa es\uff1acreate-ElasticsearchInstance ElasticsearchInstance \u521b\u5efa kafka\uff1acreate-KafkaInstance KafkaInstance \u521b\u5efa MinIO\uff1acreate-MinIOInstance MinIOInstance \u521b\u5efa PostgreSQL\uff1acreate-PostgreSQLInstance PostgreSQLInstance \u521b\u5efa RabbitMQ\uff1acreate-RabbitMQInstance RabbitMQInstance \u521b\u5efa\u6570\u636e\u5e93\uff1acreate-MySQLInstance MySQLInstance \u521b\u5efa\u6570\u636e\u5e93\uff1acreate-RedisInstance RedisInstance \u5220\u9664 es\uff1adelete-ElasticsearchInstance ElasticsearchInstance \u5220\u9664 kafka\uff1adelete-KafkaInstance KafkaInstance \u5220\u9664 MinIO\uff1adelete-MinIOInstance MinIOInstance \u5220\u9664 PostgreSQL\uff1adelete-PostgreSQLInstance PostgreSQLInstance \u5220\u9664 RabbitMQ\uff1adelete-RabbitMQInstance RabbitMQInstance \u5220\u9664\u6570\u636e\u5e93\uff1adelete-MySQLInstance MySQLInstance \u5220\u9664\u6570\u636e\u5e93\uff1adelete-RedisInstance RedisInstance \u66f4\u65b0\u5907\u4efd\u8bbe\u7f6e\uff1aupdate-MySQLBackup MySQLBackup \u66f4\u65b0\u5907\u4efd\u8bbe\u7f6e\uff1aupdate-RedisBackup RedisBackup \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-ElasticsearchInstance ElasticsearchInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-KafkaInstance KafkaInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-MinIOInstance MinIOInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-MySQLInstance MySQLInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-PostgreSQLInstance PostgreSQLInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-RabbitMQInstance RabbitMQInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-RedisInstance RedisInstance"},{"location":"ghippo/user-guide/audit/gproduct-audit/mspider.html","title":"\u670d\u52a1\u7f51\u683c\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u7f51\u683c\uff1acreate-MeshInstance MeshInstance \u5220\u9664\u7f51\u683c\uff1adelete-MeshInstance MeshInstance \u63a5\u5165\u96c6\u7fa4\uff1aAdd-Cluster cluster \u79fb\u9664\u96c6\u7fa4\uff1aRemove-Cluster cluster \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u6ce8\u5165\u542f\u7528\uff1aInjectSidecarTo-Namespace Namespace \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u6ce8\u5165\u7981\u7528\uff1aForbiddenInjectSidecarTo-Namespace Namespace \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u6ce8\u5165\u542f\u7528\uff1aInjectSidecarTo-Workload workload \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u6ce8\u5165\u7981\u7528\uff1aForbiddenInjectSidecarTo-Workload workload \u521b\u5efa\u7f51\u683c\u7f51\u5173\uff1acreate-MeshGateway MeshGateway \u5220\u9664\u7f51\u683c\u7f51\u5173\uff1adelete-MeshGateway MeshGateway \u542f\u7528\u591a\u4e91\uff1aEnable-Multicloud Multicloud \u5173\u95ed\u591a\u4e91\uff1aClose-Multicloud Multicloud \u542f\u7528\u4e92\u8054\uff1aEnableInterconnection MulticloudGroup \u79fb\u51fa\u4e92\u8054\uff1aDisableInterconnection MulticloudGroup"},{"location":"ghippo/user-guide/audit/gproduct-audit/skoala.html","title":"\u5fae\u670d\u52a1\u5f15\u64ce\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u7f51\u5173\uff1aCreate-Gateway Gateway \u66f4\u65b0\u7f51\u5173\uff1aUpdate-Gateway Gateway \u96c6\u7fa4\u4e2d\u7f51\u5173\u5217\u8868\uff1aListClusterGateway-Gateway Gateway \u5220\u9664\u7f51\u5173\uff1aDelete-Gateway Gateway API \u4e0a\u4e0b\u7ebf\uff1aUpdateAPIStatus-GatewayAPI GatewayAPI API \u8c03\u7528\u6d4b\u8bd5\uff1aDebugGatewayAPI-GatewayAPI GatewayAPI \u521b\u5efa API\uff1aCreateGatewayAPI-GatewayAPI GatewayAPI \u5bfc\u5165 API \u68c0\u67e5\uff1aImportAPICheck-GatewayAPI GatewayAPI \u5bfc\u5165 API\uff1aImportAPI-GatewayAPI GatewayAPI \u66f4\u65b0 API \u9ad8\u7ea7\u7b56\u7565\uff1aUpdateGatewayAPIAdvancedPolicy-GatewayAPI GatewayAPI \u66f4\u65b0 API\uff1aUpdateGatewayAPI-GatewayAPI GatewayAPI \u6279\u91cf\u66f4\u65b0 API \u72b6\u6001\uff1aBatchOperationAPI-GatewayAPI GatewayAPI \u5220\u9664 API\uff1aDeleteAPI-GatewayAPI GatewayAPI \u521b\u5efa\u7f51\u5173\u63a5\u5165\u670d\u52a1\uff1aCreateService-GatewayService GatewayService \u66f4\u65b0\u7f51\u5173\u670d\u52a1\u7b56\u7565\uff1aUpdateServicePolicy-GatewayService GatewayService \u66f4\u65b0\u7f51\u5173\u63a5\u5165\u670d\u52a1\uff1aUpdateService-GatewayService GatewayService \u5220\u9664\u7f51\u5173\u670d\u52a1\uff1aDeleteService-GatewayService GatewayService \u521b\u5efa\u6d41\u91cf\u6cf3\u9053\uff1aCreateLane-Lane Lane \u521b\u5efa\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aCreateLaneDrainageRule-Lane Lane \u66f4\u65b0\u6d41\u91cf\u6cf3\u9053\u72b6\u6001\uff1aActionLane-Lane Lane \u66f4\u65b0\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\u72b6\u6001\uff1aUpdateLaneDrainageRuleStatus-Lane Lane \u66f4\u65b0\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aUpdateLaneDrainageRule-Lane Lane \u5220\u9664\u6d41\u91cf\u6cf3\u9053\uff1aDeleteLane-Lane Lane \u5220\u9664\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aDeleteLaneDrainageRule-Lane Lane \u6dfb\u52a0\u6d41\u91cf\u6cf3\u9053\u670d\u52a1\uff1aAddLaneService-Lane Lane \u79fb\u9664\u6d41\u91cf\u6cf3\u9053\u670d\u52a1\uff1aDeleteLaneService-Lane Lane \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aCreateServiceIstioPlugin-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aCreateTimeout-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aCreateFault-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aCreateOutlierDetection-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aCreateConnectionPool-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aCreateRetry-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aCreateRewrite-Mesh Mesh \u5bf9\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\u6392\u5e8f\uff1aSortServiceIstioPlugin-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aUpdateServiceIstioPlugin-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aUpdateTimeout-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d1f\u8f7d\u5747\u8861\uff1aUpdateLb-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aUpdateFault-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aUpdateOutlierDetection-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aUpdateConnectionPool-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aUpdateRetry-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aUpdateRewrite-Mesh Mesh \u5c06\u7f51\u683c\u670d\u52a1\u5bfc\u5165\u5230\u4e91\u539f\u751f\u5fae\u670d\u52a1\u4e2d\uff1aExportService-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aDeleteServiceIstioPlugin-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aDeleteTimeout-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aDeleteFault-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aDeleteOutlierDetection-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aDeleteConnectionPool-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aDeleteRetry-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aDeleteRewrite-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u7ed1\u5b9a\u9650\u6d41\u89c4\u5219\uff1aCreateServiceIstioPluginRLSRules-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u66f4\u65b0\u9650\u6d41\u89c4\u5219\uff1aUpdateServiceIstioPluginRLSRules-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u5220\u9664\u9650\u6d41\u89c4\u5219\uff1aDeleteServiceIstioPluginRLSRules-Mesh Mesh \u79fb\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\uff1aRemoveService-Mesh Mesh \u6309metadata\u67e5\u8be2\u6258\u7ba1 Nacos\u670d\u52a1\u7684\u5b9e\u4f8b\u5217\u8868\uff1aQueryServiceInstance-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aCreateConfig-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684 API \u4fe1\u606f\uff1aCreateServiceAPI-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aCreateNamespace-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos\uff1aCreate-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u670d\u52a1\uff1aUpdateService-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aUpdateConfig-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684 API \u4fe1\u606f\uff1aUpdateServiceAPI-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684\u5b9e\u4f8b\u8be6\u60c5\uff1aUpdateServiceInstance-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aUpdateNamespace-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos\uff1aUpdate-Nacos Nacos \u56de\u6eda\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aRollbackConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aDeleteConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u914d\u7f6e\u7684\u7070\u5ea6\u914d\u7f6e\uff1aDeleteBetaConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aDeleteNamespace-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos\uff1aDelete-Nacos Nacos \u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u670d\u52a1\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetServiceInsight-Nacos Nacos \u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684\u5b9e\u4f8b\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetServiceInstanceInsight-Nacos Nacos \u4fee\u6539\u6258\u7ba1 Nacos \u7528\u6237\u5bc6\u7801\uff1aUpdateUserPassword-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u7684\u63d2\u4ef6\u8be6\u60c5\uff1aUpdate-Plugin Plugin \u521b\u5efa\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684 API \u6587\u6863\uff1aCreateServiceAPI-Registry Registry \u521b\u5efa\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aCreate-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684 API \u6587\u6863\uff1aUpdateServiceAPI-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u5b9e\u4f8b\uff1aUpdateInstance-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aUpdate-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u53ef\u89c2\u6d4b\u6570\u636e\uff1aGetServiceInsight-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u5b9e\u4f8b\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetInstanceInsight-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u53ef\u7528\u6027\u68c0\u6d4b\uff1aPing-Registry Registry \u79fb\u9664\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aDelete-Registry Registry \u521b\u5efa/\u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel Token \u670d\u52a1\u5668\uff1aCreateOrUpdateTokenServer-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aCreateFlowRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aCreateParamFlowRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aCreateDegradeRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aCreateAuthorityRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aCreateSystemRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aUpdateFlowRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aUpdateParamFlowRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aUpdateDegradeRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aUpdateAuthorityRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aUpdateSystemRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u96c6\u7fa4\u6d41\u63a7\uff1aDeleteClusterFlow-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aDeleteFlowRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aDeleteParamFlowRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aDeleteDegradeRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aDeleteAuthorityRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aDeleteSystemRule-Sentinel Sentinel \u79fb\u9664\u670d\u52a1\u5b9e\u4f8b\u4e2d\u7684 Sentinel \u6cbb\u7406\u8be6\u60c5\uff1aDeleteInsGovern-Sentinel Sentinel \u521b\u5efa\u63d2\u4ef6\uff1aCreatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\u72b6\u6001\uff1aUpdatePluginStatus-SkoalaPlugin SkoalaPlugin \u66f4\u65b0\u63d2\u4ef6\uff1aUpdatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\uff1aDeletePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u63d2\u4ef6\u6a21\u677f\uff1aCreatePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u63d2\u4ef6\uff1aCreatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\u6a21\u677f\uff1aUpdatePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\uff1aUpdatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\u6a21\u677f\uff1aDeletePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\uff1aDeletePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u57df\u540d\uff1aCreateVirtualhost-Virtualhost Virtualhost \u66f4\u65b0\u57df\u540d\uff1aUpdateVirtualhost-Virtualhost Virtualhost \u5220\u9664\u57df\u540d\uff1aDeleteVirtualhost-Virtualhost Virtualhost"},{"location":"ghippo/user-guide/audit/gproduct-audit/virtnest.html","title":"\u865a\u62df\u673a\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u91cd\u542f\u865a\u62df\u673a\uff1aRestart-VMs VM \u865a\u62df\u673a\u8f6c\u6362\u4e3a\u6a21\u677f\uff1aConvertToTemplate-VMs VM \u7f16\u8f91\u865a\u62df\u673a\uff1aEdit-VMs VM \u66f4\u65b0\u865a\u62df\u673a\uff1aUpdate-VMs VM \u5feb\u7167\u6062\u590d\uff1aRestore-VMs VM \u5f00\u673a\u865a\u62df\u673a\uff1aPower on-VMs VM \u5b9e\u65f6\u8fc1\u79fb\uff1aLiveMigrate-VMs VM \u5220\u9664\u865a\u62df\u673a\uff1aDelete-VMs VM \u5220\u9664\u865a\u62df\u673a\u6a21\u677f\uff1aDelete-VM Template VM Template \u521b\u5efa\u865a\u62df\u673a\uff1aCreate-VMs VM \u521b\u5efa\u5feb\u7167\uff1aCreateSnapshot-VMs VM \u5173\u673a\u865a\u62df\u673a\uff1aPower off-VMs VM \u514b\u9686\u865a\u62df\u673a\uff1aClone-VMs VM"},{"location":"ghippo/user-guide/personal-center/accesstoken.html","title":"\u8bbf\u95ee\u5bc6\u94a5","text":"

    \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee\u5f00\u653e API \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

    "},{"location":"ghippo/user-guide/personal-center/accesstoken.html#_2","title":"\u83b7\u53d6\u5bc6\u94a5","text":"

    \u767b\u5f55 DCE 5.0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

    Info

    \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

    "},{"location":"ghippo/user-guide/personal-center/accesstoken.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

    \u5728\u8bbf\u95ee DCE 5.0 openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\uff0c\u5177\u4f53\u63a5\u53e3\u4fe1\u606f\u53c2\u89c1 OpenAPI \u63a5\u53e3\u6587\u6863\u3002

    \u8bf7\u6c42\u793a\u4f8b

    curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

    \u8bf7\u6c42\u7ed3\u679c

    {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
    "},{"location":"ghippo/user-guide/personal-center/language.html","title":"\u8bed\u8a00\u8bbe\u7f6e","text":"

    \u672c\u8282\u8bf4\u660e\u5982\u4f55\u8bbe\u7f6e\u754c\u9762\u8bed\u8a00\u3002\u76ee\u524d\u652f\u6301\u4e2d\u6587\u3001English \u4e24\u4e2a\u8bed\u8a00\u3002

    \u8bed\u8a00\u8bbe\u7f6e\u662f\u5e73\u53f0\u63d0\u4f9b\u591a\u8bed\u8a00\u670d\u52a1\u7684\u5165\u53e3\uff0c\u5e73\u53f0\u9ed8\u8ba4\u663e\u793a\u4e3a\u4e2d\u6587\uff0c\u7528\u6237\u53ef\u6839\u636e\u9700\u8981\u9009\u62e9\u82f1\u8bed\u6216\u81ea\u52a8\u68c0\u6d4b\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u7684\u65b9\u5f0f\u6765\u5207\u6362\u5e73\u53f0\u8bed\u8a00\u3002 \u6bcf\u4e2a\u7528\u6237\u7684\u591a\u8bed\u8a00\u670d\u52a1\u662f\u76f8\u4e92\u72ec\u7acb\u7684\uff0c\u5207\u6362\u540e\u4e0d\u4f1a\u5f71\u54cd\u5176\u4ed6\u7528\u6237\u3002

    \u5e73\u53f0\u63d0\u4f9b\u4e09\u79cd\u5207\u6362\u8bed\u8a00\u65b9\u5f0f\uff1a\u4e2d\u6587\u3001\u82f1\u8bed-English\u3001\u81ea\u52a8\u68c0\u6d4b\u60a8\u7684\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u3002

    \u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

    1. \u4f7f\u7528\u60a8\u7684\u7528\u6237\u540d/\u5bc6\u7801\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

    3. \u70b9\u51fb \u8bed\u8a00\u8bbe\u7f6e \u9875\u7b7e\u3002

    4. \u5207\u6362\u8bed\u8a00\u9009\u9879\u3002

    "},{"location":"ghippo/user-guide/personal-center/security-setting.html","title":"\u5b89\u5168\u8bbe\u7f6e","text":"

    \u529f\u80fd\u8bf4\u660e\uff1a\u7528\u4e8e\u586b\u5199\u90ae\u7bb1\u5730\u5740\u548c\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

    • \u90ae\u7bb1\uff1a\u5f53\u7ba1\u7406\u5458\u914d\u7f6e\u90ae\u7bb1\u670d\u52a1\u5668\u5730\u5740\u4e4b\u540e\uff0c\u7528\u6237\u80fd\u591f\u901a\u8fc7\u767b\u5f55\u9875\u7684\u5fd8\u8bb0\u5bc6\u7801\u6309\u94ae\uff0c\u586b\u5199\u8be5\u5904\u7684\u90ae\u7bb1\u5730\u5740\u4ee5\u627e\u56de\u5bc6\u7801\u3002
    • \u5bc6\u7801\uff1a\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u7684\u5bc6\u7801\uff0c\u5efa\u8bae\u5b9a\u671f\u4fee\u6539\u5bc6\u7801\u3002

    \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

    2. \u70b9\u51fb \u5b89\u5168\u8bbe\u7f6e \u9875\u7b7e\u3002\u586b\u5199\u60a8\u7684\u90ae\u7bb1\u5730\u5740\u6216\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

    "},{"location":"ghippo/user-guide/personal-center/ssh-key.html","title":"\u914d\u7f6e SSH \u516c\u94a5","text":"

    \u672c\u6587\u8bf4\u660e\u5982\u4f55\u914d\u7f6e SSH \u516c\u94a5\u3002

    "},{"location":"ghippo/user-guide/personal-center/ssh-key.html#1-ssh","title":"\u6b65\u9aa4 1\uff1a\u67e5\u770b\u5df2\u5b58\u5728\u7684 SSH \u5bc6\u94a5","text":"

    \u5728\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\u524d\uff0c\u8bf7\u5148\u786e\u8ba4\u662f\u5426\u9700\u8981\u4f7f\u7528\u672c\u5730\u5df2\u751f\u6210\u7684 SSH \u5bc6\u94a5\uff0cSSH \u5bc6\u94a5\u5bf9\u4e00\u822c\u5b58\u653e\u5728\u672c\u5730\u7528\u6237\u7684\u6839\u76ee\u5f55\u4e0b\u3002 Linux\u3001Mac \u8bf7\u76f4\u63a5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u5b58\u5728\u7684\u516c\u94a5\uff0cWindows \u7528\u6237\u5728 WSL\uff08\u9700\u8981 Windows 10 \u6216\u4ee5\u4e0a\uff09\u6216 Git Bash \u4e0b\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u751f\u6210\u7684\u516c\u94a5\u3002

    • ED25519 \u7b97\u6cd5\uff1a

      cat ~/.ssh/id_ed25519.pub\n
    • RSA \u7b97\u6cd5\uff1a

      cat ~/.ssh/id_rsa.pub\n

    \u5982\u679c\u8fd4\u56de\u4e00\u957f\u4e32\u4ee5 ssh-ed25519 \u6216 ssh-rsa \u5f00\u5934\u7684\u5b57\u7b26\u4e32\uff0c\u8bf4\u660e\u5df2\u5b58\u5728\u672c\u5730\u516c\u94a5\uff0c \u60a8\u53ef\u4ee5\u8df3\u8fc7\u6b65\u9aa4 2 \u751f\u6210 SSH \u5bc6\u94a5\uff0c\u76f4\u63a5\u64cd\u4f5c\u6b65\u9aa4 3\u3002

    "},{"location":"ghippo/user-guide/personal-center/ssh-key.html#2-ssh","title":"\u6b65\u9aa4 2\uff1a\u751f\u6210 SSH \u5bc6\u94a5","text":"

    \u82e5\u6b65\u9aa4 1 \u672a\u8fd4\u56de\u6307\u5b9a\u7684\u5185\u5bb9\u5b57\u7b26\u4e32\uff0c\u8868\u793a\u672c\u5730\u6682\u65e0\u53ef\u7528 SSH \u5bc6\u94a5\uff0c\u9700\u8981\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\uff0c\u8bf7\u6309\u5982\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

    1. \u8bbf\u95ee\u7ec8\u7aef\uff08Windows \u8bf7\u4f7f\u7528 WSL \u6216 Git Bash\uff09\uff0c \u8fd0\u884c ssh-keygen -t\u3002

    2. \u8f93\u5165\u5bc6\u94a5\u7b97\u6cd5\u7c7b\u578b\u548c\u53ef\u9009\u7684\u6ce8\u91ca\u3002

      \u6ce8\u91ca\u4f1a\u51fa\u73b0\u5728 .pub \u6587\u4ef6\u4e2d\uff0c\u4e00\u822c\u53ef\u4f7f\u7528\u90ae\u7bb1\u4f5c\u4e3a\u6ce8\u91ca\u5185\u5bb9\u3002

      • \u57fa\u4e8e ED25519 \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

        ssh-keygen -t ed25519 -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
      • \u57fa\u4e8e RSA \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

        ssh-keygen -t rsa -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
    3. \u70b9\u51fb\u56de\u8f66\uff0c\u9009\u62e9 SSH \u5bc6\u94a5\u751f\u6210\u8def\u5f84\u3002

      \u4ee5 ED25519 \u7b97\u6cd5\u4e3a\u4f8b\uff0c\u9ed8\u8ba4\u8def\u5f84\u5982\u4e0b\uff1a

      Generating public/private ed25519 key pair.\nEnter file in which to save the key (/home/user/.ssh/id_ed25519):\n

      \u5bc6\u94a5\u9ed8\u8ba4\u751f\u6210\u8def\u5f84\uff1a/home/user/.ssh/id_ed25519\uff0c\u516c\u94a5\u4e0e\u4e4b\u5bf9\u5e94\u4e3a\uff1a/home/user/.ssh/id_ed25519.pub\u3002

    4. \u8bbe\u7f6e\u4e00\u4e2a\u5bc6\u94a5\u53e3\u4ee4\u3002

      Enter passphrase (empty for no passphrase):\nEnter same passphrase again:\n

      \u53e3\u4ee4\u9ed8\u8ba4\u4e3a\u7a7a\uff0c\u60a8\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\u53e3\u4ee4\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u3002 \u5982\u679c\u60a8\u4e0d\u60f3\u5728\u6bcf\u6b21\u4f7f\u7528 SSH \u534f\u8bae\u8bbf\u95ee\u4ed3\u5e93\u65f6\uff0c\u90fd\u8981\u8f93\u5165\u7528\u4e8e\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u7684\u53e3\u4ee4\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u8f93\u5165\u7a7a\u53e3\u4ee4\u3002

    5. \u70b9\u51fb\u56de\u8f66\uff0c\u5b8c\u6210\u5bc6\u94a5\u5bf9\u521b\u5efa\u3002

    "},{"location":"ghippo/user-guide/personal-center/ssh-key.html#3","title":"\u6b65\u9aa4 3\uff1a\u62f7\u8d1d\u516c\u94a5","text":"

    \u9664\u4e86\u5728\u547d\u4ee4\u884c\u6253\u5370\u51fa\u5df2\u751f\u6210\u7684\u516c\u94a5\u4fe1\u606f\u624b\u52a8\u590d\u5236\u5916\uff0c\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u62f7\u8d1d\u516c\u94a5\u5230\u7c98\u8d34\u677f\u4e0b\uff0c\u8bf7\u53c2\u8003\u64cd\u4f5c\u7cfb\u7edf\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u62f7\u8d1d\u3002

    • Windows\uff08\u5728 WSL \u6216 Git Bash \u4e0b\uff09\uff1a

      cat ~/.ssh/id_ed25519.pub | clip\n
    • Mac\uff1a

      tr -d '\\n'< ~/.ssh/id_ed25519.pub | pbcopy\n
    • GNU/Linux (requires xclip):

      xclip -sel clip < ~/.ssh/id_ed25519.pub\n
    "},{"location":"ghippo/user-guide/personal-center/ssh-key.html#4-dce-50","title":"\u6b65\u9aa4 4\uff1a\u5728 DCE 5.0 \u5e73\u53f0\u4e0a\u8bbe\u7f6e\u516c\u94a5","text":"
    1. \u767b\u5f55 DCE 5.0 UI \u9875\u9762\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 \u3002

    2. \u6dfb\u52a0\u751f\u6210\u7684 SSH \u516c\u94a5\u4fe1\u606f\u3002

      1. SSH \u516c\u94a5\u5185\u5bb9\u3002

      2. \u516c\u94a5\u6807\u9898\uff1a\u652f\u6301\u81ea\u5b9a\u4e49\u516c\u94a5\u540d\u79f0\uff0c\u7528\u4e8e\u533a\u5206\u7ba1\u7406\u3002

      3. \u8fc7\u671f\u65f6\u95f4\uff1a\u8bbe\u7f6e\u516c\u94a5\u8fc7\u671f\u65f6\u95f4\uff0c\u5230\u671f\u540e\u516c\u94a5\u5c06\u81ea\u52a8\u5931\u6548\uff0c\u4e0d\u53ef\u4f7f\u7528\uff1b\u5982\u679c\u4e0d\u8bbe\u7f6e\uff0c\u5219\u6c38\u4e45\u6709\u6548\u3002

    "},{"location":"ghippo/user-guide/platform-setting/about.html","title":"\u5173\u4e8e\u5e73\u53f0","text":"

    \u5173\u4e8e\u5e73\u53f0 \u4e3b\u8981\u5448\u73b0\u5e73\u53f0\u5404\u4e2a\u5b50\u6a21\u5757\u5f53\u524d\u66f4\u65b0\u7684\u7248\u672c\uff0c\u58f0\u660e\u4e86\u5e73\u53f0\u4f7f\u7528\u7684\u5404\u4e2a\u5f00\u6e90\u8f6f\u4ef6\uff0c\u5e76\u4ee5\u52a8\u753b\u89c6\u9891\u7684\u65b9\u5f0f\u81f4\u8c22\u4e86\u5e73\u53f0\u7684\u6280\u672f\u56e2\u961f\u3002

    \u67e5\u770b\u6b65\u9aa4\uff1a

    1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

    2. \u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e \uff0c\u9009\u62e9 \u5173\u4e8e\u5e73\u53f0 \uff0c\u67e5\u770b\u4ea7\u54c1\u7248\u672c\u3001\u5f00\u6e90\u8f6f\u4ef6\u58f0\u660e\u548c\u6280\u672f\u56e2\u961f\u3002

      License \u58f0\u660e

      \u6280\u672f\u56e2\u961f

    "},{"location":"ghippo/user-guide/platform-setting/appearance.html","title":"\u5916\u89c2\u5b9a\u5236","text":"

    \u5728 DCE 5.0 \u4e2d\uff0c\u53ef\u901a\u8fc7 \u5916\u89c2\u5b9a\u5236 \u66f4\u6362\u767b\u5f55\u754c\u9762\u3001\u9876\u90e8\u5bfc\u822a\u680f\u4ee5\u53ca\u5e95\u90e8\u7248\u6743\u548c\u5907\u6848\u4fe1\u606f\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u8fa8\u8bc6\u4ea7\u54c1\u3002

    "},{"location":"ghippo/user-guide/platform-setting/appearance.html#_2","title":"\u5b9a\u5236\u8bf4\u660e","text":"
    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5e73\u53f0\u8bbe\u7f6e \u3002

    2. \u9009\u62e9 \u5916\u89c2\u5b9a\u5236 ,\u5728 \u767b\u5f55\u9875\u5b9a\u5236 \u9875\u7b7e\u4e2d\uff0c\u4fee\u6539\u767b\u5f55\u9875\u7684\u56fe\u6807\u548c\u6587\u5b57\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

    3. \u9000\u51fa\u767b\u5f55\uff0c\u5728\u767b\u5f55\u9875\u5237\u65b0\u540e\u53ef\u770b\u5230\u914d\u7f6e\u540e\u7684\u6548\u679c

    4. \u70b9\u51fb \u9876\u90e8\u5bfc\u822a\u680f\u5b9a\u5236 \u9875\u7b7e\uff0c\u4fee\u6539\u5bfc\u822a\u680f\u7684\u56fe\u6807\u548c\u6587\u5b57\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

    5. \u70b9\u51fb \u9ad8\u7ea7\u5b9a\u5236 \uff0c\u53ef\u4ee5\u7528 CSS \u6837\u5f0f\u8bbe\u7f6e\u767b\u5f55\u9875\u3001\u5bfc\u822a\u680f\u3001\u5e95\u90e8\u7248\u6743\u53ca\u5907\u6848\u4fe1\u606f\u3002

    "},{"location":"ghippo/user-guide/platform-setting/appearance.html#_3","title":"\u9ad8\u7ea7\u5b9a\u5236","text":"

    \u9ad8\u7ea7\u5b9a\u5236\u80fd\u591f\u901a\u8fc7 CSS \u6837\u5f0f\u6765\u4fee\u6539\u6574\u4e2a\u5bb9\u5668\u5e73\u53f0\u7684\u989c\u8272\u3001\u5b57\u4f53\u95f4\u9694\u3001\u5b57\u53f7\u7b49\u3002 \u60a8\u9700\u8981\u719f\u6089 CSS \u8bed\u6cd5\u3002\u5220\u9664\u9ed1\u8272\u8f93\u5165\u6846\u7684\u5185\u5bb9\uff0c\u53ef\u6062\u590d\u5230\u9ed8\u8ba4\u72b6\u6001\uff0c\u5f53\u7136\u4e5f\u53ef\u4ee5\u70b9\u51fb \u4e00\u952e\u8fd8\u539f \u6309\u94ae\u3002

    \u767b\u5f55\u9875\u5b9a\u5236\u7684 CSS \u6837\u4f8b\uff1a

    .test {\n  width: 12px;\n}\n\n#kc-login {\n /* color: red!important; */\n}\n

    \u767b\u5f55\u540e\u9875\u9762\u5b9a\u5236\u7684 CSS \u6837\u4f8b\uff1a

    .dao-icon.dao-iconfont.icon-service-global.dao-nav__head-icon {\n   color: red!important;\n}\n.ghippo-header-logo {\n  background-color: green!important;\n}\n.ghippo-header {\n  background-color: rgb(128, 115, 0)!important;\n}\n.ghippo-header-nav-main {\n  background-color: rgb(0, 19, 128)!important;\n}\n.ghippo-header-sub-nav-main .dao-popper-inner {\n  background-color: rgb(231, 82, 13) !important;\n}\n

    Footer\uff08\u9875\u9762\u5e95\u90e8\u7684\u7248\u6743\u3001\u5907\u6848\u7b49\u4fe1\u606f\uff09\u5b9a\u5236\u793a\u4f8b

    <div class=\"footer-content\">\n  <span class=\"footer-item\">Copyright \u00a9 DaoCloud \u9053\u5ba2\u7f51\u7edc\u79d1\u6280\u6709\u9650\u516c\u53f8\u4fdd\u7559\u6240\u6709\u6743\u5229</span>\n  <a class=\"footer-item\" href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\">\u6caa ICP \u5907 14048409 \u53f7 - 1</a>\n  <a class=\"footer-item\" href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\">\u6caa ICP \u5907 14048409 \u53f7 - 2</a>\n</div>\n<div class=\"footer-content\">\n  <img class=\"gongan-icon\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAQjSURBVHjaVNNZbFRlGIDh95w525zpdGa6TVtbykBbyiICxQY0AhYTJUCiiYqGqEEiJhKQmBg0ESPeeCGRENEYb4jhBr0gNQrRlCBiSgyLaSlSaKEs3Wemy+xnzuqFYdD/6rt6ku/N9wue55EcPwWArCgIgkx5ZRuYVxsnJ801Z05f3jY1MRnb/HxHV+uSph9RKq4mhkdwbZVgdQ2SHkPTwgj/h1QUWWi8/tfg/hM/XN/Y2zfaZnkSnuRDtLMsXhBOvrJtya/LlrcdMs1Qb1lVRQmSAEDAsU1kxpgamXp3y+azu1esreK9dyRqs9PIjkW6OsLx7lTV1ld/237s8HRV57MbnvO8CA+e9GCQFTk6Mza+4/0P+t9a9VSEI3uyTH/eR27aB2Ed31Q/Hx1sI6BHOPT13c5Frd0HW9p3HPUQEwAigJW9RDp+bstrOy981nVGLN/7RpHUV70YfXnEAtjxFPasxPDBQXatjzNTdOQXtg983H/51AFFy1KCIg2bNIdC+8270NwmUmelsXqSqHkDK5PDl8iCW0QcnEW+lqCjvcjQuMZ4YnQRTkotQUZu4GkjcfZNv19G011kXw4vayNYNvqCCvSVTciOgABgeuhBGwhgz5zbkI2ff7HUqJiNR2QktbbSYnBYYqbMT/ilKI4SIbT/GcRylbnvLmJ2X8N7tJ7rR8OE/BbliqEYea81WIotmOs02WFpc55Lf0f5/mSI3dsamOgxSX7ZjaALuBmB6M6FnB+S+POCwmOLk1QFFAqZyQWl1YrpiRZJLvDkygyC5NJ1XCax7xYNiTQVEYVIuUulayIcGeLkpw6WK7GuPY/fb2CkhleXIFFe8XPGaKBj9QxLW1Ik0bg8EuT2zRCJYZvZIYepe0EGbvi4bQUJVZhs2phADFYj+df0lBqJUnaekS4SUHXe3jrOnoE2PhSewHfRpfZGgcryIvfHdQruQlLo7Ns6QizqkJ31CIUlqwQJXuWUpDXj6qOsW32HT3YNImll9FwJsb4jyaLmWQ4fa6a+2sQw0ry8YZSiHcPxxXBtMfCv4XkUCrfliWs/fTE31rtTVfv9vsIorvQIniMhqXM4popVcJFVMHMpfMEaLPdxR1Tnna1b1vl6tGntpAjgCTNWONZyIFBR8Ydtr6EgrCI3VySfzZPLBDHyIq5gkpmzcOUmTGMF+bh7M9LYulfWzMmHBzk7Fpq9deWEYxjrtaCMXjWfstp6BCGNXZzBdYqYhogWqkMum4+oBVD0YnP63u/fFqbv1D+M7VSlBbmmK5uYaLYLYwslfwFVAyXQiOfcx3XyyGIM8DDn0lgWyGokHogu/0UJxpL/+f2e569s/CZQZ53OpzJr0+NXludUfb5jVdf7VUGXJUPIZast1S9PeII6jFDT5xMjFwO1S4c8zwTgnwEAxufYSzA67PMAAAAASUVORK5CYII=\" >\n  <a class=\"footer-item\" href=\"http://www.beian.gov.cn/portal/registerSystemInfo\">\u6caa\u516c\u7f51\u5b89\u5907 12345678912345\u53f7</a>\n</div>\n<style>\n.footer-content {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: center;\n}\n.footer-content + .footer-content {\n  margin-top: 8px;\n}\n.login-pf .footer-item {\n  color: white;\n}\n.footer-item {\n  color: var(--dao-gray-010);\n  text-decoration: none;\n}\n.footer-item + .footer-item {\n  margin-left: 8px;\n}\n.gongan-icon {\n  width: 18px;\n  height: 18px;\n  margin-right: 4px;\n}\n</style>\n

    Note

    \u5982\u679c\u60f3\u8981\u6062\u590d\u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb \u4e00\u952e\u8fd8\u539f \u3002\u8bf7\u6ce8\u610f\uff0c\u4e00\u952e\u8fd8\u539f\u540e\u5c06\u4e22\u5f03\u6240\u6709\u81ea\u5b9a\u4e49\u8bbe\u7f6e\u3002

    "},{"location":"ghippo/user-guide/platform-setting/mail-server.html","title":"\u90ae\u4ef6\u670d\u52a1\u5668","text":"

    DCE 5.0 \u4f1a\u5728\u7528\u6237\u5fd8\u8bb0\u5bc6\u7801\u65f6\uff0c\u5411\u7528\u6237\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u4ee5\u9a8c\u8bc1\u7535\u5b50\u90ae\u4ef6\u5730\u5740\uff0c\u786e\u4fdd\u7528\u6237\u662f\u672c\u4eba\u64cd\u4f5c\u3002 \u8981\u4f7f DCE 5.0 \u80fd\u591f\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\uff0c\u9700\u8981\u5148\u63d0\u4f9b\u60a8\u7684\u90ae\u4ef6\u670d\u52a1\u5668\u5730\u5740\u3002

    \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

    2. \u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e \uff0c\u9009\u62e9 \u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e \u3002

      \u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u914d\u7f6e\u90ae\u4ef6\u670d\u52a1\u5668\uff1a

      \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c SMTP \u670d\u52a1\u5668\u5730\u5740 \u80fd\u591f\u63d0\u4f9b\u90ae\u4ef6\u670d\u52a1\u7684 SMTP \u670d\u52a1\u5668\u5730\u5740 smtp.163.com SMTP \u670d\u52a1\u5668\u7aef\u53e3 \u53d1\u9001\u90ae\u4ef6\u7684\u7aef\u53e3 25 \u7528\u6237\u540d SMTP \u7528\u6237\u7684\u540d\u79f0 test@163.com \u5bc6\u7801 SMTP \u8d26\u53f7\u7684\u5bc6\u7801 123456 \u53d1\u4ef6\u4eba\u90ae\u7bb1 \u53d1\u4ef6\u4eba\u7684\u90ae\u7bb1\u5730\u5740 test@163.com \u4f7f\u7528 SSL \u5b89\u5168\u8fde\u63a5 SSL \u53ef\u4ee5\u7528\u4e8e\u52a0\u5bc6\u90ae\u4ef6\uff0c\u4ece\u800c\u63d0\u9ad8\u901a\u8fc7\u90ae\u4ef6\u4f20\u8f93\u7684\u4fe1\u606f\u7684\u5b89\u5168\u6027\uff0c\u901a\u5e38\u9700\u4e3a\u90ae\u4ef6\u670d\u52a1\u5668\u914d\u7f6e\u8bc1\u4e66 \u4e0d\u5f00\u542f
    3. \u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4fdd\u5b58 \uff0c\u70b9\u51fb \u6d4b\u8bd5\u90ae\u4ef6\u670d\u52a1\u5668 \u3002

    4. \u5c4f\u5e55\u53f3\u4e0a\u89d2\u51fa\u73b0\u6210\u529f\u53d1\u9001\u90ae\u4ef6\u7684\u63d0\u793a\uff0c\u5219\u8868\u793a\u90ae\u4ef6\u670d\u52a1\u5668\u88ab\u6210\u529f\u8bbe\u7f6e\u3002

    "},{"location":"ghippo/user-guide/platform-setting/mail-server.html#_2","title":"\u5e38\u89c1\u95ee\u9898","text":"

    \u95ee\uff1a\u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e\u540e\u7528\u6237\u4ecd\u65e0\u6cd5\u627e\u56de\u5bc6\u7801\u662f\u4ec0\u4e48\u539f\u56e0\uff1f

    \u7b54\uff1a\u7528\u6237\u53ef\u80fd\u672a\u8bbe\u7f6e\u90ae\u7bb1\u6216\u8005\u8bbe\u7f6e\u4e86\u9519\u8bef\u7684\u90ae\u7bb1\u5730\u5740\uff1b\u6b64\u65f6\u53ef\u4ee5\u8ba9 admin \u89d2\u8272\u7684\u7528\u6237\u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u4e2d\u901a\u8fc7\u7528\u6237\u540d\u627e\u5230\u8be5\u7528\u6237\uff0c\u5e76\u5728\u7528\u6237\u8be6\u60c5\u4e2d\u4e3a\u8be5\u7528\u6237\u8bbe\u7f6e\u65b0\u7684\u767b\u5f55\u5bc6\u7801\u3002

    \u5982\u679c\u90ae\u4ef6\u670d\u52a1\u5668\u6ca1\u6709\u8fde\u901a\uff0c\u8bf7\u68c0\u67e5\u90ae\u4ef6\u670d\u52a1\u5668\u5730\u5740\u3001\u7528\u6237\u540d\u53ca\u5bc6\u7801\u662f\u5426\u6b63\u786e\u3002

    "},{"location":"ghippo/user-guide/platform-setting/security.html","title":"\u5b89\u5168\u7b56\u7565","text":"

    DCE 5.0 \u5728\u56fe\u5f62\u754c\u9762\u4e0a\u63d0\u4f9b\u4e86\u57fa\u4e8e\u5bc6\u7801\u548c\u8bbf\u95ee\u63a7\u5236\u7684\u5b89\u5168\u7b56\u7565\u3002

    \u5bc6\u7801\u7b56\u7565

    • \u65b0\u5bc6\u7801\u4e0d\u80fd\u4e0e\u6700\u8fd1\u7684\u5386\u53f2\u5bc6\u7801\u76f8\u540c\u3002
    • \u5bc6\u7801\u8fc7\u671f\u540e\uff0c\u7cfb\u7edf\u5f3a\u5236\u8981\u6c42\u4fee\u6539\u5bc6\u7801\u3002
    • \u5bc6\u7801\u4e0d\u80fd\u4e0e\u7528\u6237\u540d\u76f8\u540c\u3002
    • \u5bc6\u7801\u4e0d\u80fd\u548c\u7528\u6237\u7684\u90ae\u7bb1\u5730\u5740\u76f8\u540c\u3002
    • \u81ea\u5b9a\u4e49\u5bc6\u7801\u89c4\u5219\u3002
    • \u81ea\u5b9a\u4e49\u5bc6\u7801\u6700\u5c0f\u957f\u5ea6\u3002

    \u8bbf\u95ee\u63a7\u5236\u7b56\u7565

    • \u4f1a\u8bdd\u8d85\u65f6\u7b56\u7565\uff1a\u7528\u6237\u5728 x \u5c0f\u65f6\u5185\u6ca1\u6709\u64cd\u4f5c\uff0c\u9000\u51fa\u5f53\u524d\u8d26\u53f7\u3002
    • \u8d26\u53f7\u9501\u5b9a\u7b56\u7565\uff1a\u9650\u5236\u65f6\u95f4\u5185\u591a\u6b21\u767b\u5f55\u5931\u8d25\uff0c\u8d26\u53f7\u5c06\u88ab\u9501\u5b9a\u3002
    • \u767b\u5f55/\u9000\u51fa\u7b56\u7565\uff1a\u5173\u95ed\u6d4f\u89c8\u5668\u7684\u540c\u65f6\u9000\u51fa\u767b\u5f55\u3002

    \u8fdb\u5165\u5168\u5c40\u7ba1\u7406\u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e -> \u5b89\u5168\u7b56\u7565 \uff0c\u5373\u53ef\u8bbe\u7f6e\u5bc6\u7801\u7b56\u7565\u548c\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u3002

    "},{"location":"ghippo/user-guide/report-billing/index.html","title":"\u8fd0\u8425\u7ba1\u7406","text":"

    \u8fd0\u8425\u7ba1\u7406\u901a\u8fc7\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\uff0c\u4e3a\u60a8\u5c55\u793a\u5e73\u53f0\u4e0a\u7edf\u8ba1\u65f6\u95f4\u8303\u56f4\u5185\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u3001\u5de5\u4f5c\u7a7a\u95f4\u7b49\u7ef4\u5ea6\u7684 CPU/\u5185\u5b58/\u5b58\u50a8/GPU \u7684\u4f7f\u7528\u603b\u91cf\u548c\u4f7f\u7528\u7387\u7b49\u4fe1\u606f\u3002\u4ee5\u53ca\u901a\u8fc7\u4f7f\u7528\u91cf\u3001\u4f7f\u7528\u65f6\u95f4\u53ca\u5355\u4ef7\u7b49\u4fe1\u606f\uff0c\u81ea\u52a8\u8ba1\u7b97\u51fa\u7684\u5e73\u53f0\u6d88\u8d39\u4fe1\u606f\u3002\u8be5\u6a21\u5757\u9ed8\u8ba4\u5f00\u542f\u6240\u6709\u62a5\u8868\u7edf\u8ba1\uff0c\u540c\u65f6\u4e5f\u652f\u6301\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u5355\u4e2a\u62a5\u8868\u8fdb\u884c\u624b\u52a8\u5f00\u542f\u6216\u5173\u95ed\uff0c\u5f00\u542f/\u5173\u95ed\u540e\u5c06\u5728\u6700\u957f 20 \u5206\u949f\u5185\uff0c\u5e73\u53f0\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u62a5\u8868\u6570\u636e\uff0c\u5f80\u671f\u5df2\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u5c55\u793a\u3002\u8fd0\u8425\u7ba1\u7406\u6570\u636e\u6700\u591a\u53ef\u5728\u5e73\u53f0\u4e0a\u4fdd\u7559 365 \u5929\uff0c\u8d85\u8fc7\u4fdd\u7559\u65f6\u95f4\u7684\u7edf\u8ba1\u6570\u636e\u5c06\u88ab\u81ea\u52a8\u5220\u9664\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7 CSV \u6216 Excel \u65b9\u5f0f\u4e0b\u8f7d\u62a5\u8868\u540e\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u7edf\u8ba1\u548c\u5206\u6790\u3002

    \u8fd0\u8425\u7ba1\u7406\u4ec5\u5bf9\u6807\u51c6\u7248\u53ca\u4ee5\u4e0a\u7248\u672c\u5f00\u653e\uff0c\u793e\u533a\u7248\u6682\u4e0d\u652f\u6301\u3002

    \u4f60\u9700\u8981\u5148\u5b89\u88c5\u6216\u5347\u7ea7\u8fd0\u8425\u7ba1\u7406\u6a21\u5757\uff0c\u7136\u540e\u5c31\u53ef\u4ee5\u4f53\u9a8c\u62a5\u8868\u7ba1\u7406\u548c\u8ba1\u8d39\u8ba1\u91cf\u3002

    "},{"location":"ghippo/user-guide/report-billing/index.html#_2","title":"\u62a5\u8868\u7ba1\u7406","text":"

    \u62a5\u8868\u7ba1\u7406\u901a\u8fc7 CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u5229\u7528\u7387\u3001\u5b58\u50a8\u5229\u7528\u7387\u3001GPU \u7b97\u529b\u5229\u7528\u7387\u3001GPU \u663e\u5b58\u5229\u7528\u7387 5 \u4e2a\u7ef4\u5ea6\uff0c\u5bf9\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4 5 \u79cd\u8d44\u6e90\u8fdb\u884c\u6570\u636e\u7edf\u8ba1\u3002\u540c\u65f6\u8054\u52a8\u5ba1\u8ba1\u548c\u544a\u8b66\u6a21\u5757\uff0c\u652f\u6301\u5bf9\u5ba1\u8ba1\u6570\u636e\u548c\u544a\u8b66\u6570\u636e\u8fdb\u884c\u7edf\u8ba1\u7ba1\u7406\u3002\u5171\u8ba1\u652f\u6301 7 \u79cd\u7c7b\u578b\u62a5\u8868\u3002

    "},{"location":"ghippo/user-guide/report-billing/index.html#_3","title":"\u8ba1\u91cf\u8ba1\u8d39","text":"

    \u8ba1\u91cf\u8ba1\u8d39\u9488\u5bf9\u5e73\u53f0\u4e0a\u7684\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u547d\u540d\u7a7a\u95f4\u548c\u5de5\u4f5c\u7a7a\u95f4 5 \u79cd\u8d44\u6e90\u8fdb\u884c\u8ba1\u8d39\u7edf\u8ba1\u3002\u6839\u636e\u4e0d\u540c\u8d44\u6e90\u4e2d CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u548c GPU \u7684\u4f7f\u7528\u91cf\uff0c\u4ee5\u53ca\u7528\u6237\u624b\u52a8\u914d\u7f6e\u7684\u4ef7\u683c\u548c\u8d27\u5e01\u5355\u4f4d\u81ea\u52a8\u8ba1\u7b97\u51fa\u6bcf\u79cd\u8d44\u6e90\u5728\u7edf\u8ba1\u65f6\u95f4\u7684\u6d88\u8d39\u60c5\u51b5\uff0c\u6839\u636e\u6240\u9009\u65f6\u95f4\u8de8\u5ea6\u4e0d\u540c\uff0c\u53ef\u5feb\u901f\u8ba1\u7b97\u51fa\u8be5\u8de8\u5ea6\u5185\u7684\u5b9e\u9645\u6d88\u8d39\u60c5\u51b5\uff0c\u5982\u6708\u5ea6\u3001\u5b63\u5ea6\u3001\u5e74\u5ea6\u7b49\u3002

    "},{"location":"ghippo/user-guide/report-billing/billing.html","title":"\u8ba1\u91cf\u8ba1\u8d39","text":"

    \u8ba1\u91cf\u8ba1\u8d39\u5728\u62a5\u8868\u7684\u57fa\u7840\u4e0a\uff0c\u5bf9\u8d44\u6e90\u7684\u4f7f\u7528\u6570\u636e\u505a\u4e86\u8fdb\u4e00\u6b65\u7684\u8ba1\u8d39\u5904\u7406\u3002\u652f\u6301\u7528\u6237\u624b\u52a8\u8bbe\u7f6e CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u3001GPU \u7684\u5355\u4ef7\u4ee5\u53ca\u8d27\u5e01\u5355\u4f4d\u7b49\uff0c\u8bbe\u7f6e\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u7edf\u8ba1\u51fa\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5de5\u4f5c\u7a7a\u95f4\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u82b1\u8d39\u60c5\u51b5\uff0c\u65f6\u95f4\u6bb5\u7528\u6237\u53ef\u81ea\u7531\u8c03\u6574\uff0c\u53ef\u6309\u7167\u5468\u3001\u6708\u3001\u5b63\u5ea6\u3001\u5e74\u7b5b\u9009\u8c03\u6574\u540e\u5bfc\u51fa Excel \u6216 Csv \u683c\u5f0f\u7684\u8ba1\u8d39\u62a5\u8868\u3002

    "},{"location":"ghippo/user-guide/report-billing/billing.html#_2","title":"\u8ba1\u8d39\u89c4\u5219\u53ca\u751f\u6548\u65f6\u95f4","text":"
    • \u8ba1\u8d39\u89c4\u5219\uff1a\u9ed8\u8ba4\u6309\u7167\u8bf7\u6c42\u503c\u548c\u4f7f\u7528\u91cf\u7684\u6700\u5927\u503c\u8ba1\u8d39\u3002
    • \u751f\u6548\u65f6\u95f4\uff1a\u6b21\u65e5\u751f\u6548\uff0c\u4ee5\u6b21\u65e5\u51cc\u6668\u65f6\u83b7\u53d6\u7684\u5355\u4ef7\u548c\u6570\u91cf\u8ba1\u7b97\u5f53\u5929\u4ea7\u751f\u7684\u8d39\u7528\u3002
    "},{"location":"ghippo/user-guide/report-billing/billing.html#_3","title":"\u529f\u80fd\u7279\u6027","text":"
    • \u652f\u6301\u81ea\u5b9a\u4e49\u8bbe\u7f6e CPU \u3001\u5185\u5b58\u3001\u5b58\u50a8\u4ee5\u53ca GPU \u7684\u8ba1\u8d39\u5355\u4f4d\uff0c\u4ee5\u53ca\u8d27\u5e01\u5355\u4f4d\u3002
    • \u652f\u6301\u67e5\u8be2\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u7684\u7edf\u8ba1\u6570\u636e\uff0c\u6839\u636e\u6240\u9009\u65f6\u95f4\u6bb5\u81ea\u52a8\u8ba1\u7b97\u51fa\u8be5\u65f6\u95f4\u6bb5\u5185\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
    • \u652f\u6301\u4ee5 CSV \u548c Excel \u4e24\u79cd\u683c\u5f0f\u5bfc\u51fa\u8ba1\u8d39\u62a5\u8868\u3002
    • \u652f\u6301\u5f00\u542f/\u5173\u95ed\u5355\u4e2a\u8ba1\u8d39\u62a5\u8868\uff0c\u5f00\u542f/\u5173\u95ed\u540e\uff0c\u5e73\u53f0\u5c06\u5728 20 \u5206\u949f\u5185\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u6570\u636e\uff0c\u5f80\u671f\u5df2\u7ecf\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u663e\u793a\u3002
    • \u652f\u6301\u5bf9 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u6570\u636e\u7684\u9009\u62e9\u6027\u5c55\u793a\u3002
    "},{"location":"ghippo/user-guide/report-billing/billing.html#_4","title":"\u62a5\u8868\u7ef4\u5ea6","text":"

    \u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u62a5\u8868\uff1a

    • \u96c6\u7fa4\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u6570\u91cf\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u8282\u70b9\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u8282\u70b9\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u8ba1\u8d39\u60c5\u51b5\u3002
    • \u8282\u70b9\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u8282\u70b9\u7684 IP\u3001\u7c7b\u578b\u548c\u6240\u5c5e\u96c6\u7fa4\u3002
    • \u5bb9\u5668\u7ec4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u5bb9\u5668\u7ec4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u7684\u6240\u5c5e\u547d\u540d\u7a7a\u95f4\u3001\u6240\u5c5e\u96c6\u7fa4\u548c\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\u3002
    • \u5de5\u4f5c\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u5de5\u4f5c\u7a7a\u95f4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u548c\u5bb9\u5668\u7ec4\u6570\u91cf\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u547d\u540d\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u547d\u540d\u7a7a\u95f4\u7684\u8ba1\u8d39\u60c5\u51b5\uff1b\u540c\u6837\u7684\u65b9\u5f0f\u53ef\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
    • \u547d\u540d\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff1a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u547d\u540d\u7a7a\u95f4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u6570\u91cf\u3001\u6240\u5c5e\u96c6\u7fa4\u3001\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u5bb9\u5668\u7ec4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u5bb9\u5668\u7ec4\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
    "},{"location":"ghippo/user-guide/report-billing/billing.html#_5","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u8fd0\u8425\u7ba1\u7406 \u3002

    2. \u8fdb\u5165 \u8fd0\u8425\u7ba1\u7406 \u540e\u5207\u6362\u4e0d\u540c\u83dc\u5355\u53ef\u67e5\u770b\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u7b49\u8ba1\u8d39\u62a5\u8868\u3002

    "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html","title":"\u79bb\u7ebf\u5347\u7ea7\u8fd0\u8425\u7ba1\u7406\u6a21\u5757","text":"

    \u672c\u9875\u8bf4\u660e\u4e0b\u8f7d\u8fd0\u8425\u7ba1\u7406\u6a21\u5757\u540e\uff0c\u5e94\u8be5\u5982\u4f55\u5b89\u88c5\u6216\u5347\u7ea7\u3002

    Info

    \u4e0b\u8ff0\u547d\u4ee4\u6216\u811a\u672c\u5185\u51fa\u73b0\u7684 gmagpie \u5b57\u6837\u662f\u8fd0\u8425\u7ba1\u7406\u6a21\u5757\u7684\u5185\u90e8\u5f00\u53d1\u4ee3\u53f7\u3002

    "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html#_2","title":"\u4ece\u5b89\u88c5\u5305\u4e2d\u52a0\u8f7d\u955c\u50cf","text":"

    \u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u9762\u4e24\u79cd\u65b9\u5f0f\u4e4b\u4e00\u52a0\u8f7d\u955c\u50cf\uff0c\u5f53\u73af\u5883\u4e2d\u5b58\u5728\u955c\u50cf\u4ed3\u5e93\u65f6\uff0c\u5efa\u8bae\u9009\u62e9 chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93\uff0c\u8be5\u65b9\u6cd5\u66f4\u52a0\u9ad8\u6548\u4fbf\u6377\u3002

    "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html#chart-syncer","title":"chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93","text":"
    1. \u521b\u5efa load-image.yaml

      Note

      \u8be5 YAML \u6587\u4ef6\u4e2d\u7684\u5404\u9879\u53c2\u6570\u5747\u4e3a\u5fc5\u586b\u9879\u3002\u60a8\u9700\u8981\u4e00\u4e2a\u79c1\u6709\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u5e76\u4fee\u6539\u76f8\u5173\u914d\u7f6e\u3002

      \u5df2\u5b89\u88c5 chart repo\u672a\u5b89\u88c5 chart repo load-image.yaml
      source:\n  intermediateBundlesPath: gmagpie-offline # (1)!\ntarget:\n  containerRegistry: 10.16.10.111 # (2)!\n  containerRepository: release.daocloud.io/gmagpie # (3)!\n  repo:\n    kind: HARBOR # (4)!\n    url: http://10.16.10.111/chartrepo/release.daocloud.io # (5)!\n    auth:\n      username: \"admin\" # (6)!\n      password: \"Harbor12345\" # (7)! \n  containers:\n    auth:\n      username: \"admin\" # (8)!\n      password: \"Harbor12345\" # (9)!\n
      1. \u5230\u6267\u884c charts-syncer \u547d\u4ee4\u7684\u76f8\u5bf9\u8def\u5f84\uff0c\u800c\u4e0d\u662f\u6b64 YAML \u6587\u4ef6\u548c\u79bb\u7ebf\u5305\u4e4b\u95f4\u7684\u76f8\u5bf9\u8def\u5f84
      2. \u9700\u66f4\u6539\u4e3a\u4f60\u7684\u955c\u50cf\u4ed3\u5e93 url
      3. \u9700\u66f4\u6539\u4e3a\u4f60\u7684\u955c\u50cf\u4ed3\u5e93
      4. \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b
      5. \u9700\u66f4\u6539\u4e3a chart repo url
      6. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
      7. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u5bc6\u7801
      8. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
      9. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u5bc6\u7801

      \u82e5\u5f53\u524d\u73af\u5883\u672a\u5b89\u88c5 chart repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\uff0c\u5e76\u5b58\u653e\u5728\u6307\u5b9a\u8def\u5f84\u3002

      load-image.yaml
      source:\n  intermediateBundlesPath: gmagpie-offline # (1)!\ntarget:\n  containerRegistry: 10.16.10.111 # (2)!\n  containerRepository: release.daocloud.io/gmagpie # (3)!\n  repo:\n    kind: LOCAL\n    path: ./local-repo # (4)!\n  containers:\n    auth:\n      username: \"admin\" # (5)!\n      password: \"Harbor12345\" # (6)!\n
      1. \u5230\u6267\u884c charts-syncer \u547d\u4ee4\u7684\u76f8\u5bf9\u8def\u5f84\uff0c\u800c\u4e0d\u662f\u6b64 YAML \u6587\u4ef6\u548c\u79bb\u7ebf\u5305\u4e4b\u95f4\u7684\u76f8\u5bf9\u8def\u5f84
      2. \u9700\u66f4\u6539\u4e3a\u4f60\u7684\u955c\u50cf\u4ed3\u5e93 url
      3. \u9700\u66f4\u6539\u4e3a\u4f60\u7684\u955c\u50cf\u4ed3\u5e93
      4. chart \u672c\u5730\u8def\u5f84
      5. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
      6. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u5bc6\u7801
    2. \u6267\u884c\u540c\u6b65\u955c\u50cf\u547d\u4ee4\u3002

      charts-syncer sync --config load-image.yaml\n

      \u82e5\u6709 x509 \u8ba4\u8bc1\u5931\u8d25\uff0c\u53ef\u4f7f\u7528\u53c2\u6570 --insecure

      charts-syncer sync --config load-image.yaml --insecure\n
    "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html#docker-containerd","title":"Docker \u6216 containerd \u76f4\u63a5\u52a0\u8f7d","text":"

    \u89e3\u538b\u5e76\u52a0\u8f7d\u955c\u50cf\u6587\u4ef6\u3002

    1. \u89e3\u538b tar \u538b\u7f29\u5305\u3002

      tar xvf gmagpie.bundle.tar\n

      \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 3 \u4e2a\u6587\u4ef6\uff1a

      • hints.yaml
      • images.tar
      • original-chart
    2. \u4ece\u672c\u5730\u52a0\u8f7d\u955c\u50cf\u5230 Docker \u6216 containerd\u3002

      Dockercontainerd
      docker load -i images.tar\n
      ctr -n k8s.io image import images.tar\n

    Note

    \u6bcf\u4e2a\u8282\u70b9\u90fd\u9700\u8981\u6267\u884c Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf\u64cd\u4f5c\uff0c \u52a0\u8f7d\u5b8c\u6210\u540e\u9700\u8981 tag \u955c\u50cf\uff0c\u4fdd\u6301 Registry\u3001Repository \u4e0e\u5b89\u88c5\u65f6\u4e00\u81f4\u3002

    "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html#_3","title":"\u5347\u7ea7","text":"

    \u6709\u4e24\u79cd\u5347\u7ea7\u65b9\u5f0f\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u524d\u7f6e\u64cd\u4f5c\uff0c\u9009\u62e9\u5bf9\u5e94\u7684\u5347\u7ea7\u65b9\u6848\uff1a

    Note

    \u5f53\u4ece v0.1.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.2.0\uff08\u6216\u66f4\u9ad8\u7248\u672c\uff09\u65f6\uff0c\u9700\u8981\u4fee\u6539\u6570\u636e\u5e93\u8fde\u63a5\u53c2\u6570\u3002

    \u6570\u636e\u5e93\u8fde\u63a5\u53c2\u6570\u7684\u4fee\u6539\u793a\u4f8b\uff1a

    bak.yaml
    USER-SUPPLIED VALUES:\nglobal:\n  database:\n    host: 127.0.0.1\n    port: 3306\n    dbname: gmagpie\n    password: passowrd\n    user: gmagpie\n

    \u4fee\u6539\u4e3a\uff1a

    bak.yaml
    USER-SUPPLIED VALUES:\nglobal:\n  storage:\n    gmagpie:\n    - driver: mysql\n      accessType: readwrite\n      dsn: {global.database.apiserver.user}:{global.database.apiserver.password}@tcp({global.database.host}:{global.database.port})/{global.database.apiserver.dbname}?charset=utf8mb4&multiStatements=true&parseTime=true\n
    \u901a\u8fc7 helm repo \u5347\u7ea7\u901a\u8fc7 Chart \u5305\u5347\u7ea7
    1. \u68c0\u67e5\u8fd0\u8425\u7ba1\u7406 Helm \u4ed3\u5e93\u662f\u5426\u5b58\u5728\u3002

      helm repo list | grep gmagpie\n

      \u82e5\u8fd4\u56de\u7ed3\u679c\u4e3a\u7a7a\u6216\u5982\u4e0b\u63d0\u793a\uff0c\u5219\u8fdb\u884c\u4e0b\u4e00\u6b65\uff1b\u53cd\u4e4b\u5219\u8df3\u8fc7\u4e0b\u4e00\u6b65\u3002

      Error: no repositories to show\n
    2. \u6dfb\u52a0\u8fd0\u8425\u7ba1\u7406\u7684 Helm \u4ed3\u5e93\u3002

      helm repo add gmagpie http://{harbor url}/chartrepo/{project}\n
    3. \u66f4\u65b0\u8fd0\u8425\u7ba1\u7406\u7684 Helm \u4ed3\u5e93\u3002

      helm repo update gmagpie # (1)!\n
      1. Helm \u7248\u672c\u8fc7\u4f4e\u4f1a\u5bfc\u81f4\u5931\u8d25\uff0c\u82e5\u5931\u8d25\uff0c\u8bf7\u5c1d\u8bd5\u6267\u884c helm update repo
    4. \u9009\u62e9\u60a8\u60f3\u5b89\u88c5\u7684\u8fd0\u8425\u7ba1\u7406\u7248\u672c\uff08\u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\uff09\u3002

      helm search repo gmagpie/gmagpie --versions\n
      [root@master ~]# helm search repo gmagpie/gmagpie --versions\nNAME                   CHART VERSION  APP VERSION  DESCRIPTION\ngmagpie/gmagpie  0.3.0          v0.3.0       A Helm chart for GHippo\n...\n
    5. \u5907\u4efd --set \u53c2\u6570\u3002

      \u5728\u5347\u7ea7\u8fd0\u8425\u7ba1\u7406\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

      helm get values gmagpie -n gmagpie-system -o yaml > bak.yaml\n
    6. \u6267\u884c helm upgrade \u3002

      \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u5b57\u6bb5\u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

      export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
      helm upgrade gmagpie gmagpie/gmagpie \\\n  -n gmagpie-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry \\\n  --version 0.3.0\n
    1. \u5907\u4efd --set \u53c2\u6570\u3002

      \u5728\u5347\u7ea7\u8fd0\u8425\u7ba1\u7406\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

      helm get values gmagpie -n gmagpie-system -o yaml > bak.yaml\n
    2. \u6267\u884c helm upgrade \u3002

      \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

      export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
      helm upgrade gmagpie . \\\n  -n gmagpie-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry\n
    "},{"location":"ghippo/user-guide/report-billing/report.html","title":"\u62a5\u8868\u7ba1\u7406","text":"

    \u62a5\u8868\u7ba1\u7406\u4ee5\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4e86\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5ba1\u8ba1\u53ca\u544a\u8b66\u7ef4\u5ea6\u7684\u7edf\u8ba1\u6570\u636e\uff0c\u4e3a\u5e73\u53f0\u7684\u8ba1\u8d39\u53ca\u4f7f\u7528\u60c5\u51b5\u7684\u8c03\u4f18\u63d0\u4f9b\u4e86\u53ef\u9760\u7684\u57fa\u7840\u6570\u636e\u3002

    "},{"location":"ghippo/user-guide/report-billing/report.html#_2","title":"\u529f\u80fd\u7279\u6027","text":"
    • \u652f\u6301\u67e5\u8be2\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u7684\u7edf\u8ba1\u6570\u636e
    • \u652f\u6301\u4ee5 CSV \u548c Excel \u4e24\u79cd\u683c\u5f0f\u5bfc\u51fa\u62a5\u8868
    • \u652f\u6301\u5f00\u542f/\u5173\u95ed\u5355\u4e2a\u62a5\u8868\uff0c\u5f00\u542f/\u5173\u95ed\u540e\uff0c\u5e73\u53f0\u5c06\u5728 20 \u5206\u949f\u5185\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u6570\u636e\uff0c\u5f80\u671f\u5df2\u7ecf\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u663e\u793a
    • \u652f\u6301\u5c55\u793a CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c
    "},{"location":"ghippo/user-guide/report-billing/report.html#_3","title":"\u62a5\u8868\u7ef4\u5ea6","text":"

    \u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u62a5\u8868\uff1a

    • \u96c6\u7fa4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u96c6\u7fa4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u8be5\u6bb5\u65f6\u95f4\u5185\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u6570\u91cf\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u8282\u70b9\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u8282\u70b9\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4f7f\u7528\u60c5\u51b5\u3002
    • \u8282\u70b9\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u8282\u70b9\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u8282\u70b9\u7684 IP\u3001\u7c7b\u578b\u548c\u6240\u5c5e\u96c6\u7fa4\u3002
    • \u5bb9\u5668\u7ec4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u7684\u6240\u5c5e\u547d\u540d\u7a7a\u95f4\u3001\u6240\u5c5e\u96c6\u7fa4\u548c\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\u3002
    • \u5de5\u4f5c\u7a7a\u95f4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u548c\u5bb9\u5668\u7ec4\u6570\u91cf\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u547d\u540d\u7a7a\u95f4\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u547d\u540d\u7a7a\u95f4\u7684\u4f7f\u7528\u60c5\u51b5\uff1b\u540c\u6837\u7684\u65b9\u5f0f\u53ef\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u4e0b\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u4f7f\u7528\u60c5\u51b5\u3002
    • \u547d\u540d\u7a7a\u95f4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u547d\u540d\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u6570\u91cf\u3001\u6240\u5c5e\u96c6\u7fa4\u3001\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u5bb9\u5668\u7ec4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u5bb9\u5668\u7ec4\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u4f7f\u7528\u60c5\u51b5\u3002
    • \u5ba1\u8ba1\u62a5\u8868\uff1a\u5206\u4e3a\u7528\u6237\u64cd\u4f5c\u548c\u8d44\u6e90\u64cd\u4f5c\u4e24\u4e2a\u62a5\u8868\u3002\u7528\u6237\u64cd\u4f5c\u62a5\u8868\u4e3b\u8981\u7edf\u8ba1\u5355\u4e2a\u7528\u6237\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u64cd\u4f5c\u6b21\u6570\uff0c\u4ee5\u53ca\u6210\u529f\u548c\u5931\u8d25\u7684\u6b21\u6570\uff1b \u8d44\u6e90\u64cd\u4f5c\u62a5\u8868\u4e3b\u8981\u7edf\u8ba1\u6240\u6709\u7528\u6237\u5bf9\u67d0\u79cd\u7c7b\u578b\u8d44\u6e90\u7684\u64cd\u4f5c\u6b21\u6570\u3002
    • \u544a\u8b66\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u8282\u70b9\u7684\u544a\u8b66\u6570\u91cf\uff0c\u4ee5\u53ca\u81f4\u547d\u3001\u4e25\u91cd\u3001\u544a\u8b66\u5206\u522b\u4ea7\u751f\u7684\u6b21\u6570\u3002
    "},{"location":"ghippo/user-guide/report-billing/report.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u8fd0\u8425\u7ba1\u7406 \u3002

    2. \u8fdb\u5165\u8fd0\u8425\u7ba1\u7406\u540e\u5207\u6362\u4e0d\u540c\u83dc\u5355\u53ef\u67e5\u770b\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u7b49\u62a5\u8868\u3002

    "},{"location":"ghippo/user-guide/workspace/folder-permission.html","title":"\u6587\u4ef6\u5939\u6743\u9650\u8bf4\u660e","text":"

    \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

    \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u662f Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5b50\u6587\u4ef6\u5939\u4ecd\u4e3a Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4\u5219\u4e3a Workspace Admin\uff1b \u82e5\u5728 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 -> \u8d44\u6e90\u7ec4 \u4e2d\u7ed1\u5b9a\u4e86 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fd8\u662f Namespace Admin\u3002

    Note

    \u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

    "},{"location":"ghippo/user-guide/workspace/folder-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

    \u6587\u4ef6\u5939\u5177\u6709\u5c42\u7ea7\u80fd\u529b\uff0c\u56e0\u6b64\u5c06\u6587\u4ef6\u5939\u5bf9\u5e94\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8/\u4f9b\u5e94\u5546/\u9879\u76ee\u7b49\u5c42\u7ea7\u65f6\uff0c

    • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u7ba1\u7406\u6743\u9650\uff08Admin\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u7ba1\u7406\u6743\u9650\uff1b
    • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u4f7f\u7528\u6743\u9650\uff08Editor\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u4f7f\u7528\u6743\u9650\uff1b
    • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u53ea\u8bfb\u6743\u9650\uff08Viewer\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u53ea\u8bfb\u6743\u9650\u3002
    \u5bf9\u8c61 \u64cd\u4f5c Folder Admin Folder Editor Folder Viewer \u5bf9\u6587\u4ef6\u5939\u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5b50\u6587\u4ef6\u5939 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717"},{"location":"ghippo/user-guide/workspace/folders.html","title":"\u521b\u5efa/\u5220\u9664\u6587\u4ef6\u5939","text":"

    \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u3002

    1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u6587\u4ef6\u5939 \u6309\u94ae\u3002

    3. \u586b\u5199\u6587\u4ef6\u5939\u540d\u79f0\u3001\u4e0a\u4e00\u7ea7\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u6587\u4ef6\u5939\u3002

    Tip

    \u521b\u5efa\u6210\u529f\u540e\u6587\u4ef6\u5939\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

    Note

    \u9009\u4e2d\u67d0\u4e00\u4e2a\u6587\u4ef6\u5939\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

    • \u5f53\u8be5\u6587\u4ef6\u5939\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002

    • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u6587\u4ef6\u5939\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u6587\u4ef6\u5939\u3002

    "},{"location":"ghippo/user-guide/workspace/quota.html","title":"\u8d44\u6e90\u914d\u989d\uff08Quota\uff09","text":"

    \u5171\u4eab\u8d44\u6e90\u5e76\u975e\u610f\u5473\u7740\u88ab\u5171\u4eab\u8005\u53ef\u4ee5\u65e0\u9650\u5236\u5730\u4f7f\u7528\u88ab\u5171\u4eab\u7684\u8d44\u6e90\u3002 Admin\u3001Kpanda Owner \u548c Workspace Admin \u53ef\u4ee5\u901a\u8fc7\u5171\u4eab\u8d44\u6e90\u4e2d\u7684 \u8d44\u6e90\u914d\u989d \u529f\u80fd\u9650\u5236\u67d0\u4e2a\u7528\u6237\u7684\u6700\u5927\u4f7f\u7528\u989d\u5ea6\u3002 \u82e5\u4e0d\u9650\u5236\uff0c\u5219\u8868\u793a\u53ef\u4ee5\u65e0\u9650\u5236\u4f7f\u7528\u3002

    • CPU \u8bf7\u6c42\uff08Core\uff09
    • CPU \u9650\u5236\uff08Core\uff09
    • \u5185\u5b58\u8bf7\u6c42\uff08MB\uff09
    • \u5185\u5b58\u9650\u5236\uff08MB\uff09
    • \u5b58\u50a8\u8bf7\u6c42\u603b\u91cf\uff08GB\uff09
    • \u5b58\u50a8\u5377\u58f0\u660e\uff08\u4e2a\uff09
    • GPU \u7c7b\u578b\u3001\u89c4\u683c\u3001\u6570\u91cf\uff08\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e Nvidia\u3001Ascend\u3001lluvatar\u7b49GPU\u5361\u7c7b\u578b\uff09

    \u4e00\u4e2a\u8d44\u6e90\uff08\u96c6\u7fa4\uff09\u53ef\u4ee5\u88ab\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5171\u4eab\uff0c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u5171\u4eab\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u3002

    "},{"location":"ghippo/user-guide/workspace/quota.html#_1","title":"\u8d44\u6e90\u7ec4\u548c\u5171\u4eab\u8d44\u6e90","text":"

    \u5171\u4eab\u8d44\u6e90\u548c\u8d44\u6e90\u7ec4\u4e2d\u7684\u96c6\u7fa4\u8d44\u6e90\u5747\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\uff0c\u4f46\u662f\u96c6\u7fa4\u7ed1\u5b9a\u548c\u5171\u4eab\u7ed9\u540c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5c06\u4f1a\u4ea7\u751f\u4e24\u79cd\u622a\u7136\u4e0d\u540c\u7684\u6548\u679c\u3002

    1. \u7ed1\u5b9a\u8d44\u6e90

      \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u7684\u5168\u90e8\u7ba1\u7406\u548c\u4f7f\u7528\u6743\u9650\uff0cWorkspace Admin \u5c06\u88ab\u6620\u5c04\u4e3a Cluster Admin\u3002 Workspace Admin \u80fd\u591f\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7ba1\u7406\u8be5\u96c6\u7fa4\u3002

      Note

      \u5f53\u524d\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u6682\u65e0 Cluster Editor \u548c Cluster Viewer \u89d2\u8272\uff0c\u56e0\u6b64 Workspace Editor\u3001Workspace Viewer \u8fd8\u65e0\u6cd5\u6620\u5c04\u3002

    2. \u65b0\u589e\u5171\u4eab\u8d44\u6e90

      \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff08Namespace\uff09\u65f6\u4f7f\u7528\u3002

      \u4e0e\u8d44\u6e90\u7ec4\u4e0d\u540c\uff0c\u5c06\u96c6\u7fa4\u5171\u4eab\u5230\u5de5\u4f5c\u7a7a\u95f4\u65f6\uff0c\u7528\u6237\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u89d2\u8272\u4e0d\u4f1a\u6620\u5c04\u5230\u8d44\u6e90\u4e0a\uff0c\u56e0\u6b64 Workspace Admin \u4e0d\u4f1a\u88ab\u6620\u5c04\u4e3a Cluster admin\u3002

    \u672c\u8282\u5c55\u793a 3 \u4e2a\u4e0e\u8d44\u6e90\u914d\u989d\u6709\u5173\u7684\u573a\u666f\u3002

    "},{"location":"ghippo/user-guide/workspace/quota.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

    \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u4f1a\u6d89\u53ca\u5230\u8d44\u6e90\u914d\u989d\u3002

    1. \u5728\u5de5\u4f5c\u7a7a\u95f4 ws01 \u65b0\u589e\u4e00\u4e2a\u5171\u4eab\u96c6\u7fa4\u3002

    2. \u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4 ws01 \u548c\u5171\u4eab\u96c6\u7fa4\uff0c\u521b\u5efa\u547d\u540d\u7a7a\u95f4 ns01\u3002

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4e0d\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff08\u4f8b\u5982 CPU \u8bf7\u6c42 = 100 core\uff09\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6 CPU \u8bf7\u6c42 \u2264 100 core \u3002
    "},{"location":"ghippo/user-guide/workspace/quota.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

    \u524d\u63d0\uff1a\u5de5\u4f5c\u7a7a\u95f4 ws01 \u5df2\u65b0\u589e\u5171\u4eab\u96c6\u7fa4\uff0c\u64cd\u4f5c\u8005\u4e3a Workspace Admin + Kpanda Owner \u6216 Admin \u89d2\u8272\u3002

    \u4ee5\u4e0b\u4e24\u79cd\u7ed1\u5b9a\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

    • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u521b\u5efa\u7684\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
    • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
    "},{"location":"ghippo/user-guide/workspace/quota.html#_4","title":"\u4ece\u5de5\u4f5c\u7a7a\u95f4\u89e3\u7ed1\u547d\u540d\u7a7a\u95f4","text":"

    \u4ee5\u4e0b\u4e24\u79cd\u89e3\u7ed1\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

    • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
    • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
    "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u533a\u522b","text":"

    \u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u5747\u652f\u6301\u7ed1\u5b9a\u96c6\u7fa4\uff0c\u4f46\u4f7f\u7528\u4e0a\u5b58\u5728\u5f88\u5927\u533a\u522b\u3002

    "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html#_2","title":"\u4f7f\u7528\u573a\u666f\u533a\u522b","text":"
    • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u6279\u91cf\u6388\u6743\u3002\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u540e\uff0c \u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u96c6\u7fa4\u7ba1\u7406\u5458\uff0c\u80fd\u591f\u7ba1\u7406\u5e76\u4f7f\u7528\u96c6\u7fa4\u8d44\u6e90\u3002
    • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u5171\u4eab\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u505a\u8d44\u6e90\u9650\u989d\u3002 \u5178\u578b\u7684\u573a\u666f\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u5c06\u96c6\u7fa4\u5206\u914d\u7ed9\u4e00\u7ea7\u4f9b\u5e94\u5546\u540e\uff0c\u518d\u7531\u4e00\u7ea7\u4f9b\u5e94\u5546\u5206\u914d\u7ed9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u5e76\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u989d\u3002

    \u8bf4\u660e\uff1a\u5728\u8be5\u573a\u666f\u4e2d\uff0c\u9700\u8981\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u5236\uff0c\u6682\u65f6\u8fd8\u4e0d\u652f\u6301\u4e00\u7ea7\u4f9b\u5e94\u5546\u9650\u5236\u4e8c\u7ea7\u4f9b\u5e94\u5546\u7684\u96c6\u7fa4\u989d\u5ea6\u3002

    "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html#_3","title":"\u96c6\u7fa4\u989d\u5ea6\u7684\u4f7f\u7528\u533a\u522b","text":"
    • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u8be5\u96c6\u7fa4\u7684\u7ba1\u7406\u5458\uff0c\u76f8\u5f53\u4e8e\u5728\u5bb9\u5668\u7ba1\u7406-\u6743\u9650\u7ba1\u7406\u4e2d\u88ab\u6388\u4e88 Cluster Admin \u89d2\u8272\uff0c \u80fd\u591f\u65e0\u9650\u5236\u652f\u914d\u8be5\u96c6\u7fa4\u8d44\u6e90\uff0c\u7ba1\u7406\u8282\u70b9\u7b49\u91cd\u8981\u5185\u5bb9\uff0c\u4e14\u8d44\u6e90\u7ec4\u4e0d\u80fd\u591f\u88ab\u8d44\u6e90\u9650\u989d\u3002
    • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u8d44\u6e90\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u4ec5\u80fd\u591f\u4f7f\u7528\u96c6\u7fa4\u4e2d\u7684\u989d\u5ea6\u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\u3002 \u82e5\u5bf9\u8be5\u5de5\u4f5c\u7a7a\u95f4\u9650\u5236\u989d\u5ea6\uff0c\u5219\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u4ec5\u80fd\u591f\u5728\u989d\u5ea6\u8303\u56f4\u5185\u521b\u5efa\u5e76\u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u3002
    "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html#_4","title":"\u8d44\u6e90\u7c7b\u578b\u7684\u533a\u522b","text":"
    • \u8d44\u6e90\u7ec4\uff1a\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4\u3001\u96c6\u7fa4-\u547d\u540d\u7a7a\u95f4\u3001\u591a\u4e91\u3001\u591a\u4e91-\u547d\u540d\u7a7a\u95f4\u3001\u7f51\u683c\u3001\u7f51\u683c-\u547d\u540d\u7a7a\u95f4
    • \u5171\u4eab\u8d44\u6e90\uff1a\u4ec5\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4
    "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html#_5","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u76f8\u540c\u70b9","text":"

    \u5728\u8d44\u6e90\u7ec4/\u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\u540e\u90fd\u53ef\u4ee5\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u521b\u5efa\u540e\u547d\u540d\u7a7a\u95f4\u5c06\u81ea\u52a8\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u3002

    "},{"location":"ghippo/user-guide/workspace/workspace.html","title":"\u521b\u5efa/\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u662f\u4e00\u79cd\u8d44\u6e90\u8303\u7574\uff0c\u4ee3\u8868\u4e00\u79cd\u8d44\u6e90\u5c42\u7ea7\u5173\u7cfb\u3002 \u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5305\u542b\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6ce8\u518c\u4e2d\u5fc3\u7b49\u8d44\u6e90\u3002 \u901a\u5e38\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5bf9\u5e94\u4e00\u4e2a\u9879\u76ee\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e0d\u540c\u7684\u8d44\u6e90\uff0c\u6307\u6d3e\u4e0d\u540c\u7684\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002

    1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4 \u6309\u94ae\u3002

    3. \u586b\u5199\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u3001\u6240\u5c5e\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u3002

    Tip

    \u521b\u5efa\u6210\u529f\u540e\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

    Note

    \u9009\u4e2d\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 ... \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

    • \u5f53\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002
    • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
    • \u5f53\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u955c\u50cf\u7a7a\u95f4\u6216\u96c6\u6210\u4ed3\u5e93\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u955c\u50cf\u7a7a\u95f4\u89e3\u7ed1\uff0c\u5c06\u4ed3\u5e93\u96c6\u6210\u5220\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
    "},{"location":"ghippo/user-guide/workspace/ws-folder.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u662f\u4e00\u4e2a\u5177\u6709\u5c42\u7ea7\u7684\u8d44\u6e90\u9694\u79bb\u548c\u8d44\u6e90\u5206\u7ec4\u7279\u6027\uff0c\u4e3b\u8981\u89e3\u51b3\u8d44\u6e90\u7edf\u4e00\u6388\u6743\u3001\u8d44\u6e90\u5206\u7ec4\u4ee5\u53ca\u8d44\u6e90\u9650\u989d\u95ee\u9898\u3002

    \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u6709\u4e24\u4e2a\u6982\u5ff5\uff1a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

    "},{"location":"ghippo/user-guide/workspace/ws-folder.html#_2","title":"\u5de5\u4f5c\u7a7a\u95f4","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u53ef\u901a\u8fc7 \u6388\u6743 \u3001 \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u6765\u7ba1\u7406\u8d44\u6e90\uff0c\u4f7f\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u4e4b\u95f4\u80fd\u591f\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002

    • \u8d44\u6e90

      \u8d44\u6e90\u5904\u4e8e\u8d44\u6e90\u7ba1\u7406\u6a21\u5757\u5c42\u7ea7\u7ed3\u6784\u7684\u6700\u4f4e\u5c42\u7ea7\uff0c\u8d44\u6e90\u5305\u62ec Cluster\u3001Namespace\u3001Pipeline\u3001\u7f51\u5173\u7b49\u3002 \u6240\u6709\u8fd9\u4e9b\u8d44\u6e90\u7684\u7236\u7ea7\u53ea\u80fd\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4f5c\u4e3a\u8d44\u6e90\u5bb9\u5668\u662f\u4e00\u79cd\u8d44\u6e90\u5206\u7ec4\u5355\u4f4d\u3002

    • \u5de5\u4f5c\u7a7a\u95f4

      \u5de5\u4f5c\u7a7a\u95f4\u901a\u5e38\u4ee3\u6307\u4e00\u4e2a\u9879\u76ee\u6216\u73af\u5883\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u76f8\u5bf9\u4e8e\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u65f6\u903b\u8f91\u9694\u79bb\u7684\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u6388\u6743\uff0c\u6388\u4e88\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u540c\u4e00\u7ec4\u8d44\u6e90\u7684\u4e0d\u540c\u8bbf\u95ee\u6743\u9650\u3002

      \u4ece\u5c42\u6b21\u7ed3\u6784\u7684\u5e95\u5c42\u7b97\u8d77\uff0c\u5de5\u4f5c\u7a7a\u95f4\u4f4d\u4e8e\u7b2c\u4e00\u5c42\uff0c\u4e14\u5305\u542b\u8d44\u6e90\u3002 \u9664\u5171\u4eab\u8d44\u6e90\u5916\uff0c\u6240\u6709\u8d44\u6e90\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u9879\u3002\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\u3002

      \u8d44\u6e90\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5b58\u5728\u4e24\u79cd\u5206\u7ec4\u6a21\u5f0f\uff0c\u5206\u522b\u662f \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u3002

    • \u8d44\u6e90\u7ec4

      \u4e00\u4e2a\u8d44\u6e90\u53ea\u80fd\u52a0\u5165\u4e00\u4e2a\u8d44\u6e90\u7ec4\uff0c\u8d44\u6e90\u7ec4\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u4e00\u4e00\u5bf9\u5e94\u3002 \u8d44\u6e90\u88ab\u52a0\u5165\u5230\u8d44\u6e90\u7ec4\u540e\uff0cWorkspace Admin \u5c06\u83b7\u5f97\u8d44\u6e90\u7684\u7ba1\u7406\u6743\u9650\uff0c\u76f8\u5f53\u4e8e\u8be5\u8d44\u6e90\u7684\u6240\u6709\u8005\u3002

    • \u5171\u4eab\u8d44\u6e90

      \u800c\u5bf9\u4e8e\u5171\u4eab\u8d44\u6e90\u6765\u8bf4\uff0c\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u8d44\u6e90\u3002 \u8d44\u6e90\u7684\u6240\u6709\u8005\uff0c\u53ef\u4ee5\u9009\u62e9\u5c06\u81ea\u5df1\u62e5\u6709\u7684\u8d44\u6e90\u5171\u4eab\u7ed9\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u4e00\u822c\u5171\u4eab\u65f6\u8d44\u6e90\u6240\u6709\u8005\u4f1a\u9650\u5236\u88ab\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u989d\u5ea6\u3002 \u8d44\u6e90\u88ab\u5171\u4eab\u540e\uff0cWorkspace Admin \u4ec5\u5177\u6709\u8d44\u6e90\u9650\u989d\u4e0b\u7684\u8d44\u6e90\u4f7f\u7528\u6743\u9650\uff0c\u65e0\u6cd5\u7ba1\u7406\u8d44\u6e90\u6216\u8005\u8c03\u6574\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u91cf\u3002

      \u540c\u65f6\u5171\u4eab\u8d44\u6e90\u5bf9\u4e8e\u8d44\u6e90\u672c\u8eab\u4e5f\u5177\u6709\u4e00\u5b9a\u7684\u8981\u6c42\uff0c\u53ea\u6709 Cluster\uff08\u96c6\u7fa4\uff09\u8d44\u6e90\u53ef\u4ee5\u88ab\u5171\u4eab\u3002 Cluster Admin \u80fd\u591f\u5c06 Cluster \u8d44\u6e90\u5206\u4eab\u7ed9\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u5e76\u4e14\u9650\u5236\u5de5\u4f5c\u7a7a\u95f4\u5728\u6b64 Cluster \u4e0a\u7684\u4f7f\u7528\u989d\u5ea6\u3002

      Workspace Admin \u5728\u8d44\u6e90\u9650\u989d\u5185\u80fd\u591f\u521b\u5efa\u591a\u4e2a Namespace\uff0c\u4f46\u662f Namespace \u7684\u8d44\u6e90\u989d\u5ea6\u603b\u548c\u4e0d\u80fd\u8d85\u8fc7 Cluster \u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u9650\u989d\u3002 \u5bf9\u4e8e Kubernetes \u8d44\u6e90\uff0c\u5f53\u524d\u80fd\u591f\u5206\u4eab\u7684\u8d44\u6e90\u7c7b\u578b\u4ec5\u6709 Cluster\u3002

    "},{"location":"ghippo/user-guide/workspace/ws-folder.html#_3","title":"\u6587\u4ef6\u5939","text":"

    \u6587\u4ef6\u5939\u53ef\u7528\u4e8e\u6784\u5efa\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\u3002

    • \u6587\u4ef6\u5939\u662f\u5728\u5de5\u4f5c\u7a7a\u95f4\u57fa\u7840\u4e4b\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\uff0c\u5177\u6709\u5c42\u7ea7\u7ed3\u6784\u3002 \u4e00\u4e2a\u6587\u4ef6\u5939\u53ef\u4ee5\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u3001\u5176\u4ed6\u6587\u4ef6\u5939\u6216\u4e24\u8005\u7684\u7ec4\u5408\uff0c\u80fd\u591f\u5f62\u6210\u6811\u72b6\u7684\u7ec4\u7ec7\u5173\u7cfb\u3002

    • \u501f\u52a9\u6587\u4ef6\u5939\u60a8\u53ef\u4ee5\u6620\u5c04\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\uff0c\u6309\u7167\u90e8\u95e8\u5bf9\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\u3002 \u6587\u4ef6\u5939\u4e0d\u76f4\u63a5\u4e0e\u8d44\u6e90\u6302\u94a9\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u95f4\u63a5\u5b9e\u73b0\u8d44\u6e90\u5206\u7ec4\u3002

    • \u6587\u4ef6\u5939\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\uff0c\u800c\u6839\u6587\u4ef6\u5939\u662f\u5c42\u6b21\u7ed3\u6784\u7684\u6700\u9ad8\u5c42\u7ea7\u3002 \u6839\u6587\u4ef6\u5939\u6ca1\u6709\u7236\u7ea7\uff0c\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u5747\u6302\u9760\u5230\u6839\u6587\u4ef6\u5939\u4e0b\u3002

    \u53e6\u5916\uff0c\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u5728\u6587\u4ef6\u5939\u4e2d\u80fd\u591f\u901a\u8fc7\u5c42\u7ea7\u7ed3\u6784\u7ee7\u627f\u6765\u81ea\u7236\u9879\u7684\u6743\u9650\u3002 \u7528\u6237\u5728\u5c42\u6b21\u7ed3\u6784\u4e2d\u7684\u6743\u9650\u6765\u81ea\u5f53\u524d\u5c42\u7ea7\u7684\u6743\u9650\u4ee5\u53ca\u7ee7\u627f\u5176\u7236\u9879\u6743\u9650\u7684\u7ec4\u5408\u7ed3\u679c\uff0c\u6743\u9650\u4e4b\u95f4\u662f\u52a0\u5408\u5173\u7cfb\u4e0d\u5b58\u5728\u4e92\u65a5\u3002

    "},{"location":"ghippo/user-guide/workspace/ws-permission.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u6743\u9650\u8bf4\u660e","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u6743\u9650\u6620\u5c04\u548c\u8d44\u6e90\u9694\u79bb\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u8d44\u6e90\u4e0a\u3002 \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u662f Workspace Admin \u89d2\u8272\uff0c\u540c\u65f6\u5de5\u4f5c\u7a7a\u95f4-\u8d44\u6e90\u7ec4\u4e2d\u7ed1\u5b9a\u4e86\u8d44\u6e90 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u5c06\u6210\u4e3a Namespace Admin\u3002

    Note

    \u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

    "},{"location":"ghippo/user-guide/workspace/ws-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

    \u901a\u8fc7\u5c06\u8d44\u6e90\u7ed1\u5b9a\u5230\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u5b9e\u73b0\u8d44\u6e90\u9694\u79bb\u3002 \u56e0\u6b64\u501f\u52a9\u6743\u9650\u6620\u5c04\u3001\u8d44\u6e90\u9694\u79bb\u548c\u5171\u4eab\u8d44\u6e90\u80fd\u529b\u80fd\u591f\u5c06\u8d44\u6e90\u7075\u6d3b\u5206\u914d\u7ed9\u5404\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff08\u79df\u6237\uff09\u3002

    \u901a\u5e38\u9002\u7528\u4e8e\u4ee5\u4e0b\u4e24\u4e2a\u573a\u666f\uff1a

    • \u96c6\u7fa4\u4e00\u5bf9\u4e00

      \u666e\u901a\u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u7528\u9014 \u96c6\u7fa4 01 A \u7ba1\u7406\u548c\u4f7f\u7528 \u96c6\u7fa4 02 B \u7ba1\u7406\u548c\u4f7f\u7528
    • \u96c6\u7fa4\u4e00\u5bf9\u591a

      \u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u8d44\u6e90\u9650\u989d \u96c6\u7fa4 01 A 100 \u6838 CPU B 50 \u6838 CPU
    "},{"location":"ghippo/user-guide/workspace/ws-permission.html#_3","title":"\u6743\u9650\u8bf4\u660e","text":"\u64cd\u4f5c\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 - \u6388\u6743 \u2713 \u2717 \u2717 - \u4fee\u6539\u522b\u540d \u2713 \u2713 \u2717 \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 - \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 - \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 - \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 - \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 - \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717 - \u4f7f\u7528\u5171\u4eab\u8d44\u6e90 1 \u2713 \u2717 \u2717
    1. \u6388\u6743\u7528\u6237\u53ef\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u3001\u591a\u4e91\u7f16\u6392\u3001\u670d\u52a1\u7f51\u683c\u7b49\u6a21\u5757\u4f7f\u7528\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002 \u6709\u5173 Workspace Admin\u3001Workspace Editor\u3001Workspace Viewer \u89d2\u8272\u5728\u5404\u4ea7\u54c1\u6a21\u5757\u7684\u64cd\u4f5c\u8303\u56f4\uff0c\u8bf7\u67e5\u9605\u5404\u6a21\u5757\u7684\u6743\u9650\u8bf4\u660e\uff1a

      • \u5e94\u7528\u5de5\u4f5c\u53f0\u6743\u9650\u8bf4\u660e
      • \u670d\u52a1\u7f51\u683c\u6743\u9650\u8bf4\u660e
      • \u4e2d\u95f4\u4ef6\u6743\u9650\u8bf4\u660e
      • \u5fae\u670d\u52a1\u5f15\u64ce\u6743\u9650\u8bf4\u660e
      • \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e

      \u21a9

    "},{"location":"ghippo/user-guide/workspace/wsbind-permission.html","title":"\u8d44\u6e90\u7ed1\u5b9a\u6743\u9650\u8bf4\u660e","text":"

    \u5047\u5982\u7528\u6237\u5c0f\u660e\uff08\u201c\u5c0f\u660e\u201d\u4ee3\u8868\u4efb\u4f55\u6709\u8d44\u6e90\u7ed1\u5b9a\u9700\u6c42\u7684\u7528\u6237\uff09\u5df2\u7ecf\u5177\u5907\u4e86 Workspace Admin \u89d2\u8272\u6216\u5df2\u901a\u8fc7\u81ea\u5b9a\u4e49\u89d2\u8272\u6388\u6743\uff0c \u540c\u65f6\u81ea\u5b9a\u4e49\u89d2\u8272\u4e2d\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u5e0c\u671b\u5c06\u67d0\u4e2a\u96c6\u7fa4\u6216\u8005\u67d0\u4e2a\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5176\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

    \u8981\u5c06\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u8d44\u6e90\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u4e0d\u4ec5\u9700\u8981\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u8fd8\u9700\u8981 Cluster Admin \u7684\u8d44\u6e90\u6743\u9650\u3002

    "},{"location":"ghippo/user-guide/workspace/wsbind-permission.html#_2","title":"\u7ed9\u5c0f\u660e\u6388\u6743","text":"
    1. \u4f7f\u7528\u5e73\u53f0 Admin \u89d2\u8272\uff0c \u5728 \u5de5\u4f5c\u7a7a\u95f4 -> \u6388\u6743 \u9875\u9762\u7ed9\u5c0f\u660e\u6388\u4e88 Workspace Admin \u89d2\u8272\u3002

    2. \u7136\u540e\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u6743\u9650\u7ba1\u7406 \u9875\u9762\uff0c\u901a\u8fc7 \u6dfb\u52a0\u6388\u6743 \u5c06\u5c0f\u660e\u6388\u6743\u4e3a Cluster Admin\u3002

    "},{"location":"ghippo/user-guide/workspace/wsbind-permission.html#_3","title":"\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

    \u4f7f\u7528\u5c0f\u660e\u7684\u8d26\u53f7\u767b\u5f55 DCE 5.0\uff0c\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u901a\u8fc7 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u529f\u80fd\uff0c \u5c0f\u660e\u53ef\u4ee5\u5c06\u6307\u5b9a\u96c6\u7fa4\u7ed1\u5b9a\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

    Note

    \u5c0f\u660e\u80fd\u4e14\u53ea\u80fd\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5c06\u96c6\u7fa4\u6216\u8005\u8be5\u96c6\u7fa4\u4e0b\u7684\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u65e0\u6cd5\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u5b8c\u6210\u6b64\u64cd\u4f5c\u3002

    \u7ed1\u5b9a\u547d\u540d\u7a7a\u95f4\u5230\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u81f3\u5c11\u9700\u8981 Workspace Admin + Cluster Admin \u6743\u9650\u3002

    "},{"location":"kpanda/user-guide/backup/index.html","title":"\u5907\u4efd\u6062\u590d","text":"

    \u5907\u4efd\u6062\u590d\u5206\u4e3a\u5907\u4efd\u548c\u6062\u590d\u4e24\u65b9\u9762\uff0c\u5b9e\u9645\u5e94\u7528\u65f6\u9700\u8981\u5148\u5907\u4efd\u7cfb\u7edf\u5728\u67d0\u4e00\u65f6\u70b9\u7684\u6570\u636e\uff0c\u7136\u540e\u5b89\u5168\u5b58\u50a8\u5730\u5907\u4efd\u6570\u636e\u3002\u540e\u7eed\u5982\u679c\u51fa\u73b0\u6570\u636e\u635f\u574f\u3001\u4e22\u5931\u3001\u8bef\u5220\u7b49\u4e8b\u6545\uff0c\u5c31\u53ef\u4ee5\u57fa\u4e8e\u4e4b\u524d\u7684\u6570\u636e\u5907\u4efd\u5feb\u901f\u8fd8\u539f\u7cfb\u7edf\uff0c\u7f29\u77ed\u6545\u969c\u65f6\u95f4\uff0c\u51cf\u5c11\u635f\u5931\u3002

    • \u5728\u771f\u5b9e\u7684\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u670d\u52a1\u53ef\u80fd\u5206\u5e03\u5f0f\u5730\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u4e91\u3001\u4e0d\u540c\u533a\u57df\u6216\u53ef\u7528\u533a\uff0c\u5982\u679c\u67d0\u4e00\u4e2a\u57fa\u7840\u8bbe\u65bd\u81ea\u8eab\u51fa\u73b0\u6545\u969c\uff0c\u4f01\u4e1a\u9700\u8981\u5728\u5176\u4ed6\u53ef\u7528\u73af\u5883\u4e2d\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u8de8\u4e91/\u8de8\u96c6\u7fa4\u7684\u5907\u4efd\u6062\u590d\u663e\u5f97\u975e\u5e38\u91cd\u8981\u3002
    • \u5728\u5927\u89c4\u6a21\u7cfb\u7edf\u4e2d\u5f80\u5f80\u6709\u5f88\u591a\u89d2\u8272\u548c\u7528\u6237\uff0c\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u590d\u6742\uff0c\u64cd\u4f5c\u8005\u4f17\u591a\uff0c\u96be\u514d\u6709\u4eba\u8bef\u64cd\u4f5c\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4e5f\u9700\u8981\u80fd\u591f\u901a\u8fc7\u4e4b\u524d\u5907\u4efd\u7684\u6570\u636e\u5feb\u901f\u56de\u6eda\u7cfb\u7edf\uff0c\u5426\u5219\u5982\u679c\u4f9d\u8d56\u4eba\u4e3a\u6392\u67e5\u6545\u969c\u3001\u4fee\u590d\u6545\u969c\u3001\u6062\u590d\u7cfb\u7edf\u5c31\u4f1a\u8017\u8d39\u5927\u91cf\u65f6\u95f4\uff0c\u7cfb\u7edf\u4e0d\u53ef\u7528\u65f6\u95f4\u8d8a\u957f\uff0c\u4f01\u4e1a\u7684\u635f\u5931\u8d8a\u5927\u3002
    • \u6b64\u5916\uff0c\u8fd8\u6709\u7f51\u7edc\u653b\u51fb\u3001\u81ea\u7136\u707e\u5bb3\u3001\u8bbe\u5907\u6545\u969c\u7b49\u5404\u79cd\u56e0\u7d20\u4e5f\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e8b\u6545

    \u56e0\u6b64\uff0c\u5907\u4efd\u6062\u590d\u975e\u5e38\u91cd\u8981\uff0c\u53ef\u4ee5\u89c6\u4e4b\u4e3a\u7ef4\u62a4\u7cfb\u7edf\u7a33\u5b9a\u548c\u6570\u636e\u5b89\u5168\u7684\u6700\u540e\u4e00\u9053\u4fdd\u9669\u3002

    \u5907\u4efd\u901a\u5e38\u5206\u4e3a\u5168\u91cf\u5907\u4efd\u3001\u589e\u91cf\u5907\u4efd\u3001\u5dee\u5f02\u5907\u4efd\u4e09\u79cd\u3002DCE 5.0 \u76ee\u524d\u652f\u6301\u5168\u91cf\u5907\u4efd\u548c\u589e\u91cf\u5907\u4efd\u3002

    DCE 5.0 \u63d0\u4f9b\u7684\u5907\u4efd\u6062\u590d\u53ef\u4ee5\u5206\u4e3a \u5e94\u7528\u5907\u4efd \u548c ETCD \u5907\u4efd \u4e24\u79cd\uff0c\u652f\u6301\u624b\u52a8\u5907\u4efd\uff0c\u6216\u57fa\u4e8e CronJob \u5b9a\u65f6\u81ea\u52a8\u5907\u4efd\u3002

    • \u5e94\u7528\u5907\u4efd

      \u5e94\u7528\u5907\u4efd\u6307\uff0c\u5907\u4efd\u96c6\u7fa4\u4e2d\u7684\u67d0\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\uff0c\u7136\u540e\u5c06\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6062\u590d\u5230\u672c\u96c6\u7fa4\u6216\u8005\u5176\u4ed6\u96c6\u7fa4\u3002\u652f\u6301\u5907\u4efd\u6574\u4e2a\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u8d44\u6e90\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u8fc7\u6ee4\uff0c\u4ec5\u5907\u4efd\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8d44\u6e90\u3002

      \u5e94\u7528\u5907\u4efd\u652f\u6301\u8de8\u96c6\u7fa4\u5907\u4efd\u6709\u72b6\u6001\u5e94\u7528\uff0c\u5177\u4f53\u6b65\u9aa4\u53ef\u53c2\u8003MySQL \u5e94\u7528\u53ca\u6570\u636e\u7684\u8de8\u96c6\u7fa4\u5907\u4efd\u6062\u590d\u3002

    • ETCD \u5907\u4efd

      etcd \u662f Kubernetes \u7684\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\uff0cKubernetes \u5c06\u81ea\u8eab\u7684\u7ec4\u4ef6\u6570\u636e\u548c\u5176\u4e2d\u7684\u5e94\u7528\u6570\u636e\u90fd\u5b58\u50a8\u5728 etcd \u4e2d\u3002\u56e0\u6b64\uff0c\u5907\u4efd etcd \u5c31\u76f8\u5f53\u4e8e\u5907\u4efd\u6574\u4e2a\u96c6\u7fa4\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u5728\u6545\u969c\u65f6\u5feb\u901f\u5c06\u96c6\u7fa4\u6062\u590d\u5230\u4e4b\u524d\u67d0\u4e00\u65f6\u70b9\u7684\u72b6\u6001\u3002

      \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u76ee\u524d\u4ec5\u652f\u6301\u5c06 etcd \u5907\u4efd\u6570\u636e\u6062\u590d\u5230\u540c\u4e00\u96c6\u7fa4\uff08\u539f\u96c6\u7fa4\uff09\u3002\u5982\u9700\u4e86\u89e3\u4e0e\u6b64\u76f8\u5173\u7684\u6700\u4f73\u5b9e\u8df5\uff0c\u53ef\u53c2\u8003 ETCD \u5907\u4efd\u8fd8\u539f\u3002

    "},{"location":"kpanda/user-guide/backup/deployment.html","title":"\u5e94\u7528\u5907\u4efd","text":"

    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u4e2d\u4e3a\u5e94\u7528\u505a\u5907\u4efd\uff0c\u672c\u6559\u7a0b\u4e2d\u4f7f\u7528\u7684\u6f14\u793a\u5e94\u7528\u540d\u4e3a dao-2048 \uff0c\u5c5e\u4e8e\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

    "},{"location":"kpanda/user-guide/backup/deployment.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u5728\u5bf9\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u5907\u4efd\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

    • \u5b89\u88c5 velero \u7ec4\u4ef6\uff0c\u4e14 velero \u7ec4\u4ef6\u8fd0\u884c\u6b63\u5e38\u3002

    • \u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08\u672c\u6559\u7a0b\u4e2d\u7684\u8d1f\u8f7d\u540d\u4e3a dao-2048 \uff09\uff0c\u5e76\u4e3a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6253\u4e0a app: dao-2048 \u7684\u6807\u7b7e\u3002

    "},{"location":"kpanda/user-guide/backup/deployment.html#_3","title":"\u5907\u4efd\u5de5\u4f5c\u8d1f\u8f7d","text":"

    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u5907\u4efd\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d dao-2048 \u3002

    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c \u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d \u3002

    2. \u8fdb\u5165 \u5e94\u7528\u5907\u4efd \u5217\u8868\u9875\u9762\uff0c\u4ece\u96c6\u7fa4\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u5df2\u5b89\u88c5\u4e86 velero \u548c dao-2048 \u7684\u96c6\u7fa4\u3002 \u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u6309\u94ae\u3002

    3. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u586b\u5199\u5907\u4efd\u914d\u7f6e\u3002

    4. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u8bbe\u7f6e\u5907\u4efd\u6267\u884c\u9891\u7387\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

      • \u5907\u4efd\u9891\u7387\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002
      • \u7559\u5b58\u65f6\u957f\uff08\u5929\uff09\uff1a\u8bbe\u7f6e\u5907\u4efd\u8d44\u6e90\u4fdd\u5b58\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 30 \u5929\uff0c\u8fc7\u671f\u540e\u5c06\u4f1a\u88ab\u5220\u9664\u3002
      • \u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\uff1a\u662f\u5426\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\uff0c\u652f\u6301\u76f4\u63a5\u590d\u5236\u548c\u4f7f\u7528 CSI \u5feb\u7167\u4e24\u79cd\u65b9\u5f0f\u3002
        • \u76f4\u63a5\u590d\u5236\uff1a\u76f4\u63a5\u590d\u5236\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\u7528\u4e8e\u5907\u4efd\uff1b
        • \u4f7f\u7528 CSI \u5feb\u7167\uff1a\u4f7f\u7528 CSI \u5feb\u7167\u6765\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u3002\u9700\u8981\u96c6\u7fa4\u4e2d\u6709\u53ef\u7528\u4e8e\u5907\u4efd\u7684 CSI \u5feb\u7167\u7c7b\u578b\u3002

    5. \u70b9\u51fb \u786e\u5b9a \uff0c\u9875\u9762\u4f1a\u81ea\u52a8\u8fd4\u56de\u5e94\u7528\u5907\u4efd\u8ba1\u5212\u5217\u8868\u3002\u60a8\u53ef\u4ee5\u627e\u5230\u65b0\u5efa\u7684 dao-2048 \u5907\u4efd\u8ba1\u5212\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u9009\u62e9 \u7acb\u5373\u6267\u884c \u5f00\u59cb\u5907\u4efd\u3002

    6. \u6b64\u65f6\u96c6\u7fa4\u7684 \u4e0a\u4e00\u6b21\u6267\u884c\u72b6\u6001 \u5c06\u8f6c\u53d8\u4e3a \u5907\u4efd\u4e2d \u3002\u7b49\u5f85\u5907\u4efd\u5b8c\u6210\u540e\u53ef\u4ee5\u70b9\u51fb\u5907\u4efd\u8ba1\u5212\u7684\u540d\u79f0\uff0c\u67e5\u770b\u5907\u4efd\u8ba1\u5212\u8be6\u60c5\u3002

    Note

    \u5982\u679c Job \u7c7b\u578b\u7684\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u4e3a \u6267\u884c\u5b8c\u6210 \uff0c\u5219\u4e0d\u652f\u6301\u5907\u4efd\u3002

    "},{"location":"kpanda/user-guide/backup/etcd-backup.html","title":"etcd \u5907\u4efd","text":"

    etcd \u5907\u4efd\u662f\u4ee5\u96c6\u7fa4\u6570\u636e\u4e3a\u6838\u5fc3\u7684\u5907\u4efd\u3002\u5728\u786c\u4ef6\u8bbe\u5907\u635f\u574f\uff0c\u5f00\u53d1\u6d4b\u8bd5\u914d\u7f6e\u9519\u8bef\u7b49\u573a\u666f\u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7 etcd \u5907\u4efd\u6062\u590d\u96c6\u7fa4\u6570\u636e\u3002

    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e3a\u96c6\u7fa4\u5236\u4f5c etcd \u5907\u4efd\u3002\u53e6\u8bf7\u53c2\u9605 etcd \u5907\u4efd\u8fd8\u539f\u6700\u4f73\u5b9e\u8df5\u3002

    "},{"location":"kpanda/user-guide/backup/etcd-backup.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
    • \u63a5\u5165\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

    • \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

    • \u51c6\u5907\u4e00\u4e2a MinIO \u5b9e\u4f8b\u3002\u5efa\u8bae\u901a\u8fc7 DCE 5.0 \u7684 MinIO \u4e2d\u95f4\u4ef6\u8fdb\u884c\u521b\u5efa\uff0c\u5177\u4f53\u6b65\u9aa4\u53ef\u53c2\u8003 MinIO \u5bf9\u8c61\u5b58\u50a8\u3002

    "},{"location":"kpanda/user-guide/backup/etcd-backup.html#etcd_1","title":"\u521b\u5efa etcd \u5907\u4efd","text":"

    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa etcd \u5907\u4efd\u3002

    1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u3002

    2. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199 \u57fa\u672c\u4fe1\u606f \u3002\u586b\u5199\u5b8c\u6bd5\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u6821\u9a8c etcd \u7684\u8054\u901a\u6027\uff0c\u6821\u9a8c\u901a\u8fc7\u4e4b\u540e\u53ef\u4ee5\u8fdb\u884c\u4e0b\u4e00\u6b65\u3002

      • \u5907\u4efd\u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u5907\u4efd\u54ea\u4e2a\u96c6\u7fa4\u7684 etcd \u6570\u636e\uff0c\u5e76\u5728\u7ec8\u7aef\u767b\u5f55
      • etcd \u5730\u5740\uff1a\u683c\u5f0f\u4e3a https://${\u8282\u70b9IP}:${\u7aef\u53e3\u53f7}

        • \u5728\u6807\u51c6 Kubernetes \u96c6\u7fa4\u4e2d\uff0cetcd \u7684\u9ed8\u8ba4\u7aef\u53e3\u53f7\u4e3a 2379
        • \u5728 DCE 4.0 \u96c6\u7fa4\u4e2d\uff0cetcd \u7684\u9ed8\u8ba4\u7aef\u53e3\u53f7\u4e3a 12379
        • \u5728\u516c\u6709\u4e91\u6258\u7ba1\u96c6\u7fa4\u4e2d\uff0c\u9700\u8981\u8054\u7cfb\u76f8\u5173\u5f00\u53d1\u4eba\u5458\u83b7\u53d6 etcd \u7684\u7aef\u53e3\u53f7\u3002 \u8fd9\u662f\u56e0\u4e3a\u516c\u6709\u4e91\u96c6\u7fa4\u7684\u63a7\u5236\u9762\u7ec4\u4ef6\u7531\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u7ef4\u62a4\u548c\u7ba1\u7406\uff0c\u7528\u6237\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee\u6216\u67e5\u770b\u8fd9\u4e9b\u7ec4\u4ef6\uff0c \u4e5f\u65e0\u6cd5\u901a\u8fc7\u5e38\u89c4\u547d\u4ee4\uff08\u5982 kubectl\uff09\u65e0\u6cd5\u83b7\u53d6\u5230\u63a7\u5236\u9762\u7684\u7aef\u53e3\u7b49\u4fe1\u606f\u3002
        \u83b7\u53d6\u7aef\u53e3\u53f7\u7684\u65b9\u5f0f
        1. \u5728 kube-system \u547d\u540d\u7a7a\u95f4\u4e0b\u67e5\u627e etcd Pod

          kubectl get po -n kube-system | grep etcd\n
        2. \u83b7\u53d6 etcd Pod \u7684 listen-client-urls \u4e2d\u7684\u7aef\u53e3\u53f7

          kubectl get po -n kube-system ${etcd_pod_name} -oyaml | grep listen-client-urls # (1)!\n
          1. \u5c06 etcd_pod_name \u66ff\u6362\u4e3a\u5b9e\u9645\u7684 Pod \u540d\u79f0

          \u9884\u671f\u8f93\u51fa\u7ed3\u679c\u5982\u4e0b\uff0c\u8282\u70b9 IP \u540e\u7684\u6570\u5b57\u5373\u4e3a\u7aef\u53e3\u53f7:

          - --listen-client-urls=https://127.0.0.1:2379,https://10.6.229.191:2379\n
      • CA \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

        \u6807\u51c6\u7684 Kubernetes \u96c6\u7fa4DCE 4.0 \u96c6\u7fa4
        cat /etc/kubernetes/ssl/etcd/ca.crt\n
        cat /etc/daocloud/dce/certs/ca.crt\n
      • Cert \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

        \u6807\u51c6\u7684 Kubernetes \u96c6\u7fa4DCE 4.0 \u96c6\u7fa4
        cat /etc/kubernetes/ssl/apiserver-etcd-client.crt\n
        cat /etc/daocloud/dce/certs/etcd/server.crt\n
      • Key\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

        \u6807\u51c6\u7684 Kubernetes \u96c6\u7fa4DCE 4.0 \u96c6\u7fa4
        cat /etc/kubernetes/ssl/apiserver-etcd-client.key\n
        cat /etc/daocloud/dce/certs/etcd/server.key\n

      Note

      \u70b9\u51fb\u8f93\u5165\u6846\u4e0b\u65b9\u7684 \u5982\u4f55\u83b7\u53d6 \u53ef\u4ee5\u5728 UI \u9875\u9762\u67e5\u770b\u83b7\u53d6\u5bf9\u5e94\u4fe1\u606f\u7684\u65b9\u5f0f\u3002

    3. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5907\u4efd\u7b56\u7565 \u3002

      • \u5907\u4efd\u65b9\u5f0f\uff1a\u9009\u62e9\u624b\u52a8\u5907\u4efd\u6216\u5b9a\u65f6\u5907\u4efd

        • \u624b\u52a8\u5907\u4efd\uff1a\u57fa\u4e8e\u5907\u4efd\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21 etcd \u5168\u91cf\u6570\u636e\u7684\u5907\u4efd\u3002
        • \u5b9a\u65f6\u5907\u4efd\uff1a\u6309\u7167\u8bbe\u7f6e\u7684\u5907\u4efd\u9891\u7387\u5bf9 etcd \u6570\u636e\u8fdb\u884c\u5468\u671f\u6027\u5168\u91cf\u5907\u4efd\u3002
      • \u5907\u4efd\u94fe\u957f\u5ea6\uff1a\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5907\u4efd\u6570\u636e\u3002\u9ed8\u8ba4\u4e3a 30 \u6761\u3002

      • \u5907\u4efd\u9891\u7387\uff1a\u652f\u6301\u5c0f\u65f6\u3001\u65e5\u3001\u5468\u3001\u6708\u7ea7\u522b\u548c\u81ea\u5b9a\u4e49\u65b9\u5f0f\u3002

    4. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5b58\u50a8\u4f4d\u7f6e \u3002

      • \u5b58\u50a8\u4f9b\u5e94\u5546\uff1a\u9ed8\u8ba4\u9009\u62e9 S3 \u5b58\u50a8
      • \u5bf9\u8c61\u5b58\u50a8\u8bbf\u95ee\u5730\u5740\uff1aMinIO \u7684\u8bbf\u95ee\u5730\u5740
      • \u5b58\u50a8\u6876\uff1a\u5728 MinIO \u4e2d\u521b\u5efa\u4e00\u4e2a Bucket\uff0c\u586b\u5199 Bucket \u7684\u540d\u79f0
      • \u7528\u6237\u540d\uff1aMinIO \u7684\u767b\u5f55\u7528\u6237\u540d
      • \u5bc6\u7801\uff1aMinIO \u7684\u767b\u5f55\u5bc6\u7801

    5. \u70b9\u51fb \u786e\u5b9a \u540e\u9875\u9762\u81ea\u52a8\u8df3\u8f6c\u5230\u5907\u4efd\u7b56\u7565\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\u76ee\u524d\u521b\u5efa\u597d\u7684\u6240\u6709\u7b56\u7565\u3002

      • \u5728\u7b56\u7565\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u3001\u67e5\u770b YAML\u3001\u66f4\u65b0\u7b56\u7565\u3001\u505c\u6b62\u7b56\u7565\u3001\u7acb\u5373\u6267\u884c\u7b56\u7565\u7b49\u3002
      • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u624b\u52a8\u65f6\uff0c\u53ef\u4ee5\u70b9\u51fb \u7acb\u5373\u6267\u884c \u8fdb\u884c\u5907\u4efd\u3002
      • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u5b9a\u65f6\u5907\u4efd\u65f6\uff0c\u5219\u4f1a\u6839\u636e\u914d\u7f6e\u7684\u65f6\u95f4\u8fdb\u884c\u5907\u4efd\u3002

    "},{"location":"kpanda/user-guide/backup/etcd-backup.html#_2","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u65e5\u5fd7","text":"

    \u70b9\u51fb \u65e5\u5fd7 \u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u5185\u5bb9\uff0c\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u3002\u82e5\u60f3\u67e5\u770b\u66f4\u591a\u65e5\u5fd7\u4fe1\u606f\u6216\u8005\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u53ef\u5728\u65e5\u5fd7\u4e0a\u65b9\u6839\u636e\u63d0\u793a\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u3002

    "},{"location":"kpanda/user-guide/backup/etcd-backup.html#_3","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u8be6\u60c5","text":"

    \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u63a5\u7740\u70b9\u51fb\u7b56\u7565\u540d\u79f0\u53ef\u4ee5\u67e5\u770b\u7b56\u7565\u8be6\u60c5\u3002

    "},{"location":"kpanda/user-guide/backup/etcd-backup.html#_4","title":"\u67e5\u770b\u5907\u4efd\u70b9","text":"
    1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u70b9 \u9875\u7b7e\u3002
    2. \u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u96c6\u7fa4\u4e0b\u6240\u6709\u5907\u4efd\u4fe1\u606f\u3002

      \u6bcf\u6267\u884c\u4e00\u6b21\u5907\u4efd\uff0c\u5bf9\u5e94\u751f\u6210\u4e00\u4e2a\u5907\u4efd\u70b9\uff0c\u53ef\u901a\u8fc7\u6210\u529f\u72b6\u6001\u7684\u5907\u4efd\u70b9\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002

    "},{"location":"kpanda/user-guide/backup/install-velero.html","title":"\u5b89\u88c5 velero \u63d2\u4ef6","text":"

    velero \u662f\u4e00\u4e2a\u5907\u4efd\u548c\u6062\u590d Kubernetes \u96c6\u7fa4\u8d44\u6e90\u7684\u5f00\u6e90\u5de5\u5177\u3002\u5b83\u53ef\u4ee5\u5c06 Kubernetes \u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u5907\u4efd\u5230\u4e91\u5b58\u50a8\u670d\u52a1\u3001\u672c\u5730\u5b58\u50a8\u6216\u5176\u4ed6\u4f4d\u7f6e\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728\u9700\u8981\u65f6\u5c06\u8fd9\u4e9b\u8d44\u6e90\u6062\u590d\u5230\u540c\u4e00\u6216\u4e0d\u540c\u7684\u96c6\u7fa4\u4e2d\u3002

    \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u4e2d\u4f7f\u7528 Helm \u5e94\u7528 \u90e8\u7f72 velero \u63d2\u4ef6\u3002

    "},{"location":"kpanda/user-guide/backup/install-velero.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u5b89\u88c5 velero \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

    • \u521b\u5efa velero \u547d\u540d\u7a7a\u95f4\u3002

    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

    "},{"location":"kpanda/user-guide/backup/install-velero.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

    \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 velero \u63d2\u4ef6\u3002

    1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5 velero \u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u680f\u8f93\u5165 velero \u8fdb\u884c\u641c\u7d22\u3002

    2. \u9605\u8bfb velero \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u5b89\u88c5 4.0.2 \u6216\u66f4\u9ad8\u7248\u672c\u3002

    3. \u586b\u5199\u548c\u914d\u7f6e\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

      \u57fa\u672c\u53c2\u6570\u53c2\u6570\u914d\u7f6e

      • \u540d\u79f0\uff1a\u5fc5\u586b\u53c2\u6570\uff0c\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09,\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
      • \u547d\u540d\u7a7a\u95f4\uff1a\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a velero \u547d\u540d\u7a7a\u95f4\u3002
      • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u3002
      • \u5c31\u7eea\u7b49\u5f85\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
      • \u5931\u8d25\u5220\u9664\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
      • \u8be6\u60c5\u65e5\u5fd7\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\u5c06\u8f93\u51fa\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

      Note

      \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

      • S3 Credentials\uff1a

        • Use secret \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true \u3002
        • Secret name \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e velero-s3-credential \u3002
        • SecretContents.aws_access_key_id = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u7528\u6237\u540d\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002
        • SecretContents.aws_secret_access_key = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u5bc6\u7801\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002

          config \"SecretContents \u6837\u4f8b\" [default] aws_access_key_id = minio aws_secret_access_key = minio123

        • Velero Configuration\uff1a

          • Backupstoragelocation \uff1avelero \u5907\u4efd\u6570\u636e\u5b58\u50a8\u7684\u4f4d\u7f6e
          • S3 bucket \uff1a\u7528\u4e8e\u4fdd\u5b58\u5907\u4efd\u6570\u636e\u7684\u5b58\u50a8\u6876\u540d\u79f0(\u9700\u4e3a minio \u5df2\u7ecf\u5b58\u5728\u7684\u771f\u5b9e\u5b58\u50a8\u6876)
          • Is default BackupStorage \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
          • S3 access mode \uff1avelero \u5bf9\u6570\u636e\u7684\u8bbf\u95ee\u6a21\u5f0f\uff0c\u53ef\u4ee5\u9009\u62e9
            • ReadWrite \uff1a\u5141\u8bb8 velero \u8bfb\u5199\u5907\u4efd\u6570\u636e
            • ReadOnly \uff1a\u5141\u8bb8 velero \u8bfb\u53d6\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u4fee\u6539\u5907\u4efd\u6570\u636e
            • WriteOnly \uff1a\u53ea\u5141\u8bb8 velero \u5199\u5165\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u8bfb\u53d6\u5907\u4efd\u6570\u636e
          • S3 Configs \uff1aS3 \u5b58\u50a8\uff08minio\uff09\u7684\u8be6\u7ec6\u914d\u7f6e
          • S3 region \uff1a\u4e91\u5b58\u50a8\u7684\u5730\u7406\u533a\u57df\u3002\u9ed8\u8ba4\u4f7f\u7528 us-east-1 \u53c2\u6570\uff0c\u7531\u7cfb\u7edf\u7ba1\u7406\u5458\u63d0\u4f9b
          • S3 force path style \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
          • S3 server URL \uff1a\u5bf9\u8c61\u5b58\u50a8\uff08minio\uff09\u7684\u63a7\u5236\u53f0\u8bbf\u95ee\u5730\u5740\uff0cminio \u4e00\u822c\u63d0\u4f9b\u4e86 UI \u8bbf\u95ee\u548c\u63a7\u5236\u53f0\u8bbf\u95ee\u4e24\u4e2a\u670d\u52a1\uff0c\u6b64\u5904\u8bf7\u4f7f\u7528\u63a7\u5236\u53f0\u8bbf\u95ee\u7684\u5730\u5740

          Note

          \u8bf7\u786e\u4fdd s3 \u5b58\u50a8\u670d\u52a1\u65f6\u95f4\u8ddf\u5907\u4efd\u8fd8\u539f\u96c6\u7fa4\u65f6\u95f4\u5dee\u572810\u5206\u949f\u4ee5\u5185\uff0c\u6700\u597d\u662f\u65f6\u95f4\u4fdd\u6301\u540c\u6b65\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u6267\u884c\u5907\u4efd\u64cd\u4f5c\u3002

        • migration plugin configuration\uff1a\u542f\u7528\u4e4b\u540e\uff0c\u5c06\u5728\u4e0b\u4e00\u6b65\u7684 YAML \u4ee3\u7801\u6bb5\u4e2d\u65b0\u589e\uff1a

          ...\ninitContainers:\n  - image: 'release.daocloud.io/kcoral/velero-plugin-for-migration:v0.3.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-migration\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-csi:v0.7.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-csi\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-aws:v1.9.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-aws\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n...\n
        • \u786e\u8ba4 YAML \u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 velero \u63d2\u4ef6\u7684\u5b89\u88c5\u3002 \u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c\u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

        • "},{"location":"kpanda/user-guide/backup/offline-upgrade.html","title":"\u79bb\u7ebf\u5347\u7ea7\u5907\u4efd\u6062\u590d\u6a21\u5757","text":"

          \u672c\u9875\u8bf4\u660e\u4e0b\u8f7d\u5907\u4efd\u6062\u590d\u6a21\u5757\u540e\uff0c\u5e94\u8be5\u5982\u4f55\u5b89\u88c5\u6216\u5347\u7ea7\u3002

          Info

          \u4e0b\u8ff0\u547d\u4ee4\u6216\u811a\u672c\u5185\u51fa\u73b0\u7684 kcoral \u5b57\u6837\u662f\u5907\u4efd\u6062\u590d\u6a21\u5757\u7684\u5185\u90e8\u5f00\u53d1\u4ee3\u53f7\u3002

          "},{"location":"kpanda/user-guide/backup/offline-upgrade.html#_2","title":"\u4ece\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u52a0\u8f7d\u955c\u50cf","text":"

          \u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u9762\u4e24\u79cd\u65b9\u5f0f\u4e4b\u4e00\u52a0\u8f7d\u955c\u50cf\uff0c\u5f53\u73af\u5883\u4e2d\u5b58\u5728\u955c\u50cf\u4ed3\u5e93\u65f6\uff0c\u5efa\u8bae\u9009\u62e9 chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93\uff0c\u8be5\u65b9\u6cd5\u66f4\u52a0\u9ad8\u6548\u4fbf\u6377\u3002

          "},{"location":"kpanda/user-guide/backup/offline-upgrade.html#chart-syncer","title":"\u65b9\u5f0f\u4e00\uff1a\u4f7f\u7528 chart-syncer \u540c\u6b65\u955c\u50cf","text":"

          \u4f7f\u7528 chart-syncer \u53ef\u4ee5\u5c06\u60a8\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u7684 chart \u53ca\u5176\u4f9d\u8d56\u7684\u955c\u50cf\u5305\u4e0a\u4f20\u81f3\u5b89\u88c5\u5668\u90e8\u7f72 DCE \u65f6\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u3002

          \u9996\u5148\u627e\u5230\u4e00\u53f0\u80fd\u591f\u8fde\u63a5\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7684\u8282\u70b9\uff08\u5982\u706b\u79cd\u8282\u70b9\uff09\uff0c\u5728\u8282\u70b9\u4e0a\u521b\u5efa load-image.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u586b\u5165\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7b49\u914d\u7f6e\u4fe1\u606f\u3002

          1. \u521b\u5efa load-image.yaml

            Note

            \u8be5 YAML \u6587\u4ef6\u4e2d\u7684\u5404\u9879\u53c2\u6570\u5747\u4e3a\u5fc5\u586b\u9879\u3002

            \u5df2\u6dfb\u52a0 Helm repo\u672a\u6dfb\u52a0 Helm repo

            \u82e5\u5f53\u524d\u73af\u5883\u5df2\u5b89\u88c5 chart repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\u3002

            load-image.yaml
            source:\n  intermediateBundlesPath: kcoral # (1)!\ntarget:\n  containerRegistry: 10.16.10.111 # (2)!\n  containerRepository: release.daocloud.io/kcoral # (3)!\n  repo:\n    kind: HARBOR # (4)!\n    url: http://10.16.10.111/chartrepo/release.daocloud.io # (5)!\n    auth:\n      username: \"admin\" # (6)!\n      password: \"Harbor12345\" # (7)!\n  containers:\n    auth:\n      username: \"admin\" # (8)!\n      password: \"Harbor12345\" # (9)!\n
            1. \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84
            2. \u955c\u50cf\u4ed3\u5e93\u5730\u5740
            3. \u955c\u50cf\u4ed3\u5e93\u8def\u5f84
            4. Helm Chart \u4ed3\u5e93\u7c7b\u522b
            5. Helm \u4ed3\u5e93\u5730\u5740
            6. \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
            7. \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801
            8. Helm \u4ed3\u5e93\u7528\u6237\u540d
            9. Helm \u4ed3\u5e93\u5bc6\u7801

            \u82e5\u5f53\u524d\u8282\u70b9\u4e0a\u672a\u6dfb\u52a0 helm repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\uff0c\u5e76\u5b58\u653e\u5728\u6307\u5b9a\u8def\u5f84\u3002

            load-image.yaml
            source:\n  intermediateBundlesPath: kcoral # (1)!\ntarget:\n  containerRegistry: 10.16.10.111 # (2)!\n  containerRepository: release.daocloud.io/kcoral # (3)!\n  repo:\n    kind: LOCAL\n    path: ./local-repo # (4)!\n  containers:\n    auth:\n      username: \"admin\" # (5)!\n      password: \"Harbor12345\" # (6)!\n
            1. \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84
            2. \u955c\u50cf\u4ed3\u5e93 url
            3. \u955c\u50cf\u4ed3\u5e93\u8def\u5f84
            4. chart \u672c\u5730\u8def\u5f84
            5. \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
            6. \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801
          2. \u6267\u884c\u540c\u6b65\u955c\u50cf\u547d\u4ee4\u3002

            charts-syncer sync --config load-image.yaml\n
          "},{"location":"kpanda/user-guide/backup/offline-upgrade.html#docker-containerd","title":"\u65b9\u5f0f\u4e8c\uff1a\u4f7f\u7528 Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf","text":"

          \u89e3\u538b\u5e76\u52a0\u8f7d\u955c\u50cf\u6587\u4ef6\u3002

          1. \u89e3\u538b\u7b2c\u4e00\u5c42\u538b\u7f29\u5305\u3002

            tar xvf kcoral.amd64.tar\n

            \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 1 \u4e2a\u65b0\u7684\u538b\u7f29\u5305\uff1a

            • kcoral.bundle.tar
          2. \u89e3\u538b\u65b0\u7684\u538b\u7f29\u5305\u3002

            tar xvf kcoral.bundle.tar\n

            \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 3 \u4e2a\u6587\u4ef6\uff1a

            • hints.yaml
            • images.tar
            • original-chart
          3. \u4ece\u672c\u5730\u52a0\u8f7d\u955c\u50cf\u5230 Docker \u6216 containerd\u3002

            Dockercontainerd
            docker load -i images.tar\n
            ctr -n k8s.io image import images.tar\n

          Note

          \u6bcf\u4e2a node \u90fd\u9700\u8981\u505a Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf\u64cd\u4f5c\uff0c \u52a0\u8f7d\u5b8c\u6210\u540e\u9700\u8981 tag \u955c\u50cf\uff0c\u4fdd\u6301 Registry\u3001Repository \u4e0e\u5b89\u88c5\u65f6\u4e00\u81f4\u3002

          "},{"location":"kpanda/user-guide/backup/offline-upgrade.html#_3","title":"\u5347\u7ea7","text":"

          \u6709\u4e24\u79cd\u5347\u7ea7\u65b9\u5f0f\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u524d\u7f6e\u64cd\u4f5c\uff0c\u9009\u62e9\u5bf9\u5e94\u7684\u5347\u7ea7\u65b9\u6848\uff1a

          \u901a\u8fc7 helm repo \u5347\u7ea7\u901a\u8fc7 chart \u5305\u5347\u7ea7
          1. \u68c0\u67e5\u5907\u4efd\u6062\u590d helm \u4ed3\u5e93\u662f\u5426\u5b58\u5728\u3002

            helm repo list | grep kcoral\n

            \u82e5\u8fd4\u56de\u7ed3\u679c\u4e3a\u7a7a\u6216\u5982\u4e0b\u63d0\u793a\uff0c\u5219\u8fdb\u884c\u4e0b\u4e00\u6b65\uff1b\u53cd\u4e4b\u5219\u8df3\u8fc7\u4e0b\u4e00\u6b65\u3002

            Error: no repositories to show\n
          2. \u6dfb\u52a0\u5907\u4efd\u6062\u590d\u7684 helm \u4ed3\u5e93\u3002

            helm repo add kcoral http://{harbor url}/chartrepo/{project}\n
          3. \u66f4\u65b0\u5907\u4efd\u6062\u590d\u7684 helm \u4ed3\u5e93\u3002

            helm repo update kcoral\n
          4. \u9009\u62e9\u60a8\u60f3\u5b89\u88c5\u7684\u5907\u4efd\u6062\u590d\u7248\u672c\uff08\u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\uff09\u3002

            helm search repo kcoral/kcoral --versions\n
            [root@master ~]# helm search repo kcoral/kcoral --versions\nNAME                   CHART VERSION  APP VERSION  DESCRIPTION\nkcoral/kcoral  0.20.0          v0.20.0       A Helm chart for kcoral\n...\n
          5. \u5907\u4efd --set \u53c2\u6570\u3002

            \u5728\u5347\u7ea7\u5907\u4efd\u6062\u590d\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

            helm get values kcoral -n kcoral-system -o yaml > bak.yaml\n
          6. \u6267\u884c helm upgrade \u3002

            \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u5b57\u6bb5\u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

            export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
            helm upgrade kcoral kcoral/kcoral \\\n  -n kcoral-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry \\\n  --version 0.5.0\n
          1. \u5907\u4efd --set \u53c2\u6570\u3002

            \u5728\u5347\u7ea7\u5907\u4efd\u6062\u590d\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

            helm get values kcoral -n kcoral-system -o yaml > bak.yaml\n
          2. \u6267\u884c helm upgrade \u3002

            \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

            export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
            helm upgrade kcoral . \\\n  -n kcoral-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry\n
          "},{"location":"kpanda/user-guide/clusterops/cluster-oversold.html","title":"\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356","text":"

          \u76ee\u524d\uff0c\u8bb8\u591a\u4e1a\u52a1\u5b58\u5728\u5cf0\u503c\u548c\u4f4e\u8c37\u7684\u73b0\u8c61\u3002\u4e3a\u4e86\u786e\u4fdd\u670d\u52a1\u7684\u6027\u80fd\u548c\u7a33\u5b9a\u6027\uff0c\u5728\u90e8\u7f72\u670d\u52a1\u65f6\uff0c\u901a\u5e38\u4f1a\u6839\u636e\u5cf0\u503c\u9700\u6c42\u6765\u7533\u8bf7\u8d44\u6e90\u3002 \u7136\u800c\uff0c\u5cf0\u503c\u671f\u53ef\u80fd\u975e\u5e38\u77ed\u6682\uff0c\u5bfc\u81f4\u5728\u975e\u5cf0\u503c\u671f\u65f6\u8d44\u6e90\u88ab\u6d6a\u8d39\u3002 \u96c6\u7fa4\u8d44\u6e90\u8d85\u5356 \u5c31\u662f\u5c06\u8fd9\u4e9b\u7533\u8bf7\u4e86\u800c\u672a\u4f7f\u7528\u7684\u8d44\u6e90\uff08\u5373\u7533\u8bf7\u91cf\u4e0e\u4f7f\u7528\u91cf\u7684\u5dee\u503c\uff09\u5229\u7528\u8d77\u6765\uff0c\u4ece\u800c\u63d0\u5347\u96c6\u7fa4\u8d44\u6e90\u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u6d6a\u8d39\u3002

          \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u529f\u80fd\u3002

          "},{"location":"kpanda/user-guide/clusterops/cluster-oversold.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
          • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 Cluster Admin \uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u6388\u6743\u3002
          • \u82e5\u4e3a\u79bb\u7ebf\u73af\u5883\uff0c\u5219\u9700\u5b8c\u6210 Addon \u79bb\u7ebf\u5305\u5bfc\u5165\uff0c\u4e14\u5728 Helm \u6a21\u677f\u754c\u9762\u53ef\u627e\u5230 cro-operator \u6a21\u677f\u3002
          "},{"location":"kpanda/user-guide/clusterops/cluster-oversold.html#_3","title":"\u5f00\u542f\u96c6\u7fa4\u8d85\u5356","text":"
          1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762

          2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e \uff0c\u7136\u540e\u9009\u62e9 \u9ad8\u7ea7\u914d\u7f6e \u9875\u7b7e

          3. \u6253\u5f00\u96c6\u7fa4\u8d85\u5356\uff0c\u8bbe\u7f6e\u8d85\u5356\u6bd4

            • \u82e5\u672a\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u70b9\u51fb \u7acb\u5373\u5b89\u88c5 \u6309\u94ae\uff0c\u5b89\u88c5\u6d41\u7a0b\u53c2\u8003\u7ba1\u7406 Helm \u5e94\u7528
            • \u82e5\u5df2\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u6253\u5f00\u96c6\u7fa4\u8d85\u5356\u5f00\u5173\uff0c\u5219\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356\u529f\u80fd\u3002

            Note

            \u9700\u8981\u5728\u96c6\u7fa4\u4e0b\u5bf9\u5e94\u7684 namespace \u6253\u4e0a\u5982\u4e0b\u6807\u7b7e\uff0c\u96c6\u7fa4\u8d85\u5356\u7b56\u7565\u624d\u80fd\u751f\u6548\u3002

            clusterresourceoverrides.admission.autoscaling.openshift.io/enabled: \"true\"\n

          "},{"location":"kpanda/user-guide/clusterops/cluster-oversold.html#_4","title":"\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356","text":"

          \u8bbe\u7f6e\u597d\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u6bd4\u540e\uff0c\u4f1a\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u65f6\u751f\u6548\u3002\u4e0b\u6587\u4ee5 niginx \u4e3a\u4f8b\uff0c\u9a8c\u8bc1\u4f7f\u7528\u8d44\u6e90\u8d85\u5356\u80fd\u529b\u3002

          1. \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d nginx \u5e76\u8bbe\u7f6e\u5bf9\u5e94\u7684\u8d44\u6e90\u9650\u5236\u503c\uff0c\u521b\u5efa\u6d41\u7a0b\u53c2\u8003\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09

          2. \u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u8d44\u6e90\u7533\u8bf7\u503c\u4e0e\u9650\u5236\u503c\u7684\u6bd4\u503c\u662f\u5426\u7b26\u5408\u8d85\u552e\u6bd4

          "},{"location":"kpanda/user-guide/clusterops/cluster-settings.html","title":"\u96c6\u7fa4\u8bbe\u7f6e","text":"

          \u96c6\u7fa4\u8bbe\u7f6e\u7528\u4e8e\u4e3a\u60a8\u7684\u96c6\u7fa4\u81ea\u5b9a\u4e49\u9ad8\u7ea7\u7279\u6027\u8bbe\u7f6e\uff0c\u5305\u62ec\u662f\u5426\u542f\u7528 GPU\u3001Helm \u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001Helm \u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u7b49\u3002

          • \u542f\u7528 GPU\uff1a\u9700\u8981\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU \u5361\u53ca\u5bf9\u5e94\u9a71\u52a8\u63d2\u4ef6\u3002

            \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \u3002

          • Helm \u64cd\u4f5c\u57fa\u7840\u955c\u50cf\u3001\u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001\u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\u3001\u662f\u5426\u5f00\u542f\u96c6\u7fa4\u5220\u9664\u4fdd\u62a4\uff08\u5f00\u542f\u540e\u96c6\u7fa4\u5c06\u4e0d\u80fd\u76f4\u63a5\u5378\u8f7d\uff09

          "},{"location":"kpanda/user-guide/clusterops/latest-operations.html","title":"\u6700\u8fd1\u64cd\u4f5c","text":"

          \u5728\u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u6700\u8fd1\u7684\u96c6\u7fa4\u64cd\u4f5c\u8bb0\u5f55\u548c Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u4ee5\u53ca\u5404\u9879\u64cd\u4f5c\u7684 YAML \u6587\u4ef6\u548c\u65e5\u5fd7\uff0c\u4e5f\u53ef\u4ee5\u5220\u9664\u67d0\u4e00\u6761\u8bb0\u5f55\u3002

          \u8bbe\u7f6e Helm \u64cd\u4f5c\u7684\u4fdd\u7559\u6761\u6570\uff1a

          \u7cfb\u7edf\u9ed8\u8ba4\u4fdd\u7559\u6700\u8fd1 100 \u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\u3002\u82e5\u4fdd\u7559\u6761\u6570\u592a\u591a\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u6570\u636e\u5197\u4f59\uff0c\u4fdd\u7559\u6761\u6570\u592a\u5c11\u53ef\u80fd\u4f1a\u9020\u6210\u60a8\u6240\u9700\u8981\u7684\u5173\u952e\u64cd\u4f5c\u8bb0\u5f55\u7684\u7f3a\u5931\u3002\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8bbe\u7f6e\u5408\u7406\u7684\u4fdd\u7559\u6570\u91cf\u3002\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a

          1. \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> Helm \u64cd\u4f5c -> \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u3002

          2. \u8bbe\u7f6e\u9700\u8981\u4fdd\u7559\u591a\u5c11\u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

          "},{"location":"kpanda/user-guide/clusters/access-cluster.html","title":"\u8bbf\u95ee\u96c6\u7fa4","text":"

          \u4f7f\u7528 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u76f4\u63a5\u8bbf\u95ee\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5176\u4ed6\u4e24\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bbf\u95ee\u63a7\u5236\uff1a

          • \u901a\u8fc7 CloudShell \u5728\u7ebf\u8bbf\u95ee
          • \u4e0b\u8f7d\u96c6\u7fa4\u8bc1\u4e66\u540e\u901a\u8fc7 kubectl \u8fdb\u884c\u8bbf\u95ee

          Note

          \u8bbf\u95ee\u96c6\u7fa4\u65f6\uff0c\u7528\u6237\u5e94\u5177\u6709 Cluster Admin \u6743\u9650\u6216\u66f4\u9ad8\u6743\u9650\u3002

          "},{"location":"kpanda/user-guide/clusters/access-cluster.html#cloudshell","title":"\u901a\u8fc7 CloudShell \u8bbf\u95ee","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u901a\u8fc7 CloudShell \u8bbf\u95ee\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u63a7\u5236\u53f0 \u3002

          2. \u5728 CloudShell \u63a7\u5236\u53f0\u6267\u884c kubectl get node \u547d\u4ee4\uff0c\u9a8c\u8bc1 CloudShell \u4e0e\u96c6\u7fa4\u7684\u8fde\u901a\u6027\u3002\u5982\u56fe\uff0c\u63a7\u5236\u53f0\u5c06\u8fd4\u56de\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4fe1\u606f\u3002

          \u73b0\u5728\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 CloudShell \u6765\u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

          "},{"location":"kpanda/user-guide/clusters/access-cluster.html#kubectl","title":"\u901a\u8fc7 kubectl \u8bbf\u95ee","text":"

          \u901a\u8fc7\u672c\u5730\u8282\u70b9\u8bbf\u95ee\u5e76\u7ba1\u7406\u4e91\u7aef\u96c6\u7fa4\u65f6\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\uff1a

          • \u672c\u5730\u8282\u70b9\u548c\u4e91\u7aef\u96c6\u7fa4\u7684\u7f51\u7edc\u4e92\u8054\u4e92\u901a\u3002
          • \u5df2\u7ecf\u5c06\u96c6\u7fa4\u8bc1\u4e66\u4e0b\u8f7d\u5230\u4e86\u672c\u5730\u8282\u70b9\u3002
          • \u672c\u5730\u8282\u70b9\u5df2\u7ecf\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002\u5173\u4e8e\u8be6\u7ec6\u7684\u5b89\u88c5\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605\u5b89\u88c5 kubectl\u3002

          \u6ee1\u8db3\u4e0a\u8ff0\u6761\u4ef6\u540e\uff0c\u6309\u7167\u4e0b\u65b9\u6b65\u9aa4\u4ece\u672c\u5730\u8bbf\u95ee\u4e91\u7aef\u96c6\u7fa4\uff1a

          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u4e0b\u8f7d\u8bc1\u4e66\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u5e76\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u8bc1\u4e66\u83b7\u53d6 \u3002

          2. \u9009\u62e9\u8bc1\u4e66\u6709\u6548\u671f\u5e76\u70b9\u51fb \u4e0b\u8f7d\u8bc1\u4e66 \u3002

          3. \u6253\u5f00\u4e0b\u8f7d\u597d\u7684\u96c6\u7fa4\u8bc1\u4e66\uff0c\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u81f3\u672c\u5730\u8282\u70b9\u7684 config \u6587\u4ef6\u3002

            kubectl \u5de5\u5177\u9ed8\u8ba4\u4f1a\u4ece\u672c\u5730\u8282\u70b9\u7684 $HOME/.kube \u76ee\u5f55\u4e0b\u67e5\u627e\u540d\u4e3a config \u7684\u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u5b58\u50a8\u4e86\u76f8\u5173\u96c6\u7fa4\u7684\u8bbf\u95ee\u51ed\u8bc1\uff0ckubectl \u53ef\u4ee5\u51ed\u8be5\u914d\u7f6e\u6587\u4ef6\u8fde\u63a5\u81f3\u96c6\u7fa4\u3002

          4. \u5728\u672c\u5730\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u96c6\u7fa4\u7684\u8fde\u901a\u6027\uff1a

            kubectl get pod -n default\n

            \u9884\u671f\u7684\u8f93\u51fa\u7c7b\u4f3c\u4e8e:

            NAME                            READY   STATUS      RESTARTS    AGE\ndao-2048-2048-58c7f7fc5-mq7h4   1/1     Running     0           30h\n

          \u73b0\u5728\u60a8\u53ef\u4ee5\u5728\u672c\u5730\u901a\u8fc7 kubectl \u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

          "},{"location":"kpanda/user-guide/clusters/cluster-role.html","title":"\u96c6\u7fa4\u89d2\u8272","text":"

          DaoCloud Enterprise 5.0 \u57fa\u4e8e\u96c6\u7fa4\u7684\u4e0d\u540c\u529f\u80fd\u5b9a\u4f4d\u5bf9\u96c6\u7fa4\u8fdb\u884c\u4e86\u89d2\u8272\u5206\u7c7b\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u7ba1\u7406 IT \u57fa\u7840\u8bbe\u65bd\u3002

          "},{"location":"kpanda/user-guide/clusters/cluster-role.html#_2","title":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4","text":"

          \u6b64\u96c6\u7fa4\u7528\u4e8e\u8fd0\u884c DCE 5.0 \u7ec4\u4ef6\uff0c\u4f8b\u5982\u5bb9\u5668\u7ba1\u7406\u3001\u5168\u5c40\u7ba1\u7406\u3001\u53ef\u89c2\u6d4b\u6027\u3001\u955c\u50cf\u4ed3\u5e93\u7b49\u3002 \u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

          \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"kpanda/user-guide/clusters/cluster-role.html#_3","title":"\u7ba1\u7406\u96c6\u7fa4","text":"

          \u6b64\u96c6\u7fa4\u7528\u4e8e\u7ba1\u7406\u5de5\u4f5c\u96c6\u7fa4\uff0c\u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

          • \u7ecf\u5178\u6a21\u5f0f\u5c06\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u548c\u7ba1\u7406\u96c6\u7fa4\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u96c6\u7fa4\uff0c\u9002\u7528\u4e8e\u4f01\u4e1a\u591a\u6570\u636e\u4e2d\u5fc3\u3001\u591a\u67b6\u6784\u7684\u573a\u666f\u3002
          • \u7b80\u7ea6\u6a21\u5f0f\u5c06\u7ba1\u7406\u96c6\u7fa4\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u90e8\u7f72\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u3002
          \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"kpanda/user-guide/clusters/cluster-role.html#_4","title":"\u5de5\u4f5c\u96c6\u7fa4","text":"

          \u8fd9\u662f\u4f7f\u7528\u5bb9\u5668\u7ba1\u7406\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e3b\u8981\u7528\u4e8e\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002\u8be5\u96c6\u7fa4\u7531\u7ba1\u7406\u96c6\u7fa4\u8fdb\u884c\u7ba1\u7406\u3002

          \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c \u652f\u6301 K8s 1.22 \u53ca\u4ee5\u4e0a\u7248\u672c \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"kpanda/user-guide/clusters/cluster-role.html#_5","title":"\u63a5\u5165\u96c6\u7fa4","text":"

          \u6b64\u96c6\u7fa4\u7528\u4e8e\u63a5\u5165\u5df2\u6709\u7684\u6807\u51c6 K8s \u96c6\u7fa4\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u672c\u5730\u6570\u636e\u4e2d\u5fc3\u81ea\u5efa\u96c6\u7fa4\u3001\u516c\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u79c1\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u8fb9\u7f18\u96c6\u7fa4\u3001\u4fe1\u521b\u96c6\u7fa4\u3001\u5f02\u6784\u96c6\u7fa4\u3001Daocloud \u4e0d\u540c\u53d1\u884c\u7248\u96c6\u7fa4\u3002 \u4e3b\u8981\u7528\u4e8e\u627f\u62c5\u4e1a\u52a1\u8d1f\u8f7d\u3002

          \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.18+ \u652f\u6301\u53cb\u5546 Vmware Tanzu\u3001Amazon EKS\u3001Redhat Openshift\u3001SUSE Rancher\u3001\u963f\u91cc ACK\u3001\u534e\u4e3a CCE\u3001\u817e\u8baf TKE\u3001\u6807\u51c6 K8s \u96c6\u7fa4\u3001Daocloud DCE \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u4e0d\u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc \u4f9d\u8d56\u4e8e\u63a5\u5165\u96c6\u7fa4\u53d1\u884c\u7248\u7f51\u7edc\u6a21\u5f0f \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565

          Note

          \u4e00\u4e2a\u96c6\u7fa4\u53ef\u4ee5\u6709\u591a\u4e2a\u96c6\u7fa4\u89d2\u8272\uff0c\u4f8b\u5982\u4e00\u4e2a\u96c6\u7fa4\u65e2\u53ef\u4ee5\u662f\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\uff0c\u4e5f\u53ef\u4ee5\u662f\u7ba1\u7406\u96c6\u7fa4\u6216\u5de5\u4f5c\u96c6\u7fa4\u3002

          "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html","title":"\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668 scheduler-plugins","text":"

          \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u4e2a\u8c03\u5ea6\u5668 scheduler-plugins\u3002

          "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#scheduler-plugins_1","title":"\u4e3a\u4ec0\u4e48\u9700\u8981 scheduler-plugins\uff1f","text":"

          \u901a\u8fc7\u5e73\u53f0\u521b\u5efa\u7684\u96c6\u7fa4\u4e2d\u4f1a\u5b89\u88c5 K8s \u539f\u751f\u7684\u8c03\u5ea6\u5668\uff0c\u4f46\u662f\u539f\u751f\u7684\u8c03\u5ea6\u5668\u5b58\u5728\u5f88\u591a\u7684\u5c40\u9650\u6027\uff1a

          • \u539f\u751f\u7684\u8c03\u5ea6\u5668\u65e0\u6cd5\u6ee1\u8db3\u8c03\u5ea6\u9700\u6c42\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528 CoScheduling\u3001 CapacityScheduling \u7b49 scheduler-plugins \u63d2\u4ef6\u3002
          • \u5728\u7279\u6b8a\u7684\u573a\u666f\uff0c\u9700\u8981\u65b0\u7684\u8c03\u5ea6\u5668\u6765\u5b8c\u6210\u8c03\u5ea6\u4efb\u52a1\u800c\u4e0d\u5f71\u54cd\u539f\u751f\u8c03\u5ea6\u5668\u7684\u6d41\u7a0b\u3002
          • \u533a\u5206\u4e0d\u540c\u529f\u80fd\u7684\u8c03\u5ea6\u5668\uff0c\u901a\u8fc7\u5207\u6362\u8c03\u5ea6\u5668\u540d\u79f0\u6765\u5b9e\u73b0\u4e0d\u540c\u7684\u8c03\u5ea6\u573a\u666f\u3002

          \u672c\u6587\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u7684\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u5e76\u4f7f\u7528 scheduler-plugins\u3002

          "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#scheduler-plugins_2","title":"\u5b89\u88c5 scheduler-plugins","text":""},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
          • kubean \u662f\u5728 v0.13.0 \u7248\u672c\u63a8\u51fa\u7684\u65b0\u529f\u80fd\uff0c\u9009\u62e9\u7ba1\u7406\u96c6\u7fa4\u65f6\u8bf7\u786e\u4fdd\u7248\u672c\u4e0d\u4f4e\u4e8e\u6b64\u7248\u672c\u3002
          • \u5b89\u88c5 scheduler-plugins \u7248\u672c\u4e3a v0.27.8\uff0c\u8bf7\u786e\u4fdd\u96c6\u7fa4\u7248\u672c\u662f\u5426\u4e0e\u5b83\u517c\u5bb9\u3002 \u53c2\u8003\u6587\u6863 Compatibility Matrix\u3002
          "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#_2","title":"\u5b89\u88c5\u6d41\u7a0b","text":"
          1. \u5728 \u521b\u5efa\u96c6\u7fa4 -> \u9ad8\u7ea7\u914d\u7f6e -> \u81ea\u5b9a\u4e49\u53c2\u6570 \u4e2d\u6dfb\u52a0 scheduler-plugins \u53c2\u6570

            scheduler_plugins_enabled:true\nscheduler_plugins_plugin_config:\n  - name: Coscheduling\n    args:\n      permitWaitingTimeSeconds: 10 # default is 60\n

            \u53c2\u6570\u8bf4\u660e\uff1a

            • scheduler_plugins_enabled \u8bbe\u7f6e\u4e3a true \u65f6\uff0c\u5f00\u542f scheduler-plugins \u63d2\u4ef6\u80fd\u529b\u3002
            • \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e scheduler_plugins_enabled_plugins \u6216 scheduler_plugins_disabled_plugins \u9009\u9879\u6765\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u63d2\u4ef6\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u540d\u79f0\u3002
            • \u5982\u679c\u9700\u8981\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u63d2\u4ef6\u7684\u53c2\u6570\u8bf7\u914d\u7f6e scheduler_plugins_plugin_config\uff0c\u4f8b\u5982\uff1a\u8bbe\u7f6e coscheduling \u7684 permitWaitingTimeoutSeconds \u53c2\u6570\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u914d\u7f6e\u9879

          2. \u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5b89\u88c5 scheduler-plugins \u548c controller \u7ec4\u4ef6\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u96c6\u7fa4\u7684\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e2d\u67e5\u770b\u8d1f\u8f7d\u72b6\u6001\u3002

          "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#scheduler-plugins_3","title":"\u4f7f\u7528 scheduler-plugins","text":"

          \u4ee5\u4e0b\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 scheduler-plugins\u3002

          1. \u5728 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 vgpu\uff0c\u8bbe\u7f6e values.yaml \u53c2\u6570\u3002

            • schedulerName: scheduler-plugins-scheduler\uff0c\u8fd9\u662f kubean \u9ed8\u8ba4\u5b89\u88c5\u7684 scheduler-plugins \u7684 scheduler \u540d\u79f0\uff0c\u76ee\u524d\u4e0d\u80fd\u4fee\u6539\u3002
            • scheduler.kubeScheduler.enabled: false\uff0c\u4e0d\u5b89\u88c5 kube-scheduler\uff0c\u5c06 vgpu-scheduler \u4f5c\u4e3a\u5355\u72ec\u7684 extender\u3002

          2. \u5728 scheduler-plugins \u4e0a\u6269\u5c55 vgpu-scheduler\u3002

            [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
            apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\n

            \u4fee\u6539 scheduler-plugins \u7684 scheduler-config \u7684 configmap \u53c2\u6570\uff0c\u5982\u4e0b\uff1a

            [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
            apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\nextenders:\n  - urlPrefix: \"${urlPrefix}\"\n    filterVerb: filter\n    bindVerb: bind\n    nodeCacheCapable: true\n    ignorable: true\n    httpTimeout: 30s\n    weight: 1\n    enableHTTPS: true\n    tlsConfig:\n      insecure: true\n    managedResources:\n      - name: nvidia.com/vgpu\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem\n        ignoredByScheduler: true\n      - name: nvidia.com/gpucores\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem-percentage\n        ignoredByScheduler: true\n      - name: nvidia.com/priority\n        ignoredByScheduler: true\n      - name: cambricon.com/mlunum\n        ignoredByScheduler: true\n
          3. \u5b89\u88c5\u5b8c vgpu-scheduler \u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa svc\uff0curlPrefix \u6307\u5b9a svc \u7684 URL\u3002

            Note

            • svc \u6307 pod \u670d\u52a1\u8d1f\u8f7d\uff0c\u60a8\u53ef\u4ee5\u5230\u5b89\u88c5\u4e86 nvidia-vgpu \u63d2\u4ef6\u7684\u547d\u540d\u7a7a\u95f4\u4e0b\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u62ff\u5230 443 \u7aef\u53e3\u5bf9\u5e94\u7684\u5916\u90e8\u8bbf\u95ee\u4fe1\u606f\u3002

              kubectl get svc -n ${namespace} \n
            • urlprifix \u683c\u5f0f\u4e3a https://${ip \u5730\u5740}:${\u7aef\u53e3}

          4. \u5c06 scheduler-plugins \u7684 scheduler Pod \u91cd\u542f\uff0c\u52a0\u8f7d\u65b0\u7684\u914d\u7f6e\u6587\u4ef6\u3002

            Note

            \u5728\u521b\u5efa vgpu \u5e94\u7528\u65f6\u4e0d\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u540d\u79f0\uff0cvgpu-scheduler \u7684 Webhook \u4f1a\u81ea\u52a8\u5c06 Scheduler \u7684\u540d\u79f0\u4fee\u6539\u4e3a scheduler-plugins-scheduler\uff0c\u4e0d\u7528\u624b\u52a8\u6307\u5b9a\u3002

          "},{"location":"kpanda/user-guide/clusters/cluster-status.html","title":"\u96c6\u7fa4\u72b6\u6001","text":"

          \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u7eb3\u7ba1\u4e24\u79cd\u7c7b\u578b\u7684\u96c6\u7fa4\uff1a\u63a5\u5165\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u3002 \u5173\u4e8e\u96c6\u7fa4\u7eb3\u7ba1\u7c7b\u578b\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1\u96c6\u7fa4\u89d2\u8272\u3002

          \u8fd9\u4e24\u79cd\u96c6\u7fa4\u7684\u72b6\u6001\u5982\u4e0b\u6240\u8ff0\u3002

          "},{"location":"kpanda/user-guide/clusters/cluster-status.html#_2","title":"\u63a5\u5165\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u63a5\u5165\u4e2d\uff08Joining\uff09 \u96c6\u7fa4\u6b63\u5728\u63a5\u5165 \u89e3\u9664\u63a5\u5165\u4e2d\uff08Removing\uff09 \u96c6\u7fa4\u6b63\u5728\u89e3\u9664\u63a5\u5165 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002"},{"location":"kpanda/user-guide/clusters/cluster-status.html#_3","title":"\u81ea\u5efa\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u521b\u5efa\u4e2d\uff08Creating\uff09 \u96c6\u7fa4\u6b63\u5728\u521b\u5efa \u66f4\u65b0\u4e2d\uff08Updating\uff09 \u66f4\u65b0\u96c6\u7fa4 Kubernetes \u7248\u672c \u5220\u9664\u4e2d\uff08Deleting\uff09 \u96c6\u7fa4\u6b63\u5728\u5220\u9664 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002 \u521b\u5efa\u5931\u8d25\uff08Failed\uff09 \u96c6\u7fa4\u521b\u5efa\u5931\u8d25\uff0c\u8bf7\u67e5\u770b\u65e5\u5fd7\u4ee5\u83b7\u53d6\u8be6\u7ec6\u5931\u8d25\u539f\u56e0"},{"location":"kpanda/user-guide/clusters/cluster-version.html","title":"\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4","text":"

          \u5728 DCE 5.0 \u5e73\u53f0\u4e2d\uff0c\u63a5\u5165\u578b\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u91c7\u53d6\u4e0d\u540c\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

          \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u81ea\u5efa\u96c6\u7fa4\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

          Kubernetes \u793e\u533a\u652f\u6301 3 \u4e2a\u7248\u672c\u8303\u56f4\uff0c\u5982 1.26\u30011.27\u30011.28\u3002\u5f53\u793e\u533a\u65b0\u7248\u672c\u53d1\u5e03\u4e4b\u540e\uff0c\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u5c06\u4f1a\u8fdb\u884c\u9012\u589e\u3002 \u5982\u793e\u533a\u6700\u65b0\u7684 1.29 \u7248\u672c\u5df2\u7ecf\u53d1\u5e03\uff0c\u6b64\u65f6\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.27\u30011.28\u30011.29\u3002

          \u4e3a\u4e86\u4fdd\u969c\u96c6\u7fa4\u7684\u5b89\u5168\u548c\u7a33\u5b9a\u6027\uff0c\u5728 DCE 5.0 \u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u96c6\u7fa4\u65f6\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u5c06\u59cb\u7ec8\u6bd4\u793e\u533a\u7248\u672c \u4f4e\u4e00\u4e2a\u7248\u672c\u3002

          \u4f8b\u5982\uff0c\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.25\u30011.26\u30011.27\uff0c\u5219\u5728 DCE 5.0 \u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u662f 1.24\u30011.25\u30011.26\uff0c\u5e76\u4e14\u4f1a\u4e3a\u7528\u6237\u63a8\u8350\u4e00\u4e2a\u7a33\u5b9a\u7684\u7248\u672c\uff0c\u5982 1.24.7\u3002

          \u9664\u6b64\u4e4b\u5916\uff0c DCE 5.0 \u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e0e\u793e\u533a\u4fdd\u6301\u9ad8\u5ea6\u540c\u6b65\uff0c\u5f53\u793e\u533a\u7248\u672c\u8fdb\u884c\u9012\u589e\u540e\uff0cDCE 5.0 \u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e5f\u4f1a\u540c\u6b65\u9012\u589e\u4e00\u4e2a\u7248\u672c\u3002

          "},{"location":"kpanda/user-guide/clusters/cluster-version.html#kubernetes","title":"Kubernetes \u7248\u672c\u652f\u6301\u8303\u56f4","text":"Kubernetes \u793e\u533a\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u63a8\u8350\u7248\u672c DCE 5.0 \u5b89\u88c5\u5668 \u53d1\u5e03\u65f6\u95f4
          • 1.26
          • 1.27
          • 1.28
          • 1.25
          • 1.26
          • 1.27
          1.27.5 v0.13.0 2023.11.30"},{"location":"kpanda/user-guide/clusters/create-cluster.html","title":"\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4","text":"

          \u5728 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u96c6\u7fa4\u89d2\u8272\u5206\u56db\u7c7b\uff1a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3001\u7ba1\u7406\u96c6\u7fa4\u3001\u5de5\u4f5c\u96c6\u7fa4\u3001\u63a5\u5165\u96c6\u7fa4\u3002 \u5176\u4e2d\uff0c\u63a5\u5165\u96c6\u7fa4\u53ea\u80fd\u4ece\u7b2c\u4e09\u65b9\u5382\u5546\u63a5\u5165\uff0c\u53c2\u89c1\u63a5\u5165\u96c6\u7fa4\u3002

          \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u65b0\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u9700\u8981\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4fdd\u6301\u4e00\u81f4\u3002 \u5982\u9700\u4f7f\u7528\u533a\u522b\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 OS \u6216\u67b6\u6784\u7684\u8282\u70b9\u521b\u5efa\u96c6\u7fa4\uff0c\u53c2\u9605\u5728 centos \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa ubuntu \u5de5\u4f5c\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

          \u63a8\u8350\u4f7f\u7528 DCE 5.0 \u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf\u6765\u521b\u5efa\u96c6\u7fa4\u3002 \u5982\u60a8\u672c\u5730\u8282\u70b9\u4e0d\u5728\u4e0a\u8ff0\u652f\u6301\u8303\u56f4\uff0c\u53ef\u53c2\u8003\u5728\u975e\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u521b\u5efa\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

          "},{"location":"kpanda/user-guide/clusters/create-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

          \u521b\u5efa\u96c6\u7fa4\u4e4b\u524d\u9700\u8981\u6ee1\u8db3\u4e00\u5b9a\u7684\u524d\u63d0\u6761\u4ef6\uff1a

          • \u6839\u636e\u4e1a\u52a1\u9700\u6c42\u51c6\u5907\u4e00\u5b9a\u6570\u91cf\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u4e00\u81f4\u3002
          • \u63a8\u8350 Kubernetes \u7248\u672c 1.29.5\uff0c\u5177\u4f53\u7248\u672c\u8303\u56f4\uff0c\u53c2\u9605 DCE 5.0 \u96c6\u7fa4\u7248\u672c\u652f\u6301\u4f53\u7cfb\uff0c \u76ee\u524d\u6700\u65b0\u7248 DCE5.0 \u652f\u6301\u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4\u5728 v1.28.0-v1.30.2\u3002\u5982\u9700\u521b\u5efa\u4f4e\u7248\u672c\u7684\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4\u3001\u90e8\u7f72\u4e0e\u5347\u7ea7 Kubean \u5411\u4e0b\u517c\u5bb9\u7248\u672c\u3002
          • \u76ee\u6807\u4e3b\u673a\u9700\u8981\u5141\u8bb8 IPv4 \u8f6c\u53d1\u3002\u5982\u679c Pod \u548c Service \u4f7f\u7528\u7684\u662f IPv6\uff0c\u5219\u76ee\u6807\u670d\u52a1\u5668\u9700\u8981\u5141\u8bb8 IPv6 \u8f6c\u53d1\u3002
          • DCE \u6682\u4e0d\u63d0\u4f9b\u5bf9\u9632\u706b\u5899\u7684\u7ba1\u7406\u529f\u80fd\uff0c\u60a8\u9700\u8981\u9884\u5148\u81ea\u884c\u5b9a\u4e49\u76ee\u6807\u4e3b\u673a\u9632\u706b\u5899\u89c4\u5219\u3002\u4e3a\u4e86\u907f\u514d\u521b\u5efa\u96c6\u7fa4\u7684\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u95ee\u9898\uff0c\u5efa\u8bae\u7981\u7528\u76ee\u6807\u4e3b\u673a\u7684\u9632\u706b\u5899\u3002
          • \u53c2\u9605\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5\u3002
          "},{"location":"kpanda/user-guide/clusters/create-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u4e2d\uff0c\u70b9\u51fb \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae\u3002

          2. \u53c2\u8003\u4e0b\u5217\u8981\u6c42\u586b\u5199\u96c6\u7fa4\u57fa\u672c\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

            • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u53ea\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08\"-\"\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u8005\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
            • \u88ab\u7eb3\u7ba1\uff1a\u9009\u62e9\u7531\u54ea\u4e2a\u96c6\u7fa4\u6765\u7ba1\u7406\u6b64\u96c6\u7fa4\uff0c\u4f8b\u5982\u5728\u96c6\u7fa4\u751f\u547d\u5468\u671f\u4e2d\u521b\u5efa\u3001\u5347\u7ea7\u3001\u8282\u70b9\u6269\u7f29\u5bb9\u3001\u5220\u9664\u96c6\u7fa4\u7b49\u3002
            • \u8fd0\u884c\u65f6\uff1a\u9009\u62e9\u96c6\u7fa4\u7684\u8fd0\u884c\u65f6\u73af\u5883\uff0c\u76ee\u524d\u652f\u6301 containerd \u548c docker\uff0c\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6\u3002
            • Kubernetes \u7248\u672c\uff1a\u652f\u6301 3 \u4e2a\u7248\u672c\u8de8\u5ea6\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u88ab\u7eb3\u7ba1\u96c6\u7fa4\u6240\u652f\u6301\u7684\u7248\u672c\u3002

          3. \u586b\u5199\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

            • \u9ad8\u53ef\u7528\uff1a\u5f00\u542f\u540e\u9700\u8981\u63d0\u4f9b\u81f3\u5c11 3 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u3002\u5173\u95ed\u540e\uff0c\u53ea\u63d0\u4f9b 1 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u5373\u53ef\u3002

              \u751f\u4ea7\u73af\u5883\u4e2d\u5efa\u8bae\u4f7f\u7528\u9ad8\u53ef\u7528\u6a21\u5f0f\u3002

            • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u9009\u62e9\u901a\u8fc7\u7528\u6237\u540d/\u5bc6\u7801\u8fd8\u662f\u516c\u79c1\u94a5\u8bbf\u95ee\u8282\u70b9\u3002

              \u5982\u679c\u4f7f\u7528\u516c\u79c1\u94a5\u65b9\u5f0f\u8bbf\u95ee\u8282\u70b9\uff0c\u9700\u8981\u9884\u5148\u914d\u7f6e\u8282\u70b9\u7684 SSH \u5bc6\u94a5\u3002\u53c2\u9605\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9\u3002

            • \u4f7f\u7528\u7edf\u4e00\u7684\u5bc6\u7801\uff1a\u5f00\u542f\u540e\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u7684\u8bbf\u95ee\u5bc6\u7801\u90fd\u76f8\u540c\uff0c\u9700\u8981\u5728\u4e0b\u65b9\u8f93\u5165\u8bbf\u95ee\u6240\u6709\u8282\u70b9\u7684\u7edf\u4e00\u5bc6\u7801\u3002\u5982\u679c\u5173\u95ed\uff0c\u5219\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u8282\u70b9\u8bbe\u7f6e\u5355\u72ec\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002

            • \u8282\u70b9\u4fe1\u606f\uff1a\u586b\u5199\u8282\u70b9\u540d\u79f0\u548c IP \u5730\u5740\u3002

            • \u81ea\u5b9a\u4e49\u53c2\u6570\uff1a\u8bbe\u7f6e\u53d8\u91cf\u63a7\u5236 Ansible \u4e0e\u8fdc\u7a0b\u4e3b\u673a\u4ea4\u4e92\u3002\u53ef\u8bbe\u7f6e\u53d8\u91cf\u53c2\u8003\u8fde\u63a5\u5230\u4e3b\u673a\uff1a\u884c\u4e3a\u6e05\u5355\u53c2\u6570
            • NTP \u65f6\u95f4\u540c\u6b65\uff1a\u5f00\u542f\u540e\u4f1a\u81ea\u52a8\u540c\u6b65\u5404\u4e2a\u8282\u70b9\u4e0a\u7684\u65f6\u95f4\uff0c\u9700\u8981\u63d0\u4f9b NTP \u670d\u52a1\u5668\u5730\u5740\u3002

          4. \u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb\u8282\u70b9\u68c0\u67e5\u3002\u5982\u679c\u68c0\u67e5\u901a\u8fc7\u5219\u7ee7\u7eed\u4e0b\u4e00\u6b65\u64cd\u4f5c\u3002\u5982\u679c\u68c0\u67e5\u672a\u901a\u8fc7\uff0c\u5219\u66f4\u65b0 \u8282\u70b9\u4fe1\u606f \u5e76\u518d\u6b21\u6267\u884c\u68c0\u67e5\u3002

          5. \u586b\u5199\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

            • \u7f51\u7edc\u63d2\u4ef6\uff1a\u8d1f\u8d23\u4e3a\u96c6\u7fa4\u5185\u7684 Pod \u63d0\u4f9b\u7f51\u7edc\u670d\u52a1\uff0c\u521b\u5efa\u96c6\u7fa4\u540e\u4e0d\u53ef\u66f4\u6539\u7f51\u7edc\u63d2\u4ef6\u3002\u652f\u6301 cilium \u548c calico\u3002\u9009\u62e9 none \u8868\u793a\u6682\u4e0d\u5b89\u88c5\u7f51\u7edc\u63d2\u4ef6\u3002

              \u6709\u5173\u7f51\u7edc\u63d2\u4ef6\u7684\u53c2\u6570\u914d\u7f6e\uff0c\u53ef\u53c2\u8003 cilium \u5b89\u88c5\u53c2\u6570\u914d\u7f6e\u6216 calico \u5b89\u88c5\u53c2\u6570\u914d\u7f6e\u3002

            • \u5bb9\u5668\u7f51\u6bb5\uff1a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4f7f\u7528\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u7684\u6570\u91cf\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

            • \u670d\u52a1\u7f51\u6bb5\uff1a\u540c\u4e00\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4e92\u76f8\u8bbf\u95ee\u65f6\u4f7f\u7528\u7684 Service \u8d44\u6e90\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a Service \u8d44\u6e90\u7684\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

          6. \u586b\u5199\u63d2\u4ef6\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

          7. \u586b\u5199\u9ad8\u7ea7\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

            • kubelet_max_pods \uff1a\u8bbe\u7f6e\u6bcf\u4e2a\u8282\u70b9\u7684\u6700\u5927 Pod \u6570\u91cf\uff0c\u9ed8\u8ba4\u4e3a 110 \u4e2a\u3002
            • hostname_overide \uff1a\u91cd\u7f6e\u4e3b\u673a\u540d\uff0c\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u503c\uff0c\u91c7\u7528\u7cfb\u7edf\u9ed8\u8ba4\u751f\u6210\u7684\u540d\u79f0\u4f5c\u4e3a\u4e3b\u673a\u540d\u79f0\u3002
            • kubernetes_audit \uff1aKubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
            • auto_renew_certificate \uff1a\u5728\u6bcf\u6708\u7b2c\u4e00\u4e2a\u661f\u671f\u4e00\u81ea\u52a8\u66f4\u65b0 Kubernetes \u63a7\u5236\u5e73\u9762\u8bc1\u4e66\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
            • disable_firewalld&ufw \uff1a\u7981\u7528\u9632\u706b\u5899\uff0c\u907f\u514d\u8282\u70b9\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u8bbf\u95ee\u3002
            • Insecure_registries \uff1a\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u914d\u7f6e\u3002\u4f7f\u7528\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u521b\u5efa\u96c6\u7fa4\u65f6\uff0c\u4e3a\u4e86\u907f\u514d\u8bc1\u4e66\u95ee\u9898\u5bfc\u81f4\u5bb9\u5668\u5f15\u64ce\u62d2\u7edd\u8bbf\u95ee\uff0c\u9700\u8981\u5728\u8fd9\u91cc\u586b\u5199\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u5730\u5740\uff0c\u4ee5\u7ed5\u8fc7\u5bb9\u5668\u5f15\u64ce\u7684\u8bc1\u4e66\u8ba4\u8bc1\u800c\u83b7\u53d6\u955c\u50cf\u3002
            • yum_repos \uff1a\u586b\u5199 Yum \u6e90\u4ed3\u5e93\u5730\u5740\u3002\u79bb\u7ebf\u73af\u5883\u4e0b\uff0c\u9ed8\u8ba4\u7ed9\u51fa\u7684\u5730\u5740\u9009\u9879\u4ec5\u4f9b\u53c2\u8003\uff0c\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u586b\u5199\u3002

          Success

          • \u586b\u5199\u6b63\u786e\u4fe1\u606f\u5e76\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u9875\u9762\u4f1a\u63d0\u793a\u96c6\u7fa4\u6b63\u5728\u521b\u5efa\u4e2d\u3002
          • \u521b\u5efa\u96c6\u7fa4\u8017\u65f6\u8f83\u957f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u5f85\u3002\u5176\u95f4\uff0c\u53ef\u4ee5\u70b9\u51fb \u8fd4\u56de\u96c6\u7fa4\u5217\u8868 \u6309\u94ae\u8ba9\u5b89\u88c5\u8fc7\u7a0b\u540e\u53f0\u8fd0\u884c\u3002
          • \u5982\u9700\u67e5\u770b\u5f53\u524d\u72b6\u6001\uff0c\u53ef\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u3002

          Note

          • \u5f53\u96c6\u7fa4\u51fa\u73b0\u672a\u77e5\u72b6\u6001\u65f6\uff0c\u8868\u793a\u5f53\u524d\u96c6\u7fa4\u5df2\u5931\u8054\u3002
          • \u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\u3002
          • \u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002

          "},{"location":"kpanda/user-guide/clusters/create-cluster.html#_4","title":"\u53c2\u8003\u6587\u6863","text":"
          • \u5728 CentOS \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa Ubuntu \u5de5\u4f5c\u96c6\u7fa4
          • \u5728 CentOS \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa RedHat 9.2 \u5de5\u4f5c\u96c6\u7fa4
          • \u5728\u975e\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u521b\u5efa\u96c6\u7fa4
          "},{"location":"kpanda/user-guide/clusters/delete-cluster.html","title":"\u5378\u8f7d/\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

          \u901a\u8fc7 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0 \u521b\u5efa\u7684\u96c6\u7fa4 \u652f\u6301 \u5378\u8f7d\u96c6\u7fa4 \u6216 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\uff0c\u4ece\u5176\u4ed6\u73af\u5883\u76f4\u63a5 \u63a5\u5165\u7684\u96c6\u7fa4 \u4ec5\u652f\u6301 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u3002

          Info

          \u5982\u679c\u60f3\u5f7b\u5e95\u5220\u9664\u4e00\u4e2a\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u9700\u8981\u524d\u5f80\u521b\u5efa\u8be5\u96c6\u7fa4\u7684\u539f\u59cb\u5e73\u53f0\u64cd\u4f5c\u3002DCE 5.0 \u4e0d\u652f\u6301\u5220\u9664\u63a5\u5165\u7684\u96c6\u7fa4\u3002

          \u5728 DCE 5.0 \u5e73\u53f0\u4e2d\uff0c \u5378\u8f7d\u96c6\u7fa4 \u548c \u89e3\u9664\u63a5\u5165 \u7684\u533a\u522b\u5728\u4e8e\uff1a

          • \u5378\u8f7d\u96c6\u7fa4 \u64cd\u4f5c\u4f1a\u9500\u6bc1\u8be5\u96c6\u7fa4\uff0c\u5e76\u91cd\u7f6e\u96c6\u7fa4\u4e0b\u6240\u6709\u8282\u70b9\u7684\u6570\u636e\u3002\u6240\u6709\u6570\u636e\u90fd\u5c06\u88ab\u9500\u6bc1\uff0c\u5efa\u8bae\u505a\u597d\u5907\u4efd\u3002\u540e\u671f\u9700\u8981\u65f6\u5fc5\u987b\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u96c6\u7fa4\u3002
          • \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u4f1a\u5c06\u5f53\u524d\u96c6\u7fa4\u4ece\u5e73\u53f0\u4e2d\u79fb\u9664\uff0c\u4e0d\u4f1a\u6467\u6bc1\u96c6\u7fa4\uff0c\u4e5f\u4e0d\u4f1a\u9500\u6bc1\u6570\u636e\u3002
          "},{"location":"kpanda/user-guide/clusters/delete-cluster.html#_2","title":"\u5378\u8f7d\u96c6\u7fa4","text":"

          Note

          • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u5378\u8f7d\u96c6\u7fa4\u7684\u64cd\u4f5c\u3002
          • \u5378\u8f7d\u96c6\u7fa4\u4e4b\u524d\uff0c\u5e94\u8be5\u5148\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u5728 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \u4e2d\u5173\u95ed \u96c6\u7fa4\u5220\u9664\u4fdd\u62a4 \uff0c \u5426\u5219\u4e0d\u663e\u793a \u5378\u8f7d\u96c6\u7fa4 \u7684\u9009\u9879\u3002
          • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u5378\u8f7d\u6216\u79fb\u9664\u64cd\u4f5c\u3002
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u5378\u8f7d\u96c6\u7fa4 \u3002

          2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u3002

            \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u6267\u884c\u5378\u8f7d\u64cd\u4f5c\u3002

          3. \u8fd4\u56de \u96c6\u7fa4\u5217\u8868 \u9875\u53ef\u4ee5\u770b\u5230\u8be5\u96c6\u7fa4\u7684\u72b6\u6001\u5df2\u7ecf\u53d8\u6210 \u5220\u9664\u4e2d \u3002\u5378\u8f7d\u96c6\u7fa4\u53ef\u80fd\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5019\u3002

          "},{"location":"kpanda/user-guide/clusters/delete-cluster.html#_3","title":"\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

          Note

          • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u89e3\u9664\u63a5\u5165\u7684\u64cd\u4f5c\u3002
          • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u89e3\u9664\u63a5\u5165\u3002
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

          2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

            \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u89e3\u9664\u63a5\u5165\u3002

          "},{"location":"kpanda/user-guide/clusters/delete-cluster.html#_4","title":"\u6e05\u7406\u89e3\u9664\u63a5\u5165\u96c6\u7fa4\u914d\u7f6e\u6570\u636e","text":"

          \u96c6\u7fa4\u88ab\u79fb\u9664\u540e\uff0c\u96c6\u7fa4\u4e2d\u539f\u6709\u7684\u7ba1\u7406\u5e73\u53f0\u6570\u636e\u4e0d\u4f1a\u88ab\u81ea\u52a8\u6e05\u9664\uff0c\u5982\u9700\u5c06\u96c6\u7fa4\u63a5\u5165\u81f3\u65b0\u7ba1\u7406\u5e73\u53f0\u5219\u9700\u8981\u624b\u52a8\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

          1. \u5220\u9664 kpanda-system\u3001insight-system \u547d\u540d\u7a7a\u95f4

            kubectl delete ns kpanda-system insight-system\n
          2. \u5982\u679c\u4e3a\u5f53\u524d\u96c6\u7fa4\u542f\u7528\u4e86\u670d\u52a1\u7f51\u683c\u80fd\u529b\uff0c\u8bf7\u53c2\u8003\u5220\u9664\u7f51\u683c\u6587\u6863\u5220\u9664\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u7f51\u683c\u5b9e\u4f8b\u3002

          "},{"location":"kpanda/user-guide/clusters/integrate-cluster.html","title":"\u63a5\u5165\u96c6\u7fa4","text":"

          \u901a\u8fc7\u63a5\u5165\u96c6\u7fa4\u64cd\u4f5c\uff0c\u80fd\u591f\u5bf9\u4f17\u591a\u4e91\u670d\u52a1\u5e73\u53f0\u96c6\u7fa4\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u7eb3\u7ba1\uff0c\u5f62\u6210\u7edf\u4e00\u6cbb\u7406\u5e73\u53f0\uff0c\u6709\u6548\u907f\u514d\u4e86\u88ab\u5382\u5546\u9501\u5b9a\u98ce\u9669\uff0c\u52a9\u529b\u4f01\u4e1a\u4e1a\u52a1\u5b89\u5168\u4e0a\u4e91\u3002

          \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u63a5\u5165\u591a\u79cd\u4e3b\u6d41\u7684\u5bb9\u5668\u96c6\u7fa4\uff0c\u4f8b\u5982 DaoCloud KubeSpray, DaoCloud ClusterAPI, DaoCloud Enterprise 4.0\u3001Redhat Openshift, SUSE Rancher, VMware Tanzu, Amazon EKS, Aliyun ACK, Huawei CCE, Tencent TKE,\u6807\u51c6 Kubernetes \u96c6\u7fa4\u3002

          "},{"location":"kpanda/user-guide/clusters/integrate-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u51c6\u5907\u4e00\u4e2a\u5f85\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\uff0c\u5e76\u4e14\u96c6\u7fa4\u7684 Kubernetes \u7248\u672c 1.22+\u3002
          • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
          "},{"location":"kpanda/user-guide/clusters/integrate-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u63a5\u5165\u96c6\u7fa4 \u6309\u94ae\u3002

          2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

            • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u5e94\u5177\u6709\u552f\u4e00\u6027\uff0c\u8bbe\u7f6e\u540e\u4e0d\u53ef\u66f4\u6539\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26(\"-\")\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002
            • \u96c6\u7fa4\u522b\u540d\uff1a\u53ef\u8f93\u5165\u4efb\u610f\u5b57\u7b26\uff0c\u4e0d\u8d85\u8fc7 60 \u4e2a\u5b57\u7b26\u3002
            • \u53d1\u884c\u7248\uff1a\u96c6\u7fa4\u7684\u53d1\u884c\u5382\u5546\uff0c\u5305\u62ec\u5e02\u573a\u4e3b\u6d41\u4e91\u5382\u5546\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u3002
          3. \u586b\u5199\u76ee\u6807\u96c6\u7fa4\u7684 KubeConfig\uff0c\u70b9\u51fb \u9a8c\u8bc1 Config \uff0c\u9a8c\u8bc1\u901a\u8fc7\u540e\u624d\u80fd\u6210\u529f\u63a5\u5165\u96c6\u7fa4\u3002

            \u5982\u679c\u4e0d\u77e5\u9053\u5982\u4f55\u83b7\u53d6\u96c6\u7fa4\u7684 KubeConfig \u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u53f3\u4e0a\u89d2\u70b9\u51fb \u5982\u4f55\u83b7\u53d6 kubeConfig \u67e5\u770b\u5bf9\u5e94\u6b65\u9aa4\u3002

          4. \u786e\u8ba4\u6240\u6709\u53c2\u6570\u586b\u5199\u6b63\u786e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

          Note

          • \u65b0\u63a5\u5165\u7684\u96c6\u7fa4\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u63a5\u5165\u6210\u529f\u540e\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002
          • \u5982\u679c\u96c6\u7fa4\u72b6\u6001\u4e00\u76f4\u5904\u4e8e \u63a5\u5165\u4e2d \uff0c\u8bf7\u786e\u8ba4\u63a5\u5165\u811a\u672c\u662f\u5426\u5728\u5bf9\u5e94\u96c6\u7fa4\u4e0a\u6267\u884c\u6210\u529f\u3002\u6709\u5173\u96c6\u7fa4\u72b6\u6001\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u72b6\u6001\u3002
          "},{"location":"kpanda/user-guide/clusters/integrate-cluster.html#_4","title":"\u53c2\u8003\u6587\u6863","text":"
          • \u4e3a\u5de5\u4f5c\u96c6\u7fa4\u6dfb\u52a0\u5f02\u6784\u8282\u70b9
          • DCE 4.0 -> DCE 5.0 \u6709\u9650\u573a\u666f\u8fc1\u79fb
          "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html","title":"\u63a5\u5165 rancher \u96c6\u7fa4","text":"

          \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u63a5\u5165 rancher \u96c6\u7fa4\u3002

          "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u51c6\u5907\u4e00\u4e2a\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u5f85\u63a5\u5165 ranhcer \u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\u3002
          • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
          "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#rancher-serviceaccount","title":"\u6b65\u9aa4\u4e00\uff1a\u5728 rancher \u96c6\u7fa4\u521b\u5efa\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684 ServiceAccount \u7528\u6237","text":"
          1. \u4f7f\u7528\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u89d2\u8272\u8fdb\u5165 rancher \u96c6\u7fa4\uff0c\u5e76\u4f7f\u7528\u7ec8\u7aef\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a sa.yaml \u7684\u6587\u4ef6\u3002

            vi sa.yaml\n

            \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

            sa.yaml
            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: rancher-rke\nrules:\n  - apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n  - nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: rancher-rke\nroleRef:\n    apiGroup: rbac.authorization.k8s.io\n    kind: ClusterRole\n    name: rancher-rke\n  subjects:\n  - kind: ServiceAccount\n    name: rancher-rke\n    namespace: kube-system\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: rancher-rke\n  namespace: kube-system\n

            \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

          2. \u5728\u5f53\u524d\u8def\u5f84\u4e0b\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u65b0\u5efa\u540d\u4e3a rancher-rke \u7684 ServiceAccount\uff08\u4ee5\u4e0b\u7b80\u79f0\u4e3a SA \uff09\uff1a

            kubectl apply -f sa.yaml\n

            \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

            clusterrole.rbac.authorization.k8s.io/rancher-rke created\nclusterrolebinding.rbac.authorization.k8s.io/rancher-rke created\nserviceaccount/rancher-rke created\n
          3. \u521b\u5efa\u540d\u4e3a rancher-rke-secret \u7684\u5bc6\u94a5\uff0c\u5e76\u5c06\u5bc6\u94a5\u548c rancher-rke SA \u7ed1\u5b9a\u3002

            kubectl apply -f - <<EOF\napiVersion: v1\nkind: Secret\nmetadata:\n  name: rancher-rke-secret\n  namespace: kube-system\n  annotations:\n    kubernetes.io/service-account.name: rancher-rke\n  type: kubernetes.io/service-account-token\nEOF\n

            \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

            secret/rancher-rke-secret created\n

            Note

            \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u7248\u672c\u4f4e\u4e8e 1.24\uff0c\u8bf7\u5ffd\u7565\u6b64\u6b65\u9aa4\uff0c\u76f4\u63a5\u524d\u5f80\u4e0b\u4e00\u6b65\u3002

          4. \u67e5\u627e rancher-rke SA \u7684\u5bc6\u94a5\uff1a

            kubectl -n kube-system get secret | grep rancher-rke | awk '{print $1}'\n

            \u9884\u671f\u8f93\u51fa\uff1a

            rancher-rke-secret\n

            \u67e5\u770b\u5bc6\u94a5 rancher-rke-secret \u7684\u8be6\u60c5\uff1a

            kubectl -n kube-system describe secret rancher-rke-secret\n

            \u9884\u671f\u8f93\u51fa\uff1a

            Name:         rancher-rke-secret\nNamespace:    kube-system\nLabels:       <none>\nAnnotations:  kubernetes.io/service-account.name: rancher-rke\n            kubernetes.io/service-account.uid: d83df5d9-bd7d-488d-a046-b740618a0174\n\nType:  kubernetes.io/service-account-token\n\nData\n====\nca.crt:     570 bytes\nnamespace:  11 bytes\ntoken:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
          "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#rancher-rke-sa-kubeconfig","title":"\u6b65\u9aa4\u4e8c\uff1a\u5728\u672c\u5730\u4f7f\u7528 rancher-rke SA \u7684\u8ba4\u8bc1\u4fe1\u606f\u66f4\u65b0 kubeconfig \u6587\u4ef6","text":"

          \u5728\u4efb\u610f\u4e00\u53f0\u5b89\u88c5\u4e86 kubelet \u7684\u672c\u5730\u8282\u70b9\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

          1. \u914d\u7f6e kubelet token\uff1a

            kubectl config set-credentials rancher-rke --token=`rancher-rke-secret` \u91cc\u9762\u7684 token \u4fe1\u606f\n

            \u4f8b\u5982\uff1a

            kubectl config set-credentials eks-admin --token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
          2. \u914d\u7f6e kubelet APIServer \u4fe1\u606f\uff1a

            kubectl config set-cluster {\u96c6\u7fa4\u540d} --insecure-skip-tls-verify=true --server={APIServer}\n
            • {\u96c6\u7fa4\u540d} \uff1a\u6307 rancher \u96c6\u7fa4\u7684\u540d\u79f0\u3002
            • {APIServer} \uff1a\u6307\u96c6\u7fa4\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u4e00\u822c\u4e3a\u96c6\u7fa4\u63a7\u5236\u8282\u70b9 IP + 6443 \u7aef\u53e3\uff0c\u5982 https://10.X.X.X:6443

            \u4f8b\u5982\uff1a

            kubectl config set-cluster rancher-rke --insecure-skip-tls-verify=true --server=https://10.X.X.X:6443\n
          3. \u914d\u7f6e kubelet \u4e0a\u4e0b\u6587\u4fe1\u606f\uff1a

            kubectl config set-context {\u4e0a\u4e0b\u6587\u540d\u79f0} --cluster={\u96c6\u7fa4\u540d} --user={SA \u7528\u6237\u540d}\n

            \u4f8b\u5982\uff1a

            kubectl config set-context rancher-rke-context --cluster=rancher-rke --user=rancher-rke\n
          4. \u5728 kubelet \u4e2d\u6307\u5b9a\u6211\u4eec\u521a\u521a\u65b0\u5efa\u7684\u4e0a\u4e0b\u6587 rancher-rke-context \uff1a

            kubectl config use-context rancher-rke-context\n
          5. \u83b7\u53d6\u4e0a\u4e0b\u6587 rancher-rke-context \u4e2d\u7684 kubeconfig \u4fe1\u606f\u3002

            kubectl config view --minify --flatten --raw\n

            \u9884\u671f\u8f93\u51fa\uff1a

            apiVersion: v1\n  clusters:\n  - cluster:\n    insecure-skip-tls-verify: true\n    server: https://77C321BCF072682C70C8665ED4BFA10D.gr7.ap-southeast-1.eks.amazonaws.com\n  name: joincluster\n  contexts:\n  - context:\n    cluster: joincluster\n    user: eks-admin\n  name: ekscontext\n  current-context: ekscontext\n  kind: Config\n  preferences: {}\n  users:\n  - name: eks-admin\n  user:\n    token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImcxTjJwNkktWm5IbmRJU1RFRExvdWY1TGFWVUtGQ3VIejFtNlFQcUNFalEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2V\n
          "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#dce","title":"\u6b65\u9aa4\u4e09\uff1a\u5728 DCE \u754c\u9762\u63a5\u5165\u96c6\u7fa4","text":"

          \u4f7f\u7528\u521a\u521a\u83b7\u53d6\u7684 kubeconfig \u6587\u4ef6\uff0c\u53c2\u8003\u63a5\u5165\u96c6\u7fa4\u6587\u6863\uff0c\u5c06 rancher \u96c6\u7fa4\u63a5\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3002

          "},{"location":"kpanda/user-guide/clusters/k8s-cert.html","title":"Kubernetes \u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0","text":"

          \u4e3a\u4fdd\u8bc1 Kubernetes \u5404\u7ec4\u4ef6\u4e4b\u95f4\u7684\u901a\u4fe1\u5b89\u5168\uff0c\u7ec4\u4ef6\u4e4b\u95f4\u7684\u8c03\u7528\u4f1a\u8fdb\u884c TLS \u8eab\u4efd\u9a8c\u8bc1\uff0c\u6267\u884c\u9a8c\u8bc1\u64cd\u4f5c\u9700\u8981\u914d\u7f6e\u96c6\u7fa4 PKI \u8bc1\u4e66\u3002

          \u96c6\u7fa4\u8bc1\u4e66\u6709\u6548\u671f\u4e3a1\u5e74\uff0c\u4e3a\u907f\u514d\u8bc1\u4e66\u8fc7\u671f\u5bfc\u81f4\u4e1a\u52a1\u65e0\u6cd5\u4f7f\u7528\uff0c\u8bf7\u53ca\u65f6\u66f4\u65b0\u8bc1\u4e66\u3002

          \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u8fdb\u884c\u8bc1\u4e66\u66f4\u65b0\u3002

          "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#_1","title":"\u68c0\u67e5\u8bc1\u4e66\u662f\u5426\u8fc7\u671f","text":"

          \u60a8\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\u662f\u5426\u8fc7\u671f\uff1a

          kubeadm certs check-expiration\n

          \u8f93\u51fa\u7c7b\u4f3c\u4e8e\u4ee5\u4e0b\u5185\u5bb9\uff1a

          CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED\nadmin.conf                 Dec 14, 2024 07:26 UTC   204d                                    no      \napiserver                  Dec 14, 2024 07:26 UTC   204d            ca                      no      \napiserver-etcd-client      Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \napiserver-kubelet-client   Dec 14, 2024 07:26 UTC   204d            ca                      no      \ncontroller-manager.conf    Dec 14, 2024 07:26 UTC   204d                                    no      \netcd-healthcheck-client    Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-peer                  Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-server                Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \nfront-proxy-client         Dec 14, 2024 07:26 UTC   204d            front-proxy-ca          no      \nscheduler.conf             Dec 14, 2024 07:26 UTC   204d                                    no      \n\nCERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED\nca                      Dec 12, 2033 07:26 UTC   9y              no      \netcd-ca                 Dec 12, 2033 07:26 UTC   9y              no      \nfront-proxy-ca          Dec 12, 2033 07:26 UTC   9y              no      \n
          "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#_2","title":"\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66\uff0c\u53ea\u9700\u5e26\u4e0a\u5408\u9002\u7684\u547d\u4ee4\u884c\u9009\u9879\u3002\u66f4\u65b0\u8bc1\u4e66\u524d\u8bf7\u5148\u5907\u4efd\u5f53\u524d\u8bc1\u4e66\u3002

          \u66f4\u65b0\u6307\u5b9a\u8bc1\u4e66\uff1a

          kubeadm certs renew\n

          \u66f4\u65b0\u5168\u90e8\u8bc1\u4e66\uff1a

          kubeadm certs renew all\n

          \u66f4\u65b0\u540e\u7684\u8bc1\u4e66\u53ef\u4ee5\u5728 /etc/kubernetes/pki \u76ee\u5f55\u4e0b\u67e5\u770b\uff0c\u6709\u6548\u671f\u5ef6\u7eed 1 \u5e74\u3002 \u4ee5\u4e0b\u5bf9\u5e94\u7684\u51e0\u4e2a\u914d\u7f6e\u6587\u4ef6\u4e5f\u4f1a\u540c\u6b65\u66f4\u65b0\uff1a

          • /etc/kubernetes/admin.conf
          • /etc/kubernetes/controller-manager.conf
          • /etc/kubernetes/scheduler.conf

          Note

          • \u5982\u679c\u60a8\u90e8\u7f72\u7684\u662f\u4e00\u4e2a\u9ad8\u53ef\u7528\u96c6\u7fa4\uff0c\u8fd9\u4e2a\u547d\u4ee4\u9700\u8981\u5728\u6240\u6709\u63a7\u5236\u8282\u70b9\u4e0a\u6267\u884c\u3002
          • \u6b64\u547d\u4ee4\u7528 CA\uff08\u6216\u8005 front-proxy-CA \uff09\u8bc1\u4e66\u548c\u5b58\u50a8\u5728 /etc/kubernetes/pki \u4e2d\u7684\u5bc6\u94a5\u6267\u884c\u66f4\u65b0\u3002
          "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#_3","title":"\u91cd\u542f\u670d\u52a1","text":"

          \u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u4e4b\u540e\uff0c\u4f60\u9700\u8981\u91cd\u542f\u63a7\u5236\u9762 Pod\u3002\u56e0\u4e3a\u52a8\u6001\u8bc1\u4e66\u91cd\u8f7d\u76ee\u524d\u8fd8\u4e0d\u88ab\u6240\u6709\u7ec4\u4ef6\u548c\u8bc1\u4e66\u652f\u6301\uff0c\u6240\u6709\u8fd9\u9879\u64cd\u4f5c\u662f\u5fc5\u987b\u7684\u3002

          \u9759\u6001 Pod \u662f\u88ab\u672c\u5730 kubelet \u800c\u4e0d\u662f API \u670d\u52a1\u5668\u7ba1\u7406\uff0c\u6240\u4ee5 kubectl \u4e0d\u80fd\u7528\u6765\u5220\u9664\u6216\u91cd\u542f\u4ed6\u4eec\u3002

          \u8981\u91cd\u542f\u9759\u6001 Pod\uff0c\u4f60\u53ef\u4ee5\u4e34\u65f6\u5c06\u6e05\u5355\u6587\u4ef6\u4ece /etc/kubernetes/manifests/ \u79fb\u9664\u5e76\u7b49\u5f85 20 \u79d2\u3002 \u53c2\u8003 KubeletConfiguration \u7ed3\u6784\u4e2d\u7684 fileCheckFrequency \u503c\u3002

          \u5982\u679c Pod \u4e0d\u5728\u6e05\u5355\u76ee\u5f55\u91cc\uff0ckubelet \u5c06\u4f1a\u7ec8\u6b62\u5b83\u3002 \u5728\u53e6\u4e00\u4e2a fileCheckFrequency \u5468\u671f\u4e4b\u540e\u4f60\u53ef\u4ee5\u5c06\u6587\u4ef6\u79fb\u56de\u53bb\uff0ckubelet \u53ef\u4ee5\u5b8c\u6210 Pod \u7684\u91cd\u5efa\uff0c\u800c\u7ec4\u4ef6\u7684\u8bc1\u4e66\u66f4\u65b0\u64cd\u4f5c\u4e5f\u5f97\u4ee5\u5b8c\u6210\u3002

          mv ./manifests/* ./temp/\nmv ./temp/* ./manifests/\n

          Note

          \u5982\u679c\u5bb9\u5668\u670d\u52a1\u4f7f\u7528\u7684\u662f Docker\uff0c\u4e3a\u4e86\u8ba9\u8bc1\u4e66\u751f\u6548\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bf9\u6d89\u53ca\u5230\u8bc1\u4e66\u4f7f\u7528\u7684\u51e0\u4e2a\u670d\u52a1\u8fdb\u884c\u91cd\u542f\uff1a

          docker ps | grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' | xargs docker restart\n
          "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#kubeconfig","title":"\u66f4\u65b0 KubeConfig","text":"

          \u6784\u5efa\u96c6\u7fa4\u65f6\u901a\u5e38\u4f1a\u5c06 admin.conf \u8bc1\u4e66\u590d\u5236\u5230 $HOME/.kube/config \u4e2d\uff0c\u4e3a\u4e86\u5728\u66f4\u65b0 admin.conf \u540e\u66f4\u65b0 $HOME/.kube/config \u7684\u5185\u5bb9\uff0c \u5fc5\u987b\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

          sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n
          "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#kubelet","title":"\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362","text":"

          \u5b8c\u6210\u4ee5\u4e0a\u64cd\u4f5c\u540e\uff0c\u57fa\u672c\u5b8c\u6210\u4e86\u96c6\u7fa4\u6240\u6709\u8bc1\u4e66\u7684\u66f4\u65b0\uff0c\u4f46\u4e0d\u5305\u62ec kubelet\u3002

          \u56e0\u4e3a kubernetes \u5305\u542b\u7279\u6027 kubelet \u8bc1\u4e66\u8f6e\u6362\uff0c \u5728\u5f53\u524d\u8bc1\u4e66\u5373\u5c06\u8fc7\u671f\u65f6\uff0c \u5c06\u81ea\u52a8\u751f\u6210\u65b0\u7684\u79d8\u94a5\uff0c\u5e76\u4ece Kubernetes API \u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002 \u4e00\u65e6\u65b0\u7684\u8bc1\u4e66\u53ef\u7528\uff0c\u5b83\u5c06\u88ab\u7528\u4e8e\u4e0e Kubernetes API \u95f4\u7684\u8fde\u63a5\u8ba4\u8bc1\u3002

          Note

          \u6b64\u7279\u6027\u9002\u7528\u4e8e Kubernetes 1.8.0 \u6216\u66f4\u9ad8\u7684\u7248\u672c\u3002

          \u542f\u7528\u5ba2\u6237\u7aef\u8bc1\u4e66\u8f6e\u6362\uff0c\u914d\u7f6e\u53c2\u6570\u5982\u4e0b\uff1a

          • kubelet \u8fdb\u7a0b\u63a5\u6536 --rotate-certificates \u53c2\u6570\uff0c\u8be5\u53c2\u6570\u51b3\u5b9a kubelet \u5728\u5f53\u524d\u4f7f\u7528\u7684 \u8bc1\u4e66\u5373\u5c06\u5230\u671f\u65f6\uff0c\u662f\u5426\u4f1a\u81ea\u52a8\u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002

          • kube-controller-manager \u8fdb\u7a0b\u63a5\u6536 --cluster-signing-duration \u53c2\u6570 \uff08\u5728 1.19 \u7248\u672c\u4e4b\u524d\u4e3a --experimental-cluster-signing-duration\uff09\uff0c\u7528\u6765\u63a7\u5236\u7b7e\u53d1\u8bc1\u4e66\u7684\u6709\u6548\u671f\u9650\u3002

          \u66f4\u591a\u8be6\u60c5\u53c2\u8003\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362\u3002

          "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#_4","title":"\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

          \u4e3a\u4e86\u66f4\u9ad8\u6548\u4fbf\u6377\u5904\u7406\u5df2\u8fc7\u671f\u6216\u8005\u5373\u5c06\u8fc7\u671f\u7684 kubernetes \u96c6\u7fa4\u8bc1\u4e66\uff0c\u53ef\u53c2\u8003 k8s \u7248\u672c\u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0\u3002

          "},{"location":"kpanda/user-guide/clusters/runtime.html","title":"\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6","text":"

          \u5bb9\u5668\u8fd0\u884c\u65f6\u662f kubernetes \u4e2d\u5bf9\u5bb9\u5668\u548c\u5bb9\u5668\u955c\u50cf\u751f\u547d\u5468\u671f\u8fdb\u884c\u7ba1\u7406\u7684\u91cd\u8981\u7ec4\u4ef6\u3002 kubernetes \u5728 1.19 \u7248\u672c\u4e2d\u5c06 containerd \u8bbe\u4e3a\u9ed8\u8ba4\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u5e76\u5728 1.24 \u7248\u672c\u4e2d\u79fb\u9664\u4e86 Dockershim \u7ec4\u4ef6\u7684\u652f\u6301\u3002

          \u56e0\u6b64\u76f8\u8f83\u4e8e Docker \u8fd0\u884c\u65f6\uff0c\u6211\u4eec\u66f4\u52a0 \u63a8\u8350\u60a8\u4f7f\u7528\u8f7b\u91cf\u7684 containerd \u4f5c\u4e3a\u60a8\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u56e0\u4e3a\u8fd9\u5df2\u7ecf\u6210\u4e3a\u5f53\u524d\u4e3b\u6d41\u7684\u8fd0\u884c\u65f6\u9009\u62e9\u3002

          \u9664\u6b64\u4e4b\u5916\uff0c\u4e00\u4e9b\u64cd\u4f5c\u7cfb\u7edf\u53d1\u884c\u5382\u5546\u5bf9 Docker \u8fd0\u884c\u65f6\u7684\u517c\u5bb9\u4e5f\u4e0d\u591f\u53cb\u597d\uff0c\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u8fd0\u884c\u65f6\u7684\u652f\u6301\u5982\u4e0b\u8868\uff1a

          "},{"location":"kpanda/user-guide/clusters/runtime.html#_2","title":"\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u548c\u63a8\u8350\u7684\u8fd0\u884c\u65f6\u7248\u672c\u5bf9\u5e94\u5173\u7cfb","text":"\u64cd\u4f5c\u7cfb\u7edf \u63a8\u8350\u7684 containerd \u7248\u672c \u63a8\u8350\u7684 Docker \u7248\u672c CentOS 1.7.5 20.10 RedHatOS 1.7.5 20.10 KylinOS 1.7.5 19.03\uff08\u4ec5 ARM \u67b6\u6784\u652f\u6301 \uff0c\u5728 x86 \u67b6\u6784\u4e0b\u4e0d\u652f\u6301\u4f7f\u7528 Docker \u4f5c\u4e3a\u8fd0\u884c\u65f6\uff09

          \u66f4\u591a\u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 RedHatOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c \u548c KylinOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c

          Note

          \u5728\u79bb\u7ebf\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u9700\u8981\u63d0\u524d\u51c6\u5907\u76f8\u5173\u64cd\u4f5c\u7cfb\u7edf\u7684\u8fd0\u884c\u65f6\u79bb\u7ebf\u5305\u3002

          "},{"location":"kpanda/user-guide/clusters/upgrade-cluster.html","title":"\u96c6\u7fa4\u5347\u7ea7","text":"

          Kubernetes \u793e\u533a\u6bcf\u4e2a\u5b63\u5ea6\u90fd\u4f1a\u53d1\u5e03\u4e00\u6b21\u5c0f\u7248\u672c\uff0c\u6bcf\u4e2a\u7248\u672c\u7684\u7ef4\u62a4\u5468\u671f\u5927\u6982\u53ea\u6709 9 \u4e2a\u6708\u3002 \u7248\u672c\u505c\u6b62\u7ef4\u62a4\u540e\u5c31\u4e0d\u4f1a\u518d\u66f4\u65b0\u4e00\u4e9b\u91cd\u5927\u6f0f\u6d1e\u6216\u5b89\u5168\u6f0f\u6d1e\u3002\u624b\u52a8\u5347\u7ea7\u96c6\u7fa4\u64cd\u4f5c\u8f83\u4e3a\u7e41\u7410\uff0c\u7ed9\u7ba1\u7406\u4eba\u5458\u5e26\u6765\u4e86\u6781\u5927\u7684\u5de5\u4f5c\u8d1f\u62c5\u3002

          \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u901a\u8fc7 Web UI \u754c\u9762\u4e00\u952e\u5f0f\u5728\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4 Kubernetes \u7248\u672c\uff0c \u5982\u9700\u79bb\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u7684 kubernetes \u7248\u672c\uff0c\u8bf7\u53c2\u9605\u5de5\u4f5c\u96c6\u7fa4\u79bb\u7ebf\u5347\u7ea7\u6307\u5357\u8fdb\u884c\u5347\u7ea7\u3002

          Danger

          \u7248\u672c\u5347\u7ea7\u540e\u5c06\u65e0\u6cd5\u56de\u9000\u5230\u4e4b\u524d\u7684\u7248\u672c\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

          Note

          • Kubernetes \u7248\u672c\u4ee5 x.y.z \u8868\u793a\uff0c\u5176\u4e2d x \u662f\u4e3b\u8981\u7248\u672c\uff0c y \u662f\u6b21\u8981\u7248\u672c\uff0c z \u662f\u8865\u4e01\u7248\u672c\u3002
          • \u4e0d\u5141\u8bb8\u8de8\u6b21\u8981\u7248\u672c\u5bf9\u96c6\u7fa4\u8fdb\u884c\u5347\u7ea7\uff0c\u4f8b\u5982\u4e0d\u80fd\u4ece 1.23 \u76f4\u63a5\u5347\u7ea7\u5230 1.25\u3002
          • \u63a5\u5165\u96c6\u7fa4 \u4e0d\u652f\u6301\u7248\u672c\u5347\u7ea7\u3002\u5982\u679c\u5de6\u4fa7\u5bfc\u822a\u680f\u6ca1\u6709 \u96c6\u7fa4\u5347\u7ea7 \uff0c\u8bf7\u68c0\u67e5\u8be5\u96c6\u7fa4\u662f\u5426\u4e3a \u63a5\u5165\u96c6\u7fa4 \u3002
          • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u53ea\u80fd\u901a\u8fc7\u7ec8\u7aef\u8fdb\u884c\u5347\u7ea7\u3002
          • \u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u5e94\u8be5\u5df2\u7ecf\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u5e76\u4e14\u5904\u4e8e\u6b63\u5e38\u8fd0\u884c\u4e2d\u3002
          • \u5982\u679c\u9700\u8981\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u5347\u7ea7\u76f8\u540c\u7248\u672c\u7684\u65b9\u5f0f\u5b9e\u73b0\uff0c\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u3002
          1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

          2. \u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u5347\u7ea7 \uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u7248\u672c\u5347\u7ea7 \u3002

          3. \u9009\u62e9\u53ef\u5347\u7ea7\u7684\u7248\u672c\uff0c\u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\u3002

            Note

            \u5982\u679c\u60a8\u662f\u60f3\u901a\u8fc7\u5347\u7ea7\u65b9\u5f0f\u6765\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff1a

            1. \u627e\u5230\u96c6\u7fa4\u5bf9\u5e94\u7684 ConfigMap\uff0c\u60a8\u53ef\u4ee5\u767b\u5f55\u63a7\u5236\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u627e\u5230 varsConfRef \u4e2d\u7684 ConfigMap \u540d\u79f0\u3002

              kubectl get cluster.kubean.io <clustername> -o yaml\n
            2. \u6839\u636e\u9700\u8981\uff0c\u4fee\u6539 ConfigMap \u4e2d\u7684\u53c2\u6570\u4fe1\u606f\u3002

            3. \u5728\u6b64\u5904\u9009\u62e9\u76f8\u540c\u7248\u672c\u8fdb\u884c\u5347\u7ea7\u64cd\u4f5c\uff0c\u5347\u7ea7\u5b8c\u6210\u5373\u53ef\u6210\u529f\u66f4\u65b0\u5bf9\u5e94\u7684\u96c6\u7fa4\u53c2\u6570\u3002

          4. \u70b9\u51fb \u786e\u5b9a \u540e\uff0c\u53ef\u4ee5\u770b\u5230\u96c6\u7fa4\u7684\u5347\u7ea7\u8fdb\u5ea6\u3002

          5. \u96c6\u7fa4\u5347\u7ea7\u9884\u8ba1\u9700\u8981 30 \u5206\u949f\uff0c\u53ef\u4ee5\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u6309\u94ae\u67e5\u770b\u96c6\u7fa4\u5347\u7ea7\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/configmap-hot-loading.html","title":"configmap/secret \u70ed\u52a0\u8f7d","text":"

          configmap/secret \u70ed\u52a0\u8f7d\u662f\u6307\u5c06 configmap/secret \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u5728\u5bb9\u5668\u4e2d\u6302\u8f7d\u65f6\uff0c\u5f53\u914d\u7f6e\u53d1\u751f\u6539\u53d8\u65f6\uff0c\u5bb9\u5668\u5c06\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u800c\u65e0\u9700\u91cd\u542f Pod\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/configmap-hot-loading.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u53c2\u8003\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d - \u5bb9\u5668\u914d\u7f6e\uff0c\u914d\u7f6e\u5bb9\u5668\u6570\u636e\u5b58\u50a8\uff0c\u9009\u62e9 Configmap \u3001 Configmap Key \u3001 Secret \u3001 Secret Key \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u81f3\u5bb9\u5668\u3002

            Note

            \u4f7f\u7528\u5b50\u8def\u5f84\uff08SubPath\uff09\u65b9\u5f0f\u6302\u8f7d\u7684\u914d\u7f6e\u6587\u4ef6\u4e0d\u652f\u6301\u70ed\u52a0\u8f7d\u3002

          2. \u8fdb\u5165\u3010\u914d\u7f6e\u4e0e\u5bc6\u94a5\u3011\u9875\u9762\uff0c\u8fdb\u5165\u914d\u7f6e\u9879\u8be6\u60c5\u9875\u9762\uff0c\u5728\u3010\u5173\u8054\u8d44\u6e90\u3011\u4e2d\u627e\u5230\u5bf9\u5e94\u7684 container \u8d44\u6e90\uff0c\u70b9\u51fb \u7acb\u5373\u52a0\u8f7d \u6309\u94ae\uff0c\u8fdb\u5165\u914d\u7f6e\u70ed\u52a0\u8f7d\u9875\u9762\u3002

            Note

            \u5982\u679c\u60a8\u7684\u5e94\u7528\u652f\u6301\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u5219\u65e0\u9700\u624b\u52a8\u6267\u884c\u70ed\u52a0\u8f7d\u64cd\u4f5c\u3002

          3. \u5728\u70ed\u52a0\u8f7d\u914d\u7f6e\u5f39\u7a97\u4e2d\uff0c\u8f93\u5165\u8fdb\u5165\u5bb9\u5668\u5185\u7684 \u6267\u884c\u547d\u4ee4 \u5e76\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u4ee5\u91cd\u8f7d\u914d\u7f6e\u3002\u4f8b\u5982\uff0c\u5728 nginx \u5bb9\u5668\u4e2d\uff0c\u4ee5 root \u7528\u6237\u6743\u9650\uff0c\u6267\u884c nginx -s reload \u547d\u4ee4\u6765\u91cd\u8f7d\u914d\u7f6e\u3002

          4. \u5728\u754c\u9762\u5f39\u51fa\u7684 web \u7ec8\u7aef\u4e2d\u67e5\u770b\u5e94\u7528\u91cd\u8f7d\u60c5\u51b5\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html","title":"\u521b\u5efa\u914d\u7f6e\u9879","text":"

          \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u4ee5\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u5b58\u50a8\u975e\u673a\u5bc6\u6027\u6570\u636e\uff0c\u5b9e\u73b0\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u4ee3\u7801\u76f8\u4e92\u89e3\u8026\u7684\u6548\u679c\u3002\u914d\u7f6e\u9879\u53ef\u7528\u4f5c\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002

          Note

          • \u5728\u914d\u7f6e\u9879\u4e2d\u4fdd\u5b58\u7684\u6570\u636e\u4e0d\u53ef\u8d85\u8fc7 1 MiB\u3002\u5982\u679c\u9700\u8981\u5b58\u50a8\u4f53\u79ef\u66f4\u5927\u7684\u6570\u636e\uff0c\u5efa\u8bae\u6302\u8f7d\u5b58\u50a8\u5377\u6216\u8005\u4f7f\u7528\u72ec\u7acb\u7684\u6570\u636e\u5e93\u6216\u8005\u6587\u4ef6\u670d\u52a1\u3002

          • \u914d\u7f6e\u9879\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u52a0\u5bc6\u6570\u636e\uff0c\u5efa\u8bae\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\u3002

          \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

          • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
          • YAML \u521b\u5efa
          "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

          • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u914d\u7f6e\u9879 \u6309\u94ae\u3002

          3. \u5728 \u521b\u5efa\u914d\u7f6e\u9879 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

            Note

            \u70b9\u51fb \u4e0a\u4f20\u6587\u4ef6 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002

          4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html#yaml","title":"YAML \u521b\u5efa","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

          3. \u586b\u5199\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

            Note

            • \u70b9\u51fb \u5bfc\u5165 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002
            • \u586b\u5199\u6570\u636e\u4e4b\u540e\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u914d\u7f6e\u6587\u4ef6\u4fdd\u5b58\u5728\u672c\u5730\u3002

          4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html#yaml_1","title":"\u914d\u7f6e\u9879 YAML \u793a\u4f8b","text":"
          ```yaml\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: kube-root-ca.crt\n  namespace: default\n  annotations:\ndata:\n  version: '1.0'\n```\n

          \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u914d\u7f6e\u9879

          "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

          \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

          \u5bc6\u94a5\u4f7f\u7528\u573a\u666f\uff1a

          • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
          • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
          • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

          \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

          • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
          • YAML \u521b\u5efa
          "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

          • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u5bc6\u94a5 \u6309\u94ae\u3002

          3. \u5728 \u521b\u5efa\u5bc6\u94a5 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

            \u586b\u5199\u914d\u7f6e\u65f6\u9700\u8981\u6ce8\u610f\uff1a

            • \u5bc6\u94a5\u7684\u540d\u79f0\u5728\u540c\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u5fc5\u987b\u5177\u6709\u552f\u4e00\u6027
            • \u5bc6\u94a5\u7c7b\u578b\uff1a
              • \u9ed8\u8ba4\uff08Opaque\uff09\uff1aKubernetes \u9ed8\u8ba4\u7684\u5bc6\u94a5\u7c7b\u578b\uff0c\u652f\u6301\u7528\u6237\u5b9a\u4e49\u7684\u4efb\u610f\u6570\u636e\u3002
              • TLS (kubernetes.io/tls)\uff1a\u7528\u4e8e TLS \u5ba2\u6237\u7aef\u6216\u8005\u670d\u52a1\u5668\u7aef\u6570\u636e\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
              • \u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u7528\u4e8e\u955c\u50cf\u4ed3\u5e93\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
              • \u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u7528\u4e8e\u57fa\u672c\u8eab\u4efd\u8ba4\u8bc1\u7684\u51ed\u8bc1\u3002
              • \u81ea\u5b9a\u4e49\uff1a\u7528\u6237\u6839\u636e\u4e1a\u52a1\u9700\u8981\u81ea\u5b9a\u4e49\u7684\u7c7b\u578b\u3002
            • \u5bc6\u94a5\u6570\u636e\uff1a\u5bc6\u94a5\u6240\u5b58\u50a8\u7684\u6570\u636e\uff0c\u4e0d\u540c\u6570\u636e\u9700\u8981\u586b\u5199\u7684\u53c2\u6570\u6709\u6240\u4e0d\u540c
              • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u9ed8\u8ba4\uff08Opaque\uff09/\u81ea\u5b9a\u4e49\uff1a\u53ef\u4ee5\u586b\u5165\u591a\u4e2a\u952e\u503c\u5bf9\u6570\u636e\u3002
              • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a TLS (kubernetes.io/tls)\uff1a\u9700\u8981\u586b\u5165\u8bc1\u4e66\u51ed\u8bc1\u548c\u79c1\u94a5\u6570\u636e\u3002\u8bc1\u4e66\u662f\u81ea\u7b7e\u540d\u6216 CA \u7b7e\u540d\u8fc7\u7684\u51ed\u636e\uff0c\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u3002\u8bc1\u4e66\u8bf7\u6c42\u662f\u5bf9\u7b7e\u540d\u7684\u8bf7\u6c42\uff0c\u9700\u8981\u4f7f\u7528\u79c1\u94a5\u8fdb\u884c\u7b7e\u540d\u3002
              • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u9700\u8981\u586b\u5165\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u7684\u8d26\u53f7\u548c\u5bc6\u7801\u3002
              • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u9700\u8981\u6307\u5b9a\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
          "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html#yaml","title":"YAML \u521b\u5efa","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

          3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\u586b\u5199 YAML \u914d\u7f6e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

            \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html#yaml_1","title":"\u5bc6\u94a5 YAML \u793a\u4f8b","text":"
          ```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n  name: secretdemo\ntype: Opaque\ndata:\n  username: ******\n  password: ******\n```\n

          \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u5bc6\u94a5

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html","title":"\u4f7f\u7528\u914d\u7f6e\u9879","text":"

          \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u662f Kubernetes \u7684\u4e00\u79cd API \u5bf9\u8c61\uff0c\u7528\u6765\u5c06\u975e\u673a\u5bc6\u6027\u7684\u6570\u636e\u4fdd\u5b58\u5230\u952e\u503c\u5bf9\u4e2d\uff0c\u53ef\u4ee5\u5b58\u50a8\u5176\u4ed6\u5bf9\u8c61\u6240\u9700\u8981\u4f7f\u7528\u7684\u914d\u7f6e\u3002 \u4f7f\u7528\u65f6\uff0c \u5bb9\u5668\u53ef\u4ee5\u5c06\u5176\u7528\u4f5c\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002\u901a\u8fc7\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u80fd\u591f\u5c06\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u5206\u5f00\uff0c\u4e3a\u5e94\u7528\u914d\u7f6e\u7684\u4fee\u6539\u63d0\u4f9b\u66f4\u52a0\u7075\u6d3b\u7684\u9014\u5f84\u3002

          Note

          \u914d\u7f6e\u9879\u5e76\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u7684\u6570\u636e\u662f\u673a\u5bc6\u7684\uff0c\u8bf7\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u4f7f\u7528\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\uff0c\u800c\u4e0d\u662f\u7528\u914d\u7f6e\u9879\u3002 \u6b64\u5916\u5728\u5bb9\u5668\u91cc\u4f7f\u7528\u914d\u7f6e\u9879\u65f6\uff0c\u5bb9\u5668\u548c\u914d\u7f6e\u9879\u5fc5\u987b\u5904\u4e8e\u540c\u4e00\u96c6\u7fa4\u7684\u547d\u540d\u7a7a\u95f4\u4e2d\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

          \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

          • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf

          • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570

          • \u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_3","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

          Note

          \u914d\u7f6e\u9879\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_4","title":"\u56fe\u5f62\u5316\u754c\u9762\u64cd\u4f5c","text":"

          \u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

          2. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u3002

            • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u540d\u79f0\u3001 \u914d\u7f6e\u9879 \u7684\u540d\u79f0\u3002

            • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u914d\u7f6e\u9879 \u540d\u79f0\u3001 \u952e \u7684\u540d\u79f0\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

          \u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u914d\u7f6e\u9879\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 ConfigMap \u4e2d\u7684 Key/Value\u3002

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-1\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"env\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:                  # (1)!\n            configMapKeyRef:\n              name: kpanda-configmap  # (2)!\n              key: SPECIAL_LEVEL      # (3)!\n  restartPolicy: Never\n
          1. \u4f7f\u7528 valueFrom \u6765\u6307\u5b9a env \u5f15\u7528\u914d\u7f6e\u9879\u7684 value \u503c
          2. \u5f15\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u540d\u79f0
          3. \u5f15\u7528\u7684\u914d\u7f6e\u9879 key
          "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_6","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570","text":"

          \u60a8\u53ef\u4ee5\u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u4e2d\u7684\u547d\u4ee4\u6216\u8005\u53c2\u6570\u503c\uff0c\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u66ff\u6362\u8bed\u6cd5 $(VAR_NAME) \u6765\u8fdb\u884c\u3002\u5982\u4e0b\u6240\u793a\u3002

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-3\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_LEVEL\n        - name: SPECIAL_TYPE_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_TYPE\n  restartPolicy: Never\n

          \u8fd9\u4e2a Pod \u8fd0\u884c\u540e\uff0c\u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\u3002

          Hello Kpanda\n
          "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_7","title":"\u7528\u4f5c\u5bb9\u5668\u6570\u636e\u5377","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

          \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u914d\u7f6e\u9879 \uff0c\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

          2. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_9","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

          \u8981\u5728\u4e00\u4e2a Pod \u7684\u5b58\u50a8\u5377\u4e2d\u4f7f\u7528 ConfigMap\u3002

          \u4e0b\u9762\u662f\u4e00\u4e2a\u5c06 ConfigMap \u4ee5\u5377\u7684\u5f62\u5f0f\u8fdb\u884c\u6302\u8f7d\u7684 Pod \u793a\u4f8b\uff1a

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    configMap:\n      name: myconfigmap\n

          \u5982\u679c Pod \u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u90fd\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4f46\u9488\u5bf9\u6bcf\u4e2a ConfigMap\uff0c\u60a8\u53ea\u9700\u8981\u8bbe\u7f6e\u4e00\u4e2a spec.volumes \u5757\u3002

          Note

          \u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u6302\u8f7d\u7684\u6570\u636e\u5377\u65f6\uff0c\u914d\u7f6e\u9879\u53ea\u80fd\u4f5c\u4e3a\u53ea\u8bfb\u6587\u4ef6\u8fdb\u884c\u8bfb\u53d6\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html","title":"\u4f7f\u7528\u5bc6\u94a5","text":"

          \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

          \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u5bc6\u94a5\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

          • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
          • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
          • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u4f7f\u7528\u3002
          "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_3","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

          Note

          \u5bc6\u94a5\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u5bc6\u94a5\u952e\u503c\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_4","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

          \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

          2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

          3. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u3002

            • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u3001 \u5bc6\u94a5 \u7684\u540d\u79f0\u3002

            • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u5bc6\u94a5 \u3001 \u952e \u7684\u540d\u79f0\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

          \u5982\u4e0b\u4f8b\u6240\u793a\uff0c\u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u5bc6\u94a5\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 Secret \u4e2d\u7684 Key/Value\u3002

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: secret-env-pod\nspec:\n  containers:\n  - name: mycontainer\n    image: redis\n    env:\n      - name: SECRET_USERNAME\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: username\n            optional: false # (1)!\n      - name: SECRET_PASSWORD\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: password\n            optional: false # (2)!\n
          1. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"username\" \u7684\u4e3b\u952e
          2. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"password\" \u7684\u4e3b\u952e
          "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#pod","title":"\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377","text":""},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_6","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

          \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

          2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

          3. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_7","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

          \u4e0b\u9762\u662f\u4e00\u4e2a\u901a\u8fc7\u6570\u636e\u5377\u6765\u6302\u8f7d\u540d\u4e3a mysecret \u7684 Secret \u7684 Pod \u793a\u4f8b\uff1a

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    secret:\n      secretName: mysecret\n      optional: false # (1)!\n
          1. \u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u610f\u5473\u7740 \"mysecret\" \u5fc5\u987b\u5df2\u7ecf\u5b58\u5728

          \u5982\u679c Pod \u4e2d\u5305\u542b\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4e0d\u8fc7\u9488\u5bf9\u6bcf\u4e2a Secret \u800c\u8a00\uff0c\u53ea\u9700\u8981\u4e00\u4efd .spec.volumes \u8bbe\u7f6e\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#kubelet","title":"\u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

          "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

          \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

          2. \u5728\u7b2c\u4e8c\u6b65 \u5bb9\u5668\u914d\u7f6e \u65f6\u9009\u62e9 \u57fa\u672c\u4fe1\u606f \u914d\u7f6e\uff0c\u70b9\u51fb \u9009\u62e9\u955c\u50cf \u6309\u94ae\u3002

          3. \u5728\u5f39\u6846\u7684 \u955c\u50cf\u4ed3\u5e93 \u4e0b\u62c9\u9009\u62e9\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u540d\u79f0\u3002\u5173\u4e8e\u79c1\u6709\u955c\u50cf\u5bc6\u94a5\u521b\u5efa\u8bf7\u67e5\u770b\u521b\u5efa\u5bc6\u94a5\u4e86\u89e3\u8be6\u60c5\u3002

          4. \u8f93\u5165\u79c1\u6709\u4ed3\u5e93\u5185\u7684\u955c\u50cf\u540d\u79f0\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u955c\u50cf\u9009\u62e9\u3002

          Note

          \u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u9700\u8981\u786e\u4fdd\u8f93\u5165\u6b63\u786e\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3001\u7528\u6237\u540d\u79f0\u3001\u5bc6\u7801\u5e76\u9009\u62e9\u6b63\u786e\u7684\u955c\u50cf\u540d\u79f0\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u83b7\u53d6\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u955c\u50cf\u3002

          "},{"location":"kpanda/user-guide/custom-resources/create.html","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90 (CRD)","text":"

          \u5728 Kubernetes \u4e2d\u4e00\u5207\u5bf9\u8c61\u90fd\u88ab\u62bd\u8c61\u4e3a\u8d44\u6e90\uff0c\u5982 Pod\u3001Deployment\u3001Service\u3001Volume \u7b49\u662f Kubernetes \u63d0\u4f9b\u7684\u9ed8\u8ba4\u8d44\u6e90\uff0c \u8fd9\u4e3a\u6211\u4eec\u7684\u65e5\u5e38\u8fd0\u7ef4\u548c\u7ba1\u7406\u5de5\u4f5c\u63d0\u4f9b\u4e86\u91cd\u8981\u652f\u6491\uff0c\u4f46\u662f\u5728\u4e00\u4e9b\u7279\u6b8a\u7684\u573a\u666f\u4e2d\uff0c\u73b0\u6709\u7684\u9884\u7f6e\u8d44\u6e90\u5e76\u4e0d\u80fd\u6ee1\u8db3\u4e1a\u52a1\u7684\u9700\u8981\uff0c \u56e0\u6b64\u6211\u4eec\u5e0c\u671b\u53bb\u6269\u5c55 Kubernetes API \u7684\u80fd\u529b\uff0c\u81ea\u5b9a\u4e49\u8d44\u6e90\uff08CustomResourceDefinition, CRD\uff09\u6b63\u662f\u57fa\u4e8e\u8fd9\u6837\u7684\u9700\u6c42\u5e94\u8fd0\u800c\u751f\u3002

          \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9\u81ea\u5b9a\u4e49\u8d44\u6e90\u7684\u754c\u9762\u5316\u7ba1\u7406\uff0c\u4e3b\u8981\u529f\u80fd\u5982\u4e0b\uff1a

          • \u83b7\u53d6\u96c6\u7fa4\u4e0b\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u548c\u8be6\u7ec6\u4fe1\u606f
          • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u8d44\u6e90
          • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b CR\uff08Custom Resource\uff09
          • \u5220\u9664\u81ea\u5b9a\u4e49\u8d44\u6e90
          "},{"location":"kpanda/user-guide/custom-resources/create.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

          • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a Cluster Admin \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743

          "},{"location":"kpanda/user-guide/custom-resources/create.html#yaml","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
          1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

          3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

          4. \u8fd4\u56de\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

          \u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b\uff1a

          CRD example
          apiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n  name: crontabs.stable.example.com\nspec:\n  group: stable.example.com\n  versions:\n    - name: v1\n      served: true\n      storage: true\n      schema:\n        openAPIV3Schema:\n          type: object\n          properties:\n            spec:\n              type: object\n              properties:\n                cronSpec:\n                  type: string\n                image:\n                  type: string\n                replicas:\n                  type: integer\n  scope: Namespaced\n  names:\n    plural: crontabs\n    singular: crontab\n    kind: CronTab\n    shortNames:\n    - ct\n
          "},{"location":"kpanda/user-guide/custom-resources/create.html#yaml_1","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b","text":"
          1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u8fdb\u5165\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\u9762\u3002

          3. \u70b9\u51fb\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

          4. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

          5. \u8fd4\u56de crontabs.stable.example.com \u7684\u8be6\u60c5\u9875\u9762\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a my-new-cron-object \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

          CR \u793a\u4f8b\uff1a

          CR example
          apiVersion: \"stable.example.com/v1\"\nkind: CronTab\nmetadata:\n  name: my-new-cron-object\nspec:\n  cronSpec: \"* * * * */5\"\n  image: my-awesome-cron-image\n
          "},{"location":"kpanda/user-guide/gpu/index.html","title":"GPU \u7ba1\u7406\u6982\u8ff0","text":"

          \u672c\u6587\u4ecb\u7ecd Daocloud \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5bf9 GPU\u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8d44\u6e90\u7edf\u4e00\u8fd0\u7ef4\u7ba1\u7406\u80fd\u529b\u3002

          "},{"location":"kpanda/user-guide/gpu/index.html#_1","title":"\u80cc\u666f","text":"

          \u968f\u7740 AI \u5e94\u7528\u3001\u5927\u6a21\u578b\u3001\u4eba\u5de5\u667a\u80fd\u3001\u81ea\u52a8\u9a7e\u9a76\u7b49\u65b0\u5174\u6280\u672f\u7684\u5feb\u901f\u53d1\u5c55\uff0c\u4f01\u4e1a\u9762\u4e34\u7740\u8d8a\u6765\u8d8a\u591a\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4efb\u52a1\u548c\u6570\u636e\u5904\u7406\u9700\u6c42\u3002 \u4ee5 CPU \u4e3a\u4ee3\u8868\u7684\u4f20\u7edf\u8ba1\u7b97\u67b6\u6784\u5df2\u65e0\u6cd5\u6ee1\u8db3\u4f01\u4e1a\u65e5\u76ca\u589e\u957f\u7684\u8ba1\u7b97\u9700\u6c42\u3002\u6b64\u65f6\uff0c\u4ee5 GPU \u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8ba1\u7b97\u56e0\u5728\u5904\u7406\u5927\u89c4\u6a21\u6570\u636e\u3001\u8fdb\u884c\u590d\u6742\u8ba1\u7b97\u548c\u5b9e\u65f6\u56fe\u5f62\u6e32\u67d3\u65b9\u9762\u5177\u6709\u72ec\u7279\u7684\u4f18\u52bf\u88ab\u5e7f\u6cdb\u5e94\u7528\u3002

          \u4e0e\u6b64\u540c\u65f6\uff0c\u7531\u4e8e\u7f3a\u4e4f\u5f02\u6784\u8d44\u6e90\u8c03\u5ea6\u7ba1\u7406\u7b49\u65b9\u9762\u7684\u7ecf\u9a8c\u548c\u4e13\u4e1a\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u5bfc\u81f4\u4e86 GPU \u8bbe\u5907\u7684\u8d44\u6e90\u5229\u7528\u7387\u6781\u4f4e\uff0c\u7ed9\u4f01\u4e1a\u5e26\u6765\u4e86\u9ad8\u6602\u7684 AI \u751f\u4ea7\u6210\u672c\u3002 \u5982\u4f55\u964d\u672c\u589e\u6548\uff0c\u63d0\u9ad8 GPU \u7b49\u5f02\u6784\u8d44\u6e90\u7684\u5229\u7528\u6548\u7387\uff0c\u6210\u4e3a\u4e86\u5f53\u524d\u4f17\u591a\u4f01\u4e1a\u4e9f\u9700\u8de8\u8d8a\u7684\u4e00\u9053\u96be\u9898\u3002

          "},{"location":"kpanda/user-guide/gpu/index.html#gpu_1","title":"GPU \u80fd\u529b\u4ecb\u7ecd","text":"

          Daocloud \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u652f\u6301\u5bf9 GPU\u3001NPU \u7b49\u5f02\u6784\u8d44\u6e90\u8fdb\u884c\u7edf\u4e00\u8c03\u5ea6\u548c\u8fd0\u7ef4\u7ba1\u7406\uff0c\u5145\u5206\u91ca\u653e GPU \u8d44\u6e90\u7b97\u529b\uff0c\u52a0\u901f\u4f01\u4e1a AI \u7b49\u65b0\u5174\u5e94\u7528\u53d1\u5c55\u3002Daocloud GPU \u7ba1\u7406\u80fd\u529b\u5982\u4e0b\uff1a

          • \u652f\u6301\u7edf\u4e00\u7eb3\u7ba1 NVIDIA\u3001\u534e\u4e3a\u6607\u817e\u3001\u5929\u6570\u7b49\u56fd\u5185\u5916\u5382\u5546\u7684\u5f02\u6784\u8ba1\u7b97\u8d44\u6e90\u3002
          • \u652f\u6301\u540c\u4e00\u96c6\u7fa4\u591a\u5361\u5f02\u6784\u8c03\u5ea6\uff0c\u5e76\u652f\u6301\u96c6\u7fa4 GPU \u5361\u81ea\u52a8\u8bc6\u522b\u3002
          • \u652f\u6301 NVIDIA GPU\u3001vGPU\u3001MIG \u7b49 GPU \u539f\u751f\u7ba1\u7406\u65b9\u6848\uff0c\u5e76\u63d0\u4f9b\u4e91\u539f\u751f\u80fd\u529b\u3002
          • \u652f\u6301\u5355\u5757\u7269\u7406\u5361\u5207\u5206\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u4f7f\u7528\uff0c\u5e76\u652f\u6301\u5bf9\u79df\u6237\u548c\u5bb9\u5668\u4f7f\u7528 GPU \u8d44\u6e90\u6309\u7167\u7b97\u529b\u3001\u663e\u5b58\u8fdb\u884c GPU \u8d44\u6e90\u914d\u989d\u3002
          • \u652f\u6301\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5e94\u7528\u7b49\u591a\u7ef4\u5ea6 GPU \u8d44\u6e90\u76d1\u63a7\uff0c\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u7ba1\u7406 GPU \u8d44\u6e90\u3002
          • \u517c\u5bb9 TensorFlow\u3001pytorch \u7b49\u591a\u79cd\u8bad\u7ec3\u6846\u67b6\u3002
          "},{"location":"kpanda/user-guide/gpu/index.html#gpu-operator","title":"GPU Operator \u4ecb\u7ecd","text":"

          \u540c\u666e\u901a\u8ba1\u7b97\u673a\u786c\u4ef6\u4e00\u6837\uff0cNVIDIA GPU \u5361\u4f5c\u4e3a\u7269\u7406\u786c\u4ef6\uff0c\u5fc5\u987b\u5b89\u88c5 NVIDIA GPU \u9a71\u52a8\u540e\u624d\u80fd\u4f7f\u7528\u3002 \u4e3a\u4e86\u964d\u4f4e\u7528\u6237\u5728 kuberneets \u4e0a\u4f7f\u7528 GPU \u7684\u6210\u672c\uff0cNVIDIA \u5b98\u65b9\u63d0\u4f9b\u4e86 NVIDIA GPU Operator \u7ec4\u4ef6\u6765\u7ba1\u7406\u4f7f\u7528 NVIDIA GPU \u6240\u4f9d\u8d56\u7684\u5404\u79cd\u7ec4\u4ef6\u3002 \u8fd9\u4e9b\u7ec4\u4ef6\u5305\u62ec NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff08\u7528\u4e8e\u542f\u7528 CUDA\uff09\u3001NVIDIA \u5bb9\u5668\u8fd0\u884c\u65f6\u3001GPU \u8282\u70b9\u6807\u8bb0\u3001\u57fa\u4e8e DCGM \u7684\u76d1\u63a7\u7b49\u3002 \u7406\u8bba\u4e0a\u6765\u8bf4\u7528\u6237\u53ea\u9700\u8981\u5c06 GPU \u5361\u63d2\u5728\u5df2\u7ecf\u88ab kubernetes \u6240\u7eb3\u7ba1\u7684\u8ba1\u7b97\u8bbe\u5907\u4e0a\uff0c\u7136\u540e\u901a\u8fc7 GPU Operator \u5c31\u80fd\u4f7f\u7528 NVIDIA GPU \u7684\u6240\u6709\u80fd\u529b\u4e86\u3002 \u4e86\u89e3\u66f4\u591a NVIDIA GPU Operator \u76f8\u5173\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 NVIDIA \u5b98\u65b9\u6587\u6863\u3002 \u5982\u4f55\u90e8\u7f72\u8bf7\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5

          NVIDIA GPU Operator \u67b6\u6784\u56fe\uff1a

          "},{"location":"kpanda/user-guide/gpu/FAQ.html","title":"GPU \u76f8\u5173 FAQ","text":""},{"location":"kpanda/user-guide/gpu/FAQ.html#pod-nvidia-smi-gpu","title":"Pod \u5185 nvidia-smi \u770b\u4e0d\u5230 GPU \u8fdb\u7a0b","text":"

          Q: \u5728\u4f7f\u7528 GPU \u7684 Pod \u5185\u6267\u884c nvidia-smi \u547d\u4ee4\u770b\u4e0d\u5230\u4f7f\u7528 GPU \u7684\u8fdb\u7a0b\u4fe1\u606f\uff0c\u5305\u62ec\u6574\u5361\u6a21\u5f0f\u3001vGPU \u6a21\u5f0f\u7b49\u3002

          A: \u56e0\u4e3a\u6709 PID namespace \u9694\u79bb\uff0c\u5bfc\u81f4\u5728 Pod \u5185\u67e5\u770b\u4e0d\u5230 GPU \u8fdb\u7a0b\uff0c\u5982\u679c\u8981\u67e5\u770b GPU \u8fdb\u7a0b\u6709\u5982\u4e0b\u51e0\u79cd\u65b9\u6cd5\uff1a

          • \u5728\u4f7f\u7528 GPU \u7684\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e hostPID: true\uff0c\u4f7f\u5176\u53ef\u4ee5\u67e5\u770b\u5230\u5bbf\u4e3b\u673a\u4e0a\u7684 PID
          • \u5728 gpu-operator \u7684 driver Pod \u4e2d\u6267\u884c nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
          • \u5728\u5bbf\u4e3b\u673a\u4e0a\u6267\u884c chroot /run/nvidia/driver nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
          "},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html","title":"App \u4f7f\u7528\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"

          \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4f7f\u7528\u5929\u6570\u667a\u82af\u865a\u62df GPU\u3002

          "},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5df2\u7ecf\u90e8\u7f72 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5929\u6570\u667a\u82af GPU \u9a71\u52a8\uff0c\u9a71\u52a8\u5b89\u88c5\u8bf7\u53c2\u8003\u5929\u6570\u667a\u82af\u5b98\u65b9\u6587\u6863\uff0c\u6216\u8054\u7cfb\u9053\u5ba2\u751f\u6001\u56e2\u961f\u83b7\u53d6\u4f01\u4e1a\u7ea7\u652f\u6301\uff1apeg-pem@daocloud.io\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u4e14\u672a\u88ab\u5176\u5b83 App \u5360\u7528\u3002
          "},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html#_3","title":"\u4f7f\u7528\u754c\u9762\u914d\u7f6e","text":"
          1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Iluvatar \u3002

          2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Iluvatar\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

            • \u7269\u7406\u5361\u6570\u91cf\uff08iluvatar.ai/vcuda-core\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
            • \u663e\u5b58\u4f7f\u7528\u6570\u91cf\uff08iluvatar.ai/vcuda-memory\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

            \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

          "},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

          \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0iluvatar.ai/vcuda-core: 1\u3001iluvatar.ai/vcuda-memory: 200 \u53c2\u6570\uff0c\u914d\u7f6e App \u4f7f\u7528\u7269\u7406\u5361\u7684\u8d44\u6e90\u3002

          apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-iluvatar-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-iluvatar-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-iluvatar-gpu-demo\n    spec:\n      containers:\n      - image: nginx:perl\n        name: container-0\n        resources:\n          limits:\n            cpu: 250m\n            iluvatar.ai/vcuda-core: '1'\n            iluvatar.ai/vcuda-memory: '200'\n            memory: 512Mi\n          requests:\n            cpu: 250m\n            memory: 512Mi\n      imagePullSecrets:\n      - name: default-secret\n
          "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html","title":"GPU \u8d44\u6e90\u52a8\u6001\u8c03\u8282","text":"

          \u63d0\u4f9b GPU \u8d44\u6e90\u52a8\u6001\u8c03\u6574\u529f\u80fd\uff0c\u5141\u8bb8\u60a8\u5728\u65e0\u9700\u91cd\u65b0\u52a0\u8f7d\u3001\u91cd\u7f6e\u6216\u91cd\u542f\u6574\u4e2a\u8fd0\u884c\u73af\u5883\u7684\u60c5\u51b5\u4e0b\uff0c\u5bf9\u5df2\u7ecf\u5206\u914d\u7684 vGPU \u8d44\u6e90\u8fdb\u884c\u5b9e\u65f6\u3001\u52a8\u6001\u7684\u8c03\u6574\u3002 \u8fd9\u4e00\u529f\u80fd\u65e8\u5728\u6700\u5927\u7a0b\u5ea6\u5730\u51cf\u5c11\u5bf9\u4e1a\u52a1\u8fd0\u884c\u7684\u5f71\u54cd\uff0c\u786e\u4fdd\u60a8\u7684\u4e1a\u52a1\u80fd\u591f\u6301\u7eed\u7a33\u5b9a\u5730\u8fd0\u884c\uff0c\u540c\u65f6\u6839\u636e\u5b9e\u9645\u9700\u6c42\u7075\u6d3b\u8c03\u6574 GPU \u8d44\u6e90\u3002

          "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"
          • \u5f39\u6027\u8d44\u6e90\u5206\u914d \uff1a\u5f53\u4e1a\u52a1\u9700\u6c42\u6216\u5de5\u4f5c\u8d1f\u8f7d\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u5feb\u901f\u8c03\u6574 GPU \u8d44\u6e90\u4ee5\u6ee1\u8db3\u65b0\u7684\u6027\u80fd\u8981\u6c42\u3002
          • \u5373\u65f6\u54cd\u5e94 \uff1a\u5728\u9762\u5bf9\u7a81\u53d1\u7684\u9ad8\u8d1f\u8f7d\u6216\u4e1a\u52a1\u9700\u6c42\u65f6\uff0c\u53ef\u4ee5\u8fc5\u901f\u589e\u52a0 GPU \u8d44\u6e90\u800c\u65e0\u9700\u4e2d\u65ad\u4e1a\u52a1\u8fd0\u884c\uff0c\u4ee5\u786e\u4fdd\u670d\u52a1\u7684\u7a33\u5b9a\u6027\u548c\u6027\u80fd\u3002
          "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

          \u4ee5\u4e0b\u662f\u4e00\u4e2a\u5177\u4f53\u7684\u64cd\u4f5c\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u8c03\u6574 vGPU \u7684\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff1a

          "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#vgpu-pod","title":"\u521b\u5efa\u4e00\u4e2a vGPU Pod","text":"

          \u9996\u5148\uff0c\u6211\u4eec\u4f7f\u7528\u4ee5\u4e0b YAML \u521b\u5efa\u4e00\u4e2a vGPU Pod\uff0c\u5176\u7b97\u529b\u521d\u59cb\u4e0d\u9650\u5236\uff0c\u663e\u5b58\u9650\u5236\u4e3a 200Mb\u3002

          kind: Deployment\napiVersion: apps/v1\nmetadata:\n  name: gpu-burn-test\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: gpu-burn-test\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: gpu-burn-test\n    spec:\n      containers:\n        - name: container-1\n          image: docker.io/chrstnhntschl/gpu_burn:latest\n          command:\n            - sleep\n            - '100000'\n          resources:\n            limits:\n              cpu: 1m\n              memory: 1Gi\n              nvidia.com/gpucores: '0'\n              nvidia.com/gpumem: '200'\n              nvidia.com/vgpu: '1'\n

          \u8c03\u6574\u524d\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

          "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#_3","title":"\u52a8\u6001\u8c03\u6574\u7b97\u529b","text":"

          \u5982\u679c\u9700\u8981\u4fee\u6539\u7b97\u529b\u4e3a 10%\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

          1. \u8fdb\u5165\u5bb9\u5668\uff1a

            kubectl exec -it <pod-name> -- /bin/bash\n
          2. \u6267\u884c\uff1a

            export CUDA_DEVICE_SM_LIMIT=10\n
          3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

            ./gpu_burn 60\n

            \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u6ce8\u610f\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

          "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#_4","title":"\u52a8\u6001\u8c03\u6574\u663e\u5b58","text":"

          \u5982\u679c\u9700\u8981\u4fee\u6539\u663e\u5b58\u4e3a 300 MB\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

          1. \u8fdb\u5165\u5bb9\u5668\uff1a

            kubectl exec -it <pod-name> -- /bin/bash\n
          2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u8bbe\u7f6e\u663e\u5b58\u9650\u5236\uff1a

            export CUDA_DEVICE_MEMORY_LIMIT_0=300m\nexport CUDA_DEVICE_MEMORY_SHARED_CACHE=/usr/local/vgpu/d.cache\n

            Note

            \u6bcf\u6b21\u4fee\u6539\u663e\u5b58\u5927\u5c0f\u65f6\uff0cd.cache \u8fd9\u4e2a\u6587\u4ef6\u540d\u5b57\u90fd\u9700\u8981\u4fee\u6539\uff0c\u6bd4\u5982\u6539\u4e3a a.cache\u30011.cache \u7b49\uff0c\u4ee5\u907f\u514d\u7f13\u5b58\u51b2\u7a81\u3002

          3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

            ./gpu_burn 60\n

            \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u540c\u6837\u5730\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

          \u8c03\u6574\u540e\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

          \u901a\u8fc7\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u53ef\u4ee5\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u5730\u8c03\u6574\u5176\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff0c\u4ece\u800c\u66f4\u7075\u6d3b\u5730\u6ee1\u8db3\u4e1a\u52a1\u9700\u6c42\u5e76\u4f18\u5316\u8d44\u6e90\u5229\u7528\u3002

          "},{"location":"kpanda/user-guide/gpu/gpu_matrix.html","title":"GPU \u652f\u6301\u77e9\u9635","text":"

          \u672c\u9875\u8bf4\u660e DCE 5.0 \u652f\u6301\u7684 GPU \u53ca\u64cd\u4f5c\u7cfb\u7edf\u6240\u5bf9\u5e94\u7684\u77e9\u9635\u3002

          "},{"location":"kpanda/user-guide/gpu/gpu_matrix.html#nvidia-gpu","title":"NVIDIA GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 NVIDIA GPU\uff08\u6574\u5361/vGPU\uff09 NVIDIA Fermi (2.1) \u67b6\u6784 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160\u5185\u6838\u53c2\u8003\u6587\u6863\u5efa\u8bae\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 Kernel \u7248\u672c \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 NVIDIA GeForce 400 \u7cfb\u5217 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA Quadro 4000 \u7cfb\u5217 Ubuntu 20.04 Kernel 5.4 NVIDIA Tesla 20 \u7cfb\u5217 Ubuntu 22.04 Kernel 5.19 NVIDIA Ampere \u67b6\u6784\u7cfb\u5217(A100;A800;H100) RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA MIG NVIDIA Ampere \u67b6\u6784\u7cfb\u5217\uff08A100\u3001A800\u3001H100\uff09 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 Ubuntu 20.04 Kernel 5.4 Ubuntu 22.04 Kernel 5.19 RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348"},{"location":"kpanda/user-guide/gpu/gpu_matrix.html#ascendnpu","title":"\u6607\u817e\uff08Ascend\uff09NPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 NPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6607\u817e\uff08Ascend 310\uff09 Ascend 310 Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\uff1a\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 300 \u548c 310P \u9a71\u52a8\u6587\u6863 Ascend 310P\uff1b CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf \u6607\u817e\uff08Ascend 910\uff09 Ascend 910B Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 910 \u9a71\u52a8\u6587\u6863 CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf"},{"location":"kpanda/user-guide/gpu/gpu_matrix.html#iluvatargpu","title":"\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u5929\u6570\u667a\u82af(Iluvatar vGPU) BI100 CentOS 7 Kernel 3.10.0-957.el7.x86_64 ~ 3.10.0-1160.42.2.el7.x86_64 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 \u8865\u5145\u4e2d MR100\uff1b CentOS 8 Kernel 4.18.0-80.el8.x86_64 ~ 4.18.0-305.19.1.el8_4.x86_64 Ubuntu 20.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic Ubuntu 21.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic openEuler 22.03 LTS Kernel \u7248\u672c\u5927\u4e8e\u7b49\u4e8e 5.1 \u4e14\u5c0f\u4e8e\u7b49\u4e8e 5.10"},{"location":"kpanda/user-guide/gpu/gpu_matrix.html#metaxgpu","title":"\u6c90\u66e6\uff08Metax\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6c90\u66e6Metax\uff08\u6574\u5361/vGPU\uff09 \u66e6\u4e91 C500 \u6c90\u66e6 GPU \u5b89\u88c5\u4f7f\u7528"},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html","title":"GPU \u8c03\u5ea6\u914d\u7f6e\uff08Binpack \u548c Spread \uff09","text":"

          \u672c\u6587\u4ecb\u7ecd\u4f7f\u7528 NVIDIA vGPU \u65f6\uff0c\u5982\u4f55\u901a\u8fc7 Binpack \u548c Spread \u7684 GPU \u8c03\u5ea6\u914d\u7f6e\u51cf\u5c11 GPU \u8d44\u6e90\u788e\u7247\u3001\u9632\u6b62\u5355\u70b9\u6545\u969c\u7b49\uff0c\u5b9e\u73b0 vGPU \u7684\u9ad8\u7ea7\u8c03\u5ea6\u3002 DCE 5.0 \u5e73\u53f0\u63d0\u4f9b\u4e86\u96c6\u7fa4\u548c\u5de5\u4f5c\u8d1f\u8f7d\u4e24\u79cd\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5206\u522b\u6ee1\u8db3\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u4f7f\u7528\u9700\u6c42\u3002

          "},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
          • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907\u3002
          • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6 \u548c Nvidia-vgpu \u7ec4\u4ef6\u3002
          • \u96c6\u7fa4\u8282\u70b9\u5217\u8868\u4e2d\uff0cGPU \u6a21\u5f0f\u4e0b\u5b58\u5728 NVIDIA-vGPU \u7c7b\u578b\u3002
          "},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
          • \u57fa\u4e8e GPU \u5361\u7ef4\u5ea6\u8c03\u5ea6\u7b56\u7565

            • Binpack\uff1a\u4f18\u5148\u9009\u62e9\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
            • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u5361\u6545\u969c\u3002
          • \u57fa\u4e8e\u8282\u70b9\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565

            • Binpack\uff1a \u591a\u4e2a Pod \u4f1a\u4f18\u5148\u9009\u62e9\u540c\u4e00\u4e2a\u8282\u70b9\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
            • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u4e0d\u540c\u8282\u70b9\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u8282\u70b9\u6545\u969c\u3002
          "},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html#binpack-spread","title":"\u96c6\u7fa4\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

          Note

          \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u4f1a\u9075\u5faa\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e\u3002 \u82e5\u5de5\u4f5c\u8d1f\u8f7d\u5355\u72ec\u8bbe\u7f6e\u4e86\u4e0e\u96c6\u7fa4\u4e0d\u4e00\u81f4\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5219\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u4f18\u5148\u9075\u5faa\u5176\u672c\u8eab\u7684\u8c03\u5ea6\u7b56\u7565\u3002

          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u8c03\u6574 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb GPU \u8c03\u5ea6\u914d\u7f6e \u3002

          2. \u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u540e\u4fdd\u5b58\u3002

          "},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html#binpack-spread_1","title":"\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

          Note

          \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684\u914d\u7f6e\u51b2\u7a81\u65f6\uff0c\u4f18\u5148\u9075\u5faa\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684\u914d\u7f6e\u3002

          \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\uff0c\u5e76\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565 \u3002

          1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

          2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

          3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\uff0c\u5e76\u5728 \u5bb9\u5668\u914d\u7f6e \u4e2d\u542f\u7528 GPU \u914d\u7f6e\uff0c\u9009\u62e9 GPU \u7c7b\u578b\u4e3a NVIDIA vGPU\uff0c \u70b9\u51fb \u9ad8\u7ea7\u8bbe\u7f6e \uff0c\u542f\u7528 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\u3002\u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c \u8fdb\u5165 \u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

          "},{"location":"kpanda/user-guide/gpu/vgpu_quota.html","title":"GPU \u914d\u989d\u7ba1\u7406","text":"

          \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

          "},{"location":"kpanda/user-guide/gpu/vgpu_quota.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

          \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u6216\u624b\u52a8\u65b9\u5f0f\u90e8\u7f72\u5bf9\u5e94\u7c7b\u578b GPU \u9a71\u52a8\uff08NVIDIA GPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\uff09

          "},{"location":"kpanda/user-guide/gpu/vgpu_quota.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u8fdb\u5165 Namespaces \u4e2d\uff0c\u70b9\u51fb \u914d\u989d\u7ba1\u7406 \u53ef\u4ee5\u914d\u7f6e\u5f53\u524d Namespace \u53ef\u4ee5\u4f7f\u7528\u7684 GPU \u8d44\u6e90\u3002

          2. \u5f53\u524d\u547d\u540d\u7a7a\u95f4\u914d\u989d\u7ba1\u7406\u8986\u76d6\u7684\u5361\u7c7b\u578b\u4e3a\uff1aNVIDIA vGPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\u3002

            NVIDIA vGPU \u914d\u989d\u7ba1\u7406 \uff1a\u914d\u7f6e\u5177\u4f53\u53ef\u4ee5\u4f7f\u7528\u7684\u914d\u989d\uff0c\u4f1a\u521b\u5efa ResourcesQuota CR\uff1a

            • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d POD \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u5e76\u4e14\u8981 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
            • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b\u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c\u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a 100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
            • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html","title":"\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5","text":"

          \u672c\u7ae0\u8282\u63d0\u4f9b\u6607\u817e NPU \u9a71\u52a8\u3001Device Plugin\u3001NPU-Exporter \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u3002

          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u652f\u6301\u7684 NPU \u578b\u53f7\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
          2. \u8bf7\u786e\u8ba4 \u5bf9\u5e94 NPU \u578b\u53f7\u6240\u8981\u6c42\u7684\u5185\u6838\u7248\u672c\u662f\u5426\u5339\u914d\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
          3. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_2","title":"\u5b89\u88c5\u6b65\u9aa4","text":"

          \u4f7f\u7528 NPU \u8d44\u6e90\u4e4b\u524d\uff0c\u9700\u8981\u5b8c\u6210\u56fa\u4ef6\u5b89\u88c5\u3001NPU \u9a71\u52a8\u5b89\u88c5\u3001 Docker Runtime \u5b89\u88c5\u3001\u7528\u6237\u521b\u5efa\u3001\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa\u4ee5\u53ca NPU Device Plugin \u5b89\u88c5\uff0c\u8be6\u60c5\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u3002

          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_3","title":"\u5b89\u88c5\u56fa\u4ef6","text":"
          1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u5185\u6838\u7248\u672c\u5728\u201c\u4e8c\u8fdb\u5236\u5b89\u88c5\u201d\u5b89\u88c5\u65b9\u5f0f\u5bf9\u5e94\u7684\u7248\u672c\u8303\u56f4\u5185\uff0c\u5219\u53ef\u4ee5\u76f4\u63a5\u5b89\u88c5NPU\u9a71\u52a8\u56fa\u4ef6\u3002
          2. \u56fa\u4ef6\u4e0e\u9a71\u52a8\u4e0b\u8f7d\u8bf7\u53c2\u8003\u56fa\u4ef6\u4e0b\u8f7d\u5730\u5740
          3. \u56fa\u4ef6\u5b89\u88c5\u8bf7\u53c2\u8003\u5b89\u88c5 NPU \u9a71\u52a8\u56fa\u4ef6
          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#npu_1","title":"\u5b89\u88c5 NPU \u9a71\u52a8","text":"
          1. \u5982\u9a71\u52a8\u672a\u5b89\u88c5\uff0c\u8bf7\u53c2\u8003\u6607\u817e\u5b98\u65b9\u6587\u6863\u8fdb\u884c\u5b89\u88c5\u3002\u4f8b\u5982 Ascend910\uff0c\u53c2\u8003 910 \u9a71\u52a8\u5b89\u88c5\u6587\u6863\u3002
          2. \u8fd0\u884c npu-smi info \u547d\u4ee4\uff0c\u5e76\u4e14\u80fd\u591f\u6b63\u5e38\u8fd4\u56de NPU \u4fe1\u606f\uff0c\u8868\u793a NPU \u9a71\u52a8\u4e0e\u56fa\u4ef6\u5df2\u5c31\u7eea\u3002
          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#docker-runtime","title":"\u5b89\u88c5 Docker Runtime","text":"
          1. \u4e0b\u8f7d Ascend Docker Runtime

            \u793e\u533a\u7248\u4e0b\u8f7d\u5730\u5740\uff1ahttps://www.hiascend.com/zh/software/mindx-dl/community

            wget -c https://mindx.obs.cn-south-1.myhuaweicloud.com/OpenSource/MindX/MindX%205.0.RC2/MindX%20DL%205.0.RC2/Ascend-docker-runtime_5.0.RC2_linux-x86_64.run\n

            \u5b89\u88c5\u5230\u6307\u5b9a\u8def\u5f84\u4e0b\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b\u4e24\u6761\u547d\u4ee4\uff0c\u53c2\u6570\u4e3a\u6307\u5b9a\u7684\u5b89\u88c5\u8def\u5f84:

            chmod u+x Ascend-docker-runtime_5.0.RC2_linux-x86_64.run \n./Ascend-docker-runtime_{version}_linux-{arch}.run --install --install-path=<path>\n
          2. \u4fee\u6539 containerd \u914d\u7f6e\u6587\u4ef6

            containerd \u65e0\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u65f6\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b3\u6761\u547d\u4ee4\uff0c\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\uff1a

            mkdir /etc/containerd \ncontainerd config default > /etc/containerd/config.toml \nvim /etc/containerd/config.toml\n

            containerd \u6709\u914d\u7f6e\u6587\u4ef6\u65f6\uff1a

            vim /etc/containerd/config.toml\n

            \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4fee\u6539 runtime \u7684\u5b89\u88c5\u8def\u5f84\uff0c\u4e3b\u8981\u4fee\u6539 runtime \u5b57\u6bb5\uff1a

            ... \n[plugins.\"io.containerd.monitor.v1.cgroups\"]\n   no_prometheus = false  \n[plugins.\"io.containerd.runtime.v1.linux\"]\n   shim = \"containerd-shim\"\n   runtime = \"/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime\"\n   runtime_root = \"\"\n   no_shim = false\n   shim_debug = false\n [plugins.\"io.containerd.runtime.v2.task\"]\n   platforms = [\"linux/amd64\"]\n...\n

            \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u91cd\u542f containerd\uff1a

            systemctl restart containerd\n
          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_4","title":"\u7528\u6237\u521b\u5efa","text":"

          \u5728\u5bf9\u5e94\u7ec4\u4ef6\u5b89\u88c5\u7684\u8282\u70b9\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa\u7528\u6237\u3002

          # Ubuntu \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /usr/sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n# Centos \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n
          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_5","title":"\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa","text":"

          \u5728\u5bf9\u5e94\u8282\u70b9\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u548c\u5404\u7ec4\u4ef6\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5e76\u8bbe\u7f6e\u76ee\u5f55\u5bf9\u5e94\u5c5e\u4e3b\u548c\u6743\u9650\u3002\u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u3002

          mkdir -m 755 /var/log/mindx-dl\nchown root:root /var/log/mindx-dl\n

          \u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa Device Plugin \u7ec4\u4ef6\u65e5\u5fd7\u76ee\u5f55\u3002

          mkdir -m 750 /var/log/mindx-dl/devicePlugin\nchown root:root /var/log/mindx-dl/devicePlugin\n

          Note

          \u8bf7\u5206\u522b\u4e3a\u6240\u9700\u7ec4\u4ef6\u521b\u5efa\u5bf9\u5e94\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5f53\u524d\u6848\u4f8b\u4e2d\u53ea\u9700\u8981 Device Plugin \u7ec4\u4ef6\u3002 \u5982\u679c\u6709\u5176\u4ed6\u7ec4\u4ef6\u9700\u6c42\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863

          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#label","title":"\u521b\u5efa\u8282\u70b9 Label","text":"

          \u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\u5728\u5bf9\u5e94\u8282\u70b9\u4e0a\u521b\u5efa Label\uff1a

          # \u5728\u5b89\u88c5\u4e86\u9a71\u52a8\u7684\u8ba1\u7b97\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} huawei.com.ascend/Driver=installed\nkubectl label node {nodename} node-role.kubernetes.io/worker=worker\nkubectl label node {nodename} workerselector=dls-worker-node\nkubectl label node {nodename} host-arch=huawei-arm //\u6216\u8005host-arch=huawei-x86 \uff0c\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\nkubectl label node {nodename} accelerator=huawei-Ascend910 //\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u9009\u62e9\n# \u5728\u63a7\u5236\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} masterselector=dls-master-node\n
          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#device-plugin-npuexporter","title":"\u5b89\u88c5 Device Plugin \u548c NpuExporter","text":"

          \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 ascend-mindxdl \u3002

          • DevicePlugin \uff1a\u901a\u8fc7\u63d0\u4f9b\u901a\u7528\u8bbe\u5907\u63d2\u4ef6\u673a\u5236\u548c\u6807\u51c6\u7684\u8bbe\u5907API\u63a5\u53e3\uff0c\u4f9bKubernetes\u4f7f\u7528\u8bbe\u5907\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
          • NpuExporter \uff1a\u57fa\u4e8ePrometheus/Telegraf\u751f\u6001\uff0c\u8be5\u7ec4\u4ef6\u63d0\u4f9b\u63a5\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u80fd\u591f\u5173\u6ce8\u5230\u6607\u817e\u7cfb\u5217AI\u5904\u7406\u5668\u4ee5\u53ca\u5bb9\u5668\u7ea7\u5206\u914d\u72b6\u6001\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
          • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b NPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 ascend-mindxdl \u5b89\u88c5\u5931\u8d25\u3002
          • isVirtualMachine \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5982\u679c NPU \u8282\u70b9\u4e3a\u865a\u62df\u673a\u573a\u666f\uff0c\u8bf7\u5f00\u542f\u00a0isVirtualMachine \u53c2\u6570\u3002

          \u5b89\u88c5\u6210\u529f\u540e\uff0c\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u4f1a\u51fa\u73b0\u4e24\u4e2a\u7ec4\u4ef6\uff0c\u5982\u4e0b\u56fe\uff1a

          \u540c\u65f6\u8282\u70b9\u4fe1\u606f\u4e0a\u4e5f\u4f1a\u51fa\u73b0\u5bf9\u5e94 NPU \u7684\u4fe1\u606f\uff1a

          \u4e00\u5207\u5c31\u7eea\u540e\uff0c\u6211\u4eec\u901a\u8fc7\u9875\u9762\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5c31\u80fd\u591f\u9009\u62e9\u5230\u5bf9\u5e94\u7684 NPU \u8bbe\u5907\uff0c\u5982\u4e0b\u56fe\uff1a

          Note

          \u6709\u5173\u8be6\u7ec6\u4f7f\u7528\u6b65\u9aa4\uff0c\u8bf7\u53c2\u7167\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU\u3002

          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_usage.html","title":"\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU","text":"

          \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4f7f\u7528\u6607\u817e GPU\u3002

          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
          • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5185 NPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002

          \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_usage.html#_2","title":"\u5feb\u901f\u4f7f\u7528","text":"

          \u672c\u6587\u4f7f\u7528\u6607\u817e\u793a\u4f8b\u5e93\u4e2d\u7684 AscentCL \u56fe\u7247\u5206\u7c7b\u5e94\u7528\u793a\u4f8b\u3002

          1. \u4e0b\u8f7d\u6607\u817e\u4ee3\u7801\u5e93

            \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u4e0b\u8f7d\u6607\u817e Demo \u793a\u4f8b\u4ee3\u7801\u5e93\uff0c\u5e76\u4e14\u8bf7\u8bb0\u4f4f\u4ee3\u7801\u5b58\u653e\u7684\u4f4d\u7f6e\uff0c\u540e\u7eed\u9700\u8981\u4f7f\u7528\u3002

            git clone https://gitee.com/ascend/samples.git\n
          2. \u51c6\u5907\u57fa\u7840\u955c\u50cf

            \u6b64\u4f8b\u4f7f\u7528 Ascent-pytorch \u57fa\u7840\u955c\u50cf\uff0c\u53ef\u8bbf\u95ee\u6607\u817e\u955c\u50cf\u4ed3\u5e93\u83b7\u53d6\u3002

          3. \u51c6\u5907 YAML

            ascend-demo.yaml
            apiVersion: batch/v1\nkind: Job\nmetadata:\n  name: resnetinfer1-1-1usoc\nspec:\n  template:\n    spec:\n      containers:\n        - image: ascendhub.huawei.com/public-ascendhub/ascend-pytorch:23.0.RC2-ubuntu18.04 # Inference image name\n          imagePullPolicy: IfNotPresent\n          name: resnet50infer\n          securityContext:\n            runAsUser: 0\n          command:\n            - \"/bin/bash\"\n            - \"-c\"\n            - |\n              source /usr/local/Ascend/ascend-toolkit/set_env.sh &&\n              TEMP_DIR=/root/samples_copy_$(date '+%Y%m%d_%H%M%S_%N') &&\n              cp -r /root/samples \"$TEMP_DIR\" &&\n              cd \"$TEMP_DIR\"/inference/modelInference/sampleResnetQuickStart/python/model &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/resnet50/resnet50.onnx &&\n              atc --model=resnet50.onnx --framework=5 --output=resnet50 --input_shape=\"actual_input_1:1,3,224,224\"  --soc_version=Ascend910 &&\n              cd ../data &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg &&\n              cd ../scripts &&\n              bash sample_run.sh\n          resources:\n            requests:\n              huawei.com/Ascend910: 1 # Number of the Ascend 910 Processors\n            limits:\n              huawei.com/Ascend910: 1 # The value should be the same as that of requests\n          volumeMounts:\n            - name: hiai-driver\n              mountPath: /usr/local/Ascend/driver\n              readOnly: true\n            - name: slog\n              mountPath: /var/log/npu/conf/slog/slog.conf\n            - name: localtime # The container time must be the same as the host time\n              mountPath: /etc/localtime\n            - name: dmp\n              mountPath: /var/dmp_daemon\n            - name: slogd\n              mountPath: /var/slogd\n            - name: hbasic\n              mountPath: /etc/hdcBasic.cfg\n            - name: sys-version\n              mountPath: /etc/sys_version.conf\n            - name: aicpu\n              mountPath: /usr/lib64/aicpu_kernels\n            - name: tfso\n              mountPath: /usr/lib64/libtensorflow.so\n            - name: sample-path\n              mountPath: /root/samples\n      volumes:\n        - name: hiai-driver\n          hostPath:\n            path: /usr/local/Ascend/driver\n        - name: slog\n          hostPath:\n            path: /var/log/npu/conf/slog/slog.conf\n        - name: localtime\n          hostPath:\n            path: /etc/localtime\n        - name: dmp\n          hostPath:\n            path: /var/dmp_daemon\n        - name: slogd\n          hostPath:\n            path: /var/slogd\n        - name: hbasic\n          hostPath:\n            path: /etc/hdcBasic.cfg\n        - name: sys-version\n          hostPath:\n            path: /etc/sys_version.conf\n        - name: aicpu\n          hostPath:\n            path: /usr/lib64/aicpu_kernels\n        - name: tfso\n          hostPath:\n            path: /usr/lib64/libtensorflow.so\n        - name: sample-path\n          hostPath:\n            path: /root/samples\n      restartPolicy: OnFailure\n

            \u4ee5\u4e0a YAML \u4e2d\u6709\u4e00\u4e9b\u5b57\u6bb5\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u4fee\u6539\uff1a

            1. atc ... --soc_version=Ascend910 \u4f7f\u7528\u7684\u662f Ascend910 \uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u4e3b \u60a8\u53ef\u4ee5\u4f7f\u7528 npu-smi info \u547d\u4ee4\u67e5\u770b\u663e\u5361\u578b\u53f7\u7136\u540e\u52a0\u4e0a Ascend \u524d\u7f00\u5373\u53ef
            2. samples-path \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
            3. resources \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
          4. \u90e8\u7f72 Job \u5e76\u67e5\u770b\u7ed3\u679c

            \u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u521b\u5efa Job\uff1a

            kubectl apply -f ascend-demo.yaml\n

            \u67e5\u770b Pod \u8fd0\u884c\u72b6\u6001\uff1a

            Pod \u6210\u529f\u8fd0\u884c\u540e\uff0c\u67e5\u770b\u65e5\u5fd7\u7ed3\u679c\u3002\u5728\u5c4f\u5e55\u4e0a\u7684\u5173\u952e\u63d0\u793a\u4fe1\u606f\u793a\u4f8b\u5982\u4e0b\u56fe\uff0c\u63d0\u793a\u4fe1\u606f\u4e2d\u7684 Label \u8868\u793a\u7c7b\u522b\u6807\u8bc6\uff0c Conf \u8868\u793a\u8be5\u5206\u7c7b\u7684\u6700\u5927\u7f6e\u4fe1\u5ea6\uff0cClass \u8868\u793a\u6240\u5c5e\u7c7b\u522b\u3002\u8fd9\u4e9b\u503c\u53ef\u80fd\u4f1a\u6839\u636e\u7248\u672c\u3001\u73af\u5883\u6709\u6240\u4e0d\u540c\uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6\uff1a

            \u7ed3\u679c\u56fe\u7247\u5c55\u793a\uff1a

          "},{"location":"kpanda/user-guide/gpu/ascend/ascend_usage.html#_3","title":"\u754c\u9762\u4f7f\u7528","text":"
          1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Ascend \u3002

          2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Ascend\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

            \u7269\u7406\u5361\u6570\u91cf\uff08huawei.com/Ascend910\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14**\u5c0f\u4e8e\u7b49\u4e8e**\u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

            \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

          "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html","title":"\u542f\u7528\u6607\u817e\u865a\u62df\u5316","text":"

          \u6607\u817e\u865a\u62df\u5316\u5206\u4e3a\u52a8\u6001\u865a\u62df\u5316\u548c\u9759\u6001\u865a\u62df\u5316\uff0c\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f\u5e76\u4f7f\u7528\u6607\u817e\u9759\u6001\u865a\u62df\u5316\u80fd\u529b\u3002

          "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • Kubernetes \u96c6\u7fa4\u73af\u5883\u642d\u5efa\u3002
          • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
          • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
          • \u652f\u6301\u7684 NPU \u5361\u578b\u53f7\uff1a

            • Ascend 310P\uff0c\u5df2\u9a8c\u8bc1
            • Ascend 910b\uff0820 \u6838\uff09\uff0c\u5df2\u9a8c\u8bc1
            • Ascend 910\uff0832 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1
            • Ascend 910\uff0830 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1

            \u66f4\u591a\u7ec6\u8282\u53c2\u9605\u5b98\u65b9\u865a\u62df\u5316\u786c\u4ef6\u8bf4\u660e\u3002

          \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

          "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#_3","title":"\u5f00\u542f\u865a\u62df\u5316\u80fd\u529b","text":"

          \u5f00\u542f\u865a\u62df\u5316\u80fd\u529b\u9700\u8981\u624b\u52a8\u4fee\u6539\u00a0ascend-device-plugin-daemonset \u7ec4\u4ef6\u7684\u542f\u52a8\u53c2\u6570\uff0c\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

          - device-plugin -useAscendDocker=true -volcanoType=false -presetVirtualDevice=true\n- logFile=/var/log/mindx-dl/devicePlugin/devicePlugin.log -logLevel=0\n
          "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#vnpu","title":"\u5207\u5206 VNPU \u5b9e\u4f8b","text":"

          \u9759\u6001\u865a\u62df\u5316\u9700\u8981\u624b\u52a8\u5bf9 VNPU \u5b9e\u4f8b\u7684\u5207\u5206\uff0c\u8bf7\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

          npu-smi set -t create-vnpu -i 13 -c 0 -f vir02\n
          • i \u6307\u7684\u662f card id
          • c \u6307\u7684\u662f chip id
          • vir02 \u6307\u7684\u662f\u5207\u5206\u89c4\u683c\u6a21\u677f

          \u5173\u4e8e card id \u548c chip id\uff0c\u53ef\u4ee5\u901a\u8fc7 npu-smi info \u67e5\u8be2\uff0c\u5207\u5206\u89c4\u683c\u53ef\u901a\u8fc7 ascend \u5b98\u65b9\u6a21\u677f\u8fdb\u884c\u67e5\u8be2\u3002

          \u5207\u5206\u5b9e\u4f8b\u8fc7\u540e\u53ef\u901a\u8fc7\u4e0b\u8ff0\u547d\u4ee4\u67e5\u8be2\u5207\u5206\u7ed3\u679c\uff1a

          npu-smi info -t info-vnpu -i 13 -c 0\n

          \u67e5\u8be2\u7ed3\u679c\u5982\u4e0b\uff1a

          "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#ascend-device-plugin-daemonset","title":"\u91cd\u542f\u00a0ascend-device-plugin-daemonset","text":"

          \u5207\u5206\u5b9e\u4f8b\u540e\u624b\u52a8\u91cd\u542f device-plugin pod\uff0c\u7136\u540e\u4f7f\u7528 kubectl describe \u547d\u4ee4\u67e5\u770b\u5df2\u6ce8\u518c node \u7684\u8d44\u6e90\uff1a

          kubectl describe node {{nodename}}\n

          "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#_4","title":"\u5982\u4f55\u4f7f\u7528\u8bbe\u5907","text":"

          \u5728\u521b\u5efa\u5e94\u7528\u65f6\uff0c\u6307\u5b9a\u8d44\u6e90 key\uff0c\u53c2\u8003\u4e0b\u8ff0 YAML\uff1a

          ......\nresources:\n  requests:\n    huawei.com/Ascend310P-2c: 1\n  limits:\n    huawei.com/Ascend310P-2c: 1\n......\n
          "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html","title":"\u6c90\u66e6 GPU \u7ec4\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528","text":"

          \u672c\u7ae0\u8282\u63d0\u4f9b\u6c90\u66e6 gpu-extensions\u3001gpu-operator \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u548c\u6c90\u66e6 GPU \u6574\u5361\u548c vGPU \u4e24\u79cd\u6a21\u5f0f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002

          "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          1. \u5df2\u5728\u6c90\u66e6\u8f6f\u4ef6\u4e2d\u5fc3\u4e0b\u8f7d\u5e76\u5b89\u88c5\u6240\u9700\u7684 tar \u5305\uff0c \u672c\u6587\u4ee5 metax-gpu-k8s-package.0.7.10.tar.gz \u4e3a\u4f8b\u3002
          2. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
          "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#_2","title":"\u7ec4\u4ef6\u4ecb\u7ecd","text":"

          Metax \u63d0\u4f9b\u4e86\u4e24\u4e2a helm-chart \u5305\uff0c\u4e00\u4e2a\u662f metax-extensions\uff0c\u4e00\u4e2a\u662f gpu-operator\uff0c\u6839\u636e\u4f7f\u7528\u573a\u666f\u53ef\u9009\u62e9\u5b89\u88c5\u4e0d\u540c\u7684\u7ec4\u4ef6\u3002

          1. Metax-extensions\uff1a\u5305\u542b gpu-device \u548c gpu-label \u4e24\u4e2a\u7ec4\u4ef6\u3002\u5728\u4f7f\u7528 Metax-extensions \u65b9\u6848\u65f6\uff0c\u7528\u6237\u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u9700\u8981\u57fa\u4e8e MXMACA\u00ae \u57fa\u7840\u955c\u50cf\u6784\u5efa\u3002\u4e14 Metax-extensions \u4ec5\u9002\u7528\u4e8e GPU \u6574\u5361\u4f7f\u7528\u573a\u666f\u3002
          2. gpu-operator\uff1a\u5305\u542b gpu-device\u3001gpu-label\u3001driver-manager\u3001container-runtime\u3001operator-controller \u8fd9\u4e9b\u7ec4\u4ef6\u3002 \u4f7f\u7528 gpu-operator \u65b9\u6848\u65f6\uff0c\u7528\u6237\u53ef\u9009\u62e9\u5236\u4f5c\u4e0d\u5305\u542b MXMACA\u00ae SDK \u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u3002gpu-operator \u9002\u7528\u4e8e GPU \u6574\u5361\u548c vGPU \u573a\u666f\u3002
          "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u4ece /home/metax/metax-docs/k8s/metax-gpu-k8s-package.0.7.10.tar.gz \u6587\u4ef6\u4e2d\u89e3\u538b\u51fa

            • deploy-gpu-extensions.yaml # \u90e8\u7f72yaml
            • metax-gpu-extensions-0.7.10.tgz\u3001metax-operator-0.7.10.tgz # helm chart\u6587\u4ef6
            • metax-k8s-images.0.7.10.run # \u79bb\u7ebf\u955c\u50cf
          2. \u67e5\u770b\u7cfb\u7edf\u662f\u5426\u5b89\u88c5\u9a71\u52a8

            $ lsmod | grep metax \nmetax 1605632 0 \nttm 86016 3 drm_vram_helper,metax,drm_ttm_helper \ndrm 618496 7 drm_kms_helper,drm_vram_helper,ast,metax,drm_ttm_helper,ttm\n
            • \u5982\u6ca1\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5c31\u8868\u793a\u6ca1\u6709\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002\u5982\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5219\u8868\u793a\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002
            • \u4f7f\u7528 metax-opeartor \u65f6\uff0c\u4e0d\u63a8\u8350\u5728\u5de5\u4f5c\u8282\u70b9\u9884\u5b89\u88c5 MXMACA \u5185\u6838\u6001\u9a71\u52a8\uff0c\u82e5\u5df2\u5b89\u88c5\u4e5f\u65e0\u9700\u5378\u8f7d\u3002
          3. \u5b89\u88c5\u9a71\u52a8

          "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#gpu-extensions","title":"gpu-extensions","text":"
          1. \u63a8\u9001\u955c\u50cf

            tar -xf metax-gpu-k8s-package.0.7.10.tar.gz\n./metax-k8s-images.0.7.10.run push {registry}/metax\n
          2. \u63a8\u9001 Helm Chart

            helm plugin install https://github.com/chartmuseum/helm-push\nhelm repo add  --username rootuser --password rootpass123  metax http://172.16.16.5:8081\nhelm cm-push metax-operator-0.7.10.tgz metax\nhelm cm-push metax-gpu-extensions-0.7.10.tgz metax\n
          3. \u5728 DCE 5.0 \u5e73\u53f0\u4e0a\u5b89\u88c5 metax-gpu-extensions

            \u90e8\u7f72\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u67e5\u770b\u5230\u8d44\u6e90\u3002

          4. \u4fee\u6539\u6210\u529f\u4e4b\u540e\u5c31\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u770b\u5230\u5e26\u6709 Metax GPU \u7684\u6807\u7b7e

          "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#gpu-operator","title":"gpu-operator","text":"

          \u5b89\u88c5 gpu-opeartor \u65f6\u7684\u5df2\u77e5\u95ee\u9898\uff1a

          1. metax-operator\u3001gpu-label\u3001gpu-device \u3001container-runtime \u8fd9\u51e0\u4e2a\u7ec4\u4ef6\u955c\u50cf\u8981\u5e26\u6709 amd64 \u540e\u7f00\u3002

          2. metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u4e0d\u5728 metax-k8s-images.0.7.13.run \u5305\u91cc\u9762\uff0c\u9700\u8981\u5355\u72ec\u4e0b\u8f7d maca-mxc500-2.23.0.23-ubuntu20.04-x86_64.tar.xz \u8fd9\u7c7b\u955c\u50cf\uff0cload \u4e4b\u540e\u91cd\u65b0\u4fee\u6539 metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u3002

          3. metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u9700\u8981\u4ece https://pub-docstore.metax-tech.com:7001 \u8fd9\u4e2a\u7f51\u7ad9\u4e0b\u8f7d k8s-driver-image.2.23.0.25.run \u6587\u4ef6\uff0c\u7136\u540e\u6267\u884c k8s-driver-image.2.23.0.25.run push {registry}/metax \u547d\u4ee4\u628a\u955c\u50cf\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u3002\u63a8\u9001\u4e4b\u540e\u4fee\u6539 metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u5730\u5740\u3002

          "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#gpu_1","title":"\u4f7f\u7528 GPU","text":"

          \u5b89\u88c5\u540e\u53ef\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u4f7f\u7528\u6c90\u66e6 GPU\u3002\u6ce8\u610f\u542f\u7528 GPU \u540e\uff0c\u9700\u9009\u62e9GPU\u7c7b\u578b\u4e3a Metax GPU

          \u8fdb\u5165\u5bb9\u5668\uff0c\u6267\u884c mx-smi \u53ef\u67e5\u770b GPU \u7684\u4f7f\u7528\u60c5\u51b5.

          "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html","title":"\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU","text":"

          \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u4e2d\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU\u3002

          "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
          • \u5df2\u7ecf\u90e8\u7f72 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5bd2\u6b66\u7eaa\u56fa\u4ef6\u3001\u9a71\u52a8\u4ee5\u53caDevicePlugin\u7ec4\u4ef6\uff0c\u5b89\u88c5\u8be6\u60c5\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff1a
            • \u9a71\u52a8\u56fa\u4ef6\u5b89\u88c5
            • DevicePlugin \u5b89\u88c5

          \u5728\u5b89\u88c5 DevicePlugin \u65f6\u8bf7\u5173\u95ed --enable-device-type \u53c2\u6570\uff0c\u5426\u5219 DCE5.0 \u5c06\u65e0\u6cd5\u6b63\u786e\u8bc6\u522b\u5bd2\u6b66\u7eaa GPU\u3002

          "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html#gpu_1","title":"\u5bd2\u6b66\u7eaa GPU \u6a21\u5f0f\u4ecb\u7ecd","text":"

          \u5bd2\u6b66\u7eaa GPU \u6709\u4ee5\u4e0b\u51e0\u79cd\u6a21\u5f0f\uff1a

          • \u6574\u5361\u6a21\u5f0f\uff1a\u5c06\u5bd2\u6b66\u7eaaGPU\u4ee5\u6574\u5361\u7684\u65b9\u5f0f\u6ce8\u518c\u5230\u96c6\u7fa4\u5f53\u4e2d\u8fdb\u884c\u4f7f\u7528\u3002
          • Share \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u4e00\u5f20\u5bd2\u6b66\u7eaaGPU\u5171\u4eab\u7ed9\u591a\u4e2a Pod \u8fdb\u884c\u4f7f\u7528\uff0c\u53ef\u4ee5\u901a\u8fc7 virtualization-num \u53c2\u6570\u8fdb\u884c\u8bbe\u7f6e\u53ef\u5171\u4eab\u5bb9\u5668\u7684\u6570\u91cf\u3002
          • Dynamic smlu \u6a21\u5f0f\uff1a\u8fdb\u4e00\u6b65\u5bf9\u8d44\u6e90\u8fdb\u884c\u4e86\u7ec6\u5316\uff0c\u53ef\u4ee5\u63a7\u5236\u5206\u914d\u7ed9\u5bb9\u5668\u7684\u663e\u5b58\u3001\u7b97\u529b\u7684\u5927\u5c0f\u3002
          • Mim \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u5bd2\u6b66\u7eaa GPU \u6309\u7167\u56fa\u5b9a\u7684\u89c4\u683c\u5207\u5206\u6210\u591a\u5f20 GPU \u8fdb\u884c\u4f7f\u7528\u3002
          "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html#dce-50","title":"DCE 5.0 \u4f7f\u7528\u5bd2\u6b66\u7eaa","text":"

          \u8fd9\u91cc\u4ee5 Dynamic smlu \u6a21\u5f0f\u4e3a\u4f8b\uff1a

          1. \u5728\u6b63\u786e\u5b89\u88c5 DevicePlugin \u7b49\u7ec4\u4ef6\u540e\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8fd0\u7ef4-> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002

          2. \u70b9\u51fb\u8282\u70b9\u7ba1\u7406\u9875\u9762\uff0c\u67e5\u770b\u8282\u70b9\u662f\u5426\u5df2\u7ecf\u6b63\u786e\u8bc6\u522b\u5230\u5bf9\u5e94\u7684GPU\u7c7b\u578b\u3002

          3. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08MLU VGPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

            • GPU \u7b97\u529b\uff08cambricon.com/mlu.smlu.vcore\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u4f7f\u7528\u6838\u5fc3\u7684\u767e\u5206\u6bd4\u6570\u91cf\u3002
            • GPU \u663e\u5b58\uff08cambricon.com/mlu.smlu.vmemory\uff09\uff1a\u8868\u793a\u5f53\u524dPod\u9700\u8981\u4f7f\u7528\u663e\u5b58\u7684\u5927\u5c0f\uff0c\u5355\u4f4d\u662fMB\u3002

          "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

          \u53c2\u8003 YAML \u6587\u4ef6\u5982\u4e0b\uff1a

          apiVersion: v1  \nkind: Pod  \nmetadata:  \n  name: pod1  \nspec:  \n  restartPolicy: OnFailure  \n  containers:  \n    - image: ubuntu:16.04  \n      name: pod1-ctr  \n      command: [\"sleep\"]  \n      args: [\"100000\"]  \n      resources:  \n        limits:  \n          cambricon.com/mlu: \"1\" # use this when device type is not enabled, else delete this line.  \n          #cambricon.com/mlu: \"1\" #uncomment to use when device type is enabled  \n          #cambricon.com/mlu.share: \"1\" #uncomment to use device with env-share mode  \n          #cambricon.com/mlu.mim-2m.8gb: \"1\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vcore: \"100\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vmemory: \"1024\" #uncomment to use device with mim mode\n
          "},{"location":"kpanda/user-guide/gpu/nvidia/index.html","title":"NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f","text":"

          NVIDIA \u4f5c\u4e3a\u4e1a\u5185\u77e5\u540d\u7684\u56fe\u5f62\u8ba1\u7b97\u4f9b\u5e94\u5546\uff0c\u4e3a\u7b97\u529b\u7684\u63d0\u5347\u63d0\u4f9b\u4e86\u8bf8\u591a\u8f6f\u786c\u4ef6\u89e3\u51b3\u65b9\u6848\uff0c\u5176\u4e2d NVIDIA \u5728 GPU \u7684\u4f7f\u7528\u65b9\u5f0f\u4e0a\u63d0\u4f9b\u4e86\u5982\u4e0b\u4e09\u79cd\u89e3\u51b3\u65b9\u6848\uff1a

          "},{"location":"kpanda/user-guide/gpu/nvidia/index.html#full-gpu","title":"\u6574\u5361\uff08Full GPU\uff09","text":"

          \u6574\u5361\u662f\u6307\u5c06\u6574\u4e2a NVIDIA GPU \u5206\u914d\u7ed9\u5355\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u3002\u5728\u8fd9\u79cd\u914d\u7f6e\u4e0b\uff0c\u5e94\u7528\u53ef\u4ee5\u5b8c\u5168\u5360\u7528 GPU \u7684\u6240\u6709\u8d44\u6e90\uff0c \u5e76\u83b7\u5f97\u6700\u5927\u7684\u8ba1\u7b97\u6027\u80fd\u3002\u6574\u5361\u9002\u7528\u4e8e\u9700\u8981\u5927\u91cf\u8ba1\u7b97\u8d44\u6e90\u548c\u5185\u5b58\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5982\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

          "},{"location":"kpanda/user-guide/gpu/nvidia/index.html#vgpuvirtual-gpu","title":"vGPU\uff08Virtual GPU\uff09","text":"

          vGPU \u662f\u4e00\u79cd\u865a\u62df\u5316\u6280\u672f\uff0c\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u865a\u62df GPU\uff0c\u6bcf\u4e2a\u865a\u62df GPU \u5206\u914d\u7ed9\u4e0d\u540c\u7684\u865a\u62df\u673a\u6216\u7528\u6237\u3002 vGPU \u4f7f\u591a\u4e2a\u7528\u6237\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u53f0\u7269\u7406 GPU\uff0c\u5e76\u5728\u5404\u81ea\u7684\u865a\u62df\u73af\u5883\u4e2d\u72ec\u7acb\u4f7f\u7528 GPU \u8d44\u6e90\u3002 \u6bcf\u4e2a\u865a\u62df GPU \u53ef\u4ee5\u83b7\u5f97\u4e00\u5b9a\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002vGPU \u9002\u7528\u4e8e\u865a\u62df\u5316\u73af\u5883\u548c\u4e91\u8ba1\u7b97\u573a\u666f\uff0c\u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8d44\u6e90\u5229\u7528\u7387\u548c\u7075\u6d3b\u6027\u3002

          "},{"location":"kpanda/user-guide/gpu/nvidia/index.html#migmulti-instance-gpu","title":"MIG\uff08Multi-Instance GPU\uff09","text":"

          MIG \u662f NVIDIA Ampere \u67b6\u6784\u5f15\u5165\u7684\u4e00\u9879\u529f\u80fd\uff0c\u5b83\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u7269\u7406 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u7528\u6237\u6216\u5de5\u4f5c\u8d1f\u8f7d\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u5177\u6709\u81ea\u5df1\u7684\u8ba1\u7b97\u8d44\u6e90\u3001\u663e\u5b58\u548c PCIe \u5e26\u5bbd\uff0c\u5c31\u50cf\u4e00\u4e2a\u72ec\u7acb\u7684\u865a\u62df GPU\u3002 MIG \u63d0\u4f9b\u4e86\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u52a8\u6001\u8c03\u6574\u5b9e\u4f8b\u7684\u6570\u91cf\u548c\u5927\u5c0f\u3002 MIG \u9002\u7528\u4e8e\u591a\u79df\u6237\u73af\u5883\u3001\u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f\u548c\u6279\u5904\u7406\u4f5c\u4e1a\u7b49\u573a\u666f\u3002

          \u65e0\u8bba\u662f\u5728\u865a\u62df\u5316\u73af\u5883\u4e2d\u4f7f\u7528 vGPU\uff0c\u8fd8\u662f\u5728\u7269\u7406 GPU \u4e0a\u4f7f\u7528 MIG\uff0cNVIDIA \u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u9009\u62e9\u548c\u4f18\u5316 GPU \u8d44\u6e90\u7684\u65b9\u5f0f\u3002 Daocloud \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5168\u9762\u517c\u5bb9\u4e86\u4e0a\u8ff0 NVIDIA \u7684\u80fd\u529b\u7279\u6027\uff0c\u7528\u6237\u53ea\u9700\u901a\u8fc7\u7b80\u5355\u7684\u754c\u9762\u64cd\u4f5c\uff0c\u5c31\u80fd\u591f\u83b7\u5f97\u5168\u90e8 NVIDIA GPU \u7684\u8ba1\u7b97\u80fd\u529b\uff0c\u4ece\u800c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387\u5e76\u964d\u4f4e\u6210\u672c\u3002

          • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\uff0c\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a
            • \u5c5e\u4e8e\u540c\u4e00\u4e2a\u578b\u53f7\uff08\u4f8b\u5982 A100-SXM-40GB\uff09\uff0c\u53ea\u6709\u540c\u4e00\u578b\u53f7 GPU \u7684 MIG Profile \u624d\u662f\u4e00\u6837\u7684
            • \u542f\u7528 MIG \u914d\u7f6e\uff0c\u9700\u8981\u91cd\u542f\u673a\u5668\u624d\u80fd\u751f\u6548
            • \u4e3a\u5728\u6240\u6709\u4ea7\u54c1\u4e2d\u516c\u5f00\u201c\u5b8c\u5168\u76f8\u540c\u201d\u7684 MIG \u8bbe\u5907\u7c7b\u578b\uff0c\u521b\u5efa\u76f8\u540c\u7684GI \u548c CI
          • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002\u8bf7\u6c42\u7279\u5b9a\u7684 MIG \u8bbe\u5907\u7c7b\u578b\u9700\u8981\u8bbe\u5907\u7c7b\u578b\u63d0\u4f9b\u7684\u8ba1\u7b97\u5207\u7247\u6570\u91cf\u548c\u5185\u5b58\u603b\u91cf\u3002
            • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
            • \u6bcf\u4e2a GPU \u53ef\u542f\u7528\u6216\u4e0d\u542f\u7528 MIG\uff0c\u5e76\u4e14\u53ef\u4ee5\u81ea\u7531\u914d\u7f6e\u4efb\u4f55\u53ef\u7528 MIG \u8bbe\u5907\u7c7b\u578b\u7684\u6df7\u5408\u642d\u914d\u3002
            • \u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 k8s-device-plugin \u5c06\uff1a
              • \u4f7f\u7528\u4f20\u7edf\u7684 nvidia.com/gpu \u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u4efb\u4f55\u4e0d\u5904\u4e8e MIG \u6a21\u5f0f\u7684 GPU
              • \u4f7f\u7528\u9075\u5faa\u67b6\u6784 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                \u5f00\u542f\u914d\u7f6e\u8be6\u60c5\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/index.html#_1","title":"\u5982\u4f55\u4f7f\u7528","text":"

                \u60a8\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u94fe\u63a5\uff0c\u5feb\u901f\u4f7f\u7528 Daocloud \u5173\u4e8e NVIDIA GPU \u5361\u7684\u7ba1\u7406\u80fd\u529b\u3002

                • NVIDIA GPU \u6574\u5361\u4f7f\u7528
                • NVIDIA vGPU \u4f7f\u7528
                • NVIDIA MIG \u4f7f\u7528
                "},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html","title":"\u5e94\u7528\u4f7f\u7528 GPU \u6574\u5361","text":"

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u5c06\u6574\u4e2a NVIDIA GPU \u5361\u5206\u914d\u7ed9\u5355\u4e2a\u5e94\u7528\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5df2\u7ecf\u90e8\u7f72 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                • \u5f53\u524d\u96c6\u7fa4\u5df2\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u5e76\u5df2\u542f\u7528 NVIDIA DevicePlugin \uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002
                "},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html#ui","title":"\u4f7f\u7528 UI \u754c\u9762\u914d\u7f6e","text":"
                1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia GPU \u3002

                2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia GPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                  \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/gpu\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                  \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/gpu: 1 \u53c2\u6570\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-gpu-demo\n    spec:\n      containers:\n      - image: chrstnhntschl/gpu_burn\n        name: container-0\n        resources:\n          requests:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # \u7533\u8bf7 GPU \u7684\u6570\u91cf\n          limits:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # GPU \u6570\u91cf\u7684\u4f7f\u7528\u4e0a\u9650\n      imagePullSecrets:\n      - name: default-secret\n

                Note

                \u4f7f\u7528 nvidia.com/gpu \u53c2\u6570\u6307\u5b9a GPU \u6570\u91cf\u65f6\uff0crequests \u548c limits \u503c\u9700\u8981\u4fdd\u6301\u4e00\u81f4\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html","title":"GPU Operator \u79bb\u7ebf\u5b89\u88c5","text":"

                DCE 5.0 \u9884\u7f6e\u4e86 Ubuntu22.04\u3001Ubuntu20.04\u3001CentOS 7.9 \u8fd9\u4e09\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\uff0c\u9a71\u52a8\u7248\u672c\u662f 535.104.12\uff1b \u5e76\u4e14\u5185\u7f6e\u4e86\u5404\u64cd\u4f5c\u7cfb\u7edf\u6240\u9700\u7684 Toolkit \u955c\u50cf\uff0c\u7528\u6237\u4e0d\u518d\u9700\u8981\u624b\u52a8\u79bb\u7ebf Toolkit \u955c\u50cf\u3002

                \u672c\u6587\u4f7f\u7528 AMD \u67b6\u6784\u7684 CentOS 7.9\uff083.10.0-1160\uff09\u8fdb\u884c\u6f14\u793a\u3002\u5982\u9700\u4f7f\u7528 Red Hat 8.4 \u90e8\u7f72\uff0c \u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u548c\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5f85\u90e8\u7f72 gpu-operator \u7684\u96c6\u7fa4\u8282\u70b9\u5185\u6838\u7248\u672c\u5fc5\u987b\u5b8c\u5168\u4e00\u81f4\u3002\u8282\u70b9\u6240\u5728\u7684\u53d1\u884c\u7248\u548c GPU \u5361\u578b\u53f7\u5728 GPU \u652f\u6301\u77e9\u9635\u7684\u8303\u56f4\u5185\u3002
                • \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305 \uff08Addon v0.20 \u53ca\u4ee5\u4e0a\u7248\u672c\u5185\u7f6e Ubuntu22.04\u3001Ubuntu20.04\u3001CentOS 7.9 \u4e09\u4e2a\u64cd\u4f5c\u7cfb\u7edf\uff09\u3002
                • \u5b89\u88c5 gpu-operator \u65f6\u9009\u62e9 v23.9.0+2 \u53ca\u4ee5\u4e0a\u7248\u672c
                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 gpu-operator \u63d2\u4ef6\u3002

                1. \u767b\u5f55\u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5f85\u5b89\u88c5 gpu-operator \u7684\u96c6\u7fa4 -> \u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\u3002

                2. \u5728 Helm \u6a21\u677f \u9875\u9762\uff0c\u9009\u62e9 \u5168\u90e8\u4ed3\u5e93 \uff0c\u641c\u7d22 gpu-operator \u3002

                3. \u9009\u62e9 gpu-operator \uff0c\u70b9\u51fb \u5b89\u88c5 \u3002

                4. \u53c2\u8003\u4e0b\u6587\u53c2\u6570\u914d\u7f6e\uff0c\u914d\u7f6e gpu-operator \u5b89\u88c5\u53c2\u6570\uff0c\u5b8c\u6210 gpu-operator \u7684\u5b89\u88c5\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_3","title":"\u53c2\u6570\u914d\u7f6e","text":"
                • systemOS \uff1a\u9009\u62e9\u673a\u5668\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5f53\u524d\u5185\u7f6e\u4e86 Ubuntu 22.04\u3001Ubuntu20.04\u3001Centos7.9 \u3001other \u56db\u4e2a\u9009\u9879\uff0c\u8bf7\u6b63\u786e\u7684\u9009\u62e9\u64cd\u4f5c\u7cfb\u7edf\u3002
                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_4","title":"\u57fa\u672c\u53c2\u6570\u914d\u7f6e","text":"
                • \u540d\u79f0 \uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\u3002
                • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u7248\u672c \uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 v23.9.0+2 \u7248\u672c\u4e3a\u4f8b\u3002
                • \u5931\u8d25\u5220\u9664 \uff1a\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                • \u5c31\u7eea\u7b49\u5f85 \uff1a\u542f\u7528\u540e\uff0c\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                • \u8be6\u60c5\u65e5\u5fd7 \uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002
                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_5","title":"\u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e","text":""},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#operator","title":"Operator \u53c2\u6570\u914d\u7f6e","text":"
                • InitContainer.image \uff1a\u914d\u7f6e CUDA \u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/cuda
                • InitContainer.repository \uff1aCUDA \u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvcr.m.daocloud.io \u4ed3\u5e93
                • InitContainer.version : CUDA \u955c\u50cf\u7684\u7248\u672c\uff0c\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570
                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#driver","title":"Driver \u53c2\u6570\u914d\u7f6e","text":"
                • Driver.enable \uff1a\u914d\u7f6e\u662f\u5426\u5728\u8282\u70b9\u4e0a\u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u5982\u679c\u60a8\u5728\u4f7f\u7528 GPU Operator \u90e8\u7f72\u524d\uff0c\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u90e8\u7f72\u4e86 NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff0c\u8bf7\u5173\u95ed\u3002\uff08\u82e5\u624b\u52a8\u90e8\u7f72\u9a71\u52a8\u7a0b\u5e8f\u9700\u8981\u5173\u6ce8 CUDA Toolkit \u4e0e Toolkit Driver Version \u7684\u9002\u914d\u5173\u7cfb\uff0c\u901a\u8fc7 GPU operator \u5b89\u88c5\u5219\u65e0\u9700\u5173\u6ce8\uff09\u3002
                • Driver.usePrecompiled \uff1a\u542f\u7528\u9884\u7f16\u8bd1\u7684GPU\u9a71\u52a8
                • Driver.image \uff1a\u914d\u7f6e GPU \u9a71\u52a8\u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/driver \u3002
                • Driver.repository \uff1aGPU \u9a71\u52a8\u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvidia \u7684 nvcr.io \u4ed3\u5e93\u3002
                • Driver.usePrecompiled \uff1a\u5f00\u542f\u9884\u7f16\u8bd1\u6a21\u5f0f\u5b89\u88c5\u9a71\u52a8\u3002
                • Driver.version \uff1aGPU \u9a71\u52a8\u955c\u50cf\u7684\u7248\u672c\uff0c\u79bb\u7ebf\u90e8\u7f72\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570\uff0c\u4ec5\u5728\u7ebf\u5b89\u88c5\u65f6\u9700\u914d\u7f6e\u3002\u4e0d\u540c\u7c7b\u578b\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\u7684\u7248\u672c\u5b58\u5728\u5982\u4e0b\u5dee\u5f02\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\uff1aNvidia GPU Driver \u7248\u672c\u3002 \u5982\u4e0b\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver Version \u793a\u4f8b\uff1a

                  Note

                  \u4f7f\u7528\u5185\u7f6e\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u65e0\u9700\u4fee\u6539\u955c\u50cf\u7248\u672c\uff0c\u5176\u4ed6\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u955c\u50cf\u3002 \u6ce8\u610f\u7248\u672c\u53f7\u540e\u65e0\u9700\u586b\u5199 Ubuntu\u3001CentOS\u3001Red Hat \u7b49\u64cd\u4f5c\u7cfb\u7edf\u540d\u79f0\uff0c\u82e5\u5b98\u65b9\u955c\u50cf\u542b\u6709\u64cd\u4f5c\u7cfb\u7edf\u540e\u7f00\uff0c\u8bf7\u624b\u52a8\u79fb\u9664\u3002

                  • Red Hat \u7cfb\u7edf\uff0c\u4f8b\u5982 525.105.17
                  • Ubuntu \u7cfb\u7edf\uff0c\u4f8b\u5982 535-5.15.0-1043-nvidia
                  • CentOS \u7cfb\u7edf\uff0c\u4f8b\u5982 525.147.05
                • Driver.RepoConfig.ConfigMapName \uff1a\u7528\u6765\u8bb0\u5f55 GPU Operator \u7684\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\uff0c \u5f53\u4f7f\u7528\u9884\u7f6e\u7684\u79bb\u7ebf\u5305\u65f6\uff0c\u5404\u7c7b\u578b\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bf7\u53c2\u8003\u5982\u4e0b\u7684\u6587\u6863\u3002

                  • \u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90
                  • \u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90
                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#toolkit","title":"Toolkit \u914d\u7f6e\u53c2\u6570","text":"

                Toolkit.enable \uff1a\u9ed8\u8ba4\u5f00\u542f\uff0c\u8be5\u7ec4\u4ef6\u8ba9 conatainerd/docker \u652f\u6301\u8fd0\u884c\u9700\u8981 GPU \u7684\u5bb9\u5668\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#mig","title":"MIG \u914d\u7f6e\u53c2\u6570","text":"

                \u8be6\u7ec6\u914d\u7f6e\u65b9\u5f0f\u8bf7\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd

                MigManager.Config.name \uff1aMIG \u7684\u5207\u5206\u914d\u7f6e\u6587\u4ef6\u540d\uff0c\u7528\u4e8e\u5b9a\u4e49 MIG \u7684\uff08GI, CI\uff09\u5207\u5206\u7b56\u7565\u3002 \u9ed8\u8ba4\u4e3a default-mig-parted-config \u3002\u81ea\u5b9a\u4e49\u53c2\u6570\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_6","title":"\u4e0b\u4e00\u6b65\u64cd\u4f5c","text":"

                \u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff1a

                • \u5982\u679c\u4f7f\u7528 \u6574\u5361\u6a21\u5f0f\uff0c\u5e94\u7528\u521b\u5efa\u65f6\u53ef\u4f7f\u7528 GPU \u8d44\u6e90

                • \u5982\u679c\u4f7f\u7528 vGPU \u6a21\u5f0f \uff0c\u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff0c\u4e0b\u4e00\u6b65\u8bf7\u5b8c\u6210 vGPU Addon \u5b89\u88c5

                • \u5982\u679c\u4f7f\u7528 MIG \u6a21\u5f0f\uff0c\u5e76\u4e14\u9700\u8981\u7ed9\u4e2a\u522b GPU \u8282\u70b9\u6309\u7167\u67d0\u79cd\u5207\u5206\u89c4\u683c\u8fdb\u884c\u4f7f\u7528\uff0c \u5426\u5219\u6309\u7167 MigManager.Config \u4e2d\u7684 default \u503c\u8fdb\u884c\u5207\u5206\u3002

                  • single \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                    kubectl label nodes {node} nvidia.com/mig.config=\"all-1g.10gb\" --overwrite\n
                  • mixed \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                    kubectl label nodes {node} nvidia.com/mig.config=\"custom-config\" --overwrite\n

                \u200b \u5207\u5206\u540e\uff0c\u5e94\u7528\u53ef\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html","title":"\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                \u672c\u6587\u4ee5 Red Hat 8.4 \u7684 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u79bb\u7ebf\u955c\u50cf\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                1. \u706b\u79cd\u8282\u70b9\u53ca\u5176\u7ec4\u4ef6\u72b6\u6001\u8fd0\u884c\u6b63\u5e38\u3002
                2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u706b\u79cd\u8282\u70b9\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_3","title":"\u5728\u8054\u7f51\u8282\u70b9\u83b7\u53d6\u79bb\u7ebf\u955c\u50cf","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                1. \u5728\u8054\u7f51\u673a\u5668\u4e0a\u62c9\u53d6 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\uff1a

                  docker pull nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                2. \u955c\u50cf\u62c9\u53d6\u5b8c\u6210\u540e\uff0c\u6253\u5305\u955c\u50cf\u4e3a nvidia-driver.tar \u538b\u7f29\u5305\uff1a

                  docker save nvcr.io/nvidia/driver:525.105.17-rhel8.4 > nvidia-driver.tar\n
                3. \u62f7\u8d1d nvidia-driver.tar \u955c\u50cf\u538b\u7f29\u5305\u5230\u706b\u79cd\u8282\u70b9\uff1a

                  scp  nvidia-driver.tar user@ip:/root\n

                  \u4f8b\u5982\uff1a

                  scp  nvidia-driver.tar root@10.6.175.10:/root\n
                "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_4","title":"\u63a8\u9001\u955c\u50cf\u5230\u706b\u79cd\u8282\u70b9\u4ed3\u5e93","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u706b\u79cd\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                1. \u767b\u5f55\u706b\u79cd\u8282\u70b9\uff0c\u5c06\u8054\u7f51\u8282\u70b9\u62f7\u8d1d\u7684\u955c\u50cf\u538b\u7f29\u5305 nvidia-driver.tar \u5bfc\u5165\u672c\u5730\uff1a

                  docker load -i nvidia-driver.tar\n
                2. \u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u955c\u50cf\uff1a

                  docker images -a |grep nvidia\n

                  \u9884\u671f\u8f93\u51fa\uff1a

                  nvcr.io/nvidia/driver                 e3ed7dee73e9   1 days ago   1.02GB\n
                3. \u91cd\u65b0\u6807\u8bb0\u955c\u50cf\uff0c\u4f7f\u5176\u4e0e\u8fdc\u7a0b Registry \u4ed3\u5e93\u4e2d\u7684\u76ee\u6807\u4ed3\u5e93\u5bf9\u5e94\uff1a

                  docker tag <image-name> <registry-url>/<repository-name>:<tag>\n
                  • <image-name> \u662f\u4e0a\u4e00\u6b65 nvidia \u955c\u50cf\u7684\u540d\u79f0\uff0c
                  • <registry-url> \u662f\u706b\u79cd\u8282\u70b9\u4e0a Registry \u670d\u52a1\u7684\u5730\u5740\uff0c
                  • <repository-name> \u662f\u60a8\u8981\u63a8\u9001\u5230\u7684\u4ed3\u5e93\u540d\u79f0\uff0c
                  • <tag> \u662f\u60a8\u4e3a\u955c\u50cf\u6307\u5b9a\u7684\u6807\u7b7e\u3002

                  \u4f8b\u5982\uff1a

                  registry\uff1adocker tag nvcr.io/nvidia/driver 10.6.10.5/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                4. \u5c06\u955c\u50cf\u63a8\u9001\u5230\u706b\u79cd\u8282\u70b9\u955c\u50cf\u4ed3\u5e93\uff1a

                  docker push {ip}/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_5","title":"\u63a5\u4e0b\u6765","text":"

                \u53c2\u8003\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u548c GPU Operator \u79bb\u7ebf\u5b89\u88c5\u6765\u4e3a\u96c6\u7fa4\u90e8\u7f72 GPU Operator\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/rhel9.2_offline_install_driver.html","title":"RHEL 9.2 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                RHEL 9.2 \u9a71\u52a8\u955c\u50cf\u4e0d\u80fd\u76f4\u63a5\u5b89\u88c5\uff0c\u5b98\u65b9\u7684\u9a71\u52a8\u811a\u672c\u5b58\u5728\u4e00\u70b9\u95ee\u9898\uff0c\u5728\u5b98\u65b9\u4fee\u590d\u4e4b\u524d\uff0c\u63d0\u4f9b\u5982\u4e0b\u7684\u6b65\u9aa4\u6765\u5b9e\u73b0\u79bb\u7ebf\u5b89\u88c5\u9a71\u52a8\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/rhel9.2_offline_install_driver.html#nouveau","title":"\u7981\u7528nouveau\u9a71\u52a8","text":"

                \u5728 RHEL 9.2 \u4e2d\u5b58\u5728 nouveau \u975e\u5b98\u65b9\u7684 Nvidia \u9a71\u52a8\uff0c\u56e0\u6b64\u9700\u8981\u5148\u7981\u7528\u3002

                # \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6\nsudo vi /etc/modprobe.d/blacklist-nouveau.conf\n# \u6dfb\u52a0\u4ee5\u4e0b\u4e24\u884c\u5185\u5bb9:\nblacklist nouveau\noptions nouveau modeset=0\n# \u7981\u7528Nouveau\nsudo dracut --force\n# \u91cd\u542fvm\nsudo reboot\n# \u68c0\u67e5\u662f\u5426\u5df2\u7ecf\u6210\u529f\u7981\u7528\nlsmod | grep nouveau\n
                "},{"location":"kpanda/user-guide/gpu/nvidia/rhel9.2_offline_install_driver.html#_1","title":"\u81ea\u5b9a\u4e49\u9a71\u52a8\u955c\u50cf","text":"

                \u5148\u5728\u672c\u5730\u521b\u5efa nvidia-driver \u6587\u4ef6\uff1a

                \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 nvidia-driver \u6587\u4ef6\u5185\u5bb9
                #! /bin/bash -x\n# Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.\n\nset -eu\n\nRUN_DIR=/run/nvidia\nPID_FILE=${RUN_DIR}/${0##*/}.pid\nDRIVER_VERSION=${DRIVER_VERSION:?\"Missing DRIVER_VERSION env\"}\nKERNEL_UPDATE_HOOK=/run/kernel/postinst.d/update-nvidia-driver\nNUM_VGPU_DEVICES=0\nNVIDIA_MODULE_PARAMS=()\nNVIDIA_UVM_MODULE_PARAMS=()\nNVIDIA_MODESET_MODULE_PARAMS=()\nNVIDIA_PEERMEM_MODULE_PARAMS=()\nTARGETARCH=${TARGETARCH:?\"Missing TARGETARCH env\"}\nUSE_HOST_MOFED=\"${USE_HOST_MOFED:-false}\"\nDNF_RELEASEVER=${DNF_RELEASEVER:-\"\"}\nRHEL_VERSION=${RHEL_VERSION:-\"\"}\nRHEL_MAJOR_VERSION=9\n\nOPEN_KERNEL_MODULES_ENABLED=${OPEN_KERNEL_MODULES_ENABLED:-false}\n[[ \"${OPEN_KERNEL_MODULES_ENABLED}\" == \"true\" ]] && KERNEL_TYPE=kernel-open || KERNEL_TYPE=kernel\n\nDRIVER_ARCH=${TARGETARCH/amd64/x86_64} && DRIVER_ARCH=${DRIVER_ARCH/arm64/aarch64}\necho \"DRIVER_ARCH is $DRIVER_ARCH\"\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\nsource $SCRIPT_DIR/common.sh\n\n_update_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Updating the package cache...\"\n        if ! yum -q makecache; then\n            echo \"FATAL: failed to reach RHEL package repositories. \"\\\n                 \"Ensure that the cluster can access the proper networks.\"\n            exit 1\n        fi\n    fi\n}\n\n_cleanup_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Cleaning up the package cache...\"\n        rm -rf /var/cache/yum/*\n    fi\n}\n\n_get_rhel_version_from_kernel() {\n    local rhel_version_underscore rhel_version_arr\n    rhel_version_underscore=$(echo \"${KERNEL_VERSION}\" | sed 's/.*el\\([0-9]\\+_[0-9]\\+\\).*/\\1/g')\n    # For e.g. :- from the kernel version 4.18.0-513.9.1.el8_9, we expect to extract the string \"8_9\"\n    if [[ ! ${rhel_version_underscore} =~ ^[0-9]+_[0-9]+$ ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    IFS='_' read -r -a rhel_version_arr <<< \"$rhel_version_underscore\"\n    if [[ ${#rhel_version_arr[@]} -ne 2 ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    RHEL_VERSION=\"${rhel_version_arr[0]}.${rhel_version_arr[1]}\"\n    echo \"RHEL VERSION successfully resolved from kernel: ${RHEL_VERSION}\"\n    return 0\n}\n\n_resolve_rhel_version() {\n    _get_rhel_version_from_kernel || RHEL_VERSION=\"${RHEL_MAJOR_VERSION}\"\n    # set dnf release version as rhel version by default\n    if [[ -z \"${DNF_RELEASEVER}\" ]]; then\n        DNF_RELEASEVER=\"${RHEL_VERSION}\"\n    fi\n    return 0\n}\n\n# Resolve the kernel version to the form major.minor.patch-revision.\n_resolve_kernel_version() {\n    echo \"Resolving Linux kernel version...\"\n    local version=$(yum -q list available --showduplicates kernel-headers |\n      awk -v arch=$(uname -m) 'NR>1 {print $2\".\"arch}' | tac | grep -E -m1 \"^${KERNEL_VERSION/latest/.*}\")\n\n    if [ -z \"${version}\" ]; then\n        echo \"Could not resolve Linux kernel version\" >&2\n        return 1\n    fi\n    KERNEL_VERSION=\"${version}\"\n    echo \"Proceeding with Linux kernel version ${KERNEL_VERSION}\"\n    return 0\n}\n\n# Install the kernel modules header/builtin/order files and generate the kernel version string.\n_install_prerequisites() (\n    local tmp_dir=$(mktemp -d)\n\n    trap \"rm -rf ${tmp_dir}\" EXIT\n    cd ${tmp_dir}\n\n    echo \"Installing elfutils...\"\n    if ! dnf install -q -y elfutils-libelf.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi\n    if ! dnf install -q -y elfutils-libelf-devel.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi    \n\n    rm -rf /lib/modules/${KERNEL_VERSION}\n    mkdir -p /lib/modules/${KERNEL_VERSION}/proc\n\n    echo \"Enabling RHOCP and EUS RPM repos...\"\n    if [ -n \"${OPENSHIFT_VERSION:-}\" ]; then\n        dnf config-manager --set-enabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        fi\n    fi\n\n    dnf config-manager --set-enabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms  || true\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms || true\n    fi\n\n    # try with EUS disabled, if it does not work, then try just major version\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n      # If pointing to DNF_RELEASEVER does not work, we point to the RHEL_MAJOR_VERSION as a last resort\n      if ! dnf makecache --releasever=${RHEL_MAJOR_VERSION}; then\n        echo \"FATAL: failed to update the dnf metadata cache after multiple attempts with releasevers ${DNF_RELEASEVER}, ${RHEL_MAJOR_VERSION}\"\n        exit 1\n      else\n        DNF_RELEASEVER=${RHEL_MAJOR_VERSION}\n      fi\n    fi\n\n    echo \"Installing Linux kernel headers...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} --allowerasing > /dev/null\n    ln -s /usr/src/kernels/${KERNEL_VERSION} /lib/modules/${KERNEL_VERSION}/build\n\n    echo \"Installing Linux kernel module files...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-core-${KERNEL_VERSION} > /dev/null\n\n    # Prevent depmod from giving a WARNING about missing files\n    touch /lib/modules/${KERNEL_VERSION}/modules.order\n    touch /lib/modules/${KERNEL_VERSION}/modules.builtin\n\n    depmod ${KERNEL_VERSION}\n\n    echo \"Generating Linux kernel version string...\"\n    if [ \"$TARGETARCH\" = \"arm64\" ]; then\n        gunzip -c /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    else\n        extract-vmlinux /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    fi\n    if [ -z \"$(<version)\" ]; then\n        echo \"Could not locate Linux kernel version string\" >&2\n        return 1\n    fi\n    mv version /lib/modules/${KERNEL_VERSION}/proc\n\n    # Parse gcc version\n    # gcc_version is expected to match x.y.z\n    # current_gcc is expected to match 'gcc-x.y.z-rel.el8.x86_64\n    local gcc_version=$(cat /lib/modules/${KERNEL_VERSION}/proc/version | grep -Eo \"gcc \\(GCC\\) ([0-9\\.]+)\" | grep -Eo \"([0-9\\.]+)\")\n    local current_gcc=$(rpm -qa gcc)\n    echo \"kernel requires gcc version: 'gcc-${gcc_version}', current gcc version is '${current_gcc}'\"\n\n    if ! [[ \"${current_gcc}\" =~ \"gcc-${gcc_version}\"-.* ]]; then\n        dnf install -q -y --releasever=${DNF_RELEASEVER} \"gcc-${gcc_version}\"\n    fi\n)\n\n# Cleanup the prerequisites installed above.\n_remove_prerequisites() {\n    true\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        dnf -q -y remove kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} > /dev/null\n        # TODO remove module files not matching an existing driver package.\n    fi\n}\n\n# Check if the kernel version requires a new precompiled driver packages.\n_kernel_requires_package() {\n    local proc_mount_arg=\"\"\n\n    echo \"Checking NVIDIA driver packages...\"\n\n    [[ ! -d /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE} ]] && return 0\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    proc_mount_arg=\"--proc-mount-point /lib/modules/${KERNEL_VERSION}/proc\"\n    for pkg_name in $(ls -d -1 precompiled/** 2> /dev/null); do\n        is_match=$(../mkprecompiled --match ${pkg_name} ${proc_mount_arg})\n        if [ \"${is_match}\" == \"kernel interface matches.\" ]; then\n            echo \"Found NVIDIA driver package ${pkg_name##*/}\"\n            return 1\n        fi\n    done\n    return 0\n}\n\n# Compile the kernel modules, optionally sign them, and generate a precompiled package for use by the nvidia-installer.\n_create_driver_package() (\n    local pkg_name=\"nvidia-modules-${KERNEL_VERSION%%-*}${PACKAGE_TAG:+-${PACKAGE_TAG}}\"\n    local nvidia_sign_args=\"\"\n    local nvidia_modeset_sign_args=\"\"\n    local nvidia_uvm_sign_args=\"\"\n\n    trap \"make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build clean > /dev/null\" EXIT\n\n    echo \"Compiling NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    if _gpu_direct_rdma_enabled; then\n        ln -s /run/mellanox/drivers/usr/src/ofa_kernel /usr/src/\n        # if arch directory exists(MOFED >=5.5) then create a symlink as expected by GPU driver installer\n        # This is required as currently GPU driver installer doesn't expect headers in x86_64 folder, but only in either default or kernel-version folder.\n        # ls -ltr /usr/src/ofa_kernel/\n        # lrwxrwxrwx 1 root root   36 Dec  8 20:10 default -> /etc/alternatives/ofa_kernel_headers\n        # drwxr-xr-x 4 root root 4096 Dec  8 20:14 x86_64\n        # lrwxrwxrwx 1 root root   44 Dec  9 19:05 5.4.0-90-generic -> /usr/src/ofa_kernel/x86_64/5.4.0-90-generic/\n        if [[ -d \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" ]]; then\n            if [[ ! -e \"/usr/src/ofa_kernel/$(uname -r)\" ]]; then\n                ln -s \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" /usr/src/ofa_kernel/\n            fi\n        fi\n    fi\n\n    make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build nv-linux.o nv-modeset-linux.o > /dev/null\n\n    echo \"Relinking NVIDIA driver kernel modules...\"\n    rm -f nvidia.ko nvidia-modeset.ko\n    ld -d -r -o nvidia.ko ./nv-linux.o ./nvidia/nv-kernel.o_binary\n    ld -d -r -o nvidia-modeset.ko ./nv-modeset-linux.o ./nvidia-modeset/nv-modeset-kernel.o_binary\n\n    if [ -n \"${PRIVATE_KEY}\" ]; then\n        echo \"Signing NVIDIA driver kernel modules...\"\n        donkey get ${PRIVATE_KEY} sh -c \"PATH=${PATH}:/usr/src/linux-headers-${KERNEL_VERSION}/scripts && \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia.ko nvidia.ko.sign &&                          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-modeset.ko nvidia-modeset.ko.sign &&          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-uvm.ko\"\n        nvidia_sign_args=\"--linked-module nvidia.ko --signed-module nvidia.ko.sign\"\n        nvidia_modeset_sign_args=\"--linked-module nvidia-modeset.ko --signed-module nvidia-modeset.ko.sign\"\n        nvidia_uvm_sign_args=\"--signed\"\n    fi\n\n    echo \"Building NVIDIA driver package ${pkg_name}...\"\n    ../mkprecompiled --pack ${pkg_name} --description ${KERNEL_VERSION}                              \\\n                                        --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc       \\\n                                        --driver-version ${DRIVER_VERSION}                           \\\n                                        --kernel-interface nv-linux.o                                \\\n                                        --linked-module-name nvidia.ko                               \\\n                                        --core-object-name nvidia/nv-kernel.o_binary                 \\\n                                        ${nvidia_sign_args}                                          \\\n                                        --target-directory .                                         \\\n                                        --kernel-interface nv-modeset-linux.o                        \\\n                                        --linked-module-name nvidia-modeset.ko                       \\\n                                        --core-object-name nvidia-modeset/nv-modeset-kernel.o_binary \\\n                                        ${nvidia_modeset_sign_args}                                  \\\n                                        --target-directory .                                         \\\n                                        --kernel-module nvidia-uvm.ko                                \\\n                                        ${nvidia_uvm_sign_args}                                      \\\n                                        --target-directory .\n    mkdir -p precompiled\n    mv ${pkg_name} precompiled\n)\n\n_assert_nvswitch_system() {\n    [ -d /proc/driver/nvidia-nvswitch ] || return 1\n    entries=$(ls -1 /proc/driver/nvidia-nvswitch/devices/*)\n    if [ -z \"${entries}\" ]; then\n        return 1\n    fi\n    return 0\n}\n\n# For each kernel module configuration file mounted into the container,\n# parse the file contents and extract the custom module parameters that\n# are to be passed as input to 'modprobe'.\n#\n# Assumptions:\n# - Configuration files are named <module-name>.conf (i.e. nvidia.conf, nvidia-uvm.conf).\n# - Configuration files are mounted inside the container at /drivers.\n# - Each line in the file contains at least one parameter, where parameters on the same line\n#   are space delimited. It is up to the user to properly format the file to ensure\n#   the correct set of parameters are passed to 'modprobe'.\n_get_module_params() {\n    local base_path=\"/drivers\"\n    # nvidia\n    if [ -f \"${base_path}/nvidia.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia.conf\"\n       echo \"Module parameters provided for nvidia: ${NVIDIA_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-uvm\n    if [ -f \"${base_path}/nvidia-uvm.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_UVM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-uvm.conf\"\n       echo \"Module parameters provided for nvidia-uvm: ${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-modeset\n    if [ -f \"${base_path}/nvidia-modeset.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODESET_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-modeset.conf\"\n       echo \"Module parameters provided for nvidia-modeset: ${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-peermem\n    if [ -f \"${base_path}/nvidia-peermem.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_PEERMEM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-peermem.conf\"\n       echo \"Module parameters provided for nvidia-peermem: ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n    fi\n}\n\n# Load the kernel modules and start persistenced.\n_load_driver() {\n    echo \"Parsing kernel module parameters...\"\n    _get_module_params\n\n    local nv_fw_search_path=\"$RUN_DIR/driver/lib/firmware\"\n    local set_fw_path=\"true\"\n    local fw_path_config_file=\"/sys/module/firmware_class/parameters/path\"\n    for param in \"${NVIDIA_MODULE_PARAMS[@]}\"; do\n        if [[ \"$param\" == \"NVreg_EnableGpuFirmware=0\" ]]; then\n          set_fw_path=\"false\"\n        fi\n    done\n\n    if [[ \"$set_fw_path\" == \"true\" ]]; then\n        echo \"Configuring the following firmware search path in '$fw_path_config_file': $nv_fw_search_path\"\n        if [[ ! -z $(grep '[^[:space:]]' $fw_path_config_file) ]]; then\n            echo \"WARNING: A search path is already configured in $fw_path_config_file\"\n            echo \"         Retaining the current configuration\"\n        else\n            echo -n \"$nv_fw_search_path\" > $fw_path_config_file || echo \"WARNING: Failed to configure the firmware search path\"\n        fi\n    fi\n\n    echo \"Loading ipmi and i2c_core kernel modules...\"\n    modprobe -a i2c_core ipmi_msghandler ipmi_devintf\n\n    echo \"Loading NVIDIA driver kernel modules...\"\n    set -o xtrace +o nounset\n    modprobe nvidia \"${NVIDIA_MODULE_PARAMS[@]}\"\n    modprobe nvidia-uvm \"${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    modprobe nvidia-modeset \"${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    set +o xtrace -o nounset\n\n    if _gpu_direct_rdma_enabled; then\n        echo \"Loading NVIDIA Peer Memory kernel module...\"\n        set -o xtrace +o nounset\n        modprobe -a nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n        set +o xtrace -o nounset\n    fi\n\n    echo \"Starting NVIDIA persistence daemon...\"\n    nvidia-persistenced --persistence-mode\n\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        echo \"Copying gridd.conf...\"\n        cp /drivers/gridd.conf /etc/nvidia/gridd.conf\n        if [ \"${VGPU_LICENSE_SERVER_TYPE}\" = \"NLS\" ]; then\n            echo \"Copying ClientConfigToken...\"\n            mkdir -p  /etc/nvidia/ClientConfigToken/\n            cp /drivers/ClientConfigToken/* /etc/nvidia/ClientConfigToken/\n        fi\n\n        echo \"Starting nvidia-gridd..\"\n        LD_LIBRARY_PATH=/usr/lib64/nvidia/gridd nvidia-gridd\n\n        # Start virtual topology daemon\n        _start_vgpu_topology_daemon\n    fi\n\n    if _assert_nvswitch_system; then\n        echo \"Starting NVIDIA fabric manager daemon...\"\n        nv-fabricmanager -c /usr/share/nvidia/nvswitch/fabricmanager.cfg\n    fi\n}\n\n# Stop persistenced and unload the kernel modules if they are currently loaded.\n_unload_driver() {\n    local rmmod_args=()\n    local nvidia_deps=0\n    local nvidia_refs=0\n    local nvidia_uvm_refs=0\n    local nvidia_modeset_refs=0\n    local nvidia_peermem_refs=0\n\n    echo \"Stopping NVIDIA persistence daemon...\"\n    if [ -f /var/run/nvidia-persistenced/nvidia-persistenced.pid ]; then\n        local pid=$(< /var/run/nvidia-persistenced/nvidia-persistenced.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA persistence daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-gridd/nvidia-gridd.pid ]; then\n        echo \"Stopping NVIDIA grid daemon...\"\n        local pid=$(< /var/run/nvidia-gridd/nvidia-gridd.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 10); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 10 ]; then\n            echo \"Could not stop NVIDIA Grid daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-fabricmanager/nv-fabricmanager.pid ]; then\n        echo \"Stopping NVIDIA fabric manager daemon...\"\n        local pid=$(< /var/run/nvidia-fabricmanager/nv-fabricmanager.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA fabric manager daemon\" >&2\n            return 1\n        fi\n    fi\n\n    echo \"Unloading NVIDIA driver kernel modules...\"\n    if [ -f /sys/module/nvidia_modeset/refcnt ]; then\n        nvidia_modeset_refs=$(< /sys/module/nvidia_modeset/refcnt)\n        rmmod_args+=(\"nvidia-modeset\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia_uvm/refcnt ]; then\n        nvidia_uvm_refs=$(< /sys/module/nvidia_uvm/refcnt)\n        rmmod_args+=(\"nvidia-uvm\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia/refcnt ]; then\n        nvidia_refs=$(< /sys/module/nvidia/refcnt)\n        rmmod_args+=(\"nvidia\")\n    fi\n    if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n        nvidia_peermem_refs=$(< /sys/module/nvidia_peermem/refcnt)\n        rmmod_args+=(\"nvidia-peermem\")\n        ((++nvidia_deps))\n    fi\n    if [ ${nvidia_refs} -gt ${nvidia_deps} ] || [ ${nvidia_uvm_refs} -gt 0 ] || [ ${nvidia_modeset_refs} -gt 0 ] || [ ${nvidia_peermem_refs} -gt 0 ]; then\n        echo \"Could not unload NVIDIA driver kernel modules, driver is in use\" >&2\n        return 1\n    fi\n\n    if [ ${#rmmod_args[@]} -gt 0 ]; then\n        rmmod ${rmmod_args[@]}\n    fi\n    return 0\n}\n\n# Link and install the kernel modules from a precompiled package using the nvidia-installer.\n_install_driver() {\n    local install_args=()\n\n    echo \"Installing NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}\n    rm -rf /lib/modules/${KERNEL_VERSION}/video\n\n    if [ \"${ACCEPT_LICENSE}\" = \"yes\" ]; then\n        install_args+=(\"--accept-license\")\n    fi\n    IGNORE_CC_MISMATCH=1 nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check -m=${KERNEL_TYPE} ${install_args[@]+\"${install_args[@]}\"}\n    # May need to add no-cc-check for Rhel, otherwise it complains about cc missing in path\n    # /proc/version and lib/modules/KERNEL_VERSION/proc are different, by default installer looks at /proc/ so, added the proc-mount-point\n    # TODO: remove the -a flag. its not needed. in the new driver version, license-acceptance is implicit\n    #nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check --no-cc-version-check --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc ${install_args[@]+\"${install_args[@]}\"}\n}\n\n# Mount the driver rootfs into the run directory with the exception of sysfs.\n_mount_rootfs() {\n    echo \"Mounting NVIDIA driver rootfs...\"\n    mount --make-runbindable /sys\n    mount --make-private /sys\n    mkdir -p ${RUN_DIR}/driver\n    mount --rbind / ${RUN_DIR}/driver\n\n    echo \"Check SELinux status\"\n    if [ -e /sys/fs/selinux ]; then\n        echo \"SELinux is enabled\"\n        echo \"Change device files security context for selinux compatibility\"\n        chcon -R -t container_file_t ${RUN_DIR}/driver/dev\n    else\n        echo \"SELinux is disabled, skipping...\"\n    fi\n}\n\n# Unmount the driver rootfs from the run directory.\n_unmount_rootfs() {\n    echo \"Unmounting NVIDIA driver rootfs...\"\n    if findmnt -r -o TARGET | grep \"${RUN_DIR}/driver\" > /dev/null; then\n        umount -l -R ${RUN_DIR}/driver\n    fi\n}\n\n# Write a kernel postinst.d script to automatically precompile packages on kernel update (similar to DKMS).\n_write_kernel_update_hook() {\n    if [ ! -d ${KERNEL_UPDATE_HOOK%/*} ]; then\n        return\n    fi\n\n    echo \"Writing kernel update hook...\"\n    cat > ${KERNEL_UPDATE_HOOK} <<'EOF'\n#!/bin/bash\n\nset -eu\ntrap 'echo \"ERROR: Failed to update the NVIDIA driver\" >&2; exit 0' ERR\n\nNVIDIA_DRIVER_PID=$(< /run/nvidia/nvidia-driver.pid)\n\nexport \"$(grep -z DRIVER_VERSION /proc/${NVIDIA_DRIVER_PID}/environ)\"\nnsenter -t \"${NVIDIA_DRIVER_PID}\" -m -- nvidia-driver update --kernel \"$1\"\nEOF\n    chmod +x ${KERNEL_UPDATE_HOOK}\n}\n\n_shutdown() {\n    if _unload_driver; then\n        _unmount_rootfs\n        rm -f ${PID_FILE} ${KERNEL_UPDATE_HOOK}\n        return 0\n    fi\n    return 1\n}\n\n_find_vgpu_driver_version() {\n    local count=\"\"\n    local version=\"\"\n    local drivers_path=\"/drivers\"\n\n    if [ \"${DISABLE_VGPU_VERSION_CHECK}\" = \"true\" ]; then\n        echo \"vgpu version compatibility check is disabled\"\n        return 0\n    fi\n    # check if vgpu devices are present\n    count=$(vgpu-util count)\n    if [ $? -ne 0 ]; then\n         echo \"cannot find vgpu devices on host, pleae check /var/log/vgpu-util.log for more details...\"\n         return 0\n    fi\n    NUM_VGPU_DEVICES=$(echo \"$count\" | awk -F= '{print $2}')\n    if [ $NUM_VGPU_DEVICES -eq 0 ]; then\n        # no vgpu devices found, treat as passthrough\n        return 0\n    fi\n    echo \"found $NUM_VGPU_DEVICES vgpu devices on host\"\n\n    # find compatible guest driver using driver catalog\n    if [ -d \"/mnt/shared-nvidia-driver-toolkit/drivers\" ]; then\n        drivers_path=\"/mnt/shared-nvidia-driver-toolkit/drivers\"\n    fi\n    version=$(vgpu-util match -i \"${drivers_path}\" -c \"${drivers_path}/vgpuDriverCatalog.yaml\")\n    if [ $? -ne 0 ]; then\n        echo \"cannot find match for compatible vgpu driver from available list, please check /var/log/vgpu-util.log for more details...\"\n        return 1\n    fi\n    DRIVER_VERSION=$(echo \"$version\" | awk -F= '{print $2}')\n    echo \"vgpu driver version selected: ${DRIVER_VERSION}\"\n    return 0\n}\n\n_start_vgpu_topology_daemon() {\n    type nvidia-topologyd > /dev/null 2>&1 || return 0\n    echo \"Starting nvidia-topologyd..\"\n    nvidia-topologyd\n}\n\n_prepare() {\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        _find_vgpu_driver_version || exit 1\n    fi\n\n    # Install the userspace components and copy the kernel module sources.\n    sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n        cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n        sh /tmp/install.sh nvinstall && \\\n        mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n        mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n        sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n\n    echo -e \"\\n========== NVIDIA Software Installer ==========\\n\"\n    echo -e \"Starting installation of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n}\n\n_prepare_exclusive() {\n    _prepare\n\n    exec 3> ${PID_FILE}\n    if ! flock -n 3; then\n        echo \"An instance of the NVIDIA driver is already running, aborting\"\n        exit 1\n    fi\n    echo $$ >&3\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n    trap \"_shutdown\" EXIT\n\n    _unload_driver || exit 1\n    _unmount_rootfs\n}\n\n_build() {\n    # Install dependencies\n    if _kernel_requires_package; then\n        _update_package_cache\n        _install_prerequisites\n        _create_driver_package\n        #_remove_prerequisites\n        _cleanup_package_cache\n    fi\n\n    # Build the driver\n    _install_driver\n}\n\n_load() {\n    _load_driver\n    _mount_rootfs\n    _write_kernel_update_hook\n\n    echo \"Done, now waiting for signal\"\n    sleep infinity &\n    trap \"echo 'Caught signal'; _shutdown && { kill $!; exit 0; }\" HUP INT QUIT PIPE TERM\n    trap - EXIT\n    while true; do wait $! || continue; done\n    exit 0\n}\n\ninit() {\n    _prepare_exclusive\n\n    _build\n\n    _load\n}\n\nbuild() {\n    _prepare\n\n    _build\n}\n\nload() {\n    _prepare_exclusive\n\n    _load\n}\n\nupdate() {\n    exec 3>&2\n    if exec 2> /dev/null 4< ${PID_FILE}; then\n        if ! flock -n 4 && read pid <&4 && kill -0 \"${pid}\"; then\n            exec > >(tee -a \"/proc/${pid}/fd/1\")\n            exec 2> >(tee -a \"/proc/${pid}/fd/2\" >&3)\n        else\n            exec 2>&3\n        fi\n        exec 4>&-\n    fi\n    exec 3>&-\n\n    # vgpu driver version is chosen dynamically during runtime, so pre-compile modules for\n    # only non-vgpu driver types\n    if [ \"${DRIVER_TYPE}\" != \"vgpu\" ]; then\n        # Install the userspace components and copy the kernel module sources.\n        if [ ! -e /usr/src/nvidia-${DRIVER_VERSION}/mkprecompiled ]; then\n            sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n                cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n                sh /tmp/install.sh nvinstall && \\\n                mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n                mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n                sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n        fi\n    fi\n\n    echo -e \"\\n========== NVIDIA Software Updater ==========\\n\"\n    echo -e \"Starting update of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n\n    _update_package_cache\n    _resolve_kernel_version || exit 1\n    _install_prerequisites\n    if _kernel_requires_package; then\n        _create_driver_package\n    fi\n    _remove_prerequisites\n    _cleanup_package_cache\n\n    echo \"Done\"\n    exit 0\n}\n\n# Wait for MOFED drivers to be loaded and load nvidia-peermem whenever it gets unloaded during MOFED driver updates\nreload_nvidia_peermem() {\n    if [ \"$USE_HOST_MOFED\" = \"true\" ]; then\n        until  lsmod | grep mlx5_core > /dev/null 2>&1 && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    else\n        # use driver readiness flag created by MOFED container\n        until  [ -f /run/mellanox/drivers/.driver-ready ] && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    fi\n    # get any parameters provided for nvidia-peermem\n    _get_module_params && set +o nounset\n    if chroot /run/nvidia/driver modprobe nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"; then\n        if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"successfully loaded nvidia-peermem module, now waiting for signal\"\n            sleep inf\n            trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n        fi\n    fi\n    echo \"failed to load nvidia-peermem module\"\n    exit 1\n}\n\n# probe by gpu-operator for liveness/startup checks for nvidia-peermem module to be loaded when MOFED drivers are ready\nprobe_nvidia_peermem() {\n    if lsmod | grep mlx5_core > /dev/null 2>&1; then\n        if [ ! -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"nvidia-peermem module is not loaded\"\n            return 1\n        fi\n    else\n        echo \"MOFED drivers are not ready, skipping probe to avoid container restarts...\"\n    fi\n    return 0\n}\n\nusage() {\n    cat >&2 <<EOF\nUsage: $0 COMMAND [ARG...]\n\nCommands:\n  init   [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  build  [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  load\n  update [-k | --kernel VERSION] [-s | --sign KEYID] [-t | --tag TAG] [-m | --max-threads MAX_THREADS]\nEOF\n    exit 1\n}\n\nif [ $# -eq 0 ]; then\n    usage\nfi\ncommand=$1; shift\ncase \"${command}\" in\n    init) options=$(getopt -l accept-license,max-threads: -o am: -- \"$@\") ;;\n    build) options=$(getopt -l accept-license,tag:,max-threads: -o a:t:m: -- \"$@\") ;;\n    load) options=\"\" ;;\n    update) options=$(getopt -l kernel:,sign:,tag:,max-threads: -o k:s:t:m: -- \"$@\") ;;\n    reload_nvidia_peermem) options=\"\" ;;\n    probe_nvidia_peermem) options=\"\" ;;\n    *) usage ;;\nesac\nif [ $? -ne 0 ]; then\n    usage\nfi\neval set -- \"${options}\"\n\nACCEPT_LICENSE=\"\"\nMAX_THREADS=\"\"\nKERNEL_VERSION=$(uname -r)\nPRIVATE_KEY=\"\"\nPACKAGE_TAG=\"\"\n\nfor opt in ${options}; do\n    case \"$opt\" in\n    -a | --accept-license) ACCEPT_LICENSE=\"yes\"; shift 1 ;;\n    -k | --kernel) KERNEL_VERSION=$2; shift 2 ;;\n    -m | --max-threads) MAX_THREADS=$2; shift 2 ;;\n    -s | --sign) PRIVATE_KEY=$2; shift 2 ;;\n    -t | --tag) PACKAGE_TAG=$2; shift 2 ;;\n    --) shift; break ;;\n    esac\ndone\nif [ $# -ne 0 ]; then\n    usage\nfi\n\n_resolve_rhel_version || exit 1\n\n$command\n

                \u4f7f\u7528\u5b98\u65b9\u7684\u955c\u50cf\u6765\u4e8c\u6b21\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\uff0c\u5982\u4e0b\u662f\u4e00\u4e2a Dockerfile \u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                FROM nvcr.io/nvidia/driver:535.183.06-rhel9.2\nCOPY nvidia-driver /usr/local/bin\nRUN chmod +x /usr/local/bin/nvidia-driver\nCMD [\"/bin/bash\", \"-c\"]\n

                \u6784\u5efa\u547d\u4ee4\u5e76\u63a8\u9001\u5230\u706b\u79cd\u96c6\u7fa4\uff1a

                docker build -t {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2 -f Dockerfile .\ndocker push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2\n
                "},{"location":"kpanda/user-guide/gpu/nvidia/rhel9.2_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                1. \u5b89\u88c5 gpu-operator addon
                2. \u8bbe\u7f6e driver.version=535.183.06-01
                "},{"location":"kpanda/user-guide/gpu/nvidia/ubuntu22.04_offline_install_driver.html","title":"Ubuntu22.04 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                "},{"location":"kpanda/user-guide/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_1","title":"\u51c6\u5907\u79bb\u7ebf\u955c\u50cf","text":"
                1. \u67e5\u770b\u5185\u6838\u7248\u672c

                  $ uname -r\n5.15.0-78-generic\n
                2. \u67e5\u770b\u5185\u6838\u5bf9\u5e94\u7684 GPU Driver \u955c\u50cf\u7248\u672c\uff0c https://catalog.ngc.nvidia.com/orgs/nvidia/containers/driver/tags\u3002 \u4f7f\u7528\u5185\u6838\u67e5\u8be2\u955c\u50cf\u7248\u672c\uff0c\u901a\u8fc7 ctr export \u4fdd\u5b58\u955c\u50cf\u3002

                  ctr i pull nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i export --all-platforms driver.tar.gz nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 \n
                3. \u628a\u955c\u50cf\u5bfc\u5165\u5230\u706b\u79cd\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u4e2d

                  ctr i import driver.tar.gz\nctr i tag nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 --skip-verify=true\n
                "},{"location":"kpanda/user-guide/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                1. \u5b89\u88c5 gpu-operator addon
                2. \u82e5\u4f7f\u7528\u9884\u7f16\u8bd1\u6a21\u5f0f\uff0c\u5219\u8bbe\u7f6e driver.usePrecompiled=true,\u5e76\u8bbe\u7f6e driver.version=535\uff0c\u8fd9\u91cc\u8981\u6ce8\u610f\uff0c\u5199\u7684\u662f 535\uff0c\u4e0d\u662f 535.104.12\u3002\uff08\u975e\u9884\u7f16\u8bd1\u6a21\u5f0f\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u5b89\u88c5\u5373\u53ef\uff09
                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html","title":"\u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                \u5f53\u5de5\u4f5c\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u5185\u6838\u7248\u672c\u6216 OS \u7c7b\u578b\u4e0d\u4e00\u81f4\u65f6\uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u79bb\u7ebf yum \u6e90\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u672c\u6587\u4ee5\u5185\u6838\u7248\u672c\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684 CentOS 7.9 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa GPU operator \u79bb\u7ebf\u5305\u7684 yum \u6e90\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#os","title":"\u68c0\u67e5\u96c6\u7fa4\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c","text":"

                \u5206\u522b\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c\u4e00\u81f4\u5219\u65e0\u9700\u6784\u5efa yum \u6e90\uff0c \u53ef\u53c2\u8003\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u6587\u6863\u76f4\u63a5\u5b89\u88c5\uff1b\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u6216\u5185\u6838\u7248\u672c\u4e0d\u4e00\u81f4\uff0c\u8bf7\u6267\u884c\u4e0b\u4e00\u6b65\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u53d1\u884c\u7248\u540d\u79f0\u548c\u7248\u672c\u53f7\u3002

                  cat /etc/redhat-release\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  CentOS Linux release 7.9 (Core)\n

                  \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c CentOS 7.9 \u3002

                2. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u3002

                  uname -a\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Linux localhost.localdomain 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux\n

                  \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c 3.10.0-1160.el7.x86_64\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum","title":"\u5236\u4f5c\u79bb\u7ebf yum \u6e90","text":"

                \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                1. \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a yum.sh \u7684\u811a\u672c\u6587\u4ef6\u3002

                  vi yum.sh\n

                  \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                  export TARGET_KERNEL_VERSION=$1\n\ncat >> run.sh << \\EOF\n#! /bin/bash\necho \"start install kernel repo\"\necho ${KERNEL_VERSION}\nmkdir centos-base\n\nif [ \"$OS\" -eq 7 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el7.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelif [ \"$OS\" -eq 8 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el8.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelse\n    echo \"Error os version\"\nfi\n\ncreaterepo centos-base/\nls -lh centos-base/\ntar -zcf centos-base.tar.gz centos-base/\necho \"end install kernel repo\"\nEOF\n\ncat >> Dockerfile << EOF\nFROM centos:7\nENV KERNEL_VERSION=\"\"\nENV OS=7\nRUN yum install -y createrepo\nCOPY run.sh .\nENTRYPOINT [\"/bin/bash\",\"run.sh\"]\nEOF\n\ndocker build -t test:v1 -f Dockerfile .\ndocker run -e KERNEL_VERSION=$TARGET_KERNEL_VERSION --name centos7.9 test:v1\ndocker cp centos7.9:/centos-base.tar.gz .\ntar -xzf centos-base.tar.gz\n

                  \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                2. \u8fd0\u884c yum.sh \u6587\u4ef6\uff1a

                  bash -x yum.sh TARGET_KERNEL_VERSION\n

                  TARGET_KERNEL_VERSION \u53c2\u6570\u7528\u4e8e\u6307\u5b9a\u96c6\u7fa4\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\uff0c\u6ce8\u610f\uff1a\u53d1\u884c\u7248\u6807\u8bc6\u7b26\uff08\u5982 __ .el7.x86_64 __ \uff09\u65e0\u9700\u8f93\u5165\u3002 \u4f8b\u5982\uff1a

                  bash -x yum.sh 3.10.0-1160.95.1\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a centos-base \u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_1","title":"\u4e0a\u4f20\u79bb\u7ebf yum \u6e90\u5230\u6587\u4ef6\u670d\u52a1\u5668","text":"

                \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002\u4e3b\u8981\u7528\u4e8e\u5c06\u4e0a\u4e00\u6b65\u4e2d\u751f\u6210\u7684 yum \u6e90\u4e0a\u4f20\u5230\u53ef\u4ee5\u88ab\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8fdb\u884c\u8bbf\u95ee\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\u3002 \u6587\u4ef6\u670d\u52a1\u5668\u53ef\u4ee5\u4e3a Nginx \u3001 Minio \u6216\u5176\u5b83\u652f\u6301 Http \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u3002

                \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f DCE5 \u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0cMinio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                  mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Added `minio` successfully.\n

                  mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a centos-base \u7684\u5b58\u50a8\u6876\uff08bucket\uff09\u3002

                  mc mb -p minio/centos-base\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Bucket created successfully __minio/centos-base__ .\n
                • \u5c06\u5b58\u50a8\u6876 centos-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                  mc anonymous set download minio/centos-base\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Access permission for `minio/centos-base` is set to `download` \n
                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 centos-base \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/centos-base \u5b58\u50a8\u6876\u4e2d\u3002

                  mc cp centos-base minio/centos-base --recursive\n
                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_2","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                  # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                  kubectl create configmap local-repo-config  -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  configmap/local-repo-config created\n

                  local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                  kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  apiVersion: v1\ndata:\nCentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base#\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n    = http://10.6.232.5:32618/centos-base #\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname\n    = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\ncreationTimestamp: \"2023-10-18T01:59:02Z\"\nname: local-repo-config\nnamespace: gpu-operator\nresourceVersion: \"59445080\"\nuid: c5f0ebab-046f-442c-b932-f9003e014387\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html","title":"\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90","text":""},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                DCE 5 \u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                2. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 8.4\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4\u3002
                3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                4. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002 5.\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 8.4 4.18.0-305.el8.x86_64\u3002
                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u672c\u6587\u4ee5 Red Hat 8.4 4.18.0-305.el8.x86_64 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum","title":"\u4e0b\u8f7d\u706b\u79cd\u8282\u70b9\u4e2d\u7684 yum \u6e90","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                1. \u4f7f\u7528 ssh \u6216\u5176\u5b83\u65b9\u5f0f\u8fdb\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5185\u4efb\u4e00\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                  cat /etc/yum.repos.d/extension.repo #\u67e5\u770b extension.repo \u4e2d\u7684\u5185\u5bb9\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  [extension-0]\nbaseurl = http://10.5.14.200:9000/kubean/redhat/$releasever/os/$basearch\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/AppStream\ngpgcheck = 0\nname = kubean extension 1\n\n[extension-2]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/BaseOS\ngpgcheck = 0\nname = kubean extension 2\n
                2. \u5728 root \u8def\u5f84\u4e0b\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base-repo \u7684\u6587\u4ef6\u5939

                  mkdir redhat-base-repo\n
                3. \u4e0b\u8f7d yum \u6e90\u4e2d\u7684 rpm \u5305\u5230\u672c\u5730\uff1a

                  yum install yum-utils\n
                4. \u4e0b\u8f7d extension-1 \u4e2d\u7684 rpm \u5305\uff1a

                  reposync  -p redhat-base-repo  -n --repoid=extension-1\n
                5. \u4e0b\u8f7d extension-2 \u4e2d\u7684 rpm \u5305\uff1a

                  reposync  -p redhat-base-repo  -n --repoid=extension-2\n
                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#elfutils-libelf-devel-0187-4el8x86_64rpm","title":"\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u64cd\u4f5c\uff0c\u5728\u64cd\u4f5c\u524d\uff0c\u60a8\u9700\u8981\u4fdd\u8bc1\u8054\u7f51\u8282\u70b9\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 master \u8282\u70b9\u95f4\u7684\u7f51\u7edc\u8054\u901a\u6027\u3002

                1. \u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\uff1a

                  wget https://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/elfutils-libelf-devel-0.187-4.el8.x86_64.rpm\n
                2. \u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u5c06 elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\u4f20\u8f93\u81f3\u6b65\u9aa4\u4e00\u4e2d\u7684\u8282\u70b9\u4e0a\uff1a

                  scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm user@ip:~/redhat-base-repo/extension-2/Packages/\n

                  \u4f8b\u5982\uff1a

                  scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm root@10.6.175.10:~/redhat-base-repo/extension-2/Packages/\n
                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo","title":"\u751f\u6210\u672c\u5730 yum repo","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u6b65\u9aa4\u4e00\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                1. \u8fdb\u5165 yum repo \u76ee\u5f55\uff1a

                  cd ~/redhat-base-repo/extension-1/Packages\ncd ~/redhat-base-repo/extension-2/Packages\n
                2. \u751f\u6210\u76ee\u5f55 repo \u7d22\u5f15\uff1a

                  yum install createrepo -y  # \u82e5\u5df2\u5b89\u88c5 createrepo \u53ef\u7701\u7565\u6b64\u6b65\u9aa4\ncreaterepo_c ./\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 4.18.0-305.el8.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a redhat-base-repo \u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo_1","title":"\u5c06\u672c\u5730\u751f\u6210\u7684 yum repo \u4e0a\u4f20\u81f3\u6587\u4ef6\u670d\u52a1\u5668","text":"

                \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f DCE5 \u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u7528\u6237\u53ef\u57fa\u4e8e\u81ea\u8eab\u60c5\u51b5\u9009\u62e9\u6587\u4ef6\u670d\u52a1\u5668\u3002Minio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                  mc config host add minio \u6587\u4ef6\u670d\u52a1\u5668\u8bbf\u95ee\u5730\u5740 \u7528\u6237\u540d \u5bc6\u7801\n

                  \u4f8b\u5982\uff1a

                  mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Added `minio` successfully.\n

                  mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base \u7684\u5b58\u50a8\u6876(bucket)\u3002

                  mc mb -p minio/redhat-base\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Bucket created successfully `minio/redhat-base`.\n
                • \u5c06\u5b58\u50a8\u6876 redhat-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                  mc anonymous set download minio/redhat-base\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Access permission for `minio/redhat-base` is set to `download` \n
                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 redhat-base-repo \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/redhat-base \u5b58\u50a8\u6876\u4e2d\u3002

                  mc cp redhat-base-repo minio/redhat-base --recursive\n
                "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum_1","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                \u672c\u6b65\u9aa4\u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a redhat.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                  # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a redhat.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > redhat.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                2. \u57fa\u4e8e\u521b\u5efa\u7684 redhat.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                  kubectl create configmap local-repo-config  -n gpu-operator --from-file=./redhat.repo \n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  configmap/local-repo-config created\n

                  local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                  kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html","title":"\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                DCE 5.0 \u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU Operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\u4f7f\u7528 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305
                2. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 7.9\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4
                3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u4e0e\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio
                4. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5 5.\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 7.9
                "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#1-yum","title":"1. \u6784\u5efa\u76f8\u5173\u5185\u6838\u7248\u672c\u7684\u79bb\u7ebf Yum \u6e90","text":"
                1. \u4e0b\u8f7d rhel7.9 ISO

                2. \u4e0b\u8f7d\u4e0e Kubean \u7248\u672c\u5bf9\u5e94\u7684\u7684 rhel7.9 ospackage

                  \u5728 \u5bb9\u5668\u7ba1\u7406 \u7684\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u627e\u5230 Helm \u5e94\u7528 \uff0c\u641c\u7d22 kubean\uff0c\u53ef\u67e5\u770b kubean \u7684\u7248\u672c\u53f7\u3002

                  \u5728 kubean\u7684\u4ee3\u7801\u4ed3\u5e93 \u4e2d\u4e0b\u8f7d\u8be5\u7248\u672c\u7684 rhel7.9 ospackage\u3002

                3. \u901a\u8fc7\u5b89\u88c5\u5668\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90

                  \u53c2\u8003\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90\u6587\u6863\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#2-red-hat-79-os","title":"2. \u4e0b\u8f7d Red Hat 7.9 OS \u7684\u79bb\u7ebf\u9a71\u52a8\u955c\u50cf","text":"

                \u70b9\u51fb\u67e5\u770b\u4e0b\u8f7d\u5730\u5740\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#3-red-hat-gpu-opreator","title":"3. \u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                \u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u3002

                Note

                \u6b64\u53c2\u8003\u4ee5 rhel8.4 \u4e3a\u4f8b\uff0c\u8bf7\u6ce8\u610f\u4fee\u6539\u6210 rhel7.9\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#4-yum","title":"4. \u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 Yum \u6e90\u4fe1\u606f","text":"

                \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                  # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo <<  EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                  kubectl create configmap local-repo-config -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  configmap/local-repo-config created\n

                  local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                  kubectl get configmap local-repo-config -n gpu-operator -oyaml\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  local-repo-config.yaml
                  apiVersion: v1\ndata:\n  CentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n  = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname\n  = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\n  creationTimestamp: \"2023-10-18T01:59:02Z\"\n  name: local-repo-config\n  namespace: gpu-operator\n  resourceVersion: \"59445080\"\n  uid: c5f0ebab-046f-442c-b932-f9003e014387\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u5176\u4e2d\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u4f7f\u7528\u4e86 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html","title":"GPU \u544a\u8b66\u89c4\u5219","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u8bbe\u7f6e GPU \u76f8\u5173\u7684\u544a\u8b66\u89c4\u5219\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907
                • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6
                • \u5982\u679c\u7528\u5230\u4e86 vGPU \u8fd8\u9700\u8981\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5 Nvidia-vgpu \u7ec4\u4ef6\uff0c\u5e76\u4e14\u5f00\u542f servicemonitor
                • \u96c6\u7fa4\u6b63\u786e\u5b89\u88c5\u4e86 insight-agent \u7ec4\u4ef6
                "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_1","title":"\u544a\u8b66\u5e38\u7528 GPU \u6307\u6807","text":"

                \u672c\u8282\u4ecb\u7ecd GPU \u544a\u8b66\u5e38\u7528\u7684\u6307\u6807\uff0c\u5206\u4e3a\u4e24\u4e2a\u90e8\u5206\uff1a

                • GPU \u5361\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94\u5355\u4e2a GPU \u8bbe\u5907\u7684\u8fd0\u884c\u72b6\u6001\u3002
                • \u5e94\u7528\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94 Pod \u5728 GPU \u4e0a\u7684\u8fd0\u884c\u72b6\u6001\u3002
                "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_2","title":"GPU \u5361\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e DCGM_FI_DEV_GPU_UTIL % GPU \u5229\u7528\u7387 DCGM_FI_DEV_MEM_COPY_UTIL % \u663e\u5b58\u5229\u7528\u7387 DCGM_FI_DEV_ENC_UTIL % \u7f16\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_DEC_UTIL % \u89e3\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_FB_FREE MB \u8868\u793a\u663e\u5b58\u5269\u4f59\u91cf DCGM_FI_DEV_FB_USED MB \u8868\u793a\u663e\u5b58\u4f7f\u7528\u91cf DCGM_FI_DEV_GPU_TEMP \u6444\u6c0f\u5ea6 \u8868\u793a\u5f53\u524d GPU \u7684\u6e29\u5ea6\u5ea6\u6570 DCGM_FI_DEV_POWER_USAGE W \u8bbe\u5907\u7535\u6e90\u4f7f\u7528\u60c5\u51b5 DCGM_FI_DEV_XID_ERRORS - \u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\uff0c\u6700\u540e\u53d1\u751f\u7684 XID \u9519\u8bef\u53f7\u3002XID \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\uff0c\u66f4\u591a XID \u4fe1\u606f"},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_2","title":"\u5e94\u7528\u7ef4\u5ea6\u7684\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e kpanda_gpu_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u7684\u4f7f\u7528\u7387 kpanda_gpu_mem_pod_usage MB \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u91cf kpanda_gpu_mem_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u7387"},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_3","title":"\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219","text":"

                \u8fd9\u91cc\u4f1a\u4ecb\u7ecd\u5982\u4f55\u8bbe\u7f6e GPU \u544a\u8b66\u89c4\u5219\uff0c\u4f7f\u7528 GPU \u5361\u5229\u7528\u7387\u6307\u6807\u4f5c\u4e3a\u6848\u4f8b\uff0c\u8bf7\u7528\u6237\u6839\u636e\u5b9e\u9645\u7684\u4e1a\u52a1\u573a\u666f\u9009\u62e9\u6307\u6807\u4ee5\u53ca\u7f16\u5199 promql\u3002

                \u76ee\u6807\uff1a\u5f53GPU\u5361\u5229\u7528\u7387\u5728\u4e94\u79d2\u949f\u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\u65f6\u53d1\u51fa\u544a\u8b66

                1. \u5728\u53ef\u89c2\u6d4b\u9875\u9762\uff0c\u70b9\u51fb \u544a\u8b66 -> \u544a\u8b66\u7b56\u7565 -> \u521b\u5efa\u544a\u8b66\u7b56\u7565

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f

                3. \u6dfb\u52a0\u89c4\u5219

                4. \u9009\u62e9\u901a\u77e5\u65b9\u5f0f

                5. \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5f53\u4e00\u4e2a GPU \u5728 5s \u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\uff0c\u4f1a\u6536\u5230\u5982\u4e0b\u7684\u544a\u8b66\u4fe1\u606f\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html","title":"GPU \u76d1\u63a7\u6307\u6807","text":"

                \u672c\u9875\u5217\u51fa\u4e00\u4e9b\u5e38\u7528\u7684 GPU \u76d1\u63a7\u6307\u6807\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_1","title":"\u96c6\u7fa4\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u5361\u6570 \u96c6\u7fa4\u4e0b\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u5e73\u5747\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u7b97\u529b\u4f7f\u7528\u7387 GPU \u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u5e26\u5bbd\u4f7f\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u3002\u4ee5 Nvidia GPU V100 \u4e3a\u4f8b\uff0c\u5176\u6700\u5927\u5185\u5b58\u5e26\u5bbd\u4e3a 900 GB/sec\uff0c\u5982\u679c\u5f53\u524d\u7684\u5185\u5b58\u5e26\u5bbd\u4e3a 450 GB/sec\uff0c\u5219\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u4e3a 50%"},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_2","title":"\u8282\u70b9\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u6a21\u5f0f \u8282\u70b9\u4e0a GPU \u5361\u7684\u4f7f\u7528\u6a21\u5f0f\uff0c\u5305\u542b\u6574\u5361\u6a21\u5f0f\u3001MIG \u6a21\u5f0f\u3001vGPU \u6a21\u5f0f GPU \u7269\u7406\u5361\u6570 \u8282\u70b9\u4e0a\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u865a\u62df\u5361\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 vGPU \u8bbe\u5907\u6570\u91cf GPU MIG \u5b9e\u4f8b\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 MIG \u5b9e\u4f8b\u6570 GPU \u663e\u5b58\u5206\u914d\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u7387 GPU \u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 GPU \u663e\u5b58\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u9a71\u52a8\u7248\u672c \u8282\u70b9\u4e0a GPU \u5361\u9a71\u52a8\u7684\u7248\u672c\u4fe1\u606f GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09

                \u6839\u636e XID \u72b6\u6001\u6392\u67e5 GPU \u76f8\u5173\u95ee\u9898

                XID \u6d88\u606f\u662f NVIDIA \u9a71\u52a8\u7a0b\u5e8f\u5411\u64cd\u4f5c\u7cfb\u7edf\u7684\u5185\u6838\u65e5\u5fd7\u6216\u4e8b\u4ef6\u65e5\u5fd7\u6253\u5370\u7684\u9519\u8bef\u62a5\u544a\u3002XID \u6d88\u606f\u7528\u4e8e\u6807\u8bc6 GPU \u9519\u8bef\u4e8b\u4ef6\uff0c \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\u3002 \u5982\u68c0\u67e5\u9879 GPU \u8282\u70b9\u4e0a\u7684 XID \u5f02\u5e38\u4e3a\u7a7a\uff0c\u8868\u660e\u65e0 XID \u6d88\u606f\uff1b\u5982\u6709\uff0c\u60a8\u53ef\u6309\u7167\u4e0b\u8868\u81ea\u52a9\u6392\u67e5\u5e76\u89e3\u51b3\u95ee\u9898\uff0c \u6216\u67e5\u770b\u66f4\u591a XID \u6d88\u606f\u3002

                XID \u6d88\u606f \u8bf4\u660e 13 Graphics Engine Exception. \u901a\u5e38\u662f\u6570\u7ec4\u8d8a\u754c\u3001\u6307\u4ee4\u9519\u8bef\uff0c\u5c0f\u6982\u7387\u662f\u786c\u4ef6\u95ee\u9898\u3002 31 GPU memory page fault. \u901a\u5e38\u662f\u5e94\u7528\u7a0b\u5e8f\u7684\u975e\u6cd5\u5730\u5740\u8bbf\u95ee\uff0c\u6781\u5c0f\u6982\u7387\u662f\u9a71\u52a8\u6216\u8005\u786c\u4ef6\u95ee\u9898\u3002 32 Invalid or corrupted push buffer stream. \u4e8b\u4ef6\u7531 PCIE \u603b\u7ebf\u4e0a\u7ba1\u7406 NVIDIA \u9a71\u52a8\u548c GPU \u4e4b\u95f4\u901a\u4fe1\u7684 DMA \u63a7\u5236\u5668\u4e0a\u62a5\uff0c\u901a\u5e38\u662f PCI \u8d28\u91cf\u95ee\u9898\u5bfc\u81f4\uff0c\u800c\u975e\u60a8\u7684\u7a0b\u5e8f\u4ea7\u751f\u3002 38 Driver firmware error. \u901a\u5e38\u662f\u9a71\u52a8\u56fa\u4ef6\u9519\u8bef\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 43 GPU stopped processing. \u901a\u5e38\u662f\u60a8\u5e94\u7528\u81ea\u8eab\u9519\u8bef\uff0c\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 45 Preemptive cleanup, due to previous errors -- Most likely to see when running multiple cuda applications and hitting a DBE. \u901a\u5e38\u662f\u60a8\u624b\u52a8\u9000\u51fa\u6216\u8005\u5176\u4ed6\u6545\u969c\uff08\u786c\u4ef6\u3001\u8d44\u6e90\u9650\u5236\u7b49\uff09\u5bfc\u81f4\u7684 GPU \u5e94\u7528\u9000\u51fa\uff0cXID 45 \u53ea\u63d0\u4f9b\u4e00\u4e2a\u7ed3\u679c\uff0c\u5177\u4f53\u539f\u56e0\u901a\u5e38\u9700\u8981\u8fdb\u4e00\u6b65\u5206\u6790\u65e5\u5fd7\u3002 48 Double Bit ECC Error (DBE). \u5f53 GPU \u53d1\u751f\u4e0d\u53ef\u7ea0\u6b63\u7684\u9519\u8bef\u65f6\uff0c\u4f1a\u4e0a\u62a5\u6b64\u4e8b\u4ef6\uff0c\u8be5\u9519\u8bef\u4e5f\u4f1a\u540c\u65f6\u53cd\u9988\u7ed9\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u901a\u5e38\u9700\u8981\u91cd\u7f6e GPU \u6216\u91cd\u542f\u8282\u70b9\u6765\u6e05\u9664\u8fd9\u4e2a\u9519\u8bef\u3002 61 Internal micro-controller breakpoint/warning. GPU \u5185\u90e8\u5f15\u64ce\u505c\u6b62\u5de5\u4f5c\uff0c\u60a8\u7684\u4e1a\u52a1\u5df2\u7ecf\u53d7\u5230\u5f71\u54cd\u3002 62 Internal micro-controller halt. \u4e0e XID 61 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002 63 ECC page retirement or row remapping recording event. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u663e\u5b58\u786c\u4ef6\u9519\u8bef\u65f6\uff0cNVIDIA \u81ea\u7ea0\u9519\u673a\u5236\u4f1a\u5c06\u9519\u8bef\u7684\u5185\u5b58\u533a\u57df retire \u6216\u8005 remap\uff0cretirement \u548c remapped \u4fe1\u606f\u9700\u8bb0\u5f55\u5230 infoROM \u4e2d\u624d\u80fd\u6c38\u4e45\u751f\u6548\u3002Volt \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 ECC page retirement \u4e8b\u4ef6\u5230 infoROM\u3002Ampere \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 row remapping \u4e8b\u4ef6\u5230 infoROM\u3002 64 ECC page retirement or row remapper recording failure. \u4e0e XID 63 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 63 \u4ee3\u8868 retirement \u548c remapped \u4fe1\u606f\u6210\u529f\u8bb0\u5f55\u5230\u4e86 infoROM\uff0cXID 64 \u4ee3\u8868\u8be5\u8bb0\u5f55\u64cd\u4f5c\u5931\u8d25\u3002 68 NVDEC0 Exception. \u901a\u5e38\u662f\u786c\u4ef6\u6216\u9a71\u52a8\u95ee\u9898\u3002 74 NVLINK Error. NVLink \u786c\u4ef6\u9519\u8bef\u4ea7\u751f\u7684 XID\uff0c\u8868\u660e GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 79 GPU has fallen off the bus. GPU \u786c\u4ef6\u68c0\u6d4b\u5230\u6389\u5361\uff0c\u603b\u7ebf\u4e0a\u65e0\u6cd5\u68c0\u6d4b\u8be5 GPU\uff0c\u8868\u660e\u8be5 GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 92 High single-bit ECC error rate. \u786c\u4ef6\u6216\u9a71\u52a8\u6545\u969c\u3002 94 Contained ECC error. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u4e0d\u53ef\u7ea0\u6b63\u7684\u663e\u5b58 ECC \u9519\u8bef\u65f6\uff0cNVIDIA \u9519\u8bef\u6291\u5236\u673a\u5236\u4f1a\u5c1d\u8bd5\u5c06\u9519\u8bef\u6291\u5236\u5728\u53d1\u751f\u786c\u4ef6\u6545\u969c\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u907f\u514d\u8be5\u9519\u8bef\u5f71\u54cd GPU \u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002\u5f53\u6291\u5236\u673a\u5236\u6210\u529f\u6291\u5236\u9519\u8bef\u65f6\uff0c\u4f1a\u4ea7\u751f\u8be5\u4e8b\u4ef6\uff0c\u4ec5\u51fa\u73b0\u4e0d\u53ef\u7ea0\u6b63 ECC \u9519\u8bef\u7684\u5e94\u7528\u7a0b\u5e8f\u53d7\u5230\u5f71\u54cd\u3002 95 Uncontained ECC error. \u4e0e XID 94 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 94 \u4ee3\u8868\u6291\u5236\u6210\u529f\uff0c\u800c XID 95 \u4ee3\u8868\u6291\u5236\u5931\u8d25\uff0c\u8868\u660e\u8fd0\u884c\u5728\u8be5 GPU \u4e0a\u7684\u6240\u6709\u5e94\u7528\u7a0b\u5e8f\u90fd\u5df2\u53d7\u5230\u5f71\u54cd\u3002"},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#pod","title":"Pod \u7ef4\u5ea6","text":"\u5206\u7c7b \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 \u5e94\u7528\u6982\u89c8 GPU \u5361 - \u7b97\u529b & \u663e\u5b58 Pod GPU \u7b97\u529b\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387 Pod GPU \u663e\u5b58\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u7387 Pod \u663e\u5b58\u4f7f\u7528\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf \u663e\u5b58\u5206\u914d\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u91cf Pod GPU \u663e\u5b58\u590d\u5236\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u663e\u5b58\u590d\u5236\u6bd4\u7387 GPU \u5361 - \u5f15\u64ce\u6982\u89c8 GPU \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8\u767e\u5206\u6bd4 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cGraphics \u6216 Compute \u5f15\u64ce\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\uff08Memory BW Utilization\uff09\u5c06\u6570\u636e\u53d1\u9001\u5230\u8bbe\u5907\u5185\u5b58\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8f83\u9ad8\u7684\u503c\u8868\u793a\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8f83\u9ad8\u3002\u8be5\u503c\u4e3a 1\uff08100%\uff09\u8868\u793a\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u5047\u8bbe\u8be5\u503c\u4e3a 0.2\uff0820%\uff09\uff0c\u8868\u793a 20% \u7684\u5468\u671f\u5728\u65f6\u95f4\u95f4\u9694\u5185\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 Tensor \u6838\u5fc3\u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cTensor Core \u7ba1\u9053\uff08Pipe\uff09\u5904\u4e8e Active \u65f6\u95f4\u5360\u603b\u65f6\u95f4\u7684\u6bd4\u4f8b FP16 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP16 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP32 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP32 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP64 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP64 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u89e3\u7801\u4f7f\u7528\u7387 GPU \u5361\u89e3\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u7f16\u7801\u4f7f\u7528\u7387 GPU \u5361\u7f16\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u5361 - \u6e29\u5ea6 & \u529f\u8017 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361 - \u603b\u8017\u80fd GPU \u5361\u603b\u5171\u6d88\u8017\u7684\u80fd\u91cf GPU \u5361 - Clock GPU \u5361\u5185\u5b58\u9891\u7387 \u5185\u5b58\u9891\u7387 GPU \u5361\u5e94\u7528SM \u65f6\u949f\u9891\u7387 \u5e94\u7528\u7684 SM \u65f6\u949f\u9891\u7387 GPU \u5361\u5e94\u7528\u5185\u5b58\u9891\u7387 \u5e94\u7528\u5185\u5b58\u9891\u7387 GPU \u5361\u89c6\u9891\u5f15\u64ce\u9891\u7387 \u89c6\u9891\u5f15\u64ce\u9891\u7387 GPU \u5361\u964d\u9891\u539f\u56e0 \u964d\u9891\u539f\u56e0 GPU \u5361 - \u5176\u4ed6\u7ec6\u8282 \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8 \u56fe\u5f62\u6216\u8ba1\u7b97\u5f15\u64ce\u7684\u4efb\u4f55\u90e8\u5206\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\u3002\u5982\u679c\u56fe\u5f62/\u8ba1\u7b97\u4e0a\u4e0b\u6587\u5df2\u7ed1\u5b9a\u4e14\u56fe\u5f62/\u8ba1\u7b97\u7ba1\u9053\u7e41\u5fd9\uff0c\u5219\u56fe\u5f62\u5f15\u64ce\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002 SM\u6d3b\u52a8 \u591a\u5904\u7406\u5668\u4e0a\u81f3\u5c11\u4e00\u4e2a Warp \u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\uff0c\u6240\u6709\u591a\u5904\u7406\u5668\u7684\u5e73\u5747\u503c\u3002\u8bf7\u6ce8\u610f\uff0c\u201c\u6d3b\u52a8\u201d\u5e76\u4e0d\u4e00\u5b9a\u610f\u5473\u7740 Warp \u6b63\u5728\u79ef\u6781\u8ba1\u7b97\u3002\u4f8b\u5982\uff0c\u7b49\u5f85\u5185\u5b58\u8bf7\u6c42\u7684 Warp \u88ab\u89c6\u4e3a\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u30020.8 \u6216\u66f4\u5927\u7684\u503c\u662f\u6709\u6548\u4f7f\u7528 GPU \u7684\u5fc5\u8981\u6761\u4ef6\uff0c\u4f46\u8fd8\u4e0d\u591f\u3002\u5c0f\u4e8e 0.5 \u7684\u503c\u53ef\u80fd\u8868\u793a GPU \u4f7f\u7528\u6548\u7387\u4f4e\u4e0b\u3002\u7ed9\u51fa\u4e00\u4e2a\u7b80\u5316\u7684 GPU \u67b6\u6784\u89c6\u56fe\uff0c\u5982\u679c GPU \u6709 N \u4e2a SM\uff0c\u5219\u4f7f\u7528 N \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 1\uff08100%\uff09\u3002\u4f7f\u7528 N/5 \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 0.2\uff0820%\uff09\u3002\u4f7f\u7528 N \u4e2a\u5757\u5e76\u8fd0\u884c\u4e94\u5206\u4e4b\u4e00\u65f6\u95f4\u95f4\u9694\u7684\u5185\u6838\uff0c\u5982\u679c SM \u5904\u4e8e\u7a7a\u95f2\u72b6\u6001\uff0c\u5219\u6d3b\u52a8\u4e5f\u5c06\u4e3a 0.2\uff0820%\uff09\u3002\u8be5\u503c\u4e0e\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u65e0\u5173\uff08\u53c2\u89c1DCGM_FI_PROF_SM_OCCUPANCY\uff09\u3002 SM \u5165\u4f4f\u7387 \u591a\u5904\u7406\u5668\u4e0a\u9a7b\u7559 Warp \u7684\u6bd4\u4f8b\uff0c\u76f8\u5bf9\u4e8e\u591a\u5904\u7406\u5668\u4e0a\u652f\u6301\u7684\u6700\u5927\u5e76\u53d1 Warp \u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u8868\u793a GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u5bf9\u4e8e GPU \u5185\u5b58\u5e26\u5bbd\u53d7\u9650\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff08\u53c2\u89c1DCGM_FI_PROF_DRAM_ACTIVE\uff09\uff0c\u5360\u7528\u7387\u8d8a\u9ad8\u8868\u660e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u4f46\u662f\uff0c\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u662f\u8ba1\u7b97\u53d7\u9650\u7684\uff08\u5373\u4e0d\u53d7 GPU \u5185\u5b58\u5e26\u5bbd\u6216\u5ef6\u8fdf\u9650\u5236\uff09\uff0c\u5219\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u4e0e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u76f8\u5173\u3002\u8ba1\u7b97\u5360\u7528\u7387\u5e76\u4e0d\u7b80\u5355\uff0c\u5b83\u53d6\u51b3\u4e8e GPU \u5c5e\u6027\u3001\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u3001\u6bcf\u4e2a\u7ebf\u7a0b\u7684\u5bc4\u5b58\u5668\u4ee5\u53ca\u6bcf\u4e2a\u5757\u7684\u5171\u4eab\u5185\u5b58\u7b49\u56e0\u7d20\u3002\u4f7f\u7528CUDA \u5360\u7528\u7387\u8ba1\u7b97\u5668 \u63a2\u7d22\u5404\u79cd\u5360\u7528\u7387\u573a\u666f\u3002 \u5f20\u91cf\u6d3b\u52a8 \u5f20\u91cf (HMMA / IMMA) \u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u5f20\u91cf\u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8 1 (100%) \u76f8\u5f53\u4e8e\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u53d1\u51fa\u4e00\u4e2a\u5f20\u91cf\u6307\u4ee4\u3002\u6d3b\u52a8 0.2 (20%) \u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP64 \u5f15\u64ce\u6d3b\u52a8 FP64\uff08\u53cc\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP64 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185 Volta \u4e0a\u6bcf\u56db\u4e2a\u5468\u671f\u7684\u6bcf\u4e2a SM\u4e0a\u6267\u884c\u4e00\u6761 FP64 \u6307\u4ee4 \u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605 DCGM_FI_PROF_SM_ACTIVE \u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP32 \u5f15\u64ce\u6d3b\u52a8 FMA\uff08FP32\uff08\u5355\u7cbe\u5ea6\uff09\u548c\u6574\u6570\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP32 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP32 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP16 \u5f15\u64ce\u6d3b\u52a8 FP16\uff08\u534a\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP16 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP16 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u5411\u8bbe\u5907\u5185\u5b58\u53d1\u9001\u6570\u636e\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u6bd4\u4f8b\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u7387\u4e3a 1 (100%) \u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u6d3b\u52a8\u7387\u4e3a 0.2 (20%) \u8868\u793a\u5728\u65f6\u95f4\u95f4\u9694\u5185\u6709 20% \u7684\u5468\u671f\u6b63\u5728\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 NVLink \u5e26\u5bbd \u901a\u8fc7 NVLink \u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff08\u4e0d\u5305\u62ec\u534f\u8bae\u6807\u5934\uff09\uff0c\u4ee5\u6bcf\u79d2\u5b57\u8282\u6570\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\uff0c\u6bcf\u4e2a\u94fe\u8def\u6bcf\u4e2a\u65b9\u5411\u7684\u6700\u5927 NVLink Gen2 \u5e26\u5bbd\u4e3a 25 GB/s\u3002 PCIe \u5e26\u5bbd \u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff0c\u5305\u62ec\u534f\u8bae\u6807\u5934\u548c\u6570\u636e\u6709\u6548\u8d1f\u8f7d\uff0c\u4ee5\u5b57\u8282/\u79d2\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8be5\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\u6700\u5927 PCIe Gen3 \u5e26\u5bbd\u4e3a\u6bcf\u901a\u9053 985 MB/s\u3002 PCIe \u4f20\u8f93\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93\u7684\u6570\u636e\u901f\u7387 PCIe \u63a5\u6536\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u63a5\u6536\u7684\u6570\u636e\u901f\u7387"},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html","title":"NVIDIA \u591a\u5b9e\u4f8b GPU(MIG) \u6982\u8ff0","text":""},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#mig","title":"MIG \u573a\u666f","text":"
                • \u591a\u79df\u6237\u4e91\u73af\u5883

                  MIG \u5141\u8bb8\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u5c06\u4e00\u5757\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u72ec\u7acb\u7684 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u3002\u8fd9\u6837\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u548c\u72ec\u7acb\u6027\uff0c\u6ee1\u8db3\u591a\u4e2a\u79df\u6237\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                • \u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f

                  MIG \u53ef\u4ee5\u5728\u5bb9\u5668\u5316\u73af\u5883\u4e2d\u5b9e\u73b0\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u7ba1\u7406\u3002\u901a\u8fc7\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5bb9\u5668\u5206\u914d\u72ec\u7acb\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff0c\u63d0\u4f9b\u66f4\u597d\u7684\u6027\u80fd\u9694\u79bb\u548c\u8d44\u6e90\u5229\u7528\u3002

                • \u6279\u5904\u7406\u4f5c\u4e1a

                  \u5bf9\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u8ba1\u7b97\u7684\u6279\u5904\u7406\u4f5c\u4e1a\uff0cMIG \u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8ba1\u7b97\u6027\u80fd\u548c\u66f4\u5927\u7684\u663e\u5b58\u5bb9\u91cf\u3002\u6bcf\u4e2a MIG \u5b9e\u4f8b\u53ef\u4ee5\u5229\u7528\u7269\u7406 GPU \u7684\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u52a0\u901f\u5927\u89c4\u6a21\u8ba1\u7b97\u4efb\u52a1\u7684\u5904\u7406\u3002

                • AI/\u673a\u5668\u5b66\u4e60\u8bad\u7ec3

                  MIG \u53ef\u4ee5\u5728\u8bad\u7ec3\u5927\u89c4\u6a21\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u65f6\u63d0\u4f9b\u66f4\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u548c\u541e\u5410\u91cf\u3002

                \u603b\u4f53\u800c\u8a00\uff0cNVIDIA MIG \u9002\u7528\u4e8e\u9700\u8981\u66f4\u7ec6\u7c92\u5ea6\u7684GPU\u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\u7684\u573a\u666f\uff0c\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u3001\u63d0\u9ad8\u6027\u80fd\u5229\u7528\u7387\uff0c\u5e76\u4e14\u6ee1\u8db3\u591a\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#mig_1","title":"MIG \u6982\u8ff0","text":"

                NVIDIA \u591a\u5b9e\u4f8b GPU\uff08Multi-Instance GPU\uff0c\u7b80\u79f0 MIG\uff09\u662f NVIDIA \u5728 H100\uff0cA100\uff0cA30 \u7cfb\u5217 GPU \u5361\u4e0a\u63a8\u51fa\u7684\u4e00\u9879\u65b0\u7279\u6027\uff0c \u65e8\u5728\u5c06\u4e00\u5757\u7269\u7406 GPU \u5206\u5272\u4e3a\u591a\u4e2a GPU \u5b9e\u4f8b\uff0c\u4ee5\u63d0\u4f9b\u66f4\u7ec6\u7c92\u5ea6\u7684\u8d44\u6e90\u5171\u4eab\u548c\u9694\u79bb\u3002MIG \u6700\u591a\u53ef\u5c06\u4e00\u5757 GPU \u5212\u5206\u6210\u4e03\u4e2a GPU \u5b9e\u4f8b\uff0c \u4f7f\u5f97\u4e00\u4e2a \u7269\u7406 GPU \u5361\u53ef\u4e3a\u591a\u4e2a\u7528\u6237\u63d0\u4f9b\u5355\u72ec\u7684 GPU \u8d44\u6e90\uff0c\u4ee5\u5b9e\u73b0\u6700\u4f73 GPU \u5229\u7528\u7387\u3002

                \u8fd9\u4e2a\u529f\u80fd\u4f7f\u5f97\u591a\u4e2a\u5e94\u7528\u7a0b\u5e8f\u6216\u7528\u6237\u53ef\u4ee5\u540c\u65f6\u5171\u4eabGPU\u8d44\u6e90\uff0c\u63d0\u9ad8\u4e86\u8ba1\u7b97\u8d44\u6e90\u7684\u5229\u7528\u7387\uff0c\u5e76\u589e\u52a0\u4e86\u7cfb\u7edf\u7684\u53ef\u6269\u5c55\u6027\u3002

                \u901a\u8fc7 MIG\uff0c\u6bcf\u4e2a GPU \u5b9e\u4f8b\u7684\u5904\u7406\u5668\u5728\u6574\u4e2a\u5185\u5b58\u7cfb\u7edf\u4e2d\u5177\u6709\u72ec\u7acb\u4e14\u9694\u79bb\u7684\u8def\u5f84\u2014\u2014\u82af\u7247\u4e0a\u7684\u4ea4\u53c9\u5f00\u5173\u7aef\u53e3\u3001L2 \u9ad8\u901f\u7f13\u5b58\u7ec4\u3001\u5185\u5b58\u63a7\u5236\u5668\u548c DRAM \u5730\u5740\u603b\u7ebf\u90fd\u552f\u4e00\u5206\u914d\u7ed9\u5355\u4e2a\u5b9e\u4f8b\u3002

                \u8fd9\u786e\u4fdd\u4e86\u5355\u4e2a\u7528\u6237\u7684\u5de5\u4f5c\u8d1f\u8f7d\u80fd\u591f\u4ee5\u53ef\u9884\u6d4b\u7684\u541e\u5410\u91cf\u548c\u5ef6\u8fdf\u8fd0\u884c\uff0c\u5e76\u5177\u6709\u76f8\u540c\u7684\u4e8c\u7ea7\u7f13\u5b58\u5206\u914d\u548c DRAM \u5e26\u5bbd\u3002 MIG \u53ef\u4ee5\u5212\u5206\u53ef\u7528\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff08\u5305\u62ec\u6d41\u591a\u5904\u7406\u5668\u6216 SM \u548c GPU \u5f15\u64ce\uff0c\u5982\u590d\u5236\u5f15\u64ce\u6216\u89e3\u7801\u5668\uff09\u8fdb\u884c\u5206\u533a\uff0c \u4ee5\u4fbf\u4e3a\u4e0d\u540c\u7684\u5ba2\u6237\u7aef\uff08\u5982\u865a\u62df\u673a\u3001\u5bb9\u5668\u6216\u8fdb\u7a0b\uff09\u63d0\u4f9b\u5b9a\u4e49\u7684\u670d\u52a1\u8d28\u91cf\uff08QoS\uff09\u548c\u6545\u969c\u9694\u79bb\uff09\u3002 MIG \u4f7f\u591a\u4e2a GPU \u5b9e\u4f8b\u80fd\u591f\u5728\u5355\u4e2a\u7269\u7406 GPU \u4e0a\u5e76\u884c\u8fd0\u884c\u3002

                MIG \u5141\u8bb8\u591a\u4e2a vGPU\uff08\u4ee5\u53ca\u865a\u62df\u673a\uff09\u5728\u5355\u4e2a GPU \u5b9e\u4f8b\u4e0a\u5e76\u884c\u8fd0\u884c\uff0c\u540c\u65f6\u4fdd\u7559 vGPU \u63d0\u4f9b\u7684\u9694\u79bb\u4fdd\u8bc1\u3002 \u6709\u5173\u4f7f\u7528 vGPU \u548c MIG \u8fdb\u884c GPU \u5206\u533a\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 NVIDIA Multi-Instance GPU and NVIDIA Virtual Compute Server\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#mig_2","title":"MIG \u67b6\u6784","text":"

                \u5982\u4e0b\u662f\u4e00\u4e2a MIG \u7684\u6982\u8ff0\u56fe\uff0c\u53ef\u4ee5\u770b\u51fa MIG \u5c06\u4e00\u5f20\u7269\u7406 GPU \u5361\u865a\u62df\u5316\u6210\u4e86 7 \u4e2a GPU \u5b9e\u4f8b\uff0c\u8fd9\u4e9b GPU \u5b9e\u4f8b\u80fd\u591f\u53ef\u4ee5\u88ab\u591a\u4e2a User \u4f7f\u7528\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#_1","title":"\u91cd\u8981\u6982\u5ff5","text":"
                • SM \uff1a\u6d41\u5f0f\u591a\u5904\u7406\u5668\uff08Streaming Multiprocessor\uff09\uff0cGPU \u7684\u6838\u5fc3\u8ba1\u7b97\u5355\u5143\uff0c\u8d1f\u8d23\u6267\u884c\u56fe\u5f62\u6e32\u67d3\u548c\u901a\u7528\u8ba1\u7b97\u4efb\u52a1\u3002 \u6bcf\u4e2a SM \u5305\u542b\u4e00\u7ec4 CUDA \u6838\u5fc3\uff0c\u4ee5\u53ca\u5171\u4eab\u5185\u5b58\u3001\u5bc4\u5b58\u5668\u6587\u4ef6\u548c\u5176\u4ed6\u8d44\u6e90\uff0c\u53ef\u4ee5\u540c\u65f6\u6267\u884c\u591a\u4e2a\u7ebf\u7a0b\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u90fd\u62e5\u6709\u4e00\u5b9a\u6570\u91cf\u7684 SM \u548c\u5176\u4ed6\u76f8\u5173\u8d44\u6e90\uff0c\u4ee5\u53ca\u88ab\u5212\u5206\u51fa\u6765\u7684\u663e\u5b58\u3002
                • GPU Memory Slice \uff1aGPU \u5185\u5b58\u5207\u7247\uff0cGPU \u5185\u5b58\u5207\u7247\u662f GPU \u5185\u5b58\u7684\u6700\u5c0f\u90e8\u5206\uff0c\u5305\u62ec\u76f8\u5e94\u7684\u5185\u5b58\u63a7\u5236\u5668\u548c\u7f13\u5b58\u3002 GPU \u5185\u5b58\u5207\u7247\u5927\u7ea6\u662f GPU \u5185\u5b58\u8d44\u6e90\u603b\u91cf\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u5305\u62ec\u5bb9\u91cf\u548c\u5e26\u5bbd\u3002
                • GPU SM Slice \uff1aGPU SM \u5207\u7247\u662f GPU \u4e0a SM \u7684\u6700\u5c0f\u8ba1\u7b97\u5355\u4f4d\u3002\u5728 MIG \u6a21\u5f0f\u4e0b\u914d\u7f6e\u65f6\uff0c GPU SM \u5207\u7247\u5927\u7ea6\u662f GPU \u4e2d\u53ef\u7528 SMS \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                • GPU Slice \uff1aGPU \u5207\u7247\u662f GPU \u4e2d\u7531\u5355\u4e2a GPU \u5185\u5b58\u5207\u7247\u548c\u5355\u4e2a GPU SM \u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u7684\u6700\u5c0f\u90e8\u5206\u3002
                • GPU Instance \uff1aGPU \u5b9e\u4f8b \uff08GI\uff09 \u662f GPU \u5207\u7247\u548c GPU \u5f15\u64ce\uff08DMA\u3001NVDEC \u7b49\uff09\u7684\u7ec4\u5408\u3002 GPU \u5b9e\u4f8b\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\u59cb\u7ec8\u5171\u4eab\u6240\u6709 GPU \u5185\u5b58\u5207\u7247\u548c\u5176\u4ed6 GPU \u5f15\u64ce\uff0c\u4f46\u5b83\u7684 SM \u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\u3002 GPU \u5b9e\u4f8b\u63d0\u4f9b\u5185\u5b58 QoS\u3002\u6bcf\u4e2a GPU \u5207\u7247\u90fd\u5305\u542b\u4e13\u7528\u7684 GPU \u5185\u5b58\u8d44\u6e90\uff0c\u8fd9\u4e9b\u8d44\u6e90\u4f1a\u9650\u5236\u53ef\u7528\u5bb9\u91cf\u548c\u5e26\u5bbd\uff0c\u5e76\u63d0\u4f9b\u5185\u5b58 QoS\u3002 \u6bcf\u4e2a GPU \u5185\u5b58\u5207\u7247\u83b7\u5f97\u603b GPU \u5185\u5b58\u8d44\u6e90\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u6bcf\u4e2a GPU SM \u5207\u7247\u83b7\u5f97 SM \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                • Compute Instance \uff1aGPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b \uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c\u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002
                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#gpu-gi","title":"GPU \u5b9e\u4f8b\uff08GI\uff09","text":"

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 GPU \u4e0a\u521b\u5efa\u5404\u79cd\u5206\u533a\u3002\u5c06\u4f7f\u7528 A100-40GB \u4f5c\u4e3a\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u5bf9\u5355\u4e2a GPU \u7269\u7406\u5361\u4e0a\u8fdb\u884c\u5206\u533a\u3002

                GPU \u7684\u5206\u533a\u662f\u4f7f\u7528\u5185\u5b58\u5207\u7247\u8fdb\u884c\u7684\uff0c\u56e0\u6b64\u53ef\u4ee5\u8ba4\u4e3a A100-40GB GPU \u5177\u6709 8x5GB \u5185\u5b58\u5207\u7247\u548c 7 \u4e2a GPU SM \u5207\u7247\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5c55\u793a\u4e86 A100 \u4e0a\u53ef\u7528\u7684\u5185\u5b58\u5207\u7247\u3002

                \u5982\u4e0a\u6240\u8ff0\uff0c\u521b\u5efa GPU \u5b9e\u4f8b \uff08GI\uff09 \u9700\u8981\u5c06\u4e00\u5b9a\u6570\u91cf\u7684\u5185\u5b58\u5207\u7247\u4e0e\u4e00\u5b9a\u6570\u91cf\u7684\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\u3002 \u5728\u4e0b\u56fe\u4e2d\uff0c\u4e00\u4e2a 5GB \u5185\u5b58\u5207\u7247\u4e0e 1 \u4e2a\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\uff0c\u4ee5\u521b\u5efa 1g.5gb GI \u914d\u7f6e\u6587\u4ef6\uff1a

                \u540c\u6837\uff0c4x5GB \u5185\u5b58\u5207\u7247\u53ef\u4ee5\u4e0e 4x1 \u8ba1\u7b97\u5207\u7247\u7ed3\u5408\u4f7f\u7528\u4ee5\u521b\u5efa 4g.20gb \u7684 GI \u914d\u7f6e\u6587\u4ef6\uff1a

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#ci","title":"\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09","text":"

                GPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247(GI)\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c \u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002\u4f7f\u7528\u4e0a\u9762\u7684\u76f8\u540c 4g.20gb \u793a\u4f8b\uff0c\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a CI \u4ee5\u4ec5\u4f7f\u7528\u7b2c\u4e00\u4e2a\u8ba1\u7b97\u5207\u7247\u7684 1c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\uff0c\u5982\u4e0b\u56fe\u84dd\u8272\u90e8\u5206\u6240\u793a\uff1a

                \u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7\u9009\u62e9\u4efb\u4f55\u8ba1\u7b97\u5207\u7247\u6765\u521b\u5efa 4 \u4e2a\u4e0d\u540c\u7684 CI\u3002\u8fd8\u53ef\u4ee5\u5c06\u4e24\u4e2a\u8ba1\u7b97\u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u4ee5\u521b\u5efa 2c.4g.20gb \u7684\u8ba1\u7b97\u914d\u7f6e\uff09\uff1a

                \u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u53ef\u4ee5\u7ec4\u5408 3 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa\u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\uff0c\u6216\u8005\u53ef\u4ee5\u7ec4\u5408\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa 3c.4g.20gb \u3001 4c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\u3002 \u5408\u5e76\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u65f6\uff0c\u914d\u7f6e\u6587\u4ef6\u7b80\u79f0\u4e3a 4g.20gb \u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html","title":"\u5f00\u542f MIG \u529f\u80fd","text":"

                \u672c\u7ae0\u8282\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f NVIDIA MIG \u529f\u80fd\u65b9\u5f0f\uff0cNVIDIA \u5f53\u524d\u63d0\u4f9b\u4e24\u79cd\u5728 Kubernetes \u8282\u70b9\u4e0a\u516c\u5f00 MIG \u8bbe\u5907\u7684\u7b56\u7565\uff1a

                • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\u3002
                • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002

                \u8be6\u60c5\u53c2\u8003\uff1aNVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5f85\u5b89\u88c5 GPU \u9a71\u52a8\u8282\u70b9\u7cfb\u7edf\u8981\u6c42\u8bf7\u53c2\u8003\uff1aGPU \u652f\u6301\u77e9\u9635
                • \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\uff08NVIDIA H100\u3001 A100 \u548c A30 Tensor Core GPU\uff09\uff0c \u8be6\u60c5\u53c2\u8003 GPU \u652f\u6301\u77e9\u9635\u3002
                • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#gpu-operator-addon","title":"\u5b89\u88c5 gpu-operator Addon","text":""},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#_2","title":"\u53c2\u6570\u914d\u7f6e","text":"

                \u5b89\u88c5 Operator \u65f6\u9700\u8981\u5bf9\u5e94\u8bbe\u7f6e MigManager Config \u53c2\u6570\uff0c \u9ed8\u8ba4\u4e3a default-mig-parted-config \uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565\u914d\u7f6e\u6587\u4ef6\uff1a

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#_3","title":"\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565","text":"
                  ## \u81ea\u5b9a\u4e49\u5207\u5206 GI \u5b9e\u4f8b\u914d\u7f6e\n  all-disabled:\n    - devices: all\n      mig-enabled: false\n  all-enabled:\n    - devices: all\n      mig-enabled: true\n      mig-devices: {}\n  all-1g.10gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.5gb: 7\n  all-1g.10gb.me:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb+me: 1\n  all-1g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.20gb: 4\n  all-2g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        2g.20gb: 3\n  all-3g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n  all-4g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        4g.40gb: 1\n  all-7g.80gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        7g.80gb: 1\n  all-balanced:\n    - device-filter: [\"0x233110DE\", \"0x232210DE\", \"0x20B210DE\", \"0x20B510DE\", \"0x20F310DE\", \"0x20F510DE\"]\n      devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb: 2\n        2g.20gb: 1\n        3g.40gb: 1\n  # \u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u8bbe\u7f6e\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\n  custom-config:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n

                \u5728\u4e0a\u8ff0\u7684 YAML \u4e2d\u8bbe\u7f6e custom-config \uff0c\u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\u3002

                custom-config:\n  - devices: all\n    mig-enabled: true\n    mig-devices:\n      1c.3g.40gb: 6\n

                \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5728\u786e\u8ba4\u90e8\u7f72\u5e94\u7528\u65f6\u5373\u53ef\u4f7f\u7528 GPU MIG \u8d44\u6e90\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#gpu","title":"\u5207\u6362\u8282\u70b9 GPU \u6a21\u5f0f","text":"

                Note

                \u5207\u6362 GPU \u6a21\u5f0f\u6216\u8005\u4fee\u6539\u5207\u5206\u89c4\u683c\u540e\u9700\u8981\u91cd\u542f nvidia-mig-manager\u3002

                \u5f53\u6211\u4eec\u6210\u529f\u5b89\u88c5 gpu-operator \u4e4b\u540e\uff0c\u8282\u70b9\u9ed8\u8ba4\u662f\u6574\u5361\u6a21\u5f0f\uff0c\u5728\u8282\u70b9\u7ba1\u7406\u9875\u9762\u4f1a\u6709\u6807\u8bc6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                \u70b9\u51fb\u8282\u70b9\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 GPU \u6a21\u5f0f\u5207\u6362 \uff0c\u7136\u540e\u9009\u62e9\u5bf9\u5e94\u7684 MIG \u6a21\u5f0f\u4ee5\u53ca\u5207\u5206\u7684\u7b56\u7565\uff0c\u8fd9\u91cc\u4ee5 MIXED \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                \u8fd9\u91cc\u4e00\u5171\u6709\u4e24\u4e2a\u914d\u7f6e\uff1a

                1. MIg \u7b56\u7565\uff1aMixed \u4ee5\u53ca Single \u3002
                2. \u5207\u5206\u7b56\u7565\uff1a\u8fd9\u91cc\u7684\u7b56\u7565\u9700\u8981\u4e0e default-mig-parted-config\uff08\u6216\u8005\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u5207\u5206\u7b56\u7565\uff09 \u914d\u7f6e\u6587\u4ef6\u4e2d\u7684 key \u4fdd\u6301\u4e00\u81f4\u3002

                \u70b9\u51fb\u786e\u8ba4\u6309\u94ae\u540e\uff0c\u7b49\u5f85\u7ea6\u4e00\u5206\u949f\u5de6\u53f3\u5237\u65b0\u9875\u9762\uff0cMIG \u6a21\u5f0f\u5207\u6362\u6210\uff1a

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_command.html","title":"MIG \u76f8\u5173\u547d\u4ee4","text":"

                GI \u76f8\u5173\u547d\u540d\uff1a

                \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lgi \u67e5\u770b\u521b\u5efa GI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -dgi -gi \u5220\u9664\u6307\u5b9a\u7684 GI \u5b9e\u4f8b nvidia-smi mig -lgip \u67e5\u770b GI \u7684 profile nvidia-smi mig -cgi \u901a\u8fc7\u6307\u5b9a profile \u7684 ID \u521b\u5efa GI

                CI \u76f8\u5173\u547d\u4ee4\uff1a

                \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lcip { -gi {gi Instance ID}} \u67e5\u770b CI \u7684 profile \uff0c\u6307\u5b9a -gi \u53ef\u4ee5\u67e5\u770b\u7279\u5b9a GI \u5b9e\u4f8b\u53ef\u4ee5\u521b\u5efa\u7684 CI nvidia-smi mig -lci \u67e5\u770b\u521b\u5efa\u7684 CI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -cci {profile id} -gi {gi instance id} \u6307\u5b9a\u7684 GI \u521b\u5efa CI \u5b9e\u4f8b nvidia-smi mig -dci -ci \u5220\u9664\u6307\u5b9a CI \u5b9e\u4f8b

                GI+CI \u76f8\u5173\u547d\u4ee4\uff1a

                \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -i 0 -cgi {gi profile id} -C {ci profile id} \u76f4\u63a5\u521b\u5efa GI + CI \u5b9e\u4f8b"},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_usage.html","title":"\u4f7f\u7528 MIG GPU \u8d44\u6e90","text":"

                \u672c\u8282\u4ecb\u7ecd\u5e94\u7528\u5982\u4f55\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5df2\u7ecf\u90e8\u7f72 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                • \u5df2\u5b89\u88c5GPU Operator\u3002
                • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_usage.html#ui-mig-gpu","title":"UI \u754c\u9762\u4f7f\u7528 MIG GPU","text":"
                1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u8bc6\u522b GPU \u5361\u7c7b\u578b

                  \u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 -> \u8282\u70b9\u7ba1\u7406 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u6b63\u786e\u8bc6\u522b\u4e3a MIG \u6a21\u5f0f\u3002

                2. \u901a\u8fc7\u955c\u50cf\u90e8\u7f72\u5e94\u7528\uff0c\u53ef\u9009\u62e9\u5e76\u4f7f\u7528 NVIDIA MIG \u8d44\u6e90\u3002

                3. MIG Single \u6a21\u5f0f\u793a\u4f8b\uff08\u4e0e\u6574\u5361\u4f7f\u7528\u65b9\u5f0f\u76f8\u540c\uff09\uff1a

                  Note

                  MIG single \u7b56\u7565\u5141\u8bb8\u7528\u6237\u4ee5\u4e0e GPU \u6574\u5361\u76f8\u540c\u7684\u65b9\u5f0f\uff08nvidia.com/gpu\uff09\u8bf7\u6c42\u548c\u4f7f\u7528GPU\u8d44\u6e90\uff0c\u4e0d\u540c\u7684\u662f\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u662f GPU \u7684\u4e00\u90e8\u5206\uff08MIG\u8bbe\u5907\uff09\uff0c\u800c\u4e0d\u662f\u6574\u4e2aGPU\u3002\u4e86\u89e3\u66f4\u591a

                4. MIG Mixed \u6a21\u5f0f\u793a\u4f8b\uff1a

                "},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_usage.html#yaml-mig","title":"YAML \u914d\u7f6e\u4f7f\u7528 MIG","text":"

                MIG Single__ \u6a21\u5f0f\uff1a

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpu: 2 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                1. \u7533\u8bf7 MIG GPU \u7684\u6570\u91cf

                MIG Mixed \u6a21\u5f0f\uff1a

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/mig-4g.20gb: 1 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                1. \u901a\u8fc7 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                \u8fdb\u5165\u5bb9\u5668\u540e\u53ef\u4ee5\u67e5\u770b\u53ea\u4f7f\u7528\u4e86\u4e00\u4e2a MIG \u8bbe\u5907\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/hami.html","title":"\u6784\u5efa vGPU \u663e\u5b58\u8d85\u914d\u955c\u50cf","text":"

                Hami \u9879\u76ee\u4e2d vGPU \u663e\u5b58\u8d85\u914d\u7684\u529f\u80fd\u5df2\u7ecf\u4e0d\u5b58\u5728\uff0c\u76ee\u524d\u4f7f\u7528\u6709\u663e\u5b58\u8d85\u914d\u7684 libvgpu.so \u6587\u4ef6\u91cd\u65b0\u6784\u5efa\u3002

                Dockerfile
                FROM docker.m.daocloud.io/projecthami/hami:v2.3.11\nCOPY libvgpu.so /k8s-vgpu/lib/nvidia/\n

                \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6784\u5efa\u955c\u50cf\uff1a

                docker build -t release.daocloud.io/projecthami/hami:v2.3.11 -f Dockerfile .\n

                \u7136\u540e\u628a\u955c\u50cf push \u5230 release.daocloud.io \u4e2d\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_addon.html","title":"\u5b89\u88c5 NVIDIA vGPU Addon","text":"

                \u5982\u9700\u5c06\u4e00\u5f20 NVIDIA \u865a\u62df\u5316\u6210\u591a\u4e2a\u865a\u62df GPU\uff0c\u5e76\u5c06\u5176\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u865a\u62df\u673a\u6216\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 NVIDIA \u7684 vGPU \u80fd\u529b\u3002 \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4e2d\u5b89\u88c5 vGPU \u63d2\u4ef6\uff0c\u8fd9\u662f\u4f7f\u7528 NVIDIA vGPU \u80fd\u529b\u7684\u524d\u63d0\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_addon.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u53c2\u8003 GPU \u652f\u6301\u77e9\u9635 \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\u3002
                • \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u5177\u4f53\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_addon.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 nvidia-vgpu \u3002

                2. \u5728\u5b89\u88c5 vGPU \u7684\u8fc7\u7a0b\u4e2d\u63d0\u4f9b\u4e86\u51e0\u4e2a\u57fa\u672c\u4fee\u6539\u7684\u53c2\u6570\uff0c\u5982\u679c\u9700\u8981\u4fee\u6539\u9ad8\u7ea7\u53c2\u6570\u70b9\u51fb YAML \u5217\u8fdb\u884c\u4fee\u6539\uff1a

                  • deviceCoreScaling \uff1aNVIDIA \u88c5\u7f6e\u7b97\u529b\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u7b97\u529b\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceCoreScaling \u53c2\u6570\u4e3a S\uff0c\u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * 100% \u7b97\u529b\u3002

                  • deviceMemoryScaling \uff1aNVIDIA \u88c5\u7f6e\u663e\u5b58\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u663e\u5b58\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002 \u5bf9\u4e8e\u6709 M \u663e\u5b58\u5927\u5c0f\u7684 NVIDIA GPU\uff0c\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceMemoryScaling \u53c2\u6570\u4e3a S\uff0c \u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * M \u663e\u5b58\u3002

                  • deviceSplitCount \uff1a\u6574\u6570\u7c7b\u578b\uff0c\u9884\u8bbe\u503c\u662f 10\u3002GPU \u7684\u5206\u5272\u6570\uff0c\u6bcf\u4e00\u5f20 GPU \u90fd\u4e0d\u80fd\u5206\u914d\u8d85\u8fc7\u5176\u914d\u7f6e\u6570\u76ee\u7684\u4efb\u52a1\u3002 \u82e5\u5176\u914d\u7f6e\u4e3a N \u7684\u8bdd\uff0c\u6bcf\u4e2a GPU \u4e0a\u6700\u591a\u53ef\u4ee5\u540c\u65f6\u5b58\u5728 N \u4e2a\u4efb\u52a1\u3002

                  • Resources \uff1a\u5c31\u662f\u5bf9\u5e94 vgpu-device-plugin \u548c vgpu-schedule pod \u7684\u8d44\u6e90\u4f7f\u7528\u91cf\u3002

                  • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b vGPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 NVIDIA vGPU Addon \u5b89\u88c5\u5931\u8d25\u3002

                3. \u5b89\u88c5\u6210\u529f\u4e4b\u540e\u4f1a\u5728\u6307\u5b9a Namespace \u4e0b\u51fa\u73b0\u5982\u4e0b\u4e24\u4e2a\u7c7b\u578b\u7684 Pod\uff0c\u5373\u8868\u793a NVIDIA vGPU \u63d2\u4ef6\u5df2\u5b89\u88c5\u6210\u529f\uff1a

                \u5b89\u88c5\u6210\u529f\u540e\uff0c\u90e8\u7f72\u5e94\u7528\u53ef\u4f7f\u7528 vGPU \u8d44\u6e90\u3002

                Note

                NVIDIA vGPU Addon \u4e0d\u652f\u6301\u4ece\u8001\u7248\u672c v2.0.0 \u76f4\u63a5\u5347\u7ea7\u4e3a\u6700\u65b0\u7248 v2.0.0+1\uff1b \u5982\u9700\u5347\u7ea7\uff0c\u8bf7\u5378\u8f7d\u8001\u7248\u672c\u540e\u91cd\u65b0\u5b89\u88c5\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html","title":"\u5e94\u7528\u4f7f\u7528 Nvidia vGPU","text":"

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                • \u5df2\u6210\u529f\u5b89\u88c5 vGPU Addon\uff0c\u8be6\u60c5\u53c2\u8003 GPU Addon \u5b89\u88c5
                • \u5df2\u5b89\u88c5 GPU Operator\uff0c\u5e76\u5df2 \u5173\u95ed Nvidia.DevicePlugin \u80fd\u529b\uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5
                "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html#vgpu","title":"\u754c\u9762\u4f7f\u7528 vGPU","text":"
                1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia vGPU \u3002

                2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia vGPU\uff09\u4e4b\u540e\uff0c\u4f1a\u81ea\u52a8\u51fa\u73b0\u5982\u4e0b\u51e0\u4e2a\u53c2\u6570\u9700\u8981\u586b\u5199\uff1a

                  • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                  • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b \u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c \u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                  • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                  \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html#yaml-vgpu","title":"YAML \u914d\u7f6e\u4f7f\u7528 vGPU","text":"

                \u53c2\u8003\u5982\u4e0b\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/vgpu: '1' \u53c2\u6570\u6765\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-vgpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-vgpu-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: full-vgpu-demo\n    spec:\n      containers:\n        - name: full-vgpu-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpucores: '20'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 20% \u7684 GPU \u7b97\u529b\n              nvidia.com/gpumem: '200'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 200MB \u7684\u663e\u5b58\n              nvidia.com/vgpu: '1'   # \u7533\u8bf7GPU\u7684\u6570\u91cf\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                "},{"location":"kpanda/user-guide/gpu/volcano/drf.html","title":"DRF\uff08Dominant Resource Fairness\uff09 \u8c03\u5ea6\u7b56\u7565","text":"

                DRF \u8c03\u5ea6\u7b56\u7565\u8ba4\u4e3a\u5360\u7528\u8d44\u6e90\u8f83\u5c11\u7684\u4efb\u52a1\u5177\u6709\u66f4\u9ad8\u7684\u4f18\u5148\u7ea7\u3002\u8fd9\u6837\u80fd\u591f\u6ee1\u8db3\u66f4\u591a\u7684\u4f5c\u4e1a\uff0c\u4e0d\u4f1a\u56e0\u4e3a\u4e00\u4e2a\u80d6\u4e1a\u52a1\uff0c \u997f\u6b7b\u5927\u6279\u5c0f\u4e1a\u52a1\u3002DRF \u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u786e\u4fdd\u5728\u591a\u79cd\u7c7b\u578b\u8d44\u6e90\u5171\u5b58\u7684\u73af\u5883\u4e0b\uff0c\u5c3d\u53ef\u80fd\u6ee1\u8db3\u5206\u914d\u7684\u516c\u5e73\u539f\u5219\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/drf.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                DRF \u8c03\u5ea6\u7b56\u7565\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4efb\u4f55\u914d\u7f6e\u3002

                kubectl -n volcano-system view configmaps volcano-scheduler-configmap\n
                "},{"location":"kpanda/user-guide/gpu/volcano/drf.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                \u5728 AI \u8bad\u7ec3\uff0c\u6216\u5927\u6570\u636e\u8ba1\u7b97\u4e2d\uff0c\u901a\u8fc7\u6709\u9650\u8fd0\u884c\u4f7f\u7528\u8d44\u6e90\u5c11\u7684\u4efb\u52a1\uff0c\u8fd9\u6837\u53ef\u4ee5\u8ba9\u96c6\u7fa4\u8d44\u6e90\u4f7f\u7528\u7387\u66f4\u9ad8\uff0c\u800c\u4e14\u8fd8\u80fd\u907f\u514d\u5c0f\u4efb\u52a1\u88ab\u997f\u6b7b\u3002 \u5982\u4e0b\u521b\u5efa\u4e24\u4e2a Job\uff0c\u4e00\u4e2a\u662f\u5c0f\u8d44\u6e90\u9700\u6c42\uff0c\u4e00\u4e2a\u662f\u5927\u8d44\u6e90\u9700\u6c42\uff0c\u53ef\u4ee5\u770b\u51fa\u6765\u5c0f\u8d44\u6e90\u9700\u6c42\u7684 Job \u4f18\u5148\u8fd0\u884c\u8d77\u6765\u3002

                cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: small-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: small-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"1\"  \n          restartPolicy: OnFailure  \n---  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: large-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: large-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"2\"  \n          restartPolicy: OnFailure  \nEOF\n
                "},{"location":"kpanda/user-guide/gpu/volcano/numa.html","title":"NUMA \u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                NUMA \u8282\u70b9\u662f Non-Uniform Memory Access\uff08\u975e\u7edf\u4e00\u5185\u5b58\u8bbf\u95ee\uff09\u67b6\u6784\u4e2d\u7684\u4e00\u4e2a\u57fa\u672c\u7ec4\u6210\u5355\u5143\uff0c\u4e00\u4e2a Node \u8282\u70b9\u662f\u591a\u4e2a NUMA \u8282\u70b9\u7684\u96c6\u5408\uff0c \u5728\u591a\u4e2a NUMA \u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u5185\u5b58\u8bbf\u95ee\u65f6\u4f1a\u4ea7\u751f\u5ef6\u8fdf\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u4f18\u5316\u4efb\u52a1\u8c03\u5ea6\u548c\u5185\u5b58\u5206\u914d\u7b56\u7565\uff0c\u6765\u63d0\u9ad8\u5185\u5b58\u8bbf\u95ee\u6548\u7387\u548c\u6574\u4f53\u6027\u80fd\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                Numa \u4eb2\u548c\u6027\u8c03\u5ea6\u7684\u5e38\u89c1\u573a\u666f\u662f\u90a3\u4e9b\u5bf9 CPU \u53c2\u6570\u654f\u611f/\u8c03\u5ea6\u5ef6\u8fdf\u654f\u611f\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4f5c\u4e1a\u3002\u5982\u79d1\u5b66\u8ba1\u7b97\u3001\u89c6\u9891\u89e3\u7801\u3001\u52a8\u6f2b\u52a8\u753b\u6e32\u67d3\u3001\u5927\u6570\u636e\u79bb\u7ebf\u5904\u7406\u7b49\u5177\u4f53\u573a\u666f\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#_2","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                Pod \u8c03\u5ea6\u65f6\u53ef\u4ee5\u91c7\u7528\u7684 NUMA \u653e\u7f6e\u7b56\u7565\uff0c\u5177\u4f53\u7b56\u7565\u5bf9\u5e94\u7684\u8c03\u5ea6\u884c\u4e3a\u8bf7\u53c2\u89c1 Pod \u8c03\u5ea6\u884c\u4e3a\u8bf4\u660e\u3002

                • single-numa-node\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a single-numa-node \u7684\u8282\u70b9\u6c60\u4e2d\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                • restricted\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a restricted \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c\u7684 NUMA \u96c6\u5408\u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                • best-effort\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a best-effort \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14\u5c3d\u91cf\u5c06 CPU \u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u6ca1\u6709\u8282\u70b9\u6ee1\u8db3\u8fd9\u4e00\u6761\u4ef6\uff0c\u5219\u9009\u62e9\u6700\u4f18\u8282\u70b9\u8fdb\u884c\u653e\u7f6e\u3002
                "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#_3","title":"\u8c03\u5ea6\u539f\u7406","text":"

                \u5f53Pod\u8bbe\u7f6e\u4e86\u62d3\u6251\u7b56\u7565\u65f6\uff0cVolcano \u4f1a\u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\u9884\u6d4b\u5339\u914d\u7684\u8282\u70b9\u5217\u8868\u3002 \u8c03\u5ea6\u8fc7\u7a0b\u5982\u4e0b\uff1a

                1. \u6839\u636e Pod \u8bbe\u7f6e\u7684 Volcano \u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u5177\u6709\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u3002

                2. \u5728\u8bbe\u7f6e\u4e86\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u4e2d\uff0c\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u8be5\u7b56\u7565\u8981\u6c42\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6\u3002

                Pod \u53ef\u914d\u7f6e\u7684\u62d3\u6251\u7b56\u7565 1. \u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u53ef\u8c03\u5ea6\u7684\u8282\u70b9 2. \u8fdb\u4e00\u6b65\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u7b56\u7565\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6 none \u9488\u5bf9\u914d\u7f6e\u4e86\u4ee5\u4e0b\u51e0\u79cd\u62d3\u6251\u7b56\u7565\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u65f6\u5747\u65e0\u7b5b\u9009\u884c\u4e3a\u3002none\uff1a\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 - best-effort \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201cbest-effort\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u5c3d\u53ef\u80fd\u6ee1\u8db3\u7b56\u7565\u8981\u6c42\u8fdb\u884c\u8c03\u5ea6\uff1a\u4f18\u5148\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\uff0c\u5982\u679c\u5355 NUMA \u8282\u70b9\u65e0\u6cd5\u6ee1\u8db3 CPU \u7533\u8bf7\u503c\uff0c\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 restricted \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201crestricted\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u4e25\u683c\u9650\u5236\u7684\u8c03\u5ea6\u7b56\u7565\uff1a\u5355 NUMA \u8282\u70b9\u7684CPU\u5bb9\u91cf\u4e0a\u9650\u5927\u4e8e\u7b49\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002\u6b64\u65f6\u5982\u679c\u5355 NUMA \u8282\u70b9\u5269\u4f59\u7684 CPU \u53ef\u4f7f\u7528\u91cf\u4e0d\u8db3\uff0c\u5219 Pod \u65e0\u6cd5\u8c03\u5ea6\u3002\u5355 NUMA \u8282\u70b9\u7684 CPU \u5bb9\u91cf\u4e0a\u9650\u5c0f\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u53ef\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 single-numa-node \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201csingle-numa-node\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 \u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002"},{"location":"kpanda/user-guide/gpu/volcano/numa.html#numa_1","title":"\u914d\u7f6e NUMA \u4eb2\u548c\u8c03\u5ea6\u7b56\u7565","text":"
                1. \u5728 Job \u4e2d\u914d\u7f6e policies

                  task: \n  - replicas: 1 \n    name: \"test-1\" \n    topologyPolicy: single-numa-node \n  - replicas: 1 \n    name: \"test-2\" \n    topologyPolicy: best-effort \n
                2. \u4fee\u6539 kubelet \u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u8bbe\u7f6e --topology-manager-policy \u53c2\u6570\uff0c\u652f\u6301\u7684\u7b56\u7565\u6709\u56db\u79cd\uff1a

                  • none\uff08\u9ed8\u8ba4\uff09
                  • best-effort
                  • restricted
                  • single-numa-node
                "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#_4","title":"\u4f7f\u7528\u6848\u4f8b","text":"
                1. \u793a\u4f8b\u4e00\uff1a\u5728\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e NUMA \u4eb2\u548c\u6027\u3002

                  kind: Deployment  \napiVersion: apps/v1  \nmetadata:  \n  name: numa-tset  \nspec:  \n  replicas: 1  \n  selector:  \n    matchLabels:  \n      app: numa-tset  \n  template:  \n    metadata:  \n      labels:  \n        app: numa-tset  \n      annotations:  \n        volcano.sh/numa-topology-policy: single-numa-node    # set the topology policy  \n    spec:  \n      containers:  \n        - name: container-1  \n          image: nginx:alpine  \n          resources:  \n            requests:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0elimits\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n            limits:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0erequests\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n      imagePullSecrets:  \n      - name: default-secret\n
                2. \u793a\u4f8b\u4e8c\uff1a\u521b\u5efa\u4e00\u4e2a Volcano Job\uff0c\u5e76\u4f7f\u7528 NUMA \u4eb2\u548c\u6027\u3002

                  apiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: vj-test  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 1  \n  tasks:  \n    - replicas: 1  \n      name: \"test\"  \n      topologyPolicy: best-effort   # set the topology policy for task  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                limits:  \n                  cpu: 20  \n                  memory: \"100Mi\"  \n          restartPolicy: OnFailure\n
                "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#numa_2","title":"NUMA \u8c03\u5ea6\u5206\u6790","text":"

                \u5047\u8bbe NUMA \u8282\u70b9\u60c5\u51b5\u5982\u4e0b\uff1a

                \u5de5\u4f5c\u8282\u70b9 \u8282\u70b9\u7b56\u7565\u62d3\u6251\u7ba1\u7406\u5668\u7b56\u7565 NUMA \u8282\u70b9 0 \u4e0a\u7684\u53ef\u5206\u914d CPU NUMA \u8282\u70b9 1 \u4e0a\u7684\u53ef\u5206\u914d CPU node-1 single-numa-node 16U 16U node-2 best-effort 16U 16U node-3 best-effort 20U 20U
                • \u793a\u4f8b\u4e00\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a 2U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201csingle-numa-node\u201d\uff0c\u56e0\u6b64\u4f1a\u88ab\u8c03\u5ea6\u5230\u76f8\u540c\u7b56\u7565\u7684 node-1\u3002
                • \u793a\u4f8b\u4e8c\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a20U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201cbest-effort\u201d\uff0c\u5b83\u5c06\u88ab\u8c03\u5ea6\u5230 node-3\uff0c \u56e0\u4e3a node-3 \u53ef\u4ee5\u5728\u5355\u4e2a NUMA \u8282\u70b9\u4e0a\u5206\u914d Pod \u7684 CPU \u8bf7\u6c42\uff0c\u800c node-2 \u9700\u8981\u5728\u4e24\u4e2a NUMA \u8282\u70b9\u4e0a\u6267\u884c\u6b64\u64cd\u4f5c\u3002
                "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#cpu","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5","text":"

                \u60a8\u53ef\u4ee5\u901a\u8fc7 lscpu \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5\uff1a

                lscpu \n... \nCPU(s): 32 \nNUMA node(s): 2 \nNUMA node0 CPU(s): 0-15 \nNUMA node1 CPU(s): 16-31\n
                "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#cpu_1","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d","text":"

                \u7136\u540e\u67e5\u770b NUMA \u8282\u70b9\u4f7f\u7528\u60c5\u51b5\uff1a

                # \u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d\ncat /var/lib/kubelet/cpu_manager_state\n{\"policyName\":\"static\",\"defaultCpuSet\":\"0,10-15,25-31\",\"entries\":{\"777870b5-c64f-42f5-9296-688b9dc212ba\":{\"container-1\":\"16-24\"},\"fb15e10a-b6a5-4aaa-8fcd-76c1aa64e6fd\":{\"container-1\":\"1-9\"}},\"checksum\":318470969}\n

                \u4ee5\u4e0a\u793a\u4f8b\u4e2d\u8868\u793a\uff0c\u8282\u70b9\u4e0a\u8fd0\u884c\u4e86\u4e24\u4e2a\u5bb9\u5668\uff0c\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node0 \u76841-9 \u6838\uff0c\u53e6\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node1 \u7684 16-24 \u6838\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano-gang-scheduler.html","title":"\u4f7f\u7528 Volcano \u7684 Gang Scheduler","text":"

                Gang \u8c03\u5ea6\u7b56\u7565\u662f volcano-scheduler \u7684\u6838\u5fc3\u8c03\u5ea6\u7b97\u6cd5\u4e4b\u4e00\uff0c\u5b83\u6ee1\u8db3\u4e86\u8c03\u5ea6\u8fc7\u7a0b\u4e2d\u7684 \u201cAll or nothing\u201d \u7684\u8c03\u5ea6\u9700\u6c42\uff0c \u907f\u514d Pod \u7684\u4efb\u610f\u8c03\u5ea6\u5bfc\u81f4\u96c6\u7fa4\u8d44\u6e90\u7684\u6d6a\u8d39\u3002\u5177\u4f53\u7b97\u6cd5\u662f\uff0c\u89c2\u5bdf Job \u4e0b\u7684 Pod \u5df2\u8c03\u5ea6\u6570\u91cf\u662f\u5426\u6ee1\u8db3\u4e86\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\uff0c \u5f53 Job \u7684\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\u5f97\u5230\u6ee1\u8db3\u65f6\uff0c\u4e3a Job \u4e0b\u7684\u6240\u6709 Pod \u6267\u884c\u8c03\u5ea6\u52a8\u4f5c\uff0c\u5426\u5219\uff0c\u4e0d\u6267\u884c\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano-gang-scheduler.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                \u57fa\u4e8e\u5bb9\u5668\u7ec4\u6982\u5ff5\u7684 Gang \u8c03\u5ea6\u7b97\u6cd5\u5341\u5206\u9002\u5408\u9700\u8981\u591a\u8fdb\u7a0b\u534f\u4f5c\u7684\u573a\u666f\u3002AI \u573a\u666f\u5f80\u5f80\u5305\u542b\u590d\u6742\u7684\u6d41\u7a0b\uff0c Data Ingestion\u3001Data Analysts\u3001Data Splitting\u3001Trainer\u3001Serving\u3001Logging \u7b49\uff0c \u9700\u8981\u4e00\u7ec4\u5bb9\u5668\u8fdb\u884c\u534f\u540c\u5de5\u4f5c\uff0c\u5c31\u5f88\u9002\u5408\u57fa\u4e8e\u5bb9\u5668\u7ec4\u7684 Gang \u8c03\u5ea6\u7b56\u7565\u3002 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\uff0c\u7531\u4e8e\u9700\u8981\u4e3b\u4ece\u8fdb\u7a0b\u534f\u540c\u5de5\u4f5c\uff0c\u4e5f\u975e\u5e38\u9002\u5408\u4f7f\u7528 Gang \u8c03\u5ea6\u7b56\u7565\u3002 \u5bb9\u5668\u7ec4\u4e0b\u7684\u5bb9\u5668\u9ad8\u5ea6\u76f8\u5173\u4e5f\u53ef\u80fd\u5b58\u5728\u8d44\u6e90\u4e89\u62a2\uff0c\u6574\u4f53\u8c03\u5ea6\u5206\u914d\uff0c\u80fd\u591f\u6709\u6548\u89e3\u51b3\u6b7b\u9501\u3002

                \u5728\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\u7684\u573a\u666f\u4e0b\uff0cGang \u7684\u8c03\u5ea6\u7b56\u7565\u5bf9\u4e8e\u96c6\u7fa4\u8d44\u6e90\u7684\u5229\u7528\u7387\u7684\u63d0\u5347\u662f\u975e\u5e38\u660e\u663e\u7684\u3002 \u6bd4\u5982\u96c6\u7fa4\u73b0\u5728\u53ea\u80fd\u5bb9\u7eb3 2 \u4e2a Pod\uff0c\u73b0\u5728\u8981\u6c42\u6700\u5c0f\u8c03\u5ea6\u7684 Pod \u6570\u4e3a 3\u3002 \u90a3\u73b0\u5728\u8fd9\u4e2a Job \u7684\u6240\u6709\u7684 Pod \u90fd\u4f1a pending\uff0c\u76f4\u5230\u96c6\u7fa4\u80fd\u591f\u5bb9\u7eb3 3 \u4e2a Pod\uff0cPod \u624d\u4f1a\u88ab\u8c03\u5ea6\u3002 \u6709\u6548\u9632\u6b62\u8c03\u5ea6\u90e8\u5206 Pod\uff0c\u4e0d\u6ee1\u8db3\u8981\u6c42\u53c8\u5360\u7528\u4e86\u8d44\u6e90\uff0c\u4f7f\u5176\u4ed6 Job \u65e0\u6cd5\u8fd0\u884c\u7684\u60c5\u51b5\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano-gang-scheduler.html#_2","title":"\u6982\u5ff5\u8bf4\u660e","text":"

                Gang Scheduler \u662f Volcano \u7684\u6838\u5fc3\u7684\u8c03\u5ea6\u63d2\u4ef6\uff0c\u5b89\u88c5 Volcano \u540e\u9ed8\u8ba4\u5c31\u5f00\u542f\u4e86\u3002 \u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u53ea\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u7684\u540d\u79f0\u4e3a Volcano \u5373\u53ef\u3002

                Volcano \u662f\u4ee5 PodGroup \u4e3a\u5355\u4f4d\u8fdb\u884c\u8c03\u5ea6\u7684\uff0c\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5e76\u4e0d\u9700\u8981\u624b\u52a8\u521b\u5efa PodGroup \u8d44\u6e90\uff0c Volcano \u4f1a\u6839\u636e\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4fe1\u606f\u81ea\u52a8\u521b\u5efa\u3002\u4e0b\u9762\u662f\u4e00\u4e2a PodGroup \u7684\u793a\u4f8b\uff1a

                apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  name: test\n  namespace: default\nspec:\n  minMember: 1  # (1)!\n  minResources:  # (2)!\n    cpu: \"3\"\n    memory: \"2048Mi\"\n  priorityClassName: high-prority # (3)!\n  queue: default # (4)!\n
                1. \u8868\u793a\u8be5 PodGroup \u4e0b \u6700\u5c11 \u9700\u8981\u8fd0\u884c\u7684 Pod \u6216\u4efb\u52a1\u6570\u91cf\u3002 \u5982\u679c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u6ee1\u8db3 miniMember \u6570\u91cf\u4efb\u52a1\u7684\u8fd0\u884c\u9700\u6c42\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                2. \u8868\u793a\u8fd0\u884c\u8be5 PodGroup \u6240\u9700\u8981\u7684\u6700\u5c11\u8d44\u6e90\u3002\u5f53\u96c6\u7fa4\u53ef\u5206\u914d\u8d44\u6e90\u4e0d\u6ee1\u8db3 minResources \u65f6\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                3. \u8868\u793a\u8be5 PodGroup \u7684\u4f18\u5148\u7ea7\uff0c\u7528\u4e8e\u8c03\u5ea6\u5668\u4e3a\u8be5 queue \u4e2d\u6240\u6709 PodGroup \u8fdb\u884c\u8c03\u5ea6\u65f6\u8fdb\u884c\u6392\u5e8f\u3002 system-node-critical \u548c system-cluster-critical \u662f 2 \u4e2a\u9884\u7559\u7684\u503c\uff0c\u8868\u793a\u6700\u9ad8\u4f18\u5148\u7ea7\u3002\u4e0d\u7279\u522b\u6307\u5b9a\u65f6\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u4f18\u5148\u7ea7\u6216 zero \u4f18\u5148\u7ea7\u3002
                4. \u8868\u793a\u8be5 PodGroup \u6240\u5c5e\u7684 queue\u3002queue \u5fc5\u987b\u63d0\u524d\u5df2\u521b\u5efa\u4e14\u72b6\u6001\u4e3a open\u3002
                "},{"location":"kpanda/user-guide/gpu/volcano/volcano-gang-scheduler.html#_3","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                \u5728 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\u4e2d\uff0c\u6211\u4eec\u8981\u786e\u4fdd\u6240\u6709\u7684 Pod \u90fd\u80fd\u8c03\u5ea6\u6210\u529f\u624d\u80fd\u4fdd\u8bc1\u4efb\u52a1\u6b63\u5e38\u5b8c\u6210\u3002 \u8bbe\u7f6e minAvailable \u4e3a 4\uff0c\u8868\u793a\u8981\u6c42 1 \u4e2a mpimaster \u548c 3 \u4e2a mpiworker \u80fd\u8fd0\u884c\u3002

                apiVersion: batch.volcano.sh/v1alpha1\nkind: Job\nmetadata:\n  name: lm-mpi-job\n  labels:\n    \"volcano.sh/job-type\": \"MPI\"\nspec:\n  minAvailable: 4\n  schedulerName: volcano\n  plugins:\n    ssh: []\n    svc: []\n  policies:\n    - event: PodEvicted\n      action: RestartJob\n  tasks:\n    - replicas: 1\n      name: mpimaster\n      policies:\n        - event: TaskCompleted\n          action: CompleteJob\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  MPI_HOST=`cat /etc/volcano/mpiworker.host | tr \"\\n\" \",\"`;\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd;\n                  mpiexec --allow-run-as-root --host ${MPI_HOST} -np 3 mpi_hello_world;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpimaster\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"500m\"\n                limits:\n                  cpu: \"500m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n    - replicas: 3\n      name: mpiworker\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd -D;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpiworker\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"1000m\"\n                limits:\n                  cpu: \"1000m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n

                \u751f\u6210 PodGroup \u7684\u8d44\u6e90\uff1a

                apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  annotations:\n  creationTimestamp: \"2024-05-28T09:18:50Z\"\n  generation: 5\n  labels:\n    volcano.sh/job-type: MPI\n  name: lm-mpi-job-9c571015-37c7-4a1a-9604-eaa2248613f2\n  namespace: default\n  ownerReferences:\n  - apiVersion: batch.volcano.sh/v1alpha1\n    blockOwnerDeletion: true\n    controller: true\n    kind: Job\n    name: lm-mpi-job\n    uid: 9c571015-37c7-4a1a-9604-eaa2248613f2\n  resourceVersion: \"25173454\"\n  uid: 7b04632e-7cff-4884-8e9a-035b7649d33b\nspec:\n  minMember: 4\n  minResources:\n    count/pods: \"4\"\n    cpu: 3500m\n    limits.cpu: 3500m\n    pods: \"4\"\n    requests.cpu: 3500m\n  minTaskMember:\n    mpimaster: 1\n    mpiworker: 3\n  queue: default\nstatus:\n  conditions:\n  - lastTransitionTime: \"2024-05-28T09:19:01Z\"\n    message: '3/4 tasks in gang unschedulable: pod group is not ready, 1 Succeeded,\n      3 Releasing, 4 minAvailable'\n    reason: NotEnoughResources\n    status: \"True\"\n    transitionID: f875efa5-0358-4363-9300-06cebc0e7466\n    type: Unschedulable\n  - lastTransitionTime: \"2024-05-28T09:18:53Z\"\n    reason: tasks in gang are ready to be scheduled\n    status: \"True\"\n    transitionID: 5a7708c8-7d42-4c33-9d97-0581f7c06dab\n    type: Scheduled\n  phase: Pending\n  succeeded: 1\n

                \u4ece PodGroup \u53ef\u4ee5\u770b\u51fa\uff0c\u901a\u8fc7 ownerReferences \u5173\u8054\u5230\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u8bbe\u7f6e\u6700\u5c0f\u8fd0\u884c\u7684 Pod \u6570\u4e3a 4\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_binpack.html","title":"\u4f7f\u7528 Volcano Binpack \u8c03\u5ea6\u7b56\u7565","text":"

                Binpack \u8c03\u5ea6\u7b97\u6cd5\u7684\u76ee\u6807\u662f\u5c3d\u91cf\u628a\u5df2\u88ab\u5360\u7528\u7684\u8282\u70b9\u586b\u6ee1\uff08\u5c3d\u91cf\u4e0d\u5f80\u7a7a\u767d\u8282\u70b9\u5206\u914d\uff09\u3002\u5177\u4f53\u5b9e\u73b0\u4e0a\uff0cBinpack \u8c03\u5ea6\u7b97\u6cd5\u4f1a\u7ed9\u6295\u9012\u7684\u8282\u70b9\u6253\u5206\uff0c \u5206\u6570\u8d8a\u9ad8\u8868\u793a\u8282\u70b9\u7684\u8d44\u6e90\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u901a\u8fc7\u5c3d\u53ef\u80fd\u586b\u6ee1\u8282\u70b9\uff0c\u5c06\u5e94\u7528\u8d1f\u8f7d\u9760\u62e2\u5728\u90e8\u5206\u8282\u70b9\uff0c\u8fd9\u79cd\u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u5c3d\u53ef\u80fd\u51cf\u5c0f\u8282\u70b9\u5185\u7684\u788e\u7247\uff0c \u5728\u7a7a\u95f2\u7684\u673a\u5668\u4e0a\u4e3a\u7533\u8bf7\u4e86\u66f4\u5927\u8d44\u6e90\u8bf7\u6c42\u7684 Pod \u9884\u7559\u8db3\u591f\u7684\u8d44\u6e90\u7a7a\u95f4\uff0c\u4f7f\u96c6\u7fa4\u4e0b\u7a7a\u95f2\u8d44\u6e90\u5f97\u5230\u6700\u5927\u5316\u7684\u5229\u7528\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_binpack.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"

                \u9884\u5148\u5728 DCE 5.0 \u4e0a\u5b89\u88c5 Volcano \u7ec4\u4ef6\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_binpack.html#binpack","title":"Binpack \u7b97\u6cd5\u539f\u7406","text":"

                Binpack \u5728\u5bf9\u4e00\u4e2a\u8282\u70b9\u6253\u5206\u65f6\uff0c\u4f1a\u6839\u636e Binpack \u63d2\u4ef6\u81ea\u8eab\u6743\u91cd\u548c\u5404\u8d44\u6e90\u8bbe\u7f6e\u7684\u6743\u91cd\u503c\u7efc\u5408\u6253\u5206\u3002 \u9996\u5148\uff0c\u5bf9 Pod \u8bf7\u6c42\u8d44\u6e90\u4e2d\u7684\u6bcf\u7c7b\u8d44\u6e90\u4f9d\u6b21\u6253\u5206\uff0c\u4ee5 CPU \u4e3a\u4f8b\uff0cCPU \u8d44\u6e90\u5728\u5f85\u8c03\u5ea6\u8282\u70b9\u7684\u5f97\u5206\u4fe1\u606f\u5982\u4e0b\uff1a

                CPU.weight * (request + used) / allocatable\n

                \u5373 CPU \u6743\u91cd\u503c\u8d8a\u9ad8\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u91cf\u8d8a\u6ee1\uff0c\u5f97\u5206\u8d8a\u9ad8\u3002Memory\u3001GPU \u7b49\u8d44\u6e90\u539f\u7406\u7c7b\u4f3c\u3002\u5176\u4e2d\uff1a

                • CPU.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684 CPU \u6743\u91cd
                • request \u4e3a\u5f53\u524d Pod \u8bf7\u6c42\u7684 CPU \u8d44\u6e90\u91cf
                • used \u4e3a\u5f53\u524d\u8282\u70b9\u5df2\u7ecf\u5206\u914d\u4f7f\u7528\u7684 CPU \u91cf
                • allocatable \u4e3a\u5f53\u524d\u8282\u70b9 CPU \u53ef\u7528\u603b\u91cf

                \u901a\u8fc7 Binpack \u7b56\u7565\u7684\u8282\u70b9\u603b\u5f97\u5206\u5982\u4e0b\uff1a

                binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                \u5373 Binpack \u63d2\u4ef6\u7684\u6743\u91cd\u503c\u8d8a\u5927\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u67d0\u7c7b\u8d44\u6e90\u7684\u6743\u91cd\u8d8a\u5927\uff0c\u8be5\u8d44\u6e90\u5728\u6253\u5206\u65f6\u7684\u5360\u6bd4\u8d8a\u5927\u3002\u5176\u4e2d\uff1a

                • binpack.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684\u88c5\u7bb1\u8c03\u5ea6\u7b56\u7565\u6743\u91cd
                • CPU.score \u4e3a CPU \u8d44\u6e90\u5f97\u5206\uff0cCPU.weight \u4e3a CPU \u6743\u91cd
                • Memory.score \u4e3a Memory \u8d44\u6e90\u5f97\u5206\uff0cMemory.weight \u4e3a Memory \u6743\u91cd
                • GPU.score \u4e3a GPU \u8d44\u6e90\u5f97\u5206\uff0cGPU.weight \u4e3a GPU \u6743\u91cd

                \u5982\u56fe\u6240\u793a\uff0c\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u8282\u70b9\uff0c\u5206\u522b\u4e3a Node1 \u548c Node 2\uff0c\u5728\u8c03\u5ea6 Pod \u65f6\uff0cBinpack \u7b56\u7565\u5bf9\u4e24\u4e2a\u8282\u70b9\u5206\u522b\u6253\u5206\u3002 \u5047\u8bbe\u96c6\u7fa4\u4e2d CPU.weight \u914d\u7f6e\u4e3a 1\uff0cMemory.weight \u914d\u7f6e\u4e3a 1\uff0cGPU.weight \u914d\u7f6e\u4e3a 2\uff0cbinpack.weight \u914d\u7f6e\u4e3a 5\u3002

                1. Binpack \u5bf9 Node 1 \u7684\u8d44\u6e90\u6253\u5206\uff0c\u5404\u8d44\u6e90\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                  • CPU Score\uff1a

                    CPU.weight - (request + used) / allocatable = 1 - (2 + 4) / 8 = 0.75

                  • Memory Score\uff1a

                    Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                  • GPU Score\uff1a

                    GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                2. \u8282\u70b9\u603b\u5f97\u5206\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                  binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                  \u5047\u8bbe binpack.weight \u914d\u7f6e\u4e3a 5\uff0cNode 1 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                  5 - (0.75 + 0.75 + 2) / (1 + 1 + 2) - 100 = 437.5\n
                3. Binpack \u5bf9 Node 2 \u7684\u8d44\u6e90\u6253\u5206\uff1a

                  • CPU Score\uff1a

                    CPU.weight - (request + used) / allocatable = 1 - (2 + 6) / 8 = 1

                  • Memory Score\uff1a

                    Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                  • GPU Score\uff1a

                    GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                4. Node 2 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                  5 - (1 + 0.75 + 2) / (1 + 1 + 2) - 100 = 468.75\n

                \u7efc\u4e0a\uff0cNode 2 \u5f97\u5206\u5927\u4e8e Node 1\uff0c\u6309\u7167 Binpack \u7b56\u7565\uff0cPod \u5c06\u4f1a\u4f18\u5148\u8c03\u5ea6\u81f3 Node 2\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_binpack.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                Binpack \u8c03\u5ea6\u63d2\u4ef6\u5728\u5b89\u88c5 Volcano \u7684\u65f6\u5019\u9ed8\u8ba4\u5c31\u4f1a\u5f00\u542f\uff1b\u5982\u679c\u7528\u6237\u6ca1\u6709\u914d\u7f6e\u6743\u91cd\uff0c\u5219\u4f7f\u7528\u5982\u4e0b\u9ed8\u8ba4\u7684\u914d\u7f6e\u6743\u91cd\u3002

                - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 1\n        binpack.cpu: 1\n        binpack.memory: 1\n

                \u9ed8\u8ba4\u6743\u91cd\u4e0d\u80fd\u4f53\u73b0\u5806\u53e0\u7279\u6027\uff0c\u56e0\u6b64\u9700\u8981\u4fee\u6539\u4e3a binpack.weight: 10\u3002

                kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 10\n        binpack.cpu: 1\n        binpack.memory: 1\n        binpack.resources: nvidia.com/gpu, example.com/foo\n        binpack.resources.nvidia.com/gpu: 2\n        binpack.resources.example.com/foo: 3\n

                \u6539\u597d\u4e4b\u540e\u91cd\u542f volcano-scheduler Pod \u4f7f\u5176\u751f\u6548\u3002

                \u521b\u5efa\u5982\u4e0b\u7684 Deployment\u3002

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: binpack-test\n  labels:\n    app: binpack-test\nspec:\n  replicas: 2\n  selector:\n    matchLabels:\n      app: test\n  template:\n    metadata:\n      labels:\n        app: test\n    spec:\n      schedulerName: volcano\n      containers:\n        - name: test\n          image: busybox\n          imagePullPolicy: IfNotPresent\n          command: [\"sh\", \"-c\", 'echo \"Hello, Kubernetes!\" && sleep 3600']\n          resources:\n            requests:\n              cpu: 500m\n            limits:\n              cpu: 500m\n

                \u5728\u4e24\u4e2a Node \u7684\u96c6\u7fa4\u4e0a\u53ef\u4ee5\u770b\u5230 Pod \u88ab\u8c03\u5ea6\u5230\u4e00\u4e2a Node \u4e0a\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_priority.html","title":"\u4f18\u5148\u7ea7\u62a2\u5360\uff08Preemption scheduling\uff09\u7b56\u7565","text":"

                Volcano \u901a\u8fc7 Priority \u63d2\u4ef6\u5b9e\u73b0\u4e86\u4f18\u5148\u7ea7\u62a2\u5360\u7b56\u7565\uff0c\u5373 Preemption scheduling \u7b56\u7565\u3002\u5728\u96c6\u7fa4\u8d44\u6e90\u6709\u9650\u4e14\u591a\u4e2a Job \u7b49\u5f85\u8c03\u5ea6\u65f6\uff0c \u5982\u679c\u4f7f\u7528 Kubernetes \u9ed8\u8ba4\u8c03\u5ea6\u5668\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5177\u6709\u66f4\u591a Pod \u6570\u91cf\u7684 Job \u5206\u5f97\u66f4\u591a\u8d44\u6e90\u3002\u800c Volcano-scheduler \u63d0\u4f9b\u4e86\u7b97\u6cd5\uff0c\u652f\u6301\u4e0d\u540c\u7684 Job \u4ee5 fair-share \u7684\u5f62\u5f0f\u5171\u4eab\u96c6\u7fa4\u8d44\u6e90\u3002

                Priority \u63d2\u4ef6\u5141\u8bb8\u7528\u6237\u81ea\u5b9a\u4e49 Job \u548c Task \u7684\u4f18\u5148\u7ea7\uff0c\u5e76\u6839\u636e\u9700\u6c42\u5728\u4e0d\u540c\u5c42\u6b21\u4e0a\u5b9a\u5236\u8c03\u5ea6\u7b56\u7565\u3002 \u4f8b\u5982\uff0c\u5bf9\u4e8e\u91d1\u878d\u573a\u666f\u3001\u7269\u8054\u7f51\u76d1\u63a7\u573a\u666f\u7b49\u9700\u8981\u8f83\u9ad8\u5b9e\u65f6\u6027\u7684\u5e94\u7528\uff0cPriority \u63d2\u4ef6\u80fd\u591f\u786e\u4fdd\u5176\u4f18\u5148\u5f97\u5230\u8c03\u5ea6\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_priority.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                \u4f18\u5148\u7ea7\u7684\u51b3\u5b9a\u57fa\u4e8e\u914d\u7f6e\u7684 PriorityClass \u4e2d\u7684 Value \u503c\uff0c\u503c\u8d8a\u5927\u4f18\u5148\u7ea7\u8d8a\u9ad8\u3002\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4fee\u6539\u3002\u53ef\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u6216\u4fee\u6539\u3002

                kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_priority.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                \u5047\u8bbe\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u7a7a\u95f2\u8282\u70b9\uff0c\u5e76\u6709\u4e09\u4e2a\u4f18\u5148\u7ea7\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff1ahigh-priority\u3001med-priority \u548c low-priority\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u5e76\u5360\u6ee1\u96c6\u7fa4\u8d44\u6e90\u540e\uff0c\u518d\u63d0\u4ea4 med-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u3002 \u7531\u4e8e\u96c6\u7fa4\u8d44\u6e90\u5168\u90e8\u88ab\u66f4\u9ad8\u4f18\u5148\u7ea7\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5360\u7528\uff0cmed-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u5904\u4e8e pending \u72b6\u6001\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u7ed3\u675f\u540e\uff0c\u6839\u636e\u4f18\u5148\u7ea7\u8c03\u5ea6\u539f\u5219\uff0cmed-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u4f18\u5148\u88ab\u8c03\u5ea6\u3002

                1. \u901a\u8fc7 priority.yaml \u521b\u5efa 3 \u4e2a\u4f18\u5148\u7ea7\u5b9a\u4e49\uff0c\u5206\u522b\u4e3a\uff1ahigh-priority\uff0cmed-priority\uff0clow-priority\u3002

                  \u67e5\u770b priority.yaml

                  cat <<EOF | kubectl apply -f - \napiVersion: scheduling.k8s.io/v1 \nkind: PriorityClass \nitems: \n  - metadata: \n      name: high-priority \n    value: 100 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: med-priority \n    value: 50 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: low-priority \n    value: 10 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \nEOF\n
                  2. \u67e5\u770b\u4f18\u5148\u7ea7\u5b9a\u4e49\u4fe1\u606f\u3002

                  kubectl get PriorityClass\n
                  NAME                      VALUE        GLOBAL-DEFAULT   AGE  \nhigh-priority             100          false            97s  \nlow-priority              10           false            97s  \nmed-priority              50           false            97s  \nsystem-cluster-critical   2000000000   false            6d6h  \nsystem-node-critical      2000001000   false            6d6h\n

                2. \u521b\u5efa\u9ad8\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d high-priority-job\uff0c\u5360\u7528\u96c6\u7fa4\u7684\u5168\u90e8\u8d44\u6e90\u3002

                  \u67e5\u770b high-priority-job
                  cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-high  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: high-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                  \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod\u8fd0\u884c \u4fe1\u606f\uff1a

                  kubectl get pods\n
                  NAME                   READY   STATUS    RESTARTS   AGE  \npriority-high-test-0   1/1     Running   0          3s  \npriority-high-test-1   1/1     Running   0          3s  \npriority-high-test-2   1/1     Running   0          3s  \npriority-high-test-3   1/1     Running   0          3s\n

                  \u6b64\u65f6\uff0c\u96c6\u7fa4\u8282\u70b9\u8d44\u6e90\u5df2\u5168\u90e8\u88ab\u5360\u7528\u3002

                3. \u521b\u5efa\u4e2d\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d med-priority-job \u548c\u4f4e\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d low-priority-job\u3002

                  med-priority-job
                  cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-medium  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: med-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n
                  low-priority-job
                  cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-low  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: low-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                  \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod \u8fd0\u884c\u4fe1\u606f\uff0c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\uff0cPod \u5904\u4e8e Pending \u72b6\u6001\uff1a

                  kubectl get pods\n
                  NAME                     READY   STATUS    RESTARTS   AGE  \npriority-high-test-0     1/1     Running   0          3m29s  \npriority-high-test-1     1/1     Running   0          3m29s  \npriority-high-test-2     1/1     Running   0          3m29s  \npriority-high-test-3     1/1     Running   0          3m29s  \npriority-low-test-0      0/1     Pending   0          2m26s  \npriority-low-test-1      0/1     Pending   0          2m26s  \npriority-low-test-2      0/1     Pending   0          2m26s  \npriority-low-test-3      0/1     Pending   0          2m26s  \npriority-medium-test-0   0/1     Pending   0          2m36s  \npriority-medium-test-1   0/1     Pending   0          2m36s  \npriority-medium-test-2   0/1     Pending   0          2m36s  \npriority-medium-test-3   0/1     Pending   0          2m36s\n

                4. \u5220\u9664 high_priority_job \u5de5\u4f5c\u8d1f\u8f7d\uff0c\u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0cmed_priority_job \u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002 \u6267\u884c kubectl delete -f high_priority_job.yaml \u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0c\u67e5\u770b Pod \u7684\u8c03\u5ea6\u4fe1\u606f\uff1a

                  kubectl get pods\n
                  NAME                     READY   STATUS    RESTARTS   AGE  \npriority-low-test-0      0/1     Pending   0          5m18s  \npriority-low-test-1      0/1     Pending   0          5m18s  \npriority-low-test-2      0/1     Pending   0          5m18s  \npriority-low-test-3      0/1     Pending   0          5m18s  \npriority-medium-test-0   1/1     Running   0          5m28s  \npriority-medium-test-1   1/1     Running   0          5m28s  \npriority-medium-test-2   1/1     Running   0          5m28s  \npriority-medium-test-3   1/1     Running   0          5m28s\n

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_user_guide.html","title":"\u5b89\u88c5 Volcano","text":"

                \u968f\u7740 Kubernetes\uff08K8s\uff09\u6210\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u7f16\u6392\u4e0e\u7ba1\u7406\u7684\u9996\u9009\u5e73\u53f0\uff0c\u4f17\u591a\u5e94\u7528\u6b63\u79ef\u6781\u5411 K8s \u8fc1\u79fb\u3002 \u5728\u4eba\u5de5\u667a\u80fd\u4e0e\u673a\u5668\u5b66\u4e60\u9886\u57df\uff0c\u7531\u4e8e\u8fd9\u4e9b\u4efb\u52a1\u901a\u5e38\u6d89\u53ca\u5927\u91cf\u8ba1\u7b97\uff0c\u5f00\u53d1\u8005\u503e\u5411\u4e8e\u5728 Kubernetes \u4e0a\u6784\u5efa AI \u5e73\u53f0\uff0c \u4ee5\u5145\u5206\u5229\u7528\u5176\u5728\u8d44\u6e90\u7ba1\u7406\u3001\u5e94\u7528\u7f16\u6392\u53ca\u8fd0\u7ef4\u76d1\u63a7\u65b9\u9762\u7684\u4f18\u52bf\u3002

                \u7136\u800c\uff0cKubernetes \u7684\u9ed8\u8ba4\u8c03\u5ea6\u5668\u4e3b\u8981\u9488\u5bf9\u957f\u671f\u8fd0\u884c\u7684\u670d\u52a1\u8bbe\u8ba1\uff0c\u5bf9\u4e8e AI\u3001\u5927\u6570\u636e\u7b49\u9700\u8981\u6279\u91cf\u548c\u5f39\u6027\u8c03\u5ea6\u7684\u4efb\u52a1\u5b58\u5728\u8bf8\u591a\u4e0d\u8db3\u3002 \u4f8b\u5982\uff0c\u5728\u8d44\u6e90\u7ade\u4e89\u6fc0\u70c8\u7684\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u53ef\u80fd\u5bfc\u81f4\u8d44\u6e90\u5206\u914d\u4e0d\u5747\uff0c\u8fdb\u800c\u5f71\u54cd\u4efb\u52a1\u7684\u6b63\u5e38\u6267\u884c\u3002

                \u4ee5 TensorFlow \u4f5c\u4e1a\u4e3a\u4f8b\uff0c\u5176\u5305\u542b PS\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\u548c Worker \u4e24\u79cd\u89d2\u8272\uff0c\u4e24\u8005\u9700\u534f\u540c\u5de5\u4f5c\u624d\u80fd\u5b8c\u6210\u4efb\u52a1\u3002 \u82e5\u4ec5\u90e8\u7f72\u5355\u4e00\u89d2\u8272\uff0c\u4f5c\u4e1a\u5c06\u65e0\u6cd5\u8fd0\u884c\u3002\u800c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u5bf9 Pod \u7684\u8c03\u5ea6\u662f\u9010\u4e2a\u8fdb\u884c\u7684\uff0c\u65e0\u6cd5\u611f\u77e5 TFJob \u4e2d PS \u548c Worker \u7684\u4f9d\u8d56\u5173\u7cfb\u3002 \u5728\u9ad8\u8d1f\u8f7d\u60c5\u51b5\u4e0b\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u591a\u4e2a\u4f5c\u4e1a\u5404\u81ea\u5206\u914d\u5230\u90e8\u5206\u8d44\u6e90\uff0c\u4f46\u5747\u65e0\u6cd5\u5b8c\u6210\uff0c\u4ece\u800c\u9020\u6210\u8d44\u6e90\u6d6a\u8d39\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_user_guide.html#volcano_1","title":"Volcano \u7684\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf","text":"

                Volcano \u63d0\u4f9b\u4e86\u591a\u79cd\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u5e94\u5bf9\u4e0a\u8ff0\u6311\u6218\u3002\u5176\u4e2d\uff0cGang-scheduling \u7b56\u7565\u80fd\u786e\u4fdd\u5206\u5e03\u5f0f\u673a\u5668\u5b66\u4e60\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u591a\u4e2a\u4efb\u52a1\uff08Pod\uff09\u540c\u65f6\u542f\u52a8\uff0c \u907f\u514d\u6b7b\u9501\uff1bPreemption scheduling \u7b56\u7565\u5219\u5141\u8bb8\u9ad8\u4f18\u5148\u7ea7\u4f5c\u4e1a\u5728\u8d44\u6e90\u4e0d\u8db3\u65f6\u62a2\u5360\u4f4e\u4f18\u5148\u7ea7\u4f5c\u4e1a\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u5173\u952e\u4efb\u52a1\u4f18\u5148\u5b8c\u6210\u3002

                \u6b64\u5916\uff0cVolcano \u4e0e Spark\u3001TensorFlow\u3001PyTorch \u7b49\u4e3b\u6d41\u8ba1\u7b97\u6846\u67b6\u65e0\u7f1d\u5bf9\u63a5\uff0c\u5e76\u652f\u6301 CPU \u548c GPU \u7b49\u5f02\u6784\u8bbe\u5907\u7684\u6df7\u5408\u8c03\u5ea6\uff0c\u4e3a AI \u8ba1\u7b97\u4efb\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u7684\u4f18\u5316\u652f\u6301\u3002

                \u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u548c\u4f7f\u7528 Volcano\uff0c\u4ee5\u4fbf\u60a8\u80fd\u591f\u5145\u5206\u5229\u7528\u5176\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf\uff0c\u4f18\u5316 AI \u8ba1\u7b97\u4efb\u52a1\u3002

                "},{"location":"kpanda/user-guide/gpu/volcano/volcano_user_guide.html#volcano_2","title":"\u5b89\u88c5 Volcano","text":"
                1. \u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 -> Helm \u6a21\u677f \u4e2d\u627e\u5230 Volcano \u5e76\u5b89\u88c5\u3002

                2. \u68c0\u67e5\u5e76\u786e\u8ba4 Volcano \u662f\u5426\u5b89\u88c5\u5b8c\u6210\uff0c\u5373 volcano-admission\u3001volcano-controllers\u3001volcano-scheduler \u7ec4\u4ef6\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                \u901a\u5e38 Volcano \u4f1a\u548c AI Lab \u5e73\u53f0\u914d\u5408\u4f7f\u7528\uff0c\u4ee5\u5b9e\u73b0\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u7684\u6709\u6548\u95ed\u73af\u3002

                "},{"location":"kpanda/user-guide/helm/index.html","title":"Helm \u6a21\u677f","text":"

                Helm \u662f Kubernetes \u7684\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u65b9\u4fbf\u7528\u6237\u5feb\u901f\u53d1\u73b0\u3001\u5171\u4eab\u548c\u4f7f\u7528 Kubernetes \u6784\u5efa\u7684\u5e94\u7528\u3002\u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u4e86\u4e0a\u767e\u4e2a Helm \u6a21\u677f\uff0c\u6db5\u76d6\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u76d1\u63a7\u3001\u6570\u636e\u5e93\u7b49\u4e3b\u8981\u573a\u666f\u3002\u501f\u52a9\u8fd9\u4e9b\u6a21\u677f\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u5feb\u901f\u90e8\u7f72\u3001\u4fbf\u6377\u7ba1\u7406 Helm \u5e94\u7528\u3002\u6b64\u5916\uff0c\u652f\u6301\u901a\u8fc7\u6dfb\u52a0 Helm \u4ed3\u5e93 \u6dfb\u52a0\u66f4\u591a\u7684\u4e2a\u6027\u5316\u6a21\u677f\uff0c\u6ee1\u8db3\u591a\u6837\u9700\u6c42\u3002

                \u5173\u952e\u6982\u5ff5\uff1a

                \u4f7f\u7528 Helm \u65f6\u9700\u8981\u4e86\u89e3\u4ee5\u4e0b\u51e0\u4e2a\u5173\u952e\u6982\u5ff5\uff1a

                • Chart\uff1a\u4e00\u4e2a Helm \u5b89\u88c5\u5305\uff0c\u5176\u4e2d\u5305\u542b\u4e86\u8fd0\u884c\u4e00\u4e2a\u5e94\u7528\u6240\u9700\u8981\u7684\u955c\u50cf\u3001\u4f9d\u8d56\u548c\u8d44\u6e90\u5b9a\u4e49\u7b49\uff0c\u8fd8\u53ef\u80fd\u5305\u542b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u670d\u52a1\u5b9a\u4e49\uff0c\u7c7b\u4f3c Homebrew \u4e2d\u7684 formula\u3001APT \u7684 dpkg \u6216\u8005 Yum \u7684 rpm \u6587\u4ef6\u3002Chart \u5728 DCE 5.0 \u4e2d\u79f0\u4e3a Helm \u6a21\u677f \u3002

                • Release\uff1a\u5728 Kubernetes \u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u4e00\u4e2a Chart \u5b9e\u4f8b\u3002\u4e00\u4e2a Chart \u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u591a\u6b21\u5b89\u88c5\uff0c\u6bcf\u6b21\u5b89\u88c5\u90fd\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Release\u3002Release \u5728 DCE 5.0 \u4e2d\u79f0\u4e3a Helm \u5e94\u7528 \u3002

                • Repository\uff1a\u7528\u4e8e\u53d1\u5e03\u548c\u5b58\u50a8 Chart \u7684\u5b58\u50a8\u5e93\u3002Repository \u5728 DCE 5.0 \u4e2d\u79f0\u4e3a Helm \u4ed3\u5e93\u3002

                \u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u524d\u5f80 Helm \u5b98\u7f51\u67e5\u770b\u3002

                \u76f8\u5173\u64cd\u4f5c\uff1a

                • \u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u4ecb\u7ecd\u4e0a\u4f20 Helm \u6a21\u677f\u64cd\u4f5c\u3002
                • \u7ba1\u7406 Helm \u5e94\u7528\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5378\u8f7d Helm \u5e94\u7528\uff0c\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002
                • \u7ba1\u7406 Helm \u4ed3\u5e93\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664 Helm \u4ed3\u5e93\u7b49\u3002
                "},{"location":"kpanda/user-guide/helm/Import-addon.html","title":"\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon","text":"

                \u672c\u6587\u4ece\u79bb\u7ebf\u548c\u5728\u7ebf\u4e24\u79cd\u73af\u5883\u8bf4\u660e\u5982\u4f55\u5c06 Helm \u5e94\u7528\u5bfc\u5165\u5230\u7cfb\u7edf\u5185\u7f6e\u7684 Addon \u4e2d\u3002

                "},{"location":"kpanda/user-guide/helm/Import-addon.html#_1","title":"\u79bb\u7ebf\u73af\u5883","text":"

                \u79bb\u7ebf\u73af\u5883\u6307\u7684\u662f\u65e0\u6cd5\u8fde\u901a\u4e92\u8054\u7f51\u6216\u5c01\u95ed\u7684\u79c1\u6709\u7f51\u7edc\u73af\u5883\u3002

                "},{"location":"kpanda/user-guide/helm/Import-addon.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5b58\u5728\u53ef\u4ee5\u8fd0\u884c\u7684\u00a0charts-syncer\u3002 \u82e5\u6ca1\u6709\uff0c\u53ef\u70b9\u51fb\u4e0b\u8f7d\u3002
                • Helm Chart \u5df2\u7ecf\u5b8c\u6210\u9002\u914d charts-syncer\u3002 \u5373\u5728 Helm Chart \u5185\u6dfb\u52a0\u4e86 .relok8s-images.yaml \u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u9700\u8981\u5305\u542b Chart \u4e2d\u6240\u6709\u4f7f\u7528\u5230\u955c\u50cf\uff0c \u4e5f\u53ef\u4ee5\u5305\u542b Chart \u4e2d\u672a\u76f4\u63a5\u4f7f\u7528\u7684\u955c\u50cf\uff0c\u7c7b\u4f3c Operator \u4e2d\u4f7f\u7528\u7684\u955c\u50cf\u3002

                Note

                • \u5982\u4f55\u7f16\u5199 Chart \u53ef\u53c2\u8003\u00a0image-hints-file\u3002 \u8981\u6c42\u955c\u50cf\u7684\u00a0registry \u548c repository \u5fc5\u987b\u5206\u5f00\uff0c\u56e0\u4e3a load \u955c\u50cf\u65f6\u9700\u66ff\u6362\u6216\u4fee\u6539 registry/repository\u3002
                • \u5b89\u88c5\u5668\u6240\u5728\u7684\u706b\u79cd\u96c6\u7fa4\u5df2\u5b89\u88c5 charts-syncer\u3002 \u82e5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u5b89\u88c5\u5668\u6240\u5728\u706b\u79cd\u96c6\u7fa4\uff0c\u53ef\u8df3\u8fc7\u4e0b\u8f7d\u76f4\u63a5\u9002\u914d\uff1b \u82e5\u672a\u5b89\u88c5\u00a0charts-syncer\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c \u53ef\u7acb\u5373\u4e0b\u8f7d\u3002
                "},{"location":"kpanda/user-guide/helm/Import-addon.html#helm-chart","title":"\u540c\u6b65 Helm Chart","text":"
                1. \u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u641c\u7d22 addon\uff0c\u83b7\u53d6\u5185\u7f6e\u4ed3\u5e93\u5730\u5740\u548c\u7528\u6237\u540d/\u5bc6\u7801\uff08\u7cfb\u7edf\u5185\u7f6e\u4ed3\u5e93\u9ed8\u8ba4\u7528\u6237\u540d/\u5bc6\u7801\u4e3a rootuser/rootpass123\uff09\u3002
                1. \u540c\u6b65 Helm Chart \u5230\u5bb9\u5668\u7ba1\u7406\u5185\u7f6e\u4ed3\u5e93 Addon

                  • \u7f16\u5199\u5982\u4e0b\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u914d\u7f6e\u4fee\u6539\uff0c\u5e76\u4fdd\u5b58\u4e3a sync-dao-2048.yaml\u3002

                    source:  # helm charts \u6e90\u4fe1\u606f\n  repo:\n    kind: HARBOR # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 CHARTMUSEUM\n    url: https://release-ci.daocloud.io/chartrepo/community #  \u9700\u66f4\u6539\u4e3a chart repo url\n    #auth: # \u7528\u6237\u540d/\u5bc6\u7801,\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      #username: \"admin\"\n      #password: \"Harbor12345\"\ncharts:  # \u9700\u8981\u540c\u6b65\n  - name: dao-2048 # helm charts \u4fe1\u606f\uff0c\u82e5\u4e0d\u586b\u5199\u5219\u540c\u6b65\u6e90 helm repo \u5185\u6240\u6709 charts\n    versions:\n      - 1.4.1\ntarget:  # helm charts \u76ee\u6807\u4fe1\u606f\n  containerRegistry: 10.5.14.40 # \u955c\u50cf\u4ed3\u5e93 url\n  repo:\n    kind: CHARTMUSEUM # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 HARBOR\n    url: http://10.5.14.40:8081 #  \u9700\u66f4\u6539\u4e3a\u6b63\u786e chart repo url\uff0c\u53ef\u4ee5\u901a\u8fc7 helm repo add $HELM-REPO \u9a8c\u8bc1\u5730\u5740\u662f\u5426\u6b63\u786e\n    auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      username: \"rootuser\"\n      password: \"rootpass123\"\n  containers:\n    # kind: HARBOR # \u82e5\u955c\u50cf\u4ed3\u5e93\u4e3a HARBOR \u4e14\u5e0c\u671b charts-syncer \u81ea\u52a8\u521b\u5efa\u955c\u50cf Repository \u5219\u586b\u5199\u8be5\u5b57\u6bb5  \n    # auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199 \n      # username: \"admin\"\n      # password: \"Harbor12345\"\n\n# leverage .relok8s-images.yaml file inside the Charts to move the container images too\nrelocateContainerImages: true\n
                  • \u6267\u884c charts-syncer \u547d\u4ee4\u540c\u6b65 Chart \u53ca\u5176\u5305\u542b\u7684\u955c\u50cf

                    charts-syncer sync --config sync-dao-2048.yaml --insecure --auto-create-repository\n

                    \u9884\u671f\u8f93\u51fa\u4e3a\uff1a

                    I1222 15:01:47.119777    8743 sync.go:45] Using config file: \"examples/sync-dao-2048.yaml\"\nW1222 15:01:47.234238    8743 syncer.go:263] Ignoring skipDependencies option as dependency sync is not supported if container image relocation is true or syncing from/to intermediate directory\nI1222 15:01:47.234685    8743 sync.go:58] There is 1 chart out of sync!\nI1222 15:01:47.234706    8743 sync.go:66] Syncing \"dao-2048_1.4.1\" chart...\n.relok8s-images.yaml hints file found\nComputing relocation...\n\nRelocating dao-2048@1.4.1...\nPushing 10.5.14.40/daocloud/dao-2048:v1.4.1...\nDone\nDone moving /var/folders/vm/08vw0t3j68z9z_4lcqyhg8nm0000gn/T/charts-syncer869598676/dao-2048-1.4.1.tgz\n
                2. \u5f85\u4e0a\u4e00\u6b65\u6267\u884c\u5b8c\u6210\u540e\uff0c\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u627e\u5230\u5bf9\u5e94 Addon\uff0c \u5728\u64cd\u4f5c\u680f\u70b9\u51fb\u540c\u6b65\u4ed3\u5e93\uff0c\u56de\u5230 Helm \u6a21\u677f\u5c31\u53ef\u4ee5\u770b\u5230\u4e0a\u4f20\u7684 Helm \u5e94\u7528

                3. \u540e\u7eed\u53ef\u6b63\u5e38\u8fdb\u884c\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d

                "},{"location":"kpanda/user-guide/helm/Import-addon.html#_3","title":"\u5728\u7ebf\u73af\u5883","text":"

                \u5728\u7ebf\u73af\u5883\u7684 Helm Repo \u5730\u5740\u4e3a release.daocloud.io\u3002 \u5982\u679c\u7528\u6237\u65e0\u6743\u9650\u6dfb\u52a0 Helm Repo\uff0c\u5219\u65e0\u6cd5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon\u3002 \u60a8\u53ef\u4ee5\u6dfb\u52a0\u81ea\u5df1\u642d\u5efa\u7684 Helm \u4ed3\u5e93\uff0c\u7136\u540e\u6309\u7167\u79bb\u7ebf\u73af\u5883\u4e2d\u540c\u6b65 Helm Chart \u7684\u6b65\u9aa4\u5c06\u60a8\u7684 Helm \u4ed3\u5e93\u96c6\u6210\u5230\u5e73\u53f0\u4f7f\u7528\u3002

                "},{"location":"kpanda/user-guide/helm/helm-app.html","title":"\u7ba1\u7406 Helm \u5e94\u7528","text":"

                \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9 Helm \u8fdb\u884c\u754c\u9762\u5316\u7ba1\u7406\uff0c\u5305\u62ec\u4f7f\u7528 Helm \u6a21\u677f\u521b\u5efa Helm \u5b9e\u4f8b\u3001\u81ea\u5b9a\u4e49 Helm \u5b9e\u4f8b\u53c2\u6570\u3001\u5bf9 Helm \u5b9e\u4f8b\u8fdb\u884c\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                \u672c\u8282\u5c06\u4ee5 cert-manager \u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u521b\u5efa\u5e76\u7ba1\u7406 Helm \u5e94\u7528\u3002

                "},{"location":"kpanda/user-guide/helm/helm-app.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"kpanda/user-guide/helm/helm-app.html#helm_1","title":"\u5b89\u88c5 Helm \u5e94\u7528","text":"

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Helm \u5e94\u7528\u3002

                1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u8fdb\u5165 Helm \u6a21\u677f\u9875\u9762\u3002

                  \u5728 Helm \u6a21\u677f\u9875\u9762\u9009\u62e9\u540d\u4e3a addon \u7684 Helm \u4ed3\u5e93\uff0c\u6b64\u65f6\u754c\u9762\u4e0a\u5c06\u5448\u73b0 addon \u4ed3\u5e93\u4e0b\u6240\u6709\u7684 Helm chart \u6a21\u677f\u3002 \u70b9\u51fb\u540d\u79f0\u4e3a cert-manager \u7684 Chart\u3002

                3. \u5728\u5b89\u88c5\u9875\u9762\uff0c\u80fd\u591f\u770b\u5230 Chart \u7684\u76f8\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u5728\u754c\u9762\u53f3\u4e0a\u89d2\u9009\u62e9\u9700\u8981\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u6b64\u5904\u9009\u62e9 v1.9.1 \u7248\u672c\u8fdb\u884c\u5b89\u88c5\u3002

                4. \u914d\u7f6e \u540d\u79f0 \u3001 \u547d\u540d\u7a7a\u95f4 \u53ca \u7248\u672c\u4fe1\u606f \uff0c\u4e5f\u53ef\u4ee5\u5728\u4e0b\u65b9\u7684 \u53c2\u6570\u914d\u7f6e \u533a\u57df\u901a\u8fc7\u4fee\u6539 YAML \u6765\u81ea\u5b9a\u4e49\u53c2\u6570\u3002\u70b9\u51fb \u786e\u5b9a \u3002

                5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u65b0\u521b\u5efa\u7684 Helm \u5e94\u7528\u72b6\u6001\u4e3a \u5b89\u88c5\u4e2d \uff0c\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

                "},{"location":"kpanda/user-guide/helm/helm-app.html#helm_2","title":"\u66f4\u65b0 Helm \u5e94\u7528","text":"

                \u5f53\u6211\u4eec\u901a\u8fc7\u754c\u9762\u5b8c\u6210\u4e00\u4e2a Helm \u5e94\u7528\u7684\u5b89\u88c5\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u5bf9 Helm \u5e94\u7528\u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u3002\u6ce8\u610f\uff1a\u53ea\u6709\u901a\u8fc7\u754c\u9762\u5b89\u88c5\u7684 Helm \u5e94\u7528\u624d\u652f\u6301\u4f7f\u7528\u754c\u9762\u8fdb\u884c\u66f4\u65b0\u64cd\u4f5c\u3002

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u66f4\u65b0 Helm \u5e94\u7528\u3002

                1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                  \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u9700\u8981\u66f4\u65b0\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u66f4\u65b0 \u64cd\u4f5c\u3002

                3. \u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\u540e\uff0c\u7cfb\u7edf\u5c06\u8df3\u8f6c\u81f3\u66f4\u65b0\u754c\u9762\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u5bf9 Helm \u5e94\u7528\u8fdb\u884c\u66f4\u65b0\uff0c\u6b64\u5904\u6211\u4eec\u4ee5\u66f4\u65b0 dao-2048 \u8fd9\u4e2a\u5e94\u7528\u7684 http \u7aef\u53e3\u4e3a\u4f8b\u3002

                4. \u4fee\u6539\u5b8c\u76f8\u5e94\u53c2\u6570\u540e\u3002\u60a8\u53ef\u4ee5\u5728\u53c2\u6570\u914d\u7f6e\u4e0b\u70b9\u51fb \u53d8\u5316 \u6309\u94ae\uff0c\u5bf9\u6bd4\u4fee\u6539\u524d\u540e\u7684\u6587\u4ef6\uff0c\u786e\u5b9a\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u5e95\u90e8 \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 Helm \u5e94\u7528\u7684\u66f4\u65b0\u3002

                5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u53f3\u4e0a\u89d2\u5f39\u7a97\u63d0\u793a \u66f4\u65b0\u6210\u529f \u3002

                "},{"location":"kpanda/user-guide/helm/helm-app.html#helm_3","title":"\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55","text":"

                Helm \u5e94\u7528\u7684\u6bcf\u6b21\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664\u90fd\u6709\u8be6\u7ec6\u7684\u64cd\u4f5c\u8bb0\u5f55\u548c\u65e5\u5fd7\u53ef\u4f9b\u67e5\u770b\u3002

                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u6700\u8fd1\u64cd\u4f5c \uff0c\u7136\u540e\u5728\u9875\u9762\u4e0a\u65b9\u9009\u62e9 Helm \u64cd\u4f5c \u6807\u7b7e\u9875\u3002\u6bcf\u4e00\u6761\u8bb0\u5f55\u5bf9\u5e94\u4e00\u6b21\u5b89\u88c5/\u66f4\u65b0/\u5220\u9664\u64cd\u4f5c\u3002

                2. \u5982\u9700\u67e5\u770b\u6bcf\u4e00\u6b21\u64cd\u4f5c\u7684\u8be6\u7ec6\u65e5\u5fd7\uff1a\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u65e5\u5fd7 \u3002

                3. \u6b64\u65f6\u9875\u9762\u4e0b\u65b9\u5c06\u4ee5\u63a7\u5236\u53f0\u7684\u5f62\u5f0f\u5c55\u793a\u8be6\u7ec6\u7684\u8fd0\u884c\u65e5\u5fd7\u3002

                "},{"location":"kpanda/user-guide/helm/helm-app.html#helm_4","title":"\u5220\u9664 Helm \u5e94\u7528","text":"

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5220\u9664 Helm \u5e94\u7528\u3002

                1. \u627e\u5230\u5f85\u5220\u9664\u7684 Helm \u5e94\u7528\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                  \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u60a8\u9700\u8981\u5220\u9664\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                3. \u5728\u5f39\u7a97\u5185\u8f93\u5165 Helm \u5e94\u7528\u7684\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u6309\u94ae\u3002

                "},{"location":"kpanda/user-guide/helm/helm-repo.html","title":"\u7ba1\u7406 Helm \u4ed3\u5e93","text":"

                Helm \u4ed3\u5e93\u662f\u7528\u6765\u5b58\u50a8\u548c\u53d1\u5e03 Chart \u7684\u5b58\u50a8\u5e93\u3002Helm \u5e94\u7528\u6a21\u5757\u652f\u6301\u901a\u8fc7 HTTP(s) \u534f\u8bae\u6765\u8bbf\u95ee\u5b58\u50a8\u5e93\u4e2d\u7684 Chart \u5305\u3002\u7cfb\u7edf\u9ed8\u8ba4\u5185\u7f6e\u4e86\u4e0b\u8868\u6240\u793a\u7684 4 \u4e2a Helm \u4ed3\u5e93\u4ee5\u6ee1\u8db3\u4f01\u4e1a\u751f\u4ea7\u8fc7\u7a0b\u4e2d\u7684\u5e38\u89c1\u9700\u6c42\u3002

                \u4ed3\u5e93 \u63cf\u8ff0 \u793a\u4f8b partner \u7531\u751f\u6001\u5408\u4f5c\u4f19\u4f34\u6240\u63d0\u4f9b\u7684\u5404\u7c7b\u4f18\u8d28\u7279\u8272 Chart tidb system \u7cfb\u7edf\u6838\u5fc3\u529f\u80fd\u7ec4\u4ef6\u53ca\u90e8\u5206\u9ad8\u7ea7\u529f\u80fd\u6240\u5fc5\u9700\u4f9d\u8d56\u7684 Chart\uff0c\u5982\u5fc5\u9700\u5b89\u88c5 insight-agent \u624d\u80fd\u591f\u83b7\u53d6\u96c6\u7fa4\u7684\u76d1\u63a7\u4fe1\u606f Insight addon \u4e1a\u52a1\u573a\u666f\u4e2d\u5e38\u89c1\u7684 Chart cert-manager community Kubernetes \u793e\u533a\u8f83\u4e3a\u70ed\u95e8\u7684\u5f00\u6e90\u7ec4\u4ef6 Chart Istio

                \u9664\u4e0a\u8ff0\u9884\u7f6e\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u81ea\u884c\u6dfb\u52a0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6dfb\u52a0\u3001\u66f4\u65b0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                "},{"location":"kpanda/user-guide/helm/helm-repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5982\u679c\u4f7f\u7528\u79c1\u6709\u4ed3\u5e93\uff0c\u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u62e5\u6709\u5bf9\u8be5\u79c1\u6709\u4ed3\u5e93\u7684\u8bfb\u5199\u6743\u9650\u3002

                "},{"location":"kpanda/user-guide/helm/helm-repo.html#helm_1","title":"\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93","text":"

                \u4e0b\u9762\u4ee5 Kubevela \u516c\u5f00\u7684\u955c\u50cf\u4ed3\u5e93\u4e3a\u4f8b\uff0c\u5f15\u5165 Helm \u4ed3\u5e93\u5e76\u7ba1\u7406\u3002

                1. \u627e\u5230\u9700\u8981\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u9875\u9762\u3002

                3. \u5728 Helm \u4ed3\u5e93\u9875\u9762\u70b9\u51fb \u521b\u5efa\u4ed3\u5e93 \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u4ed3\u5e93\u9875\u9762\uff0c\u6309\u7167\u4e0b\u8868\u914d\u7f6e\u76f8\u5173\u53c2\u6570\u3002

                  • \u4ed3\u5e93\u540d\u79f0\uff1a\u8bbe\u7f6e\u4ed3\u5e93\u540d\u79f0\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26 - \uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u5e76\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubevela
                  • \u4ed3\u5e93\u5730\u5740\uff1a\u7528\u6765\u6307\u5411\u76ee\u6807 Helm \u4ed3\u5e93\u7684 http\uff08s\uff09\u5730\u5740\u3002\u4f8b\u5982 https://charts.kubevela.net/core
                  • \u8df3\u8fc7 TLS \u9a8c\u8bc1: \u5982\u679c\u6dfb\u52a0\u7684 Helm \u4ed3\u5e93\u4e3a https \u5730\u5740\u4e14\u9700\u8df3\u8fc7 TLS \u9a8c\u8bc1\uff0c\u53ef\u4ee5\u52fe\u9009\u6b64\u9009\u9879\uff0c\u9ed8\u8ba4\u4e3a\u4e0d\u52fe\u9009
                  • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u8fde\u63a5\u4ed3\u5e93\u5730\u5740\u540e\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c\u7684\u65b9\u5f0f\u3002\u5bf9\u4e8e\u516c\u5f00\u4ed3\u5e93\uff0c\u53ef\u4ee5\u9009\u62e9 None \uff0c\u79c1\u6709\u7684\u4ed3\u5e93\u9700\u8981\u8f93\u5165\u7528\u6237\u540d/\u5bc6\u7801\u4ee5\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c
                  • \u6807\u7b7e\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6807\u7b7e\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                  • \u6ce8\u89e3\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6ce8\u89e3\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                  • \u63cf\u8ff0\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u63cf\u8ff0\u3002\u4f8b\u5982\uff1a\u8fd9\u662f\u4e00\u4e2a Kubevela \u516c\u5f00 Helm \u4ed3\u5e93

                4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 Helm \u4ed3\u5e93\u7684\u521b\u5efa\u3002\u9875\u9762\u4f1a\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u4ed3\u5e93\u5217\u8868\u3002

                "},{"location":"kpanda/user-guide/helm/helm-repo.html#helm_2","title":"\u66f4\u65b0 Helm \u4ed3\u5e93","text":"

                \u5f53 Helm \u4ed3\u5e93\u7684\u5730\u5740\u4fe1\u606f\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u66f4\u65b0 Helm \u4ed3\u5e93\u7684\u5730\u5740\u3001\u8ba4\u8bc1\u65b9\u5f0f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u53ca\u63cf\u8ff0\u4fe1\u606f\u3002

                1. \u627e\u5230\u5f85\u66f4\u65b0\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u66f4\u65b0 \u3002

                4. \u5728 \u7f16\u8f91 Helm \u4ed3\u5e93 \u9875\u9762\u8fdb\u884c\u66f4\u65b0\uff0c\u5b8c\u6210\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u66f4\u65b0\u6210\u529f\u3002

                "},{"location":"kpanda/user-guide/helm/helm-repo.html#helm_3","title":"\u5220\u9664 Helm \u4ed3\u5e93","text":"

                \u9664\u4e86\u5f15\u5165\u3001\u66f4\u65b0\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5c06\u4e0d\u9700\u8981\u7684\u4ed3\u5e93\u5220\u9664\uff0c\u5305\u62ec\u7cfb\u7edf\u9884\u7f6e\u4ed3\u5e93\u548c\u7b2c\u4e09\u65b9\u4ed3\u5e93\u3002

                1. \u627e\u5230\u5f85\u5220\u9664\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u5220\u9664 \u3002

                4. \u8f93\u5165\u4ed3\u5e93\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u70b9\u51fb \u5220\u9664 \u3002

                5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

                "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html","title":"Helm \u5e94\u7528\u591a\u67b6\u6784\u548c\u5347\u7ea7\u5bfc\u5165\u6b65\u9aa4","text":"

                \u901a\u5e38\u5728\u591a\u67b6\u6784\u96c6\u7fa4\u4e2d\uff0c\u4e5f\u4f1a\u4f7f\u7528\u591a\u67b6\u6784\u7684 Helm \u5305\u6765\u90e8\u7f72\u5e94\u7528\uff0c\u4ee5\u89e3\u51b3\u67b6\u6784\u5dee\u5f02\u5e26\u6765\u7684\u90e8\u7f72\u95ee\u9898\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u5355\u67b6\u6784 Helm \u5e94\u7528\u878d\u5408\u4e3a\u591a\u67b6\u6784\uff0c\u4ee5\u53ca\u591a\u67b6\u6784\u4e0e\u591a\u67b6\u6784 Helm \u5e94\u7528\u7684\u76f8\u4e92\u878d\u5408\u3002

                "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_1","title":"\u5bfc\u5165","text":""},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_2","title":"\u5355\u67b6\u6784\u5bfc\u5165","text":"

                \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \uff0c\u53ef\u4ece \u4e0b\u8f7d\u4e2d\u5fc3\u4e0b\u8f7d\u3002 \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                addonPackage:\n  path: \"/home/addon-offline-full-package-v0.9.0-amd64.tar.gz\"\n

                \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_3","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \uff0c\u53ef\u4ece \u4e0b\u8f7d\u4e2d\u5fc3\u4e0b\u8f7d\u3002

                \u4ee5 addon-offline-full-package-v0.9.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.9.0-arm64.tar.gz\n
                "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_4","title":"\u5347\u7ea7","text":""},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_5","title":"\u5355\u67b6\u6784\u5347\u7ea7","text":"

                \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \uff0c\u53ef\u4ece\u4e0b\u8f7d\u4e2d\u5fc3\u4e0b\u8f7d\u3002

                \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                addonPackage:\n  path: \"/home/addon-offline-full-package-v0.11.0-amd64.tar.gz\"\n

                \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_6","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \uff0c\u53ef\u4ece\u4e0b\u8f7d\u4e2d\u5fc3\u4e0b\u8f7d\u3002

                \u4ee5 addon-offline-full-package-v0.11.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.11.0-arm64.tar.gz\n
                "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_7","title":"\u6ce8\u610f\u4e8b\u9879","text":""},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_8","title":"\u78c1\u76d8\u7a7a\u95f4","text":"

                \u79bb\u7ebf\u5305\u6bd4\u8f83\u5927\uff0c\u4e14\u8fc7\u7a0b\u4e2d\u9700\u8981\u89e3\u538b\u548c load \u955c\u50cf\uff0c\u9700\u8981\u9884\u7559\u5145\u8db3\u7684\u7a7a\u95f4\uff0c\u5426\u5219\u53ef\u80fd\u5728\u8fc7\u7a0b\u4e2d\u62a5 \u201cno space left\u201d \u800c\u4e2d\u65ad\u3002

                "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_9","title":"\u5931\u8d25\u540e\u91cd\u8bd5","text":"

                \u5982\u679c\u5728\u591a\u67b6\u6784\u878d\u5408\u6b65\u9aa4\u6267\u884c\u5931\u8d25\uff0c\u91cd\u8bd5\u524d\u9700\u8981\u6e05\u7406\u4e00\u4e0b\u6b8b\u7559\uff1a

                rm -rf addon-offline-target-package\n
                "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_10","title":"\u955c\u50cf\u7a7a\u95f4","text":"

                \u5982\u679c\u878d\u5408\u7684\u79bb\u7ebf\u5305\u4e2d\u5305\u542b\u4e86\u4e0e\u5bfc\u5165\u7684\u79bb\u7ebf\u5305\u4e0d\u4e00\u81f4\u7684\u955c\u50cf\u7a7a\u95f4\uff0c\u53ef\u80fd\u4f1a\u5728\u878d\u5408\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u955c\u50cf\u7a7a\u95f4\u4e0d\u5b58\u5728\u800c\u62a5\u9519\uff1a

                \u89e3\u51b3\u529e\u6cd5\uff1a\u53ea\u9700\u8981\u5728\u878d\u5408\u4e4b\u524d\u521b\u5efa\u597d\u8be5\u955c\u50cf\u7a7a\u95f4\u5373\u53ef\uff0c\u4f8b\u5982\u4e0a\u56fe\u62a5\u9519\u53ef\u901a\u8fc7\u521b\u5efa\u955c\u50cf\u7a7a\u95f4 localhost \u63d0\u524d\u907f\u514d\u3002

                "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_11","title":"\u67b6\u6784\u51b2\u7a81","text":"

                \u5347\u7ea7\u81f3\u4f4e\u4e8e 0.12.0 \u7248\u672c\u7684 addon \u65f6\uff0c\u7531\u4e8e\u76ee\u6807\u79bb\u7ebf\u5305\u91cc\u7684 charts-syncer \u6ca1\u6709\u68c0\u67e5\u955c\u50cf\u5b58\u5728\u5219\u4e0d\u63a8\u9001\u529f\u80fd\uff0c\u56e0\u6b64\u4f1a\u5728\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\u4f1a\u91cd\u65b0\u628a\u591a\u67b6\u6784\u51b2\u6210\u5355\u67b6\u6784\u3002 \u4f8b\u5982\uff1a\u5728 v0.10 \u7248\u672c\u5c06 addon \u5b9e\u73b0\u4e3a\u591a\u67b6\u6784\uff0c\u6b64\u65f6\u82e5\u5347\u7ea7\u4e3a v0.11 \u7248\u672c\uff0c\u5219\u591a\u67b6\u6784 addon \u4f1a\u88ab\u8986\u76d6\u4e3a\u5355\u67b6\u6784\uff1b\u82e5\u5347\u7ea7\u4e3a 0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u5219\u4ecd\u80fd\u591f\u4fdd\u6301\u591a\u67b6\u6784\u3002

                "},{"location":"kpanda/user-guide/helm/upload-helm.html","title":"\u4e0a\u4f20 Helm \u6a21\u677f","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u64cd\u4f5c\u6b65\u9aa4\u89c1\u4e0b\u6587\u3002

                1. \u5f15\u5165 Helm \u4ed3\u5e93\uff0c\u64cd\u4f5c\u6b65\u9aa4\u53c2\u8003\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                2. \u4e0a\u4f20 Helm Chart \u5230 Helm \u4ed3\u5e93\u3002

                  \u5ba2\u6237\u7aef\u4e0a\u4f20\u9875\u9762\u4e0a\u4f20

                  Note

                  \u6b64\u65b9\u5f0f\u9002\u7528\u4e8e Harbor\u3001ChartMuseum\u3001JFrog \u7c7b\u578b\u4ed3\u5e93\u3002

                  1. \u767b\u5f55\u4e00\u4e2a\u53ef\u4ee5\u8bbf\u95ee\u5230 Helm \u4ed3\u5e93\u7684\u8282\u70b9\uff0c\u5c06 Helm \u4e8c\u8fdb\u5236\u6587\u4ef6\u4e0a\u4f20\u5230\u8282\u70b9\uff0c\u5e76\u5b89\u88c5 cm-push \u63d2\u4ef6\uff08\u9700\u8981\u8fde\u901a\u5916\u7f51\u5e76\u63d0\u524d\u5b89\u88c5 Git\uff09\u3002

                    \u5b89\u88c5\u63d2\u4ef6\u6d41\u7a0b\u53c2\u8003\u5b89\u88c5 cm-push \u63d2\u4ef6\u3002

                  2. \u63a8\u9001 Helm Chart \u5230 Helm \u4ed3\u5e93\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1b

                    helm cm-push ${charts-dir} ${HELM_REPO_URL} --username ${username} --password ${password}\n

                    \u5b57\u6bb5\u8bf4\u660e\uff1a

                    • charts-dir\uff1aHelm Chart \u7684\u76ee\u5f55\uff0c\u6216\u8005\u662f\u6253\u5305\u597d\u7684 Chart\uff08\u5373 .tgz \u6587\u4ef6\uff09\u3002
                    • HELM_REPO_URL\uff1aHelm \u4ed3\u5e93\u7684 URL\u3002
                    • username/password\uff1a\u6709\u63a8\u9001\u6743\u9650\u7684 Helm \u4ed3\u5e93\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                    • \u5982\u679c\u91c7\u7528 https \u8bbf\u95ee\u4e14\u9700\u8981\u8df3\u8fc7\u8bc1\u4e66\u9a8c\u8bc1\uff0c\u53ef\u6dfb\u52a0\u53c2\u6570 --insecure

                  Note

                  \u6b64\u65b9\u5f0f\u4ec5\u9002\u7528\u4e8e Harbor \u7c7b\u578b\u4ed3\u5e93\u3002

                  1. \u767b\u5f55\u7f51\u9875 Harbor \u4ed3\u5e93\uff0c\u8bf7\u786e\u4fdd\u767b\u5f55\u7528\u6237\u6709\u63a8\u9001\u6743\u9650\uff1b

                  2. \u8fdb\u5165\u5230\u5bf9\u5e94\u9879\u76ee\uff0c\u9009\u62e9 Helm Charts \u9875\u7b7e\uff0c\u70b9\u51fb\u9875\u9762 \u4e0a\u4f20 \u6309\u94ae\uff0c\u5b8c\u6210 Helm Chart \u4e0a\u4f20\u3002

                3. \u540c\u6b65\u8fdc\u7aef\u4ed3\u5e93\u6570\u636e

                  \u624b\u52a8\u540c\u6b65\u81ea\u52a8\u540c\u6b65

                  \u9ed8\u8ba4\u96c6\u7fa4\u672a\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0 \uff0c\u9700\u8981\u6267\u884c\u624b\u52a8\u540c\u6b65\u64cd\u4f5c\uff0c\u5927\u81f4\u6b65\u9aa4\u4e3a\uff1a

                  \u8fdb\u5165 Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u70b9\u51fb\u4ed3\u5e93\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u6309\u94ae\uff0c\u9009\u62e9 \u540c\u6b65\u4ed3\u5e93 \uff0c\u5b8c\u6210\u4ed3\u5e93\u6570\u636e\u540c\u6b65\u3002

                  \u5982\u9700\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u540c\u6b65\u529f\u80fd\uff0c\u53ef\u8fdb\u5165 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \uff0c\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0\u5f00\u5173\u3002

                "},{"location":"kpanda/user-guide/inspect/index.html","title":"\u96c6\u7fa4\u5de1\u68c0","text":"

                \u96c6\u7fa4\u5de1\u68c0\u53ef\u4ee5\u901a\u8fc7\u81ea\u52a8\u6216\u624b\u52a8\u65b9\u5f0f\uff0c\u5b9a\u671f\u6216\u968f\u65f6\u68c0\u67e5\u96c6\u7fa4\u7684\u6574\u4f53\u5065\u5eb7\u72b6\u6001\uff0c\u8ba9\u7ba1\u7406\u5458\u83b7\u5f97\u4fdd\u969c\u96c6\u7fa4\u5b89\u5168\u7684\u4e3b\u52a8\u6743\u3002 \u57fa\u4e8e\u5408\u7406\u7684\u5de1\u68c0\u8ba1\u5212\uff0c\u8fd9\u79cd\u4e3b\u52a8\u81ea\u53d1\u7684\u96c6\u7fa4\u68c0\u67e5\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458\u968f\u65f6\u638c\u63e1\u96c6\u7fa4\u72b6\u6001\uff0c\u6446\u8131\u4e4b\u524d\u51fa\u73b0\u6545\u969c\u65f6\u53ea\u80fd\u88ab\u52a8\u6392\u67e5\u95ee\u9898\u7684\u56f0\u5883\uff0c\u505a\u5230\u4e8b\u5148\u76d1\u63a7\u3001\u63d0\u524d\u9632\u8303\u3002

                DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u7684\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u4e09\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u81ea\u5b9a\u4e49\u5de1\u68c0\u9879\uff0c\u5de1\u68c0\u7ed3\u675f\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u53ef\u89c6\u5316\u7684\u5de1\u68c0\u62a5\u544a\u3002

                • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                \u5982\u9700\u4e86\u89e3\u6216\u6267\u884c\u5b89\u5168\u65b9\u9762\u7684\u5de1\u68c0\uff0c\u53ef\u53c2\u8003 DCE 5.0 \u652f\u6301\u7684\u5b89\u5168\u626b\u63cf\u7c7b\u578b\u3002

                "},{"location":"kpanda/user-guide/inspect/config.html","title":"\u521b\u5efa\u5de1\u68c0\u914d\u7f6e","text":"

                DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u8fdb\u884c\u5de1\u68c0\u3002

                • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                \u4e0b\u9762\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de1\u68c0\u914d\u7f6e\u3002

                "},{"location":"kpanda/user-guide/inspect/config.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                "},{"location":"kpanda/user-guide/inspect/config.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \u3002

                2. \u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u3002

                3. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199\u5de1\u68c0\u914d\u7f6e\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                  • \u96c6\u7fa4\uff1a\u4e0b\u62c9\u9009\u62e9\u8981\u5bf9\u54ea\u4e9b\u96c6\u7fa4\u8fdb\u884c\u5de1\u68c0\u3002\u5982\u679c\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\uff0c\u5219\u81ea\u52a8\u751f\u6210\u591a\u4e2a\u5de1\u68c0\u914d\u7f6e\uff08\u4ec5\u5de1\u68c0\u7684\u96c6\u7fa4\u4e0d\u4e00\u81f4\uff0c\u5176\u4ed6\u914d\u7f6e\u90fd\u5b8c\u5168\u4e00\u81f4\uff09
                  • \u5b9a\u65f6\u5de1\u68c0\uff1a\u542f\u7528\u540e\u53ef\u6839\u636e\u4e8b\u5148\u8bbe\u7f6e\u7684\u5de1\u68c0\u9891\u7387\u5b9a\u671f\u81ea\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0
                  • \u5de1\u68c0\u9891\u7387\uff1a\u8bbe\u7f6e\u81ea\u52a8\u5de1\u68c0\u7684\u5468\u671f\uff0c\u4f8b\u5982\u6bcf\u5468\u4e8c\u4e0a\u5348\u5341\u70b9\u3002\u652f\u6301\u81ea\u5b9a\u4e49 CronExpression\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5
                  • \u5de1\u68c0\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\uff1a\u7d2f\u8ba1\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5de1\u68c0\u8bb0\u5f55\uff0c\u5305\u62ec\u6240\u6709\u96c6\u7fa4\u7684\u5de1\u68c0\u8bb0\u5f55
                  • \u53c2\u6570\u914d\u7f6e\uff1a\u53c2\u6570\u914d\u7f6e\u5206\u4e3a\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u4e09\u90e8\u5206\uff0c\u53ef\u4ee5\u6839\u636e\u573a\u666f\u9700\u6c42\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u5de1\u68c0\u9879\u3002

                \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4f1a\u81ea\u52a8\u663e\u793a\u5728\u5de1\u68c0\u914d\u7f6e\u5217\u8868\u4e2d\u3002\u5728\u914d\u7f6e\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u7acb\u5373\u6267\u884c\u5de1\u68c0\u3001\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3001\u5220\u9664\u5de1\u68c0\u914d\u7f6e\u548c\u5de1\u68c0\u8bb0\u5f55\u3002

                • \u70b9\u51fb \u5de1\u68c0 \u53ef\u4ee5\u6839\u636e\u8be5\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u5de1\u68c0\u3002
                • \u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u53ef\u4ee5\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3002
                • \u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u5de1\u68c0\u914d\u7f6e\u548c\u5386\u53f2\u7684\u5de1\u68c0\u8bb0\u5f55

                Note

                • \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002
                • \u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002
                "},{"location":"kpanda/user-guide/inspect/inspect.html","title":"\u6267\u884c\u96c6\u7fa4\u5de1\u68c0","text":"

                \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002\u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002

                \u6b64\u9875\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0\u3002

                "},{"location":"kpanda/user-guide/inspect/inspect.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                • \u5df2\u521b\u5efa\u5de1\u68c0\u914d\u7f6e
                • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                "},{"location":"kpanda/user-guide/inspect/inspect.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u6267\u884c\u5de1\u68c0\u65f6\uff0c\u652f\u6301\u52fe\u9009\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u6279\u91cf\u5de1\u68c0\uff0c\u6216\u8005\u4ec5\u5bf9\u67d0\u4e00\u4e2a\u96c6\u7fa4\u8fdb\u884c\u5355\u72ec\u5de1\u68c0\u3002

                \u6279\u91cf\u5de1\u68c0\u5355\u72ec\u5de1\u68c0
                1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u4e00\u7ea7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0 \u3002

                2. \u52fe\u9009\u9700\u8981\u5de1\u68c0\u7684\u96c6\u7fa4\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                  • \u82e5\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u540c\u65f6\u5de1\u68c0\uff0c\u7cfb\u7edf\u5c06\u6839\u636e\u4e0d\u540c\u96c6\u7fa4\u7684\u5de1\u68c0\u914d\u7f6e\u8fdb\u884c\u5de1\u68c0\u3002
                  • \u5982\u672a\u8bbe\u7f6e\u96c6\u7fa4\u5de1\u68c0\u914d\u7f6e\uff0c\u5c06\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u914d\u7f6e\u3002

                1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\u3002
                2. \u5728\u5bf9\u5e94\u5de1\u68c0\u914d\u7f6e\u7684\u53f3\u4fa7\u70b9\u51fb \u2507 \u66f4\u591a\u64cd\u4f5c\u6309\u94ae\uff0c\u7136\u540e\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\u9009\u62e9 \u5de1\u68c0 \u5373\u53ef\u3002

                "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html","title":"\u79bb\u7ebf\u5347\u7ea7\u96c6\u7fa4\u5de1\u68c0\u6a21\u5757","text":"

                \u672c\u9875\u8bf4\u660e\u4e0b\u8f7d\u96c6\u7fa4\u5de1\u68c0\u6a21\u5757\u540e\uff0c\u5e94\u8be5\u5982\u4f55\u5b89\u88c5\u6216\u5347\u7ea7\u3002

                Info

                \u4e0b\u8ff0\u547d\u4ee4\u6216\u811a\u672c\u5185\u51fa\u73b0\u7684 kcollie \u5b57\u6837\u662f\u96c6\u7fa4\u5de1\u68c0\u6a21\u5757\u7684\u5185\u90e8\u5f00\u53d1\u4ee3\u53f7\u3002

                "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html#_2","title":"\u4ece\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u52a0\u8f7d\u955c\u50cf","text":"

                \u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u9762\u4e24\u79cd\u65b9\u5f0f\u4e4b\u4e00\u52a0\u8f7d\u955c\u50cf\uff0c\u5f53\u73af\u5883\u4e2d\u5b58\u5728\u955c\u50cf\u4ed3\u5e93\u65f6\uff0c\u5efa\u8bae\u9009\u62e9 chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93\uff0c\u8be5\u65b9\u6cd5\u66f4\u52a0\u9ad8\u6548\u4fbf\u6377\u3002

                "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html#chart-syncer","title":"\u65b9\u5f0f\u4e00\uff1a\u4f7f\u7528 chart-syncer \u540c\u6b65\u955c\u50cf","text":"

                \u4f7f\u7528 chart-syncer \u53ef\u4ee5\u5c06\u60a8\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u7684 chart \u53ca\u5176\u4f9d\u8d56\u7684\u955c\u50cf\u5305\u4e0a\u4f20\u81f3\u5b89\u88c5\u5668\u90e8\u7f72 DCE \u65f6\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u3002

                \u9996\u5148\u627e\u5230\u4e00\u53f0\u80fd\u591f\u8fde\u63a5\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7684\u8282\u70b9\uff08\u5982\u706b\u79cd\u8282\u70b9\uff09\uff0c\u5728\u8282\u70b9\u4e0a\u521b\u5efa load-image.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u586b\u5165\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7b49\u914d\u7f6e\u4fe1\u606f\u3002

                1. \u521b\u5efa load-image.yaml

                  Note

                  \u8be5 YAML \u6587\u4ef6\u4e2d\u7684\u5404\u9879\u53c2\u6570\u5747\u4e3a\u5fc5\u586b\u9879\u3002

                  \u5df2\u6dfb\u52a0 Helm repo\u672a\u6dfb\u52a0 Helm repo

                  \u82e5\u5f53\u524d\u73af\u5883\u5df2\u5b89\u88c5 chart repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\u3002

                  load-image.yaml
                  source:\n  intermediateBundlesPath: kcollie # \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84\ntarget:\n  containerRegistry: 10.16.10.111 # \u955c\u50cf\u4ed3\u5e93\u5730\u5740\n  containerRepository: release.daocloud.io/kcollie # \u955c\u50cf\u4ed3\u5e93\u8def\u5f84\n  repo:\n    kind: HARBOR # Helm Chart \u4ed3\u5e93\u7c7b\u522b\n    url: http://10.16.10.111/chartrepo/release.daocloud.io # Helm \u4ed3\u5e93\u5730\u5740\n    auth:\n      username: \"admin\" # \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801\n  containers:\n    auth:\n      username: \"admin\" # Helm \u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # Helm \u4ed3\u5e93\u5bc6\u7801\n

                  \u82e5\u5f53\u524d\u8282\u70b9\u4e0a\u672a\u6dfb\u52a0 helm repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\uff0c\u5e76\u5b58\u653e\u5728\u6307\u5b9a\u8def\u5f84\u3002

                  load-image.yaml
                  source:\n  intermediateBundlesPath: kcollie # \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84\ntarget:\n  containerRegistry: 10.16.10.111 # \u955c\u50cf\u4ed3\u5e93 url\n  containerRepository: release.daocloud.io/kcollie # \u955c\u50cf\u4ed3\u5e93\u8def\u5f84\n  repo:\n    kind: LOCAL\n    path: ./local-repo # chart \u672c\u5730\u8def\u5f84\n  containers:\n    auth:\n      username: \"admin\" # \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801\n
                2. \u6267\u884c\u540c\u6b65\u955c\u50cf\u547d\u4ee4\u3002

                  charts-syncer sync --config load-image.yaml\n
                "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html#docker-containerd","title":"\u65b9\u5f0f\u4e8c\uff1a\u4f7f\u7528 Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf","text":"

                \u89e3\u538b\u5e76\u52a0\u8f7d\u955c\u50cf\u6587\u4ef6\u3002

                1. \u89e3\u538b\u7b2c\u4e00\u5c42\u538b\u7f29\u5305\u3002

                  tar xvf kcollie.amd64.tar\n

                  \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 1 \u4e2a\u65b0\u7684\u538b\u7f29\u5305\uff1a

                  • kcollie.bundle.tar
                2. \u89e3\u538b\u65b0\u7684\u538b\u7f29\u5305\u3002

                  tar xvf kcollie.bundle.tar\n

                  \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 3 \u4e2a\u6587\u4ef6\uff1a

                  • hints.yaml
                  • images.tar
                  • original-chart
                3. \u4ece\u672c\u5730\u52a0\u8f7d\u955c\u50cf\u5230 Docker \u6216 containerd\u3002

                  Dockercontainerd
                  docker load -i images.tar\n
                  ctr -n k8s.io image import images.tar\n

                Note

                \u6bcf\u4e2a node \u90fd\u9700\u8981\u505a Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf\u64cd\u4f5c\uff0c \u52a0\u8f7d\u5b8c\u6210\u540e\u9700\u8981 tag \u955c\u50cf\uff0c\u4fdd\u6301 Registry\u3001Repository \u4e0e\u5b89\u88c5\u65f6\u4e00\u81f4\u3002

                "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html#_3","title":"\u5347\u7ea7","text":"

                \u6709\u4e24\u79cd\u5347\u7ea7\u65b9\u5f0f\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u524d\u7f6e\u64cd\u4f5c\uff0c\u9009\u62e9\u5bf9\u5e94\u7684\u5347\u7ea7\u65b9\u6848\uff1a

                \u901a\u8fc7 helm repo \u5347\u7ea7\u901a\u8fc7 chart \u5305\u5347\u7ea7
                1. \u68c0\u67e5\u96c6\u7fa4\u5de1\u68c0 helm \u4ed3\u5e93\u662f\u5426\u5b58\u5728\u3002

                  helm repo list | grep kcollie\n

                  \u82e5\u8fd4\u56de\u7ed3\u679c\u4e3a\u7a7a\u6216\u5982\u4e0b\u63d0\u793a\uff0c\u5219\u8fdb\u884c\u4e0b\u4e00\u6b65\uff1b\u53cd\u4e4b\u5219\u8df3\u8fc7\u4e0b\u4e00\u6b65\u3002

                  Error: no repositories to show\n
                2. \u6dfb\u52a0\u96c6\u7fa4\u5de1\u68c0\u7684 helm \u4ed3\u5e93\u3002

                  helm repo add kcollie http://{harbor url}/chartrepo/{project}\n
                3. \u66f4\u65b0\u96c6\u7fa4\u5de1\u68c0\u7684 helm \u4ed3\u5e93\u3002

                  helm repo update kcollie\n
                4. \u9009\u62e9\u60a8\u60f3\u5b89\u88c5\u7684\u96c6\u7fa4\u5de1\u68c0\u7248\u672c\uff08\u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\uff09\u3002

                  helm search repo kcollie/kcollie --versions\n
                  [root@master ~]# helm search repo kcollie/kcollie --versions\nNAME                   CHART VERSION  APP VERSION  DESCRIPTION\nkcollie/kcollie  0.20.0          v0.20.0       A Helm chart for kcollie\n...\n
                5. \u5907\u4efd --set \u53c2\u6570\u3002

                  \u5728\u5347\u7ea7\u96c6\u7fa4\u5de1\u68c0\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                  helm get values kcollie -n kcollie-system -o yaml > bak.yaml\n
                6. \u66f4\u65b0 kcollie crds (\u9700\u8981\u5148\u89e3\u538b\u5e76\u8fdb\u5165 original-chart \u6587\u4ef6)

                  helm pull kcollie/kcollie --version 0.6.0 && tar -zxf kcollie-0.6.0.tgz\nkubectl apply -f kcollie/crds\n
                7. \u6267\u884c helm upgrade \u3002

                  \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u5b57\u6bb5\u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                  export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                  helm upgrade kcollie kcollie/kcollie \\\n  -n kcollie-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry \\\n  --version 0.6.0\n
                1. \u5907\u4efd --set \u53c2\u6570\u3002

                  \u5728\u5347\u7ea7\u96c6\u7fa4\u5de1\u68c0\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                  helm get values kcollie -n kcollie-system -o yaml > bak.yaml\n
                2. \u66f4\u65b0 kcollie crds (\u9700\u8981\u5148\u89e3\u538b\u5e76\u8fdb\u5165 original-chart \u6587\u4ef6)

                  kubectl apply -f ./crds\n
                3. \u6267\u884c helm upgrade \u3002

                  \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                  export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                  helm upgrade kcollie . \\\n  -n kcollie-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry\n
                "},{"location":"kpanda/user-guide/inspect/report.html","title":"\u67e5\u770b\u5de1\u68c0\u62a5\u544a","text":"

                \u5de1\u68c0\u6267\u884c\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u5de1\u68c0\u8bb0\u5f55\u548c\u8be6\u7ec6\u7684\u5de1\u68c0\u62a5\u544a\u3002

                "},{"location":"kpanda/user-guide/inspect/report.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5df2\u7ecf\u521b\u5efa\u4e86\u5de1\u68c0\u914d\u7f6e
                • \u5df2\u7ecf\u6267\u884c\u8fc7\u81f3\u5c11\u4e00\u6b21\u5de1\u68c0
                "},{"location":"kpanda/user-guide/inspect/report.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\uff0c\u70b9\u51fb\u76ee\u6807\u5de1\u68c0\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u70b9\u51fb\u60f3\u8981\u67e5\u770b\u7684\u5de1\u68c0\u8bb0\u5f55\u540d\u79f0\u3002

                  • \u6bcf\u6267\u884c\u4e00\u6b21\u5de1\u68c0\uff0c\u5c31\u4f1a\u751f\u6210\u4e00\u6761\u5de1\u68c0\u8bb0\u5f55\u3002
                  • \u5f53\u5de1\u68c0\u8bb0\u5f55\u8d85\u8fc7\u5de1\u68c0\u914d\u7f6e\u4e2d\u8bbe\u7f6e\u7684\u6700\u5927\u4fdd\u7559\u6761\u6570\u65f6\uff0c\u4ece\u6267\u884c\u65f6\u95f4\u6700\u65e9\u7684\u8bb0\u5f55\u5f00\u59cb\u5220\u9664\u3002

                3. \u67e5\u770b\u5de1\u68c0\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u6839\u636e\u5de1\u68c0\u914d\u7f6e\u53ef\u80fd\u5305\u62ec\u96c6\u7fa4\u8d44\u6e90\u6982\u89c8\u3001\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\u7b49\u3002

                  \u5728\u9875\u9762\u53f3\u4e0a\u89d2\u53ef\u4ee5\u4e0b\u8f7d\u5de1\u68c0\u62a5\u544a\u6216\u5220\u9664\u8be5\u9879\u5de1\u68c0\u62a5\u544a\u3002

                "},{"location":"kpanda/user-guide/namespaces/createns.html","title":"\u547d\u540d\u7a7a\u95f4","text":"

                \u547d\u540d\u7a7a\u95f4\u662f Kubernetes \u4e2d\u7528\u6765\u8fdb\u884c\u8d44\u6e90\u9694\u79bb\u7684\u4e00\u79cd\u62bd\u8c61\u3002\u4e00\u4e2a\u96c6\u7fa4\u4e0b\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u4e0d\u91cd\u540d\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u76f8\u4e92\u9694\u79bb\u3002\u6709\u5173\u547d\u540d\u7a7a\u95f4\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u3002

                \u672c\u6587\u5c06\u4ecb\u7ecd\u547d\u540d\u7a7a\u95f4\u7684\u76f8\u5173\u64cd\u4f5c\u3002

                "},{"location":"kpanda/user-guide/namespaces/createns.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                \u652f\u6301\u901a\u8fc7\u8868\u5355\u8f7b\u677e\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u7f16\u5199\u6216\u5bfc\u5165 YAML \u6587\u4ef6\u5feb\u901f\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u3002

                Note

                • \u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u4e4b\u524d\uff0c\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\u3002
                • \u96c6\u7fa4\u521d\u59cb\u5316\u540e\u901a\u5e38\u4f1a\u81ea\u52a8\u751f\u6210\u9ed8\u8ba4\u7684\u547d\u540d\u7a7a\u95f4 default \u3002\u4f46\u5bf9\u4e8e\u751f\u4ea7\u96c6\u7fa4\u800c\u8a00\uff0c\u4e3a\u4fbf\u4e8e\u7ba1\u7406\uff0c\u5efa\u8bae\u521b\u5efa\u5176\u4ed6\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c\u975e\u76f4\u63a5\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002
                "},{"location":"kpanda/user-guide/namespaces/createns.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                3. \u586b\u5199\u547d\u540d\u7a7a\u95f4\u7684\u540d\u79f0\uff0c\u914d\u7f6e\u5de5\u4f5c\u7a7a\u95f4\u548c\u6807\u7b7e\uff08\u53ef\u9009\u8bbe\u7f6e\uff09\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                  Info

                  • \u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u4e4b\u540e\uff0c\u8be5\u547d\u540d\u7a7a\u95f4\u7684\u8d44\u6e90\u5c31\u4f1a\u5171\u4eab\u7ed9\u6240\u7ed1\u5b9a\u7684\u5de5\u4f5c\u7a7a\u95f4\u3002\u6709\u5173\u5de5\u4f5c\u7a7a\u95f4\u7684\u8be6\u7ec6\u8bf4\u660e\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u3002

                  • \u547d\u540d\u7a7a\u95f4\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4ecd\u7136\u53ef\u4ee5\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3002

                4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002\u5728\u547d\u540d\u7a7a\u95f4\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4ece\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9\u67e5\u770b YAML\u3001\u4fee\u6539\u6807\u7b7e\u3001\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3001\u914d\u989d\u7ba1\u7406\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

                "},{"location":"kpanda/user-guide/namespaces/createns.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u5185\u5bb9\uff0c\u6216\u8005\u4ece\u672c\u5730\u76f4\u63a5\u5bfc\u5165\u5df2\u6709\u7684 YAML \u6587\u4ef6\u3002

                  \u8f93\u5165 YAML \u5185\u5bb9\u540e\uff0c\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u8be5 YAML \u6587\u4ef6\u4fdd\u5b58\u5230\u672c\u5730\u3002

                4. \u6700\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                "},{"location":"kpanda/user-guide/namespaces/exclusive.html","title":"\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                \u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u6c61\u70b9\u548c\u6c61\u70b9\u5bb9\u5fcd\u7684\u65b9\u5f0f\u5b9e\u73b0\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u5bf9\u4e00\u4e2a\u6216\u591a\u4e2a\u8282\u70b9 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u7684\u72ec\u4eab\u3002\u4e3a\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u72ec\u4eab\u8282\u70b9\u540e\uff0c\u5176\u5b83\u975e\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5e94\u7528\u548c\u670d\u52a1\u5747\u4e0d\u80fd\u8fd0\u884c\u5728\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\u3002\u4f7f\u7528\u72ec\u4eab\u8282\u70b9\u53ef\u4ee5\u8ba9\u91cd\u8981\u5e94\u7528\u72ec\u4eab\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u548c\u5176\u4ed6\u5e94\u7528\u5b9e\u73b0\u7269\u7406\u9694\u79bb\u3002

                Note

                \u5728\u8282\u70b9\u88ab\u8bbe\u7f6e\u4e3a\u72ec\u4eab\u8282\u70b9\u524d\u5df2\u7ecf\u8fd0\u884c\u5728\u6b64\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u548c\u670d\u52a1\u5c06\u4e0d\u4f1a\u53d7\u5f71\u54cd\uff0c\u4f9d\u7136\u4f1a\u6b63\u5e38\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\uff0c\u4ec5\u5f53\u8fd9\u4e9b Pod \u88ab\u5220\u9664\u6216\u91cd\u5efa\u65f6\uff0c\u624d\u4f1a\u8c03\u5ea6\u5230\u5176\u5b83\u975e\u72ec\u4eab\u8282\u70b9\u4e0a\u3002

                "},{"location":"kpanda/user-guide/namespaces/exclusive.html#_2","title":"\u51c6\u5907\u5de5\u4f5c","text":"

                \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u662f\u5426\u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002

                \u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u529f\u80fd\u9700\u8981\u7528\u6237\u542f\u7528 kube-apiserver \u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\uff08Admission Controllers\uff09\uff0c\u5173\u4e8e\u51c6\u5165\u63a7\u5236\u5668\u66f4\u591a\u8bf4\u660e\u8bf7\u53c2\u9605 kubernetes Admission Controllers Reference\u3002

                \u60a8\u53ef\u4ee5\u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u68c0\u67e5 kube-apiserver.yaml \u6587\u4ef6\u5185\u662f\u5426\u542f\u7528\u4e86\u8fd9\u4e24\u4e2a\u7279\u6027\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u5feb\u901f\u68c0\u67e5\uff1a

                ```bash\n[root@g-master1 ~]# cat /etc/kubernetes/manifests/kube-apiserver.yaml | grep  enable-admission-plugins\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction\n```\n
                "},{"location":"kpanda/user-guide/namespaces/exclusive.html#_3","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7740 kpanda\u3001ghippo\u3001insight \u7b49\u5e73\u53f0\u57fa\u7840\u7ec4\u4ef6\uff0c\u5728 Global \u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u5c06\u53ef\u80fd\u5bfc\u81f4\u5f53\u7cfb\u7edf\u7ec4\u4ef6\u91cd\u542f\u540e\uff0c\u7cfb\u7edf\u7ec4\u4ef6\u65e0\u6cd5\u8c03\u5ea6\u5230\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\uff0c\u5f71\u54cd\u7cfb\u7edf\u7684\u6574\u4f53\u9ad8\u53ef\u7528\u80fd\u529b\u3002\u56e0\u6b64\uff0c\u901a\u5e38\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u4e0d\u63a8\u8350\u7528\u6237\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u7279\u6027\u3002

                \u5982\u679c\u60a8\u786e\u5b9e\u9700\u8981\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                1. \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                  Note

                  \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u914d\u7f6e\u7cfb\u7edf\u7ec4\u4ef6\u5bb9\u5fcd\u3002

                  \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                  [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                  \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                  # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                2. \u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3

                  \u5b8c\u6210\u51c6\u5165\u63a7\u5236\u5668\u7684\u5f00\u542f\u540e\uff0c\u60a8\u9700\u8981\u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff0c\u4ee5\u4fdd\u8bc1\u5e73\u53f0\u7ec4\u4ef6\u7684\u9ad8\u53ef\u7528\u3002

                  \u76ee\u524d DCE 5.0 \u7684\u7cfb\u7edf\u7ec4\u4ef6\u547d\u540d\u7a7a\u95f4\u5982\u4e0b\u8868\uff1a

                  \u547d\u540d\u7a7a\u95f4 \u6240\u5305\u542b\u7684\u7cfb\u7edf\u7ec4\u4ef6 kpanda-system kpanda hwameiStor-system hwameiStor istio-system istio metallb-system metallb cert-manager-system cert-manager contour-system contour kubean-system kubean ghippo-system ghippo kcoral-system kcoral kcollie-system kcollie insight-system insight\u3001insight-agent: ipavo-system ipavo kairship-system kairship karmada-system karmada amamba-system amamba\u3001jenkins skoala-system skoala mspider-system mspider mcamel-system mcamel-rabbitmq\u3001mcamel-elasticsearch\u3001mcamel-mysql\u3001mcamel-redis\u3001mcamel-kafka\u3001mcamel-minio\u3001mcamel-postgresql spidernet-system spidernet kangaroo-system kangaroo gmagpie-system gmagpie dowl-system dowl

                  \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u547d\u540d\u7a7a\u95f4\u662f\u5426\u5b58\u5728\u4e0a\u8ff0\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u4e3a\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1a scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]' \u3002

                  kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n
                  \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                3. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                  \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528 DCE 5.0 \u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                  1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                  2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                  3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                    \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                "},{"location":"kpanda/user-guide/namespaces/exclusive.html#_4","title":"\u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                \u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                1. \u4e3a\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                  Note

                  \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                  \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                  [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                  \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                  # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                2. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                  \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528 DCE 5.0 \u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                  1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                  2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                  3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                    \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                3. \u4e3a\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff08\u53ef\u9009\uff09

                  \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1ascheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\u3002

                  kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n

                  \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                "},{"location":"kpanda/user-guide/namespaces/podsecurity.html","title":"\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"

                \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u4e3a\u6307\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u4e0d\u540c\u7684\u7b49\u7ea7\u548c\u6a21\u5f0f\uff0c\u5b9e\u73b0\u5728\u5b89\u5168\u7684\u5404\u4e2a\u65b9\u9762\u63a7\u5236 Pod \u7684\u884c\u4e3a\uff0c\u53ea\u6709\u6ee1\u8db3\u4e00\u5b9a\u7684\u6761\u4ef6\u7684 Pod \u624d\u4f1a\u88ab\u7cfb\u7edf\u63a5\u53d7\u3002\u5b83\u8bbe\u7f6e\u4e09\u4e2a\u7b49\u7ea7\u548c\u4e09\u79cd\u6a21\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u66f4\u52a0\u5408\u9002\u7684\u65b9\u6848\u6765\u8bbe\u7f6e\u9650\u5236\u7b56\u7565\u3002

                Note

                \u4e00\u6761\u5b89\u5168\u6a21\u5f0f\u4ec5\u80fd\u914d\u7f6e\u4e00\u6761\u5b89\u5168\u7b56\u7565\u3002\u540c\u65f6\u8bf7\u8c28\u614e\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e enforce \u7684\u5b89\u5168\u6a21\u5f0f\uff0c\u8fdd\u53cd\u540e\u5c06\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u3002

                "},{"location":"kpanda/user-guide/namespaces/podsecurity.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u96c6\u7fa4\u7684\u7248\u672c\u9700\u8981\u5728 v1.22 \u4ee5\u4e0a\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"kpanda/user-guide/namespaces/podsecurity.html#_3","title":"\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"
                1. \u9009\u62e9\u9700\u8981\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\u3002\u5728 \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565 \u9875\u9762\u70b9\u51fb \u914d\u7f6e\u7b56\u7565 \uff0c\u8fdb\u5165\u914d\u7f6e\u9875\u3002

                2. \u5728\u914d\u7f6e\u9875\u70b9\u51fb \u6dfb\u52a0\u7b56\u7565 \uff0c\u5219\u4f1a\u51fa\u73b0\u4e00\u6761\u7b56\u7565\uff0c\u5305\u62ec\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u6a21\u5f0f\uff0c\u4ee5\u4e0b\u662f\u5bf9\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u7b56\u7565\u7684\u8be6\u7ec6\u4ecb\u7ecd\u3002

                  \u5b89\u5168\u7ea7\u522b \u63cf\u8ff0 Privileged \u4e0d\u53d7\u9650\u5236\u7684\u7b56\u7565\uff0c\u63d0\u4f9b\u6700\u5927\u53ef\u80fd\u8303\u56f4\u7684\u6743\u9650\u8bb8\u53ef\u3002\u6b64\u7b56\u7565\u5141\u8bb8\u5df2\u77e5\u7684\u7279\u6743\u63d0\u5347\u3002 Baseline \u9650\u5236\u6027\u6700\u5f31\u7684\u7b56\u7565\uff0c\u7981\u6b62\u5df2\u77e5\u7684\u7b56\u7565\u63d0\u5347\u3002\u5141\u8bb8\u4f7f\u7528\u9ed8\u8ba4\u7684\uff08\u89c4\u5b9a\u6700\u5c11\uff09Pod \u914d\u7f6e\u3002 Restricted \u9650\u5236\u6027\u975e\u5e38\u5f3a\u7684\u7b56\u7565\uff0c\u9075\u5faa\u5f53\u524d\u7684\u4fdd\u62a4 Pod \u7684\u6700\u4f73\u5b9e\u8df5\u3002 \u5b89\u5168\u6a21\u5f0f \u63cf\u8ff0 Audit \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5728\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u6dfb\u52a0\u65b0\u7684\u5ba1\u8ba1\u4e8b\u4ef6\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Warn \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u8fd4\u56de\u7528\u6237\u53ef\u89c1\u7684\u544a\u8b66\u4fe1\u606f\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Enforce \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                3. \u4e0d\u540c\u7684\u5b89\u5168\u7ea7\u522b\u5bf9\u5e94\u4e0d\u540c\u7684\u68c0\u67e5\u9879\uff0c\u82e5\u60a8\u4e0d\u77e5\u9053\u8be5\u5982\u4f55\u4e3a\u60a8\u7684\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u7b56\u7565\u914d\u7f6e\u9879\u8bf4\u660e \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                4. \u70b9\u51fb\u786e\u5b9a\uff0c\u82e5\u521b\u5efa\u6210\u529f\uff0c\u5219\u9875\u9762\u4e0a\u5c06\u51fa\u73b0\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                5. \u70b9\u51fb \u2507 \u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u8005\u5220\u9664\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                "},{"location":"kpanda/user-guide/network/create-ingress.html","title":"\u521b\u5efa\u8def\u7531\uff08Ingress\uff09","text":"

                \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0cIngress \u516c\u5f00\u4ece\u96c6\u7fa4\u5916\u90e8\u5230\u96c6\u7fa4\u5185\u670d\u52a1\u7684 HTTP \u548c HTTPS \u8def\u7531\u3002 \u6d41\u91cf\u8def\u7531\u7531 Ingress \u8d44\u6e90\u4e0a\u5b9a\u4e49\u7684\u89c4\u5219\u63a7\u5236\u3002\u4e0b\u9762\u662f\u4e00\u4e2a\u5c06\u6240\u6709\u6d41\u91cf\u90fd\u53d1\u9001\u5230\u540c\u4e00 Service \u7684\u7b80\u5355 Ingress \u793a\u4f8b\uff1a

                Ingress \u662f\u5bf9\u96c6\u7fa4\u4e2d\u670d\u52a1\u7684\u5916\u90e8\u8bbf\u95ee\u8fdb\u884c\u7ba1\u7406\u7684 API \u5bf9\u8c61\uff0c\u5178\u578b\u7684\u8bbf\u95ee\u65b9\u5f0f\u662f HTTP\u3002Ingress \u53ef\u4ee5\u63d0\u4f9b\u8d1f\u8f7d\u5747\u8861\u3001SSL \u7ec8\u7ed3\u548c\u57fa\u4e8e\u540d\u79f0\u7684\u865a\u62df\u6258\u7ba1\u3002

                "},{"location":"kpanda/user-guide/network/create-ingress.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002
                • \u5df2\u7ecf\u5b8c\u6210 Ingress \u5b9e\u4f8b\u7684\u521b\u5efa\uff0c\u5df2\u90e8\u7f72\u5e94\u7528\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u4e14\u5df2\u521b\u5efa\u5bf9\u5e94 Service
                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002
                "},{"location":"kpanda/user-guide/network/create-ingress.html#_2","title":"\u521b\u5efa\u8def\u7531","text":"
                1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u8def\u7531 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u8def\u7531 \u6309\u94ae\u3002

                  Note

                  \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u8def\u7531\u3002

                3. \u6253\u5f00 \u521b\u5efa\u8def\u7531 \u9875\u9762\uff0c\u8fdb\u884c\u914d\u7f6e\u3002\u53ef\u9009\u62e9\u4e24\u79cd\u534f\u8bae\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u4e24\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                "},{"location":"kpanda/user-guide/network/create-ingress.html#http","title":"\u521b\u5efa HTTP \u534f\u8bae\u8def\u7531","text":"

                \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                • \u8def\u7531\u540d\u79f0 \uff1a\u5fc5\u586b\uff0c\u8f93\u5165\u65b0\u5efa\u8def\u7531\u7684\u540d\u79f0\u3002
                • \u547d\u540d\u7a7a\u95f4 \uff1a\u5fc5\u586b\uff0c\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002
                • \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \uff1a
                  • \u57df\u540d \uff1a\u5fc5\u586b\uff0c\u4f7f\u7528\u57df\u540d\u5bf9\u5916\u63d0\u4f9b\u8bbf\u95ee\u670d\u52a1\u3002\u9ed8\u8ba4\u4e3a\u96c6\u7fa4\u7684\u57df\u540d\u3002
                  • \u534f\u8bae \uff1a\u5fc5\u586b\uff0c\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002 \u8fd9\u91cc\u9009\u62e9 HTTP \u534f\u8bae\u7684\u8def\u7531\u3002
                  • \u8f6c\u53d1\u7b56\u7565 \uff1a\u9009\u586b\uff0c\u6307\u5b9a Ingress \u7684\u8bbf\u95ee\u7b56\u7565
                  • \u8def\u5f84 \uff1a\u6307\u5b9a\u670d\u52a1\u8bbf\u95ee\u7684URL\u8def\u5f84\uff0c\u9ed8\u8ba4\u4e3a\u6839\u8def\u5f84
                  • \u76ee\u6807\u670d\u52a1 \uff1a\u8fdb\u884c\u8def\u7531\u7684\u670d\u52a1\u540d\u79f0
                  • \u76ee\u6807\u670d\u52a1\u7aef\u53e3 \uff1a\u670d\u52a1\u5bf9\u5916\u66b4\u9732\u7684\u7aef\u53e3
                • \u8d1f\u8f7d\u5747\u8861\u5668\u7c7b\u578b \uff1a\u5fc5\u586b\uff0cIngress \u5b9e\u4f8b\u7684\u4f7f\u7528\u8303\u56f4
                  • \u5e73\u53f0\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\uff0c\u5171\u4eab\u540c\u4e00\u4e2a Ingress \u5b9e\u4f8b\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                  • \u79df\u6237\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u79df\u6237\u8d1f\u8f7d\u5747\u8861\u5668\uff0cIngress \u5b9e\u4f8b\u72ec\u5c5e\u4e8e\u5f53\u524d\u547d\u540d\u7a7a\uff0c\u6216\u8005\u72ec\u5c5e\u4e8e\u67d0\u4e00\u5de5\u4f5c\u7a7a\u95f4\uff0c \u5e76\u4e14\u8bbe\u7f6e\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5305\u542b\u5f53\u524d\u547d\u540d\u7a7a\u95f4\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                • Ingress Class \uff1a\u9009\u586b\uff0c\u9009\u62e9\u5bf9\u5e94\u7684 Ingress \u5b9e\u4f8b\uff0c\u9009\u62e9\u540e\u5c06\u6d41\u91cf\u5bfc\u5165\u5230\u6307\u5b9a\u7684 Ingress \u5b9e\u4f8b\u3002
                  • \u4e3a None \u65f6\u4f7f\u7528\u9ed8\u8ba4\u7684 DefaultClass\uff0c\u8bf7\u5728\u521b\u5efa Ingress \u5b9e\u4f8b\u65f6\u8bbe\u7f6e DefaultClass\uff0c \u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003 Ingress Class
                  • \u82e5\u9009\u62e9\u5176\u4ed6\u5b9e\u4f8b\uff08\u5982 ngnix \uff09\uff0c\u5219\u4f1a\u51fa\u73b0\u9ad8\u7ea7\u914d\u7f6e\uff0c\u53ef\u8bbe\u7f6e \u4f1a\u8bdd\u4fdd\u6301 \u3001 \u8def\u5f84\u91cd\u5199 \u3001 \u91cd\u5b9a\u5411 \u548c \u6d41\u91cf\u5206\u53d1 \u3002
                • \u4f1a\u8bdd\u4fdd\u6301 \uff1a\u9009\u586b\uff0c\u4f1a\u8bdd\u4fdd\u6301\u5206\u4e3a \u4e09\u79cd\u7c7b\u578b\uff1a L4 \u6e90\u5730\u5740\u54c8\u5e0c \u3001 Cookie Key \u3001 L7 Header Name \uff0c\u5f00\u542f\u540e\u6839\u636e\u5bf9\u5e94\u89c4\u5219\u8fdb\u884c\u4f1a\u8bdd\u4fdd\u6301\u3002
                  • L4 \u6e90\u5730\u5740\u54c8\u5e0c \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$binary_remote_addr\"
                  • Cookie Key \uff1a\u5f00\u542f\u540e\u6765\u81ea\u7279\u5b9a\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u5c06\u4f20\u9012\u81f3\u76f8\u540c Pod\uff0c\u5f00\u542f\u540e \u9ed8\u8ba4\u5728 Annotation \u4e2d\u589e\u52a0\u5982\u4e0b\u53c2\u6570\uff1a nginx.ingress.kubernetes.io/affinity: \"cookie\"\u3002nginx.ingress.kubernetes.io/affinity-mode: persistent
                  • L7 Header Name \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$http_x_forwarded_for\"
                • \u8def\u5f84\u91cd\u5199 \uff1a\u9009\u586b\uff0c rewrite-target \uff0c\u67d0\u4e9b\u573a\u666f\u4e2d\u540e\u7aef\u670d\u52a1\u66b4\u9732\u7684URL\u4e0eIngress\u89c4\u5219\u4e2d\u6307\u5b9a\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u5982\u679c\u4e0d\u8fdb\u884cURL\u91cd\u5199\u914d\u7f6e\uff0c\u8bbf\u95ee\u4f1a\u51fa\u73b0\u9519\u8bef\u3002
                • \u91cd\u5b9a\u5411 \uff1a\u9009\u586b\uff0c permanent-redirect \uff0c\u6c38\u4e45\u91cd\u5b9a\u5411\uff0c\u8f93\u5165\u91cd\u5199\u8def\u5f84\u540e\uff0c\u8bbf\u95ee\u8def\u5f84\u91cd\u5b9a\u5411\u81f3\u8bbe\u7f6e\u7684\u5730\u5740\u3002
                • \u6d41\u91cf\u5206\u53d1 \uff1a\u9009\u586b\uff0c\u5f00\u542f\u540e\u5e76\u8bbe\u7f6e\u540e\uff0c\u6839\u636e\u8bbe\u5b9a\u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1\u3002
                  • \u57fa\u4e8e\u6743\u91cd \uff1a\u8bbe\u5b9a\u6743\u91cd\u540e\uff0c\u5728\u521b\u5efa\u7684 Ingress \u6dfb\u52a0\u5982\u4e0b Annotation\uff1a nginx.ingress.kubernetes.io/canary-weight: \"10\"
                  • \u57fa\u4e8e Cookie \uff1a\u8bbe\u5b9a Cookie \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Cookie \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                  • \u57fa\u4e8e Header \uff1a \u8bbe\u5b9a Header \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Header \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                • \u6807\u7b7e \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6807\u7b7e
                • \u6ce8\u89e3 \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6ce8\u89e3
                "},{"location":"kpanda/user-guide/network/create-ingress.html#https","title":"\u521b\u5efa HTTPS \u534f\u8bae\u8def\u7531","text":"

                \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                Note

                \u6ce8\u610f\uff1a\u4e0e HTTP \u534f\u8bae \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \u4e0d\u540c\uff0c\u589e\u52a0\u5bc6\u94a5\u9009\u62e9\u8bc1\u4e66\uff0c\u5176\u4ed6\u57fa\u672c\u4e00\u81f4\u3002

                • \u534f\u8bae \uff1a\u5fc5\u586b\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002\u8fd9\u91cc\u9009\u62e9 HTTPS \u534f\u8bae\u7684\u8def\u7531\u3002
                • \u5bc6\u94a5 \uff1a\u5fc5\u586b\uff0cHttps TLS \u8bc1\u4e66\uff0c\u521b\u5efa\u79d8\u94a5\u3002
                "},{"location":"kpanda/user-guide/network/create-ingress.html#_3","title":"\u5b8c\u6210\u8def\u7531\u521b\u5efa","text":"

                \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u8def\u7531\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u8def\u7531\u3002

                "},{"location":"kpanda/user-guide/network/create-services.html","title":"\u521b\u5efa\u670d\u52a1\uff08Service\uff09","text":"

                \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u6bcf\u4e2a Pod \u90fd\u6709\u4e00\u4e2a\u5185\u90e8\u72ec\u7acb\u7684 IP \u5730\u5740\uff0c\u4f46\u662f\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u7684 Pod \u53ef\u80fd\u4f1a\u88ab\u968f\u65f6\u521b\u5efa\u548c\u5220\u9664\uff0c\u76f4\u63a5\u4f7f\u7528 Pod IP \u5730\u5740\u5e76\u4e0d\u80fd\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u3002

                \u8fd9\u5c31\u9700\u8981\u521b\u5efa\u670d\u52a1\uff0c\u901a\u8fc7\u670d\u52a1\u60a8\u4f1a\u83b7\u5f97\u4e00\u4e2a\u56fa\u5b9a\u7684 IP \u5730\u5740\uff0c\u4ece\u800c\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u524d\u7aef\u548c\u540e\u7aef\u7684\u89e3\u8026\uff0c\u8ba9\u5916\u90e8\u7528\u6237\u80fd\u591f\u8bbf\u95ee\u670d\u52a1\u3002\u540c\u65f6\uff0c\u670d\u52a1\u8fd8\u63d0\u4f9b\u4e86\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u529f\u80fd\uff0c\u4f7f\u7528\u6237\u80fd\u4ece\u516c\u7f51\u8bbf\u95ee\u5230\u5de5\u4f5c\u8d1f\u8f7d\u3002

                "},{"location":"kpanda/user-guide/network/create-services.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"kpanda/user-guide/network/create-services.html#_2","title":"\u521b\u5efa\u670d\u52a1","text":"
                1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                  Tip

                  \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u670d\u52a1\u3002

                3. \u6253\u5f00 \u521b\u5efa\u670d\u52a1 \u9875\u9762\uff0c\u9009\u62e9\u4e00\u79cd\u8bbf\u95ee\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u51e0\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                "},{"location":"kpanda/user-guide/network/create-services.html#clusterip","title":"\u521b\u5efa ClusterIP \u670d\u52a1","text":"

                \u70b9\u9009 \u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u96c6\u7fa4\u7684\u5185\u90e8 IP \u66b4\u9732\u670d\u52a1\uff0c\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u53ea\u80fd\u5728\u96c6\u7fa4\u5185\u90e8\u8bbf\u95ee\u3002\u8fd9\u662f\u9ed8\u8ba4\u7684\u670d\u52a1\u7c7b\u578b\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09\u3002 ClusterIP \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 app:job01 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\uff0c\u7528\u6765\u5bf9\u96c6\u7fa4\u5185\u66b4\u9732\u670d\u52a1\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"kpanda/user-guide/network/create-services.html#nodeport","title":"\u521b\u5efa NodePort \u670d\u52a1","text":"

                \u70b9\u9009 \u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u6bcf\u4e2a\u8282\u70b9\u4e0a\u7684 IP \u548c\u9759\u6001\u7aef\u53e3\uff08 NodePort \uff09\u66b4\u9732\u670d\u52a1\u3002 NodePort \u670d\u52a1\u4f1a\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 ClusterIP \u670d\u52a1\u3002\u901a\u8fc7\u8bf7\u6c42 <\u8282\u70b9 IP>:<\u8282\u70b9\u7aef\u53e3> \uff0c\u60a8\u53ef\u4ee5\u4ece\u96c6\u7fa4\u7684\u5916\u90e8\u8bbf\u95ee\u4e00\u4e2a NodePort \u670d\u52a1\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09\u3002 NodePort \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u989d\u5173\u4e8e\u534f\u8bae\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u534f\u8bae\u6982\u8ff0\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod\u5f00\u542f\u540e Service \u7684 .spec.sessionAffinity \u4e3a ClientIP \uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1aService \u7684\u4f1a\u8bdd\u4eb2\u548c\u6027 \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u79d2.spec.sessionAffinityConfig.clientIP.timeoutSeconds \u9ed8\u8ba4\u8bbe\u7f6e\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"kpanda/user-guide/network/create-services.html#loadbalancer","title":"\u521b\u5efa LoadBalancer \u670d\u52a1","text":"

                \u70b9\u9009 \u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09 \uff0c\u8fd9\u662f\u6307\u4f7f\u7528\u4e91\u63d0\u4f9b\u5546\u7684\u8d1f\u8f7d\u5747\u8861\u5668\u5411\u5916\u90e8\u66b4\u9732\u670d\u52a1\u3002 \u5916\u90e8\u8d1f\u8f7d\u5747\u8861\u5668\u53ef\u4ee5\u5c06\u6d41\u91cf\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 NodePort \u670d\u52a1\u548c ClusterIP \u670d\u52a1\u4e0a\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u3002 LoadBalancer \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u5916\u90e8\u6d41\u91cf\u7b56\u7565 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bbe\u7f6e\u5916\u90e8\u6d41\u91cf\u7b56\u7565\u3002Cluster\uff1a\u6d41\u91cf\u53ef\u4ee5\u8f6c\u53d1\u5230\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u4e0a\u7684 Pod\u3002Local\uff1a\u6d41\u91cf\u53ea\u53d1\u7ed9\u672c\u8282\u70b9\u4e0a\u7684 Pod\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4f7f\u7528\u7684\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301 MetalLB \u548c\u5176\u4ed6\u3002 MetalLB IP \u6c60 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u7684 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u4e3a MetalLB \u65f6\uff0cLoadBalancer Service\u9ed8\u8ba4\u4f1a\u4ece\u8fd9\u4e2a\u6c60\u4e2d\u5206\u914d IP \u5730\u5740, \u5e76\u4e14\u901a\u8fc7 APR \u5ba3\u544a\u8fd9\u4e2a\u6c60\u4e2d\u7684\u6240\u6709 IP \u5730\u5740\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a\u5b89\u88c5 MetalLB \u8d1f\u8f7d\u5747\u8861\u5730\u5740 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u30111.\u5982\u4f7f\u7528\u7684\u662f\u516c\u6709\u4e91 CloudProvider\uff0c\u6b64\u5904\u586b\u5199\u7684\u4e3a\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u8d1f\u8f7d\u5747\u8861\u5730\u5740\uff1b2.\u5982\u679c\u4e0a\u8ff0\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u9009\u62e9\u4e3a MetalLB \uff0c\u9ed8\u8ba4\u4ece\u4e0a\u8ff0 IP \u6c60\u4e2d\u83b7\u53d6 IP \uff0c\u5982\u679c\u4e0d\u586b\u5219\u81ea\u52a8\u83b7\u53d6\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"kpanda/user-guide/network/create-services.html#externalname","title":"\u521b\u5efa ExternalName \u670d\u52a1","text":"

                \u70b9\u9009 \u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u5c06\u670d\u52a1\u6620\u5c04\u5230\u5916\u90e8\u57df\u540d\u6765\u66b4\u9732\u670d\u52a1\u3002\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u4e0d\u4f1a\u521b\u5efa\u5178\u578b\u7684 ClusterIP \u6216 NodePort\uff0c\u800c\u662f\u901a\u8fc7 DNS \u540d\u79f0\u89e3\u6790\u5c06\u8bf7\u6c42\u91cd\u5b9a\u5411\u5230\u5916\u90e8\u7684\u670d\u52a1\u5730\u5740\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09\u3002 ExternalName \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u57df\u540d \u3010\u7c7b\u578b\u3011\u5fc5\u586b"},{"location":"kpanda/user-guide/network/create-services.html#_3","title":"\u5b8c\u6210\u670d\u52a1\u521b\u5efa","text":"

                \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u670d\u52a1\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u670d\u52a1\u3002

                "},{"location":"kpanda/user-guide/network/network-policy.html","title":"\u7f51\u7edc\u7b56\u7565","text":"

                \u7f51\u7edc\u7b56\u7565\uff08NetworkPolicy\uff09\u53ef\u4ee5\u5728 IP \u5730\u5740\u6216\u7aef\u53e3\u5c42\u9762\uff08OSI \u7b2c 3 \u5c42\u6216\u7b2c 4 \u5c42\uff09\u63a7\u5236\u7f51\u7edc\u6d41\u91cf\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u76ee\u524d\u652f\u6301\u521b\u5efa\u57fa\u4e8e Pod \u6216\u547d\u540d\u7a7a\u95f4\u7684\u7f51\u7edc\u7b56\u7565\uff0c\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u6765\u8bbe\u5b9a\u54ea\u4e9b\u6d41\u91cf\u53ef\u4ee5\u8fdb\u5165\u6216\u79bb\u5f00\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684 Pod\u3002

                \u6709\u5173\u7f51\u7edc\u7b56\u7565\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u7f51\u7edc\u7b56\u7565\u3002

                "},{"location":"kpanda/user-guide/network/network-policy.html#_2","title":"\u521b\u5efa\u7f51\u7edc\u7b56\u7565","text":"

                \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u7f51\u7edc\u7b56\u7565\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u7f51\u7edc\u7b56\u7565\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                "},{"location":"kpanda/user-guide/network/network-policy.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> YAML \u521b\u5efa \u3002

                2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"kpanda/user-guide/network/network-policy.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> \u521b\u5efa\u7b56\u7565 \u3002

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                  \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002

                3. \u586b\u5199\u7b56\u7565\u914d\u7f6e\u3002

                  \u7b56\u7565\u914d\u7f6e\u5206\u4e3a\u5165\u6d41\u91cf\u7b56\u7565\u548c\u51fa\u6d41\u91cf\u7b56\u7565\u3002\u5982\u679c\u6e90 Pod \u60f3\u8981\u6210\u529f\u8fde\u63a5\u5230\u76ee\u6807 Pod\uff0c\u6e90 Pod \u7684\u51fa\u6d41\u91cf\u7b56\u7565\u548c\u76ee\u6807 Pod \u7684\u5165\u6d41\u91cf\u7b56\u7565\u90fd\u9700\u8981\u5141\u8bb8\u8fde\u63a5\u3002\u5982\u679c\u4efb\u4f55\u4e00\u65b9\u4e0d\u5141\u8bb8\u8fde\u63a5\uff0c\u90fd\u4f1a\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25\u3002

                  • \u5165\u6d41\u91cf\u7b56\u7565\uff1a\u70b9\u51fb \u2795 \u5f00\u59cb\u914d\u7f6e\u7b56\u7565\uff0c\u652f\u6301\u914d\u7f6e\u591a\u6761\u7b56\u7565\u3002\u591a\u6761\u7f51\u7edc\u7b56\u7565\u7684\u6548\u679c\u76f8\u4e92\u53e0\u52a0\uff0c\u53ea\u6709\u540c\u65f6\u6ee1\u8db3\u6240\u6709\u7f51\u7edc\u7b56\u7565\uff0c\u624d\u80fd\u6210\u529f\u5efa\u7acb\u8fde\u63a5\u3002

                  • \u51fa\u6d41\u91cf\u7b56\u7565

                "},{"location":"kpanda/user-guide/network/network-policy.html#_4","title":"\u67e5\u770b\u7f51\u7edc\u7b56\u7565","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 \uff0c\u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\u3002

                2. \u67e5\u770b\u8be5\u7b56\u7565\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5173\u8054\u5b9e\u4f8b\u4fe1\u606f\u3001\u5165\u6d41\u91cf\u7b56\u7565\u3001\u51fa\u6d41\u91cf\u7b56\u7565\u3002

                Info

                \u5728\u5173\u8054\u5b9e\u4f8b\u9875\u7b7e\u4e0b\uff0c\u652f\u6301\u67e5\u770b\u5b9e\u4f8b\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5bb9\u5668\u5217\u8868\u3001YAML \u6587\u4ef6\u3001\u4e8b\u4ef6\u7b49\u3002

                "},{"location":"kpanda/user-guide/network/network-policy.html#_5","title":"\u66f4\u65b0\u7f51\u7edc\u7b56\u7565","text":"

                \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                "},{"location":"kpanda/user-guide/network/network-policy.html#_6","title":"\u5220\u9664\u7f51\u7edc\u7b56\u7565","text":"

                \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u5220\u9664\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                "},{"location":"kpanda/user-guide/nodes/add-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u6269\u5bb9","text":"

                \u968f\u7740\u4e1a\u52a1\u5e94\u7528\u4e0d\u65ad\u589e\u957f\uff0c\u96c6\u7fa4\u8d44\u6e90\u65e5\u8d8b\u7d27\u5f20\uff0c\u8fd9\u65f6\u53ef\u4ee5\u57fa\u4e8e kubean \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u6269\u5bb9\u3002\u6269\u5bb9\u540e\uff0c\u5e94\u7528\u53ef\u4ee5\u8fd0\u884c\u5728\u65b0\u589e\u7684\u8282\u70b9\u4e0a\uff0c\u7f13\u89e3\u8d44\u6e90\u538b\u529b\u3002

                \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u540c\u79cd\u67b6\u6784\u4e0b\u5de5\u4f5c\u96c6\u7fa4\u7684 \u5de5\u4f5c\u8282\u70b9 \u6269\u5bb9\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                  \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u63a5\u5165\u8282\u70b9 \u3002

                3. \u8f93\u5165\u4e3b\u673a\u540d\u79f0\u548c\u8282\u70b9 IP \u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                  \u70b9\u51fb \u2795 \u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9 \u53ef\u4ee5\u7ee7\u7eed\u63a5\u5165\u66f4\u591a\u8282\u70b9\u3002

                Note

                \u63a5\u5165\u8282\u70b9\u5927\u7ea6\u9700\u8981 20 \u5206\u949f\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5f85\u3002

                "},{"location":"kpanda/user-guide/nodes/add-node.html#_2","title":"\u53c2\u8003\u6587\u6863","text":"
                • \u5bf9\u5de5\u4f5c\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u6269\u5bb9
                • \u4e3a\u5de5\u4f5c\u96c6\u7fa4\u6dfb\u52a0\u5f02\u6784\u8282\u70b9
                • \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u6269\u5bb9
                • \u66ff\u6362\u5de5\u4f5c\u96c6\u7fa4\u7684\u9996\u4e2a\u63a7\u5236\u8282\u70b9
                "},{"location":"kpanda/user-guide/nodes/delete-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9","text":"

                \u5f53\u4e1a\u52a1\u9ad8\u5cf0\u671f\u7ed3\u675f\u4e4b\u540e\uff0c\u4e3a\u4e86\u8282\u7701\u8d44\u6e90\u6210\u672c\uff0c\u53ef\u4ee5\u7f29\u5c0f\u96c6\u7fa4\u89c4\u6a21\uff0c\u5378\u8f7d\u5197\u4f59\u7684\u8282\u70b9\uff0c\u5373\u8282\u70b9\u7f29\u5bb9\u3002\u8282\u70b9\u5378\u8f7d\u540e\uff0c\u5e94\u7528\u65e0\u6cd5\u7ee7\u7eed\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\u3002

                "},{"location":"kpanda/user-guide/nodes/delete-node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5177\u6709 Cluster Admin \u89d2\u8272\u6388\u6743 \u3002
                • \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002
                • \u5378\u8f7d\u8282\u70b9\u4e4b\u524d\uff0c\u9700\u8981\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\uff0c\u5e76\u4e14\u5c06\u8be5\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u90fd\u9a71\u9010\u81f3\u5176\u4ed6\u8282\u70b9\u3002
                • \u9a71\u9010\u65b9\u5f0f\uff1a\u767b\u5f55\u63a7\u5236\u5668\u8282\u70b9\uff0c\u901a\u8fc7 kubectl drain \u547d\u4ee4\u9a71\u9010\u8282\u70b9\u4e0a\u6240\u6709 Pod\u3002\u5b89\u5168\u9a71\u9010\u7684\u65b9\u5f0f\u53ef\u4ee5\u5141\u8bb8\u5bb9\u5668\u7ec4\u91cc\u9762\u7684\u5bb9\u5668\u4f18\u96c5\u5730\u4e2d\u6b62\u3002
                "},{"location":"kpanda/user-guide/nodes/delete-node.html#_3","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                1. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\uff0c\u53ea\u80fd\u9010\u4e2a\u8fdb\u884c\u5378\u8f7d\uff0c\u65e0\u6cd5\u6279\u91cf\u5378\u8f7d\u3002

                2. \u5982\u9700\u5378\u8f7d\u96c6\u7fa4\u63a7\u5236\u5668\u8282\u70b9\uff0c\u9700\u8981\u786e\u4fdd\u6700\u7ec8\u63a7\u5236\u5668\u8282\u70b9\u6570\u4e3a \u5947\u6570\u3002

                3. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\u4e0d\u53ef\u4e0b\u7ebf \u7b2c\u4e00\u4e2a\u63a7\u5236\u5668 \u8282\u70b9\u3002\u5982\u679c\u5fc5\u987b\u6267\u884c\u6b64\u64cd\u4f5c\uff0c\u8bf7\u8054\u7cfb\u552e\u540e\u5de5\u7a0b\u5e08\u3002

                "},{"location":"kpanda/user-guide/nodes/delete-node.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                  \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u5378\u8f7d\u7684\u8282\u70b9\uff0c\u70b9\u51fb \u2507 \u9009\u62e9 \u79fb\u9664\u8282\u70b9 \u3002

                3. \u8f93\u5165\u8282\u70b9\u540d\u79f0,\u5e76\u70b9\u51fb \u5220\u9664 \u8fdb\u884c\u786e\u8ba4\u3002

                "},{"location":"kpanda/user-guide/nodes/labels-annotations.html","title":"\u6807\u7b7e\u4e0e\u6ce8\u89e3","text":"

                \u6807\u7b7e\uff08Labels\uff09\u662f\u4e3a Pod\u3001\u8282\u70b9\u3001\u96c6\u7fa4\u7b49 Kubernetes \u5bf9\u8c61\u6dfb\u52a0\u7684\u6807\u8bc6\u6027\u952e\u503c\u5bf9\uff0c\u53ef\u7ed3\u5408\u6807\u7b7e\u9009\u62e9\u5668\u67e5\u627e\u5e76\u7b5b\u9009\u6ee1\u8db3\u67d0\u4e9b\u6761\u4ef6\u7684 Kubernetes \u5bf9\u8c61\u3002\u6bcf\u4e2a\u952e\u5bf9\u4e8e\u7ed9\u5b9a\u5bf9\u8c61\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002

                \u6ce8\u89e3\uff08Annotations\uff09\u548c\u6807\u7b7e\u4e00\u6837\uff0c\u4e5f\u662f\u952e/\u503c\u5bf9\uff0c\u4f46\u4e0d\u5177\u5907\u6807\u8bc6\u6216\u7b5b\u9009\u529f\u80fd\u3002 \u4f7f\u7528\u6ce8\u89e3\u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u4efb\u610f\u7684\u5143\u6570\u636e\u3002 \u6ce8\u89e3\u7684\u952e\u901a\u5e38\u4f7f\u7528\u7684\u683c\u5f0f\u4e3a \u524d\u7f00\uff08\u53ef\u9009\uff09/\u540d\u79f0\uff08\u5fc5\u586b\uff09 \uff0c\u4f8b\u5982 nfd.node.kubernetes.io/extended-resources \u3002 \u5982\u679c\u7701\u7565\u524d\u7f00\uff0c\u8868\u793a\u8be5\u6ce8\u89e3\u952e\u662f\u7528\u6237\u79c1\u6709\u7684\u3002

                \u6709\u5173\u6807\u7b7e\u548c\u6ce8\u89e3\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u8003 Kubernetes \u7684\u5b98\u65b9\u6587\u6863\u6807\u7b7e\u548c\u9009\u62e9\u7b97\u7b26\u6216\u6ce8\u89e3\u3002

                \u6dfb\u52a0/\u5220\u9664\u6807\u7b7e\u4e0e\u6ce8\u89e3\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u4fee\u6539\u6807\u7b7e \u6216 \u4fee\u6539\u6ce8\u89e3 \u3002

                3. \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u6dfb\u52a0\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u70b9\u51fb X \u53ef\u4ee5\u5220\u9664\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"kpanda/user-guide/nodes/node-authentication.html","title":"\u8282\u70b9\u8ba4\u8bc1","text":""},{"location":"kpanda/user-guide/nodes/node-authentication.html#ssh","title":"\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9","text":"

                \u5982\u679c\u60a8\u9009\u62e9\u4f7f\u7528 SSH \u5bc6\u94a5\u4f5c\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u60a8\u9700\u8981\u6309\u7167\u5982\u4e0b\u8bf4\u660e\u914d\u7f6e\u516c\u79c1\u94a5\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5728** \u5f85\u5efa\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u4e2d\u7684\u4efb\u610f\u8282\u70b9 **\u4e0a\u751f\u6210\u516c\u79c1\u94a5\u3002

                  cd /root/.ssh\nssh-keygen -t rsa\n
                2. \u6267\u884c ls \u547d\u4ee4\u67e5\u770b\u7ba1\u7406\u96c6\u7fa4\u4e0a\u7684\u5bc6\u94a5\u662f\u5426\u521b\u5efa\u6210\u529f\uff0c\u6b63\u786e\u53cd\u9988\u5982\u4e0b\uff1a

                  ls\nid_rsa  id_rsa.pub  known_hosts\n

                  \u5176\u4e2d\u540d\u4e3a id_rsa \u7684\u6587\u4ef6\u662f\u79c1\u94a5\uff0c\u540d\u4e3a id_rsa.pub \u7684\u6587\u4ef6\u662f\u516c\u94a5\u3002

                3. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u5c06\u516c\u94a5\u6587\u4ef6 id_rsa.pub \u52a0\u8f7d\u5230\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9\u4e0a\u3002

                  ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.0.0.0\n

                  \u5c06\u4e0a\u9762\u547d\u4ee4\u4e2d\u7684 root@10.0.0.0 \u7528\u6237\u8d26\u53f7\u548c\u8282\u70b9 IP \u66ff\u6362\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u7528\u6237\u540d\u548c IP\u3002** \u9700\u8981\u5728\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6bcf\u53f0\u8282\u70b9\u90fd\u6267\u884c\u76f8\u540c\u7684\u64cd\u4f5c **\u3002

                4. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u6b65\u9aa4 1 \u6240\u521b\u5efa\u7684\u79c1\u94a5\u6587\u4ef6 id_rsa \u3002

                  cat /root/.ssh/id_rsa\n

                  \u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\uff1a

                  -----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3UvyKINzY5BFuemQ+uJ6q+GqgfvnWwNC8HzZhpcMSjJy26MM\nUtBEBJxy8fMi57XcjYxPibXW/wnd+32ICCycqCwByUmuXeCC1cjlCQDqjcAvXae7\nY54IXGF7wm2IsMNwf0kjFEXjuS48FLDA0mGRaN3BG+Up5geXcHckg3K5LD8kXFFx\ndEmSIjdyw55NaUitmEdHzN7cIdfi6Z56jcV8dcFBgWKUx+ebiyPmZBkXToz6GnMF\nrswzzZCl+G6Jb2xTGy7g7ozb4BoZd1IpSD5EhDanRrESVE0C5YuJ5zUAC0CvVd1l\nv67AK8Ko6MXToHp01/bcsvlM6cqgwUFXZKVeOwIDAQABAoIBAQCO36GQlo3BEjxy\nM2HvGJmqrx+unDxafliRe4nVY2AD515Qf4xNSzke4QM1QoyenMOwf446krQkJPK0\nk+9nl6Xszby5gGCbK4BNFk8I6RaGPjZWeRx6zGUJf8avWJiPxx6yjz2esSC9RiR0\nF0nmiiefVMyAfgv2/5++dK2WUFNNRKLgSRRpP5bRaD5wMzzxtSSXrUon6217HO8p\n3RoWsI51MbVzhdVgpHUNABcoa0rpr9svT6XLKZxY8mxpKFYjM0Wv2JIDABg3kBvh\nQbJ7kStCO3naZjKMU9UuSqVJs06cflGYw7Or8/tABR3LErNQKPjkhAQqt0DXw7Iw\n3tKdTAJBAoGBAP687U7JAOqQkcphek2E/A/sbO/d37ix7Z3vNOy065STrA+ZWMZn\npZ6Ui1B/oJpoZssnfvIoz9sn559X0j67TljFALFd2ZGS0Fqh9KVCqDvfk+Vst1dq\n+3r/yZdTOyswoccxkJiC/GDwZGK0amJWqvob39JCZhDAKIGLbGMmjdAHAoGBAN5k\nm1WGnni1nZ+3dryIwgB6z1hWcnLTamzSET6KhSuo946ET0IRG9xtlheCx6dqICbr\nVk1Y4NtRZjK/p/YGx59rDWf7E3I8ZMgR7mjieOcUZ4lUlA4l7ZIlW/2WZHW+nUXO\nTi20fqJ8qSp4BUvOvuth1pz2GLUHe2/Fxjf7HIstAoGBAPHpPr9r+TfIlPsJeRj2\n6lzA3G8qWFRQfGRYjv0fjv0pA+RIb1rzgP/I90g5+63G6Z+R4WdcxI/OJJNY1iuG\nuw9n/pFxm7U4JC990BPE6nj5iLz+clpNGYckNDBF9VG9vFSrSDLdaYkxoVNvG/xJ\na9Na90H4lm7f3VewrPy310KvAoGAZr+mwNoEh5Kpc6xo8Gxi7aPP/mlaUVD6X7Ki\ngvmu02AqmC7rC4QqEiqTaONkaSXwGusqIWxJ3yp5hELmUBYLzszAEeV/s4zRp1oZ\ng133LBRSTbHFAdBmNdqK6Nu+KGRb92980UMOKvZbliKDl+W6cbfvVu+gtKrzTc3b\naevb4TUCgYEAnJAxyVYDP1nJf7bjBSHXQu1E/DMwbtrqw7dylRJ8cAzI7IxfSCez\n7BYWq41PqVd9/zrb3Pbh2phiVzKe783igAIMqummcjo/kZyCwFsYBzK77max1jF5\naPQsLbRS2aDz8kIH6jHPZ/R+15EROmdtLmA7vIJZGerWWQR0dUU+XXA=\n

                  \u5c06\u79c1\u94a5\u5185\u5bb9\u590d\u5236\u540e\u586b\u81f3\u754c\u9762\u5bc6\u94a5\u8f93\u5165\u6846\u3002

                "},{"location":"kpanda/user-guide/nodes/node-check.html","title":"\u521b\u5efa\u96c6\u7fa4\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5","text":"

                \u5728\u521b\u5efa\u96c6\u7fa4\u6216\u4e3a\u5df2\u6709\u96c6\u7fa4\u6dfb\u52a0\u8282\u70b9\u65f6\uff0c\u8bf7\u53c2\u9605\u4e0b\u8868\uff0c\u68c0\u67e5\u8282\u70b9\u914d\u7f6e\uff0c\u4ee5\u907f\u514d\u56e0\u8282\u70b9\u914d\u7f6e\u9519\u8bef\u5bfc\u81f4\u96c6\u7fa4\u521b\u5efa\u6216\u6269\u5bb9\u5931\u8d25\u3002

                \u68c0\u67e5\u9879 \u63cf\u8ff0 \u64cd\u4f5c\u7cfb\u7edf \u53c2\u8003\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf SELinux \u5173\u95ed \u9632\u706b\u5899 \u5173\u95ed \u67b6\u6784\u4e00\u81f4\u6027 \u8282\u70b9\u95f4 CPU \u67b6\u6784\u4e00\u81f4\uff08\u5982\u5747\u4e3a ARM \u6216 x86\uff09 \u4e3b\u673a\u65f6\u95f4 \u6240\u6709\u4e3b\u673a\u95f4\u540c\u6b65\u8bef\u5dee\u5c0f\u4e8e 10 \u79d2\u3002 \u7f51\u7edc\u8054\u901a\u6027 \u8282\u70b9\u53ca\u5176 SSH \u7aef\u53e3\u80fd\u591f\u6b63\u5e38\u88ab\u5e73\u53f0\u8bbf\u95ee\u3002 CPU \u53ef\u7528 CPU \u8d44\u6e90\u5927\u4e8e 4 Core \u5185\u5b58 \u53ef\u7528\u5185\u5b58\u8d44\u6e90\u5927\u4e8e 8 GB"},{"location":"kpanda/user-guide/nodes/node-check.html#_2","title":"\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf","text":"\u67b6\u6784 \u64cd\u4f5c\u7cfb\u7edf \u5907\u6ce8 ARM Kylin Linux Advanced Server release V10 (Sword) SP2 \u63a8\u8350 ARM UOS Linux ARM openEuler x86 CentOS 7.x \u63a8\u8350 x86 Redhat 7.x \u63a8\u8350 x86 Redhat 8.x \u63a8\u8350 x86 Flatcar Container Linux by Kinvolk x86 Debian Bullseye, Buster, Jessie, Stretch x86 Ubuntu 16.04, 18.04, 20.04, 22.04 x86 Fedora 35, 36 x86 Fedora CoreOS x86 openSUSE Leap 15.x/Tumbleweed x86 Oracle Linux 7, 8, 9 x86 Alma Linux 8, 9 x86 Rocky Linux 8, 9 x86 Amazon Linux 2 x86 Kylin Linux Advanced Server release V10 (Sword) - SP2 \u6d77\u5149 x86 UOS Linux x86 openEuler"},{"location":"kpanda/user-guide/nodes/node-details.html","title":"\u8282\u70b9\u8be6\u60c5","text":"

                \u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u4e2d\u5404\u4e2a\u8282\u70b9\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u8282\u70b9\u72b6\u6001\u3001\u6807\u7b7e\u3001\u8d44\u6e90\u7528\u91cf\u3001Pod\u3001\u76d1\u63a7\u4fe1\u606f\u7b49\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u72b6\u6001\u3001\u89d2\u8272\u3001\u6807\u7b7e\u3001CPU/\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001IP \u5730\u5740\u3001\u521b\u5efa\u65f6\u95f4\u3002

                3. \u70b9\u51fb\u8282\u70b9\u540d\u79f0\uff0c\u53ef\u4ee5\u8fdb\u5165\u8282\u70b9\u8be6\u60c5\u9875\u9762\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u5305\u62ec\u6982\u89c8\u4fe1\u606f\u3001\u5bb9\u5668\u7ec4\u4fe1\u606f\u3001\u6807\u7b7e\u6ce8\u89e3\u4fe1\u606f\u3001\u4e8b\u4ef6\u5217\u8868\u3001\u72b6\u6001\u7b49\u3002

                  \u6b64\u5916\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684 YAML \u6587\u4ef6\u3001\u76d1\u63a7\u4fe1\u606f\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u7b49\u3002

                "},{"location":"kpanda/user-guide/nodes/schedule.html","title":"\u8282\u70b9\u8c03\u5ea6","text":"

                \u652f\u6301\u5c06\u8282\u70b9\u6682\u505c\u8c03\u5ea6\u6216\u6062\u590d\u8c03\u5ea6\u3002\u6682\u505c\u8c03\u5ea6\u6307\uff0c\u505c\u6b62\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002\u6062\u590d\u8c03\u5ea6\u6307\uff0c\u53ef\u4ee5\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6682\u505c\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                3. \u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6062\u590d\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6062\u590d\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                \u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u53ef\u80fd\u56e0\u7f51\u7edc\u60c5\u51b5\u6709\u6240\u5ef6\u8fdf\uff0c\u70b9\u51fb\u641c\u7d22\u6846\u53f3\u4fa7\u7684\u5237\u65b0\u56fe\u6807\u53ef\u4ee5\u5237\u65b0\u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u3002

                "},{"location":"kpanda/user-guide/nodes/taints.html","title":"\u8282\u70b9\u6c61\u70b9\u7ba1\u7406","text":"

                \u6c61\u70b9 (Taint) \u80fd\u591f\u4f7f\u8282\u70b9\u6392\u65a5\u67d0\u4e00\u7c7b Pod\uff0c\u907f\u514d Pod \u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002 \u6bcf\u4e2a\u8282\u70b9\u4e0a\u53ef\u4ee5\u5e94\u7528\u4e00\u4e2a\u6216\u591a\u4e2a\u6c61\u70b9\uff0c\u4e0d\u80fd\u5bb9\u5fcd\u8fd9\u4e9b\u6c61\u70b9\u7684 Pod \u5219\u4e0d\u4f1a\u88ab\u8c03\u5ea6\u8be5\u8282\u70b9\u4e0a\u3002

                "},{"location":"kpanda/user-guide/nodes/taints.html#_2","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                1. \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 NS Editor \u89d2\u8272\u6388\u6743\u6216\u5176\u4ed6\u66f4\u9ad8\u6743\u9650\u3002
                2. \u4e3a\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\u4e4b\u540e\uff0c\u53ea\u6709\u80fd\u5bb9\u5fcd\u8be5\u6c61\u70b9\u7684 Pod \u624d\u80fd\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002
                "},{"location":"kpanda/user-guide/nodes/taints.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u6982\u89c8 \u9875\u9762\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u4fee\u6539\u6c61\u70b9\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u70b9\u51fb \u4fee\u6539\u6c61\u70b9 \u6309\u94ae\u3002

                3. \u5728\u5f39\u6846\u5185\u8f93\u5165\u6c61\u70b9\u7684\u952e\u503c\u4fe1\u606f\uff0c\u9009\u62e9\u6c61\u70b9\u6548\u679c\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u591a\u4e2a\u6c61\u70b9\uff0c\u70b9\u51fb\u6c61\u70b9\u6548\u679c\u53f3\u4fa7\u7684 X \u53ef\u4ee5\u5220\u9664\u6c61\u70b9\u3002

                  \u76ee\u524d\u652f\u6301\u4e09\u79cd\u6c61\u70b9\u6548\u679c\uff1a

                  • NoSchedule\uff1a\u65b0\u7684 Pod \u4e0d\u4f1a\u88ab\u8c03\u5ea6\u5230\u5e26\u6709\u6b64\u6c61\u70b9\u7684\u8282\u70b9\u4e0a\uff0c\u9664\u975e\u65b0\u7684 Pod \u5177\u6709\u76f8\u5339\u914d\u7684\u5bb9\u5fcd\u5ea6\u3002\u5f53\u524d\u6b63\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u4e0d\u4f1a \u88ab\u9a71\u9010\u3002
                  • NoExecute\uff1a\u8fd9\u4f1a\u5f71\u54cd\u5df2\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod\uff1a
                    • \u5982\u679c Pod \u4e0d\u80fd\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f1a\u9a6c\u4e0a\u88ab\u9a71\u9010\u3002
                    • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f46\u662f\u5728\u5bb9\u5fcd\u5ea6\u5b9a\u4e49\u4e2d\u6ca1\u6709\u6307\u5b9a tolerationSeconds\uff0c\u5219 Pod \u8fd8\u4f1a\u4e00\u76f4\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002
                    • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\u800c\u4e14\u6307\u5b9a\u4e86 tolerationSeconds\uff0c\u5219 Pod \u8fd8\u80fd\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u7ee7\u7eed\u8fd0\u884c\u6307\u5b9a\u7684\u65f6\u957f\u3002\u8fd9\u6bb5\u65f6\u95f4\u8fc7\u53bb\u540e\uff0c\u518d\u4ece\u8282\u70b9\u4e0a\u9a71\u9664\u8fd9\u4e9b Pod\u3002
                  • PreferNoSchedule\uff1a\u8fd9\u662f\u201c\u8f6f\u6027\u201d\u7684 NoSchedule\u3002\u63a7\u5236\u5e73\u9762\u5c06**\u5c1d\u8bd5**\u907f\u514d\u5c06\u4e0d\u5bb9\u5fcd\u6b64\u6c61\u70b9\u7684 Pod \u8c03\u5ea6\u5230\u8282\u70b9\u4e0a\uff0c\u4f46\u4e0d\u80fd\u4fdd\u8bc1\u5b8c\u5168\u907f\u514d\u3002\u6240\u4ee5\u8981\u5c3d\u91cf\u907f\u514d\u4f7f\u7528\u6b64\u6c61\u70b9\u3002

                \u6709\u5173\u6c61\u70b9\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605 Kubernetes \u5b98\u65b9\u6587\u6863\uff1a\u6c61\u70b9\u548c\u5bb9\u5fcd\u5ea6\u3002

                "},{"location":"kpanda/user-guide/olm/import-miniooperator.html","title":"\u5bfc\u5165\u79bb\u7ebf MinIo Operator","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u5982\u4f55\u5bfc\u5165 MinIo Operator\u3002

                "},{"location":"kpanda/user-guide/olm/import-miniooperator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5f53\u524d\u96c6\u7fa4\u5df2\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u4e14\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 kolm \u7ec4\u4ef6\uff08helm \u6a21\u677f\u641c\u7d22 kolm\uff09
                • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 olm \u7ec4\u4ef6\u4e14\u7248\u672c >= 0.2.4 (helm \u6a21\u677f\u641c\u7d22 olm)
                • \u652f\u6301\u6267\u884c Docker \u547d\u4ee4
                • \u51c6\u5907\u4e00\u4e2a\u955c\u50cf\u4ed3\u5e93
                "},{"location":"kpanda/user-guide/olm/import-miniooperator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728\u6267\u884c\u73af\u5883\u4e2d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u5e76\u5728\u540e\u7eed\u6b65\u9aa4\u4f7f\u7528\uff0c\u6267\u884c\u547d\u4ee4\uff1a

                  export OPM_IMG=10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0 \nexport BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3 \n

                  \u5982\u4f55\u83b7\u53d6\u4e0a\u8ff0\u955c\u50cf\u5730\u5740\uff1a

                  \u524d\u5f80 \u5bb9\u5668\u7ba1\u7406 -> \u9009\u62e9\u5f53\u524d\u96c6\u7fa4 -> helm \u5e94\u7528 -> \u67e5\u770b olm \u7ec4\u4ef6 -> \u63d2\u4ef6\u8bbe\u7f6e \uff0c\u627e\u5230\u540e\u7eed\u6b65\u9aa4\u6240\u9700 opm\uff0cminio\uff0cminio bundle\uff0cminio operator \u7684\u955c\u50cf\u3002

                  \u4ee5\u4e0a\u8bc9\u622a\u56fe\u4e3a\u4f8b\uff0c\u5219\u56db\u4e2a\u955c\u50cf\u5730\u5740\u5982\u4e0b\n\n# opm \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0\n\n# minio \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/minio/minio:RELEASE.2023-03-24T21-41-23Z\n\n# minio bundle \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3\n\n# minio operator \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/minio/operator:v5.0.3\n
                2. \u6267\u884c opm \u547d\u4ee4\u83b7\u53d6\u79bb\u7ebf bundle \u955c\u50cf\u5305\u542b\u7684 operator\u3002

                  # \u521b\u5efa operator \u5b58\u653e\u76ee\u5f55\n$ mkdir minio-operator && cd minio-operator \n\n# \u83b7\u53d6 operator yaml \n$ docker run --user root  -v $PWD/minio-operator:/minio-operator ${OPM_IMG} alpha bundle unpack --skip-tls-verify -v -d ${BUNDLE_IMG} -o ./minio-operator\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 9 files\n
                3. \u66ff\u6362\u00a0 minio-operator/manifests/minio-operator.clusterserviceversion.yaml\u00a0 \u6587\u4ef6\u4e2d\u7684\u6240\u6709\u955c\u50cf\u5730\u5740\u4e3a\u79bb\u7ebf\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u955c\u50cf\u3002

                  \u66ff\u6362\u524d\uff1a

                  \u66ff\u6362\u540e\uff1a

                4. \u751f\u6210\u6784\u5efa bundle \u955c\u50cf\u7684 Dockerfile

                  $ docker run --user root  -v $PWD:/minio-operator -w /minio-operator ${OPM_IMG} alpha bundle generate --channels stable,beta -d /minio-operator/minio-operator/manifests -e stable -p minio-operator \u00a0\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 10 files\n
                5. \u6267\u884c\u6784\u5efa\u547d\u4ee4\uff0c\u6784\u5efa bundle \u955c\u50cf\u4e14\u63a8\u9001\u5230\u79bb\u7ebf registry\u3002

                  # \u8bbe\u7f6e\u65b0\u7684 bundle image \nexport OFFLINE_BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3-offline \n\n$ docker build . -f bundle.Dockerfile -t ${OFFLINE_BUNDLE_IMG} \u00a0\n\n$ docker push ${OFFLINE_BUNDLE_IMG}\n
                6. \u751f\u6210\u6784\u5efa catalog \u955c\u50cf\u7684 Dockerfile\u3002

                  $ docker run --user root  -v $PWD:/minio-operator  -w /minio-operator ${OPM_IMG} index add  --bundles ${OFFLINE_BUNDLE_IMG} --generate --binary-image ${OPM_IMG} --skip-tls-verify\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u251c\u2500\u2500 database\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 index.db\n\u251c\u2500\u2500 index.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n4 directories, 12 files\n
                7. \u6784\u5efa catalog \u955c\u50cf

                  # \u8bbe\u7f6e\u65b0\u7684 catalog image  \nexport OFFLINE_CATALOG_IMG=10.5.14.200/release.daocloud.io/operator-framework/system-operator-index:v0.1.0-offline\n\n$ docker build . -f index.Dockerfile -t ${OFFLINE_CATALOG_IMG}  \n\n$ docker push ${OFFLINE_CATALOG_IMG}\n
                8. \u524d\u5f80\u5bb9\u5668\u7ba1\u7406\uff0c\u66f4\u65b0 helm \u5e94\u7528 olm \u7684\u5185\u7f6e catsrc \u955c\u50cf\uff08\u586b\u5199\u6784\u5efa catalog \u955c\u50cf\u6307\u5b9a\u7684 ${catalog-image} \u5373\u53ef\uff09

                9. \u66f4\u65b0\u6210\u529f\u540e\uff0cOperator Hub \u4e2d\u4f1a\u51fa\u73b0 minio-operator \u7ec4\u4ef6

                "},{"location":"kpanda/user-guide/permissions/cluster-ns-auth.html","title":"\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"

                \u5bb9\u5668\u7ba1\u7406\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u53ca\u5168\u5c40\u7528\u6237/\u7528\u6237\u7ec4\u7ba1\u7406\u5b9e\u73b0\u6388\u6743\uff0c\u5982\u9700\u4e3a\u7528\u6237\u6388\u4e88\u5bb9\u5668\u7ba1\u7406\u7684\u6700\u9ad8\u6743\u9650\uff08\u53ef\u4ee5\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u6240\u6709\u96c6\u7fa4\uff09\uff0c\u8bf7\u53c2\u89c1\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u3002

                "},{"location":"kpanda/user-guide/permissions/cluster-ns-auth.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u4e4b\u524d\uff0c\u8bf7\u5b8c\u6210\u5982\u4e0b\u51c6\u5907\uff1a

                • \u5df2\u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u521b\u5efa\u4e86\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\uff0c\u8bf7\u53c2\u8003\u7528\u6237\u3002

                • \u4ec5 Kpanda Owner \u53ca\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin \u5177\u5907\u96c6\u7fa4\u6388\u6743\u80fd\u529b\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002

                • \u4ec5 Kpanda Owner\u3001\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin\uff0c\u5f53\u524d\u547d\u540d\u7a7a\u95f4\u7684 NS Admin \u5177\u5907\u547d\u540d\u7a7a\u95f4\u6388\u6743\u80fd\u529b\u3002

                "},{"location":"kpanda/user-guide/permissions/cluster-ns-auth.html#_3","title":"\u96c6\u7fa4\u6388\u6743","text":"
                1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u9ed8\u8ba4\u4f4d\u4e8e \u96c6\u7fa4\u6743\u9650 \u9875\u7b7e\u3002

                2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002

                3. \u5728 \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  \u76ee\u524d\u4ec5\u652f\u6301\u7684\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u8981\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c \u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002

                4. \u8fd4\u56de\u96c6\u7fa4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                "},{"location":"kpanda/user-guide/permissions/cluster-ns-auth.html#_4","title":"\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"
                1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u70b9\u51fb \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u7b7e\u3002

                2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002\u5728 \u6dfb\u52a0\u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff0c\u4ee5\u53ca\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  \u76ee\u524d\u652f\u6301\u7684\u547d\u540d\u7a7a\u95f4\u89d2\u8272\u4e3a NS Admin\u3001NS Editor\u3001NS Viewer\uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u6743\u9650\u6388\u6743\u3002

                3. \u8fd4\u56de\u547d\u540d\u7a7a\u95f4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                  Tip

                  \u540e\u7eed\u5982\u9700\u5220\u9664\u6216\u7f16\u8f91\u6743\u9650\uff0c\u53ef\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664 \u3002

                "},{"location":"kpanda/user-guide/permissions/custom-kpanda-role.html","title":"\u589e\u52a0 Kpanda \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9","text":"

                \u8fc7\u53bb Kpanda \u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\uff08rbac rules\uff09\u90fd\u662f\u63d0\u524d\u9884\u5b9a\u4e49\u597d\u7684\u4e14\u7528\u6237\u65e0\u6cd5\u4fee\u6539\uff0c\u56e0\u4e3a\u4ee5\u524d\u4fee\u6539\u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\u4e4b\u540e\u4e5f\u4f1a\u88ab Kpanda \u63a7\u5236\u5668\u8fd8\u539f\u6210\u9884\u5b9a\u4e49\u7684\u6743\u9650\u70b9\u3002 \u4e3a\u4e86\u652f\u6301\u66f4\u52a0\u7075\u6d3b\u7684\u6743\u9650\u914d\u7f6e\uff0c\u6ee1\u8db3\u5bf9\u7cfb\u7edf\u89d2\u8272\u7684\u81ea\u5b9a\u4e49\u9700\u6c42\uff0c\u76ee\u524d Kpanda \u652f\u6301\u4e3a\u5185\u7f6e\u7cfb\u7edf\u89d2\u8272\uff08cluster admin\u3001ns admin\u3001ns editor\u3001ns viewer\uff09\u4fee\u6539\u6743\u9650\u70b9\u3002 \u4ee5\u4e0b\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u65b0\u589e ns-viewer \u6743\u9650\u70b9\uff0c\u5c1d\u8bd5\u589e\u52a0\u53ef\u4ee5\u5220\u9664 Deployment \u7684\u6743\u9650\u3002\u5176\u4ed6\u6743\u9650\u70b9\u64cd\u4f5c\u7c7b\u4f3c\u3002

                "},{"location":"kpanda/user-guide/permissions/custom-kpanda-role.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u9002\u7528\u4e8e\u5bb9\u5668\u7ba1\u7406 v0.27.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Viewer \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                Note

                • \u53ea\u9700\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0cKpanda \u63a7\u5236\u5668\u4f1a\u628a Global Cluster \u589e\u52a0\u7684\u6743\u9650\u70b9\u540c\u6b65\u5230\u6240\u6709\u63a5\u5165\u5b50\u96c6\u7fa4\u4e2d\uff0c\u540c\u6b65\u9700\u4e00\u6bb5\u65f6\u95f4\u624d\u80fd\u5b8c\u6210
                • \u53ea\u80fd\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0c\u5728\u5b50\u96c6\u7fa4\u65b0\u589e\u7684\u6743\u9650\u70b9\u4f1a\u88ab Global Cluster \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9\u8986\u76d6
                • \u53ea\u652f\u6301\u4f7f\u7528\u56fa\u5b9a Label \u7684 ClusterRole \u8ffd\u52a0\u6743\u9650\uff0c\u4e0d\u652f\u6301\u66ff\u6362\u6216\u8005\u5220\u9664\u6743\u9650\uff0c\u4e5f\u4e0d\u80fd\u4f7f\u7528 role \u8ffd\u52a0\u6743\u9650\uff0c\u5185\u7f6e\u89d2\u8272\u8ddf\u7528\u6237\u521b\u5efa\u7684 ClusterRole Label \u5bf9\u5e94\u5173\u7cfb\u5982\u4e0b

                  cluster-admin: rbac.kpanda.io/role-template-cluster-admin: \"true\"\ncluster-edit: rbac.kpanda.io/role-template-cluster-edit: \"true\"\ncluster-view: rbac.kpanda.io/role-template-cluster-view: \"true\"\nns-admin: rbac.kpanda.io/role-template-ns-admin: \"true\"\nns-edit: rbac.kpanda.io/role-template-ns-edit: \"true\"\nns-view: rbac.kpanda.io/role-template-ns-view: \"true\"\n
                "},{"location":"kpanda/user-guide/permissions/custom-kpanda-role.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u4f7f\u7528 admin \u6216\u8005 cluster admin \u6743\u9650\u7684\u7528\u6237\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d

                2. \u6388\u6743 ns-viewer\uff0c\u7528\u6237\u6709\u8be5 namespace ns-view \u6743\u9650

                3. \u5207\u6362\u767b\u5f55\u7528\u6237\u4e3a ns-viewer\uff0c\u6253\u5f00\u63a7\u5236\u53f0\u83b7\u53d6 ns-viewer \u7528\u6237\u5bf9\u5e94\u7684 token\uff0c\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u53d1\u73b0\u65e0\u5220\u9664\u6743\u9650

                  [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n{\"code\":7,\"message\":\"[RBAC] delete resources(deployments: nginx) is forbidden for user(ns-viewer) in cluster(cluster-member)\",\"details\":[]}[root@master-01 ~]#\n[root@master-01 ~]#\n
                4. \u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u521b\u5efa\u5982\u4e0b ClusterRole\uff1a

                  apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: append-ns-view # (1)!\n  labels:\n    rbac.kpanda.io/role-template-ns-view: \"true\" # (2)!\nrules:\n  - apiGroups: [ \"apps\" ]\n    resources: [ \"deployments\" ]\n    verbs: [ \"delete\" ]\n
                  1. \u6b64\u5b57\u6bb5\u503c\u53ef\u4efb\u610f\u6307\u5b9a\uff0c\u53ea\u9700\u4e0d\u91cd\u590d\u4e14\u7b26\u5408 Kubernetes \u8d44\u6e90\u540d\u79f0\u89c4\u5219\u8981\u6c42
                  2. \u6ce8\u610f\u7ed9\u4e0d\u540c\u7684\u89d2\u8272\u6dfb\u52a0\u6743\u9650\u65f6\u5e94\u6253\u4e0a\u4e0d\u540c\u7684 label
                5. \u7b49\u5f85 Kpanda \u63a7\u5236\u5668\u6dfb\u52a0\u7528\u6237\u521b\u5efa\u6743\u9650\u5230\u5185\u7f6e\u89d2\u8272 ns-viewer \u4e2d\uff0c\u53ef\u67e5\u770b\u5bf9\u5e94\u5185\u7f6e\u89d2\u8272\u5982\u662f\u5426\u6709\u4e0a\u4e00\u6b65\u65b0\u589e\u7684\u6743\u9650\u70b9

                  [root@master-01 ~]# kubectl get clusterrole role-template-ns-view -oyaml|grep deployments -C 10|tail -n 6\n
                  - apiGroups:\n  - apps\n  resources:\n  - deployments\n  verbs:\n  - delete\n

                6. \u518d\u6b21\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u8fd9\u6b21\u6210\u529f\u5220\u9664\u4e86\u3002\u4e5f\u5c31\u662f\u8bf4\uff0cns-viewer \u6210\u529f\u65b0\u589e\u4e86\u5220\u9664 Deployment \u7684\u6743\u9650\u3002

                  [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n
                "},{"location":"kpanda/user-guide/permissions/permission-brief.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

                \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u4ee5\u53ca Kubernetes RBAC \u6743\u9650\u7ba1\u7406\u6253\u9020\u7684\u591a\u7ef4\u5ea6\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u3002 \u652f\u6301\u96c6\u7fa4\u7ea7\u3001\u547d\u540d\u7a7a\u95f4\u7ea7\u7684\u6743\u9650\u63a7\u5236\uff0c\u5e2e\u52a9\u7528\u6237\u4fbf\u6377\u7075\u6d3b\u5730\u5bf9\u79df\u6237\u4e0b\u7684 IAM \u7528\u6237\u3001\u7528\u6237\u7ec4\uff08\u7528\u6237\u7684\u96c6\u5408\uff09\u8bbe\u5b9a\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650\u3002

                "},{"location":"kpanda/user-guide/permissions/permission-brief.html#_2","title":"\u96c6\u7fa4\u6743\u9650","text":"

                \u96c6\u7fa4\u6743\u9650\u57fa\u4e8e Kubernetes RBAC \u7684 ClusterRolebinding \u6388\u6743\uff0c\u96c6\u7fa4\u6743\u9650\u8bbe\u7f6e\u53ef\u8ba9\u7528\u6237/\u7528\u6237\u7ec4\u5177\u5907\u96c6\u7fa4\u76f8\u5173\u6743\u9650\u3002 \u76ee\u524d\u7684\u9ed8\u8ba4\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff08\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u5220\u9664\u6743\u9650\uff09\u3002

                "},{"location":"kpanda/user-guide/permissions/permission-brief.html#cluster-admin","title":"Cluster Admin","text":"

                Cluster Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                • \u53ef\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b\u5bf9\u5e94\u96c6\u7fa4

                • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\u53ca\u96c6\u7fa4\u5185\u6240\u6709\u8d44\u6e90

                • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u96c6\u7fa4\u5185\u89d2\u8272 (Cluster Admin\u3001NS Admin\u3001NS Editor\u3001NS Viewer)

                \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-cluster-admin\n  resourceVersion: \"15168\"\n  uid: f8f86d42-d5ef-47aa-b284-097615795076\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n
                "},{"location":"kpanda/user-guide/permissions/permission-brief.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u6743\u9650","text":"

                \u547d\u540d\u7a7a\u95f4\u6743\u9650\u662f\u57fa\u4e8e Kubernetes RBAC \u80fd\u529b\u7684\u6388\u6743\uff0c\u53ef\u4ee5\u5b9e\u73b0\u4e0d\u540c\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5bf9\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650(\u5305\u62ec Kubernetes API \u6743\u9650)\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\uff1aKubernetes RBAC\u3002\u76ee\u524d\u5bb9\u5668\u7ba1\u7406\u7684\u9ed8\u8ba4\u89d2\u8272\u4e3a\uff1aNS Admin\u3001NS Editor\u3001NS Viewer\u3002

                "},{"location":"kpanda/user-guide/permissions/permission-brief.html#ns-admin","title":"NS Admin","text":"

                NS Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u89d2\u8272 (NS Editor\u3001NS Viewer)

                \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-admin\n  resourceVersion: \"15173\"\n  uid: 69f64c7e-70e7-4c7c-a3e0-053f507f2bc3\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'    \n
                "},{"location":"kpanda/user-guide/permissions/permission-brief.html#ns-editor","title":"NS Editor","text":"

                NS Editor \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                • \u53ef\u67e5\u770b\u5bf9\u5e94\u6709\u6743\u9650\u7684\u547d\u540d\u7a7a\u95f4
                • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d
                \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-edit\n  resourceVersion: \"15175\"\n  uid: ca9e690e-96c0-4978-8915-6e4c00c748fe\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - '*'\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - '*'\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - '*'\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - '*'\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - '*'      \n
                "},{"location":"kpanda/user-guide/permissions/permission-brief.html#ns-viewer","title":"NS Viewer","text":"

                NS Viewer \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-view\n  resourceVersion: \"15183\"\n  uid: 853888fd-6ee8-42ac-b91e-63923918baf8\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - get\n  - list\n  - watch \n
                "},{"location":"kpanda/user-guide/permissions/permission-brief.html#faq","title":"\u6743\u9650 FAQ","text":"
                1. \u5168\u5c40\u6743\u9650\u548c\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u7ba1\u7406\u7684\u5173\u7cfb\uff1f

                  \u7b54\uff1a\u5168\u5c40\u6743\u9650\u4ec5\u6388\u6743\u4e3a\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u53ef\u7ba1\u7406\u6240\u6709\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u7f16\u8f91\u3001\u5220\u9664\uff1b\u800c\u5bf9\u4e8e\u7ec6\u7c92\u5ea6\u7684\u6743\u9650\uff0c\u5982\u5355\u4e2a\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\uff0c\u5355\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u5220\u9664\u6743\u9650\uff0c\u9700\u8981\u57fa\u4e8e Kubernetes RBAC \u7684\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8fdb\u884c\u5b9e\u73b0\u3002 \u4e00\u822c\u6743\u9650\u7684\u7528\u6237\u4ec5\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u8fdb\u884c\u6388\u6743\u5373\u53ef\u3002

                2. \u76ee\u524d\u4ec5\u652f\u6301\u56db\u4e2a\u9ed8\u8ba4\u89d2\u8272\uff0c\u540e\u53f0\u81ea\u5b9a\u4e49\u89d2\u8272\u7684 RoleBinding \u4ee5\u53ca ClusterRoleBinding \uff08Kubernetes \u7ec6\u7c92\u5ea6\u7684 RBAC\uff09\u662f\u5426\u4e5f\u80fd\u751f\u6548\uff1f

                  \u7b54\uff1a\u76ee\u524d\u81ea\u5b9a\u4e49\u6743\u9650\u6682\u65f6\u65e0\u6cd5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u8fdb\u884c\u7ba1\u7406\uff0c\u4f46\u662f\u901a\u8fc7 kubectl \u521b\u5efa\u7684\u6743\u9650\u89c4\u5219\u540c\u6837\u80fd\u751f\u6548\u3002

                "},{"location":"kpanda/user-guide/scale/create-hpa.html","title":"\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u521b\u5efa HPA","text":"

                DaoCloud Enterprise 5.0 \u652f\u6301 Pod \u8d44\u6e90\u57fa\u4e8e\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\uff08Horizontal Pod Autoscaling, HPA\uff09\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u7528\u91cf\u53ca\u81ea\u5b9a\u4e49\u6307\u6807\u6307\u6807\u6765\u52a8\u6001\u8c03\u6574 Pod \u8d44\u6e90\u7684\u526f\u672c\u6570\u91cf\u3002 \u4f8b\u5982\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u57fa\u4e8e CPU \u5229\u7528\u7387\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u540e\uff0c\u5f53 Pod \u7684 CPU \u5229\u7528\u7387\u8d85\u8fc7/\u4f4e\u4e8e\u60a8\u8bbe\u7f6e\u7684\u6307\u6807\u9600\u503c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u63a7\u5236\u5668\u5c06\u4f1a\u81ea\u52a8\u589e\u52a0/\u8f83\u5c11 Pod \u526f\u672c\u6570\u3002

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u7684\u5f39\u6027\u4f38\u7f29\u3002

                Note

                1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                2. \u5982\u679c\u57fa\u4e8e CPU \u5229\u7528\u7387\u521b\u5efa HPA \u7b56\u7565\uff0c\u5fc5\u987b\u9884\u5148\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u914d\u7f6e\u9650\u5236\uff08Limit\uff09\uff0c\u5426\u5219\u65e0\u6cd5\u8ba1\u7b97 CPU \u5229\u7528\u7387\u3002
                3. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                "},{"location":"kpanda/user-guide/scale/create-hpa.html#_1","title":"\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565","text":"

                \u7cfb\u7edf\u5185\u7f6e\u4e86 CPU \u548c\u5185\u5b58\u4e24\u79cd\u5f39\u6027\u4f38\u7f29\u6307\u6807\u4ee5\u6ee1\u8db3\u7528\u6237\u7684\u57fa\u7840\u4e1a\u52a1\u4f7f\u7528\u573a\u666f\u3002

                "},{"location":"kpanda/user-guide/scale/create-hpa.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5df2\u5b8c\u6210 metrics-server \u63d2\u4ef6\u5b89\u88c5 \u3002

                "},{"location":"kpanda/user-guide/scale/create-hpa.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u63d2\u4ef6\uff0c\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                  • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                  • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                  • \u76ee\u6807 CPU \u5229\u7528\u7387\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b Pod \u7684 CPU \u4f7f\u7528\u7387\u3002\u8ba1\u7b97\u65b9\u5f0f\u4e3a\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u7684 Pod \u8d44\u6e90 / \u5de5\u4f5c\u8d1f\u8f7d\u7684\u8bf7\u6c42\uff08request\uff09\u503c\u3002\u5f53\u5b9e\u9645 CPU \u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                  • \u76ee\u6807\u5185\u5b58\u7528\u91cf\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b\u7684 Pod \u7684\u5185\u5b58\u7528\u91cf\u3002\u5f53\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                  • \u526f\u672c\u8303\u56f4\uff1aPod \u526f\u672c\u6570\u7684\u5f39\u6027\u4f38\u7f29\u8303\u56f4\u3002\u9ed8\u8ba4\u533a\u95f4\u4e3a\u4e3a 1 - 10\u3002
                6. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u76f8\u5173\u4e8b\u4ef6\u3002

                "},{"location":"kpanda/user-guide/scale/create-vpa.html","title":"\u521b\u5efa VPA","text":"

                \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u901a\u8fc7\u76d1\u63a7 Pod \u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u8d44\u6e90\u7533\u8bf7\u548c\u7528\u91cf\uff0c \u8ba1\u7b97\u51fa\u5bf9\u8be5 Pod \u800c\u8a00\u6700\u9002\u5408\u7684 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u3002\u4f7f\u7528 VPA \u53ef\u4ee5\u66f4\u52a0\u5408\u7406\u5730\u4e3a\u96c6\u7fa4\u4e0b\u6bcf\u4e2a Pod \u5206\u914d\u8d44\u6e90\uff0c\u63d0\u9ad8\u96c6\u7fa4\u7684\u6574\u4f53\u8d44\u6e90\u5229\u7528\u7387\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002

                DCE 5.0 \u652f\u6301\u901a\u8fc7\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\uff0c\u57fa\u4e8e\u6b64\u529f\u80fd\u53ef\u4ee5\u6839\u636e\u5bb9\u5668\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u52a8\u6001\u8c03\u6574 Pod \u8bf7\u6c42\u503c\u3002 DCE 5.0 \u652f\u6301\u901a\u8fc7\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u65b9\u5f0f\u6765\u4fee\u6539\u8d44\u6e90\u8bf7\u6c42\u503c\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u8981\u8fdb\u884c\u914d\u7f6e\u3002

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e Pod \u5782\u76f4\u4f38\u7f29\u3002

                Warning

                \u4f7f\u7528 VPA \u4fee\u6539 Pod \u8d44\u6e90\u8bf7\u6c42\u4f1a\u89e6\u53d1 Pod \u91cd\u542f\u3002\u7531\u4e8e Kubernetes \u672c\u8eab\u7684\u9650\u5236\uff0c Pod \u91cd\u542f\u540e\u53ef\u80fd\u4f1a\u88ab\u8c03\u5ea6\u5230\u5176\u5b83\u8282\u70b9\u4e0a\u3002

                "},{"location":"kpanda/user-guide/scale/create-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3001\u7528\u6237\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 metrics-server \u548c VPA \u63d2\u4ef6\u3002

                "},{"location":"kpanda/user-guide/scale/create-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u76ee\u524d\u96c6\u7fa4\uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u627e\u5230\u9700\u8981\u521b\u5efa VPA \u7684\u8d1f\u8f7d\uff0c\u70b9\u51fb\u8be5\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                  3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\uff0c\u786e\u8ba4\u5df2\u7ecf\u5b89\u88c5\u4e86\u76f8\u5173\u63d2\u4ef6\u5e76\u4e14\u63d2\u4ef6\u662f\u5426\u8fd0\u884c\u6b63\u5e38\u3002

                3. \u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\uff0c\u5e76\u914d\u7f6e VPA \u5782\u76f4\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                  • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 vpa-my-dep\u3002
                  • \u4f38\u7f29\u6a21\u5f0f\uff1a\u6267\u884c\u4fee\u6539 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u7684\u65b9\u5f0f\uff0c\u76ee\u524d\u5782\u76f4\u4f38\u7f29\u652f\u6301\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u4f38\u7f29\u6a21\u5f0f\u3002
                    • \u624b\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u8ba1\u7b97\u51fa\u63a8\u8350\u7684\u8d44\u6e90\u914d\u7f6e\u503c\u540e\uff0c\u9700\u7528\u6237\u624b\u52a8\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                    • \u81ea\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u81ea\u52a8\u8ba1\u7b97\u548c\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                  • \u76ee\u6807\u5bb9\u5668\uff1a\u9009\u62e9\u9700\u8981\u8fdb\u884c\u5782\u76f4\u4f38\u7f29\u7684\u5bb9\u5668\u3002
                4. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\u3002

                Note

                \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c--min-replicas \u7684\u503c\u4e3a 2\u3002\u8868\u793a\u5f53\u526f\u672c\u6570\u5927\u4e8e 1 \u65f6\uff0cVPA \u624d\u4f1a\u751f\u6548\uff0c \u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 updater \u7684 --min-replicas \u53c2\u6570\u503c\u6765\u6539\u53d8\u8fd9\u4e00\u9ed8\u8ba4\u884c\u4e3a\u3002

                spec: \n  containers: \n  - name: updater \n  args: \n  - \"--min-replicas=2\"\n
                "},{"location":"kpanda/user-guide/scale/custom-hpa.html","title":"\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa HPA","text":"

                \u5f53\u7cfb\u7edf\u5185\u7f6e\u7684 CPU \u548c\u5185\u5b58\u4e24\u79cd\u6307\u6807\u4e0d\u80fd\u6ee1\u8db3\u60a8\u4e1a\u52a1\u7684\u5b9e\u9645\u9700\u6c42\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e ServiceMonitoring \u6765\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c \u5e76\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002

                Note

                1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                2. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c \u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762
                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa
                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743
                • \u5df2\u5b89\u88c5 metrics-server \u63d2\u4ef6
                • \u5df2\u5b89\u88c5 insight-agent \u63d2\u4ef6
                • \u5df2\u5b89\u88c5 Prometheus-adapter \u63d2\u4ef6
                "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u3001Insight\u3001Prometheus-adapter \u63d2\u4ef6\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                  Note

                  \u5982\u679c\u76f8\u5173\u63d2\u4ef6\u672a\u5b89\u88c5\u6216\u63d2\u4ef6\u5904\u4e8e\u5f02\u5e38\u72b6\u6001\uff0c\u60a8\u5728\u9875\u9762\u4e0a\u5c06\u65e0\u6cd5\u770b\u89c1\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u5165\u53e3\u3002

                5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                  • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                  • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                  • \u8d44\u6e90\u7c7b\u578b\uff1a\u8fdb\u884c\u76d1\u63a7\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u7c7b\u578b\uff0c\u5305\u542b Pod \u548c Service \u4e24\u79cd\u7c7b\u578b\u3002
                  • \u6307\u6807\uff1a\u4f7f\u7528 ServiceMonitoring \u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u6216\u7cfb\u7edf\u5185\u7f6e\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u3002
                  • \u6570\u636e\u7c7b\u578b\uff1a\u7528\u4e8e\u8ba1\u7b97\u6307\u6807\u503c\u7684\u65b9\u6cd5\uff0c\u5305\u542b\u76ee\u6807\u503c\u548c\u76ee\u6807\u5e73\u5747\u503c\u4e24\u79cd\u7c7b\u578b\uff0c\u5f53\u8d44\u6e90\u7c7b\u578b\u4e3a Pod \u65f6\uff0c\u53ea\u652f\u6301\u4f7f\u7528\u76ee\u6807\u5e73\u5747\u503c\u3002
                "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_3","title":"\u64cd\u4f5c\u793a\u4f8b","text":"

                \u672c\u6848\u4f8b\u4ee5 Golang \u4e1a\u52a1\u7a0b\u5e8f\u4e3a\u4f8b\uff0c\u8be5\u793a\u4f8b\u7a0b\u5e8f\u66b4\u9732\u4e86 httpserver_requests_total \u6307\u6807\uff0c\u5e76\u8bb0\u5f55 HTTP \u7684\u8bf7\u6c42\uff0c\u901a\u8fc7\u8be5\u6307\u6807\u53ef\u4ee5\u8ba1\u7b97\u51fa\u4e1a\u52a1\u7a0b\u5e8f\u7684 QPS \u503c\u3002

                "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_4","title":"\u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f","text":"

                \u4f7f\u7528 Deployment \u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f\uff1a

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: httpserver\n  namespace: httpserver\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: httpserver\n  template:\n    metadata:\n      labels:\n        app: httpserver\n    spec:\n      containers:\n      - name: httpserver\n        image: registry.imroc.cc/test/httpserver:custom-metrics\n        imagePullPolicy: Always\n---\n\napiVersion: v1\nkind: Service\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    app: httpserver\n  annotations:\n    prometheus.io/scrape: \"true\"\n    prometheus.io/path: \"/metrics\"\n    prometheus.io/port: \"http\"\nspec:\n  type: ClusterIP\n  ports:\n  - port: 80\n    protocol: TCP\n    name: http\n  selector:\n    app: httpserver\n
                "},{"location":"kpanda/user-guide/scale/custom-hpa.html#prometheus","title":"Prometheus \u91c7\u96c6\u4e1a\u52a1\u76d1\u63a7","text":"

                \u82e5\u5df2\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa ServiceMonitor \u7684 CRD \u5bf9\u8c61\u914d\u7f6e Prometheus\u3002

                \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u641c\u7d22\u201cservicemonitors.monitoring.coreos.com\"\uff0c\u70b9\u51fb\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002 \u901a\u8fc7\u521b\u5efa YAML\uff0c\u5728\u547d\u540d\u7a7a\u95f4 httpserver \u4e0b\u521b\u5efa\u5982\u4e0b\u793a\u4f8b\u7684 CRD\uff1a

                apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  endpoints:\n  - port: http\n    interval: 5s\n  namespaceSelector:\n    matchNames:\n    - httpserver\n  selector:\n    matchLabels:\n      app: httpserver\n

                Note

                \u82e5\u901a\u8fc7 insight \u5b89\u88c5 Prometheus\uff0c\u5219 serviceMonitor \u4e0a\u5fc5\u987b\u6253\u4e0a operator.insight.io/managed-by: insight \u8fd9\u4e2a label\uff0c\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\u5b89\u88c5\u5219\u65e0\u9700\u6b64 label\u3002

                "},{"location":"kpanda/user-guide/scale/custom-hpa.html#prometheus-adapter","title":"\u5728 prometheus-adapter \u4e2d\u914d\u7f6e\u6307\u6807\u89c4\u5219","text":"

                \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 \u641c\u7d22 \u201cprometheus-adapter\"\uff0c\u901a\u8fc7\u64cd\u4f5c\u680f\u8fdb\u5165\u66f4\u65b0\u9875\u9762\uff0c\u5728 YAML \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                rules:\n  custom:\n    - metricsQuery: sum(rate(<<.Series>>{<<.LabelMatchers>>}[1m])) by (<<.GroupBy>>)\n      name:\n        as: httpserver_requests_qps\n        matches: httpserver_requests_total\n      resources:\n        template: <<.Resource>>\n      seriesQuery: httpserver_requests_total\n

                "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_5","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570","text":"

                \u6309\u7167\u4e0a\u8ff0\u6b65\u9aa4\u5728 Deployment \u4e2d\u627e\u5230\u5e94\u7528\u7a0b\u5e8f httpserver \u5e76\u901a\u8fc7\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa\u5f39\u6027\u4f38\u7f29\u3002

                "},{"location":"kpanda/user-guide/scale/hpa-cronhpa-compatibility-rules.html","title":"HPA \u548c CronHPA \u517c\u5bb9\u89c4\u5219","text":"

                HPA \u5168\u79f0\u4e3a HorizontalPodAutoscaler\uff0c\u5373 Pod \u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                CronHPA \u5168\u79f0\u4e3a Cron HorizontalPodAutoscaler\uff0c\u5373 Pod \u5b9a\u65f6\u7684\u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                "},{"location":"kpanda/user-guide/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa","title":"CronHPA \u548c HPA \u517c\u5bb9\u51b2\u7a81","text":"

                \u5b9a\u65f6\u4f38\u7f29 CronHPA \u901a\u8fc7\u8bbe\u7f6e\u5b9a\u65f6\u7684\u65b9\u5f0f\u89e6\u53d1\u5bb9\u5668\u7684\u6c34\u5e73\u526f\u672c\u4f38\u7f29\u3002\u4e3a\u4e86\u9632\u6b62\u7a81\u53d1\u7684\u6d41\u91cf\u51b2\u51fb\u7b49\u72b6\u51b5\uff0c \u60a8\u53ef\u80fd\u5df2\u7ecf\u914d\u7f6e HPA \u4fdd\u969c\u5e94\u7528\u7684\u6b63\u5e38\u8fd0\u884c\u3002\u5982\u679c\u540c\u65f6\u68c0\u6d4b\u5230\u4e86 HPA \u548c CronHPA \u7684\u5b58\u5728\uff0c \u7531\u4e8e CronHPA \u548c HPA \u76f8\u4e92\u72ec\u7acb\u65e0\u6cd5\u611f\u77e5\uff0c\u5c31\u4f1a\u51fa\u73b0\u4e24\u4e2a\u63a7\u5236\u5668\u5404\u81ea\u5de5\u4f5c\uff0c\u540e\u6267\u884c\u7684\u64cd\u4f5c\u4f1a\u8986\u76d6\u5148\u6267\u884c\u7684\u64cd\u4f5c\u3002

                \u5bf9\u6bd4 CronHPA \u548c HPA \u7684\u5b9a\u4e49\u6a21\u677f\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230\u4ee5\u4e0b\u51e0\u70b9\uff1a

                • CronHPA \u548c HPA \u90fd\u662f\u901a\u8fc7 scaleTargetRef \u5b57\u6bb5\u6765\u83b7\u53d6\u4f38\u7f29\u5bf9\u8c61\u3002
                • CronHPA \u901a\u8fc7 jobs \u7684 crontab \u89c4\u5219\u5b9a\u65f6\u4f38\u7f29\u526f\u672c\u6570\u3002
                • HPA \u901a\u8fc7\u8d44\u6e90\u5229\u7528\u7387\u5224\u65ad\u4f38\u7f29\u60c5\u51b5\u3002

                Note

                \u5982\u679c\u540c\u65f6\u8bbe\u7f6e CronHPA \u548c HPA\uff0c\u4f1a\u51fa\u73b0 CronHPA \u548c HPA \u540c\u65f6\u64cd\u4f5c\u4e00\u4e2a scaleTargetRef \u7684\u573a\u666f\u3002

                "},{"location":"kpanda/user-guide/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa_1","title":"CronHPA \u548c HPA \u517c\u5bb9\u65b9\u6848","text":"

                \u4ece\u4e0a\u6587\u53ef\u77e5\uff0cCronHPA \u548c HPA \u540c\u65f6\u4f7f\u7528\u4f1a\u5bfc\u81f4\u540e\u6267\u884c\u7684\u64cd\u4f5c\u8986\u76d6\u5148\u6267\u884c\u64cd\u4f5c\u7684\u672c\u8d28\u539f\u56e0\u662f\u4e24\u4e2a\u63a7\u5236\u5668\u65e0\u6cd5\u76f8\u4e92\u611f\u77e5\uff0c \u90a3\u4e48\u53ea\u9700\u8981\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u5c31\u80fd\u89e3\u51b3\u51b2\u7a81\u95ee\u9898\u3002

                \u7cfb\u7edf\u4f1a\u5c06 HPA \u4f5c\u4e3a\u5b9a\u65f6\u4f38\u7f29 CronHPA \u7684\u6269\u7f29\u5bb9\u5bf9\u8c61\uff0c\u4ece\u800c\u5b9e\u73b0\u5bf9\u8be5 HPA \u5b9a\u4e49\u7684 Deployment \u5bf9\u8c61\u7684\u5b9a\u65f6\u6269\u7f29\u5bb9\u3002

                HPA \u7684\u5b9a\u4e49\u5c06 Deployment \u914d\u7f6e\u5728 scaleTargetRef \u5b57\u6bb5\u4e0b\uff0c\u7136\u540e Deployment \u901a\u8fc7\u81ea\u8eab\u5b9a\u4e49\u67e5\u627e ReplicaSet\uff0c\u6700\u540e\u901a\u8fc7 ReplicaSet \u8c03\u6574\u771f\u5b9e\u7684\u526f\u672c\u6570\u76ee\u3002

                DCE 5.0 \u5c06 CronHPA \u4e2d\u7684 scaleTargetRef \u8bbe\u7f6e\u4e3a HPA \u5bf9\u8c61\uff0c\u7136\u540e\u901a\u8fc7 HPA \u5bf9\u8c61\u6765\u5bfb\u627e\u771f\u5b9e\u7684 scaleTargetRef\uff0c\u4ece\u800c\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u3002

                CronHPA \u4f1a\u901a\u8fc7\u8c03\u6574 HPA \u7684\u65b9\u5f0f\u611f\u77e5 HPA\u3002CronHPA \u901a\u8fc7\u8bc6\u522b\u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e\u5f53\u524d\u526f\u672c\u6570\u4e24\u8005\u95f4\u7684\u8f83\u5927\u503c\uff0c \u5224\u65ad\u662f\u5426\u9700\u8981\u6269\u7f29\u5bb9\u53ca\u4fee\u6539 HPA \u7684\u4e0a\u9650\uff1bCronHPA \u901a\u8fc7\u8bc6\u522b CronHPA \u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e HPA \u7684\u914d\u7f6e\u95f4\u7684\u8f83\u5c0f\u503c\uff0c\u5224\u65ad\u662f\u5426\u9700\u8981\u4fee\u6539 HPA \u7684\u4e0b\u9650\u3002

                "},{"location":"kpanda/user-guide/scale/install-cronhpa.html","title":"\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6","text":"

                \u5bb9\u5668\u526f\u672c\u5b9a\u65f6\u6c34\u5e73\u6269\u7f29\u5bb9\u7b56\u7565\uff08CronHPA\uff09\u80fd\u591f\u4e3a\u5468\u671f\u6027\u9ad8\u5e76\u53d1\u5e94\u7528\u63d0\u4f9b\u7a33\u5b9a\u7684\u8ba1\u7b97\u8d44\u6e90\u4fdd\u969c\uff0c kubernetes-cronhpa-controller \u5219\u662f\u5b9e\u73b0 CronHPA \u7684\u5173\u952e\u7ec4\u4ef6\u3002

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                Note

                \u4e3a\u4e86\u4f7f\u7528 CornHPA\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u8fd8\u8981\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                "},{"location":"kpanda/user-guide/scale/install-cronhpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"kpanda/user-guide/scale/install-cronhpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 CronHPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.3.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                4. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                  • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                  • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 1.3.0 \u7248\u672c\u4e3a\u4f8b\u3002
                  • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                  • \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                  • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                  Note

                  \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                5. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                  Warning

                  \u5982\u9700\u5220\u9664 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                  \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                6. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa CronHPA \u7b56\u7565\u4e86\u3002

                "},{"location":"kpanda/user-guide/scale/install-metrics-server.html","title":"\u5b89\u88c5 metrics-server \u63d2\u4ef6","text":"

                metrics-server \u662f Kubernetes \u5185\u7f6e\u7684\u8d44\u6e90\u4f7f\u7528\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e\u5f39\u6027\u4f38\u7f29\uff08HPA\uff09\u7b56\u7565\u6765\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u81ea\u52a8\u6c34\u5e73\u4f38\u7f29 Pod \u526f\u672c\u3002

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 metrics-server \u3002

                "},{"location":"kpanda/user-guide/scale/install-metrics-server.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b89\u88c5 metrics-server \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"kpanda/user-guide/scale/install-metrics-server.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                1. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u4e0b\u7684\u5f39\u6027\u4f38\u7f29\u9875\u9762\uff0c\u70b9\u51fb \u53bb\u5b89\u88c5 \uff0c\u8fdb\u5165 metrics-server \u63d2\u4ef6\u5b89\u88c5\u754c\u9762\u3002

                2. \u9605\u8bfb metrics-server \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u60a8\u5b89\u88c5 3.8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u3002

                3. \u5728\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u914d\u7f6e\u57fa\u672c\u53c2\u6570\u3002

                  • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                  • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u3002
                  • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                  • \u5931\u8d25\u5220\u9664\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                  • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u5b89\u88c5\u8fc7\u7a0b\u65e5\u5fd7\u7684\u8be6\u7ec6\u8f93\u51fa\u3002

                  Note

                  \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                4. \u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e

                  • \u5982\u679c\u96c6\u7fa4\u7f51\u7edc\u65e0\u6cd5\u8bbf\u95ee k8s.gcr.io \u4ed3\u5e93\uff0c\u8bf7\u5c1d\u8bd5\u4fee\u6539 repositort \u53c2\u6570\u4e3a repository: k8s.m.daocloud.io/metrics-server/metrics-server

                  • \u5b89\u88c5 metrics-server \u63d2\u4ef6\u8fd8\u9700\u63d0\u4f9b SSL \u8bc1\u4e66\u3002\u5982\u9700\u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\uff0c\u9700\u8981\u5728 defaultArgs: \u5904\u6dfb\u52a0 - --kubelet-insecure-tls \u53c2\u6570\u3002

                  \u70b9\u51fb\u67e5\u770b\u63a8\u8350\u7684 YAML \u53c2\u6570
                  image:\n  repository: k8s.m.daocloud.io/metrics-server/metrics-server # \u5c06\u4ed3\u5e93\u6e90\u5730\u5740\u4fee\u6539\u4e3a k8s.m.daocloud.io\n  tag: ''\n  pullPolicy: IfNotPresent\nimagePullSecrets: []\nnameOverride: ''\nfullnameOverride: ''\nserviceAccount:\n  create: true\n  annotations: {}\n  name: ''\nrbac:\n  create: true\n  pspEnabled: false\napiService:\n  create: true\npodLabels: {}\npodAnnotations: {}\npodSecurityContext: {}\nsecurityContext:\n  allowPrivilegeEscalation: false\n  readOnlyRootFilesystem: true\n  runAsNonRoot: true\n  runAsUser: 1000\npriorityClassName: system-cluster-critical\ncontainerPort: 4443\nhostNetwork:\n  enabled: false\nreplicas: 1\nupdateStrategy: {}\npodDisruptionBudget:\n  enabled: false\n  minAvailable: null\n  maxUnavailable: null\ndefaultArgs:\n  - '--cert-dir=/tmp'\n  - '--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname'\n  - '--kubelet-use-node-status-port'\n  - '--metric-resolution=15s'\n  - --kubelet-insecure-tls # \u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\nargs: []\nlivenessProbe:\n  httpGet:\n    path: /livez\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 0\n  periodSeconds: 10\n  failureThreshold: 3\nreadinessProbe:\n  httpGet:\n    path: /readyz\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 20\n  periodSeconds: 10\n  failureThreshold: 3\nservice:\n  type: ClusterIP\n  port: 443\n  annotations: {}\n  labels: {}\nmetrics:\n  enabled: false\nserviceMonitor:\n  enabled: false\n  additionalLabels: {}\n  interval: 1m\n  scrapeTimeout: 10s\nresources: {}\nextraVolumeMounts: []\nextraVolumes: []\nnodeSelector: {}\ntolerations: []\naffinity: {}\n
                5. \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 metrics-server \u63d2\u4ef6\u7684\u5b89\u88c5\uff0c\u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c \u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                Note

                \u5220\u9664 metrics-server \u63d2\u4ef6\u65f6\uff0c\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5f7b\u5e95\u5220\u9664\u8be5\u63d2\u4ef6\u3002\u5982\u679c\u4ec5\u5728\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u5220\u9664 metrics-server \uff0c \u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u5e94\u7528\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u5e94\u7528\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                "},{"location":"kpanda/user-guide/scale/install-vpa.html","title":"\u5b89\u88c5 vpa \u63d2\u4ef6","text":"

                \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u80fd\u591f\u8ba9\u96c6\u7fa4\u7684\u8d44\u6e90\u914d\u7f6e\u66f4\u52a0\u5408\u7406\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002 vpa \u5219\u662f\u5b9e\u73b0\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7684\u5173\u952e\u7ec4\u4ef6\u3002

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                \u4e3a\u4e86\u4f7f\u7528 VPA \u7b56\u7565\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 __vpa__ \u63d2\u4ef6\uff0c\u8fd8\u8981[\u5b89\u88c5 __metrics-server__ \u63d2\u4ef6](install-metrics-server.md)\u3002\n
                "},{"location":"kpanda/user-guide/scale/install-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b89\u88c5 vpa \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"kpanda/user-guide/scale/install-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 VPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                  3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.5.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                  4. \u67e5\u770b\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                  - \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002 - \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002 - \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.5.0 \u7248\u672c\u4e3a\u4f8b\u3002 - \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002 - \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002 - \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                  Note

                  \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                3. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                  Warning

                  \u5982\u9700\u5220\u9664 vpa \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                  \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                4. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa VPA \u7b56\u7565\u4e86\u3002

                "},{"location":"kpanda/user-guide/scale/knative/install.html","title":"\u5b89\u88c5","text":"

                Knative \u662f\u4e00\u4e2a\u9762\u5411\u65e0\u670d\u52a1\u5668\u90e8\u7f72\u7684\u8de8\u5e73\u53f0\u89e3\u51b3\u65b9\u6848\u3002

                "},{"location":"kpanda/user-guide/scale/knative/install.html#_2","title":"\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u96c6\u7fa4\uff0c\u70b9\u51fb\u4fa7\u8fb9\u680f Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u53f3\u4fa7\u4e0a\u65b9\u641c\u7d22\u6846\u8f93\u5165 knative \uff0c\u7136\u540e\u6309\u56de\u8f66\u952e\u641c\u7d22\u3002

                2. \u70b9\u51fb\u641c\u7d22\u51fa\u7684 knative-operator \uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002\u4f60\u53ef\u4ee5\u5728\u8be5\u754c\u9762\u67e5\u770b\u53ef\u7528\u7248\u672c\u4ee5\u53ca Helm values \u7684 Parameters \u53ef\u9009\u9879\u3002

                3. \u70b9\u51fb\u5b89\u88c5\u6309\u94ae\u540e\uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002

                4. \u8f93\u5165\u540d\u79f0\uff0c\u5b89\u88c5\u79df\u6237\uff0c\u5efa\u8bae\u52fe\u9009 \u5c31\u7eea\u7b49\u5f85 \u548c \u8be6\u7ec6\u65e5\u5fd7 \u3002

                5. \u5728\u4e0b\u65b9\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u52fe\u9009 Serving \uff0c\u5e76\u8f93\u5165 Knative Serving \u7ec4\u4ef6\u7684\u5b89\u88c5\u79df\u6237\uff0c\u4f1a\u5728\u5b89\u88c5\u540e\u90e8\u7f72 Knative Serving \u7ec4\u4ef6\uff0c\u8be5\u7ec4\u4ef6\u7531 Knative Operator \u7ba1\u7406\u3002

                "},{"location":"kpanda/user-guide/scale/knative/knative.html","title":"Kantive \u4ecb\u7ecd","text":"

                Knative \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u9ad8\u5c42\u6b21\u7684\u62bd\u8c61\uff0c\u7b80\u5316\u5e76\u52a0\u901f\u4e86\u5728 Kubernetes \u4e0a\u6784\u5efa\u3001\u90e8\u7f72\u548c\u7ba1\u7406\u5e94\u7528\u7684\u8fc7\u7a0b\u3002\u5b83\u4f7f\u5f97\u5f00\u53d1\u4eba\u5458\u80fd\u591f\u66f4\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u5b9e\u73b0\uff0c\u800c\u5c06\u5927\u90e8\u5206\u57fa\u7840\u8bbe\u65bd\u548c\u8fd0\u7ef4\u5de5\u4f5c\u4ea4\u7ed9 Knative \u53bb\u5904\u7406\uff0c\u4ece\u800c\u663e\u8457\u63d0\u9ad8\u751f\u4ea7\u529b\u3002

                "},{"location":"kpanda/user-guide/scale/knative/knative.html#_1","title":"\u7ec4\u4ef6","text":"

                knative-operator \u8fd0\u884c\u7ec4\u4ef6\u5982\u4e0b\u3002

                knative-operator   knative-operator-58f7d7db5c-7f6r5      1/1     Running     0     6m55s\nknative-operator   operator-webhook-667dc67bc-qvrv4       1/1     Running     0     6m55s\n

                knative-serving \u7ec4\u4ef6\u5982\u4e0b\u3002

                knative-serving        3scale-kourier-gateway-d69fbfbd-bd8d8   1/1     Running     0                 7m13s\nknative-serving        activator-7c6fddd698-wdlng              1/1     Running     0                 7m3s\nknative-serving        autoscaler-8f4b876bb-kd25p              1/1     Running     0                 7m17s\nknative-serving        autoscaler-hpa-5f7f74679c-vkc7p         1/1     Running     0                 7m15s\nknative-serving        controller-789c896c46-tfvsv             1/1     Running     0                 7m17s\nknative-serving        net-kourier-controller-7db578c889-7gd5l 1/1     Running     0                 7m14s\nknative-serving        webhook-5c88b94c5-78x7m                 1/1     Running     0                 7m1s\nknative-serving        storage-version-migration-serving-serving-1.12.2-t7zvd   0/1  Completed   0   7m15s\n
                \u7ec4\u4ef6 \u4f5c\u7528 Activator \u5bf9\u8bf7\u6c42\u6392\u961f\uff08\u5982\u679c\u4e00\u4e2a Knative Service \u5df2\u7ecf\u7f29\u51cf\u5230\u96f6\uff09\u3002\u8c03\u7528 autoscaler\uff0c\u5c06\u7f29\u51cf\u5230 0 \u7684\u670d\u52a1\u6062\u590d\u5e76\u8f6c\u53d1\u6392\u961f\u7684\u8bf7\u6c42\u3002Activator \u8fd8\u53ef\u4ee5\u5145\u5f53\u8bf7\u6c42\u7f13\u51b2\u5668\uff0c\u5904\u7406\u7a81\u53d1\u6d41\u91cf\u3002 Autoscaler Autoscaler \u8d1f\u8d23\u6839\u636e\u914d\u7f6e\u3001\u6307\u6807\u548c\u8fdb\u5165\u7684\u8bf7\u6c42\u6765\u7f29\u653e Knative \u670d\u52a1\u3002 Controller \u7ba1\u7406 Knative CR \u7684\u72b6\u6001\u3002\u5b83\u4f1a\u76d1\u89c6\u591a\u4e2a\u5bf9\u8c61\uff0c\u7ba1\u7406\u4f9d\u8d56\u8d44\u6e90\u7684\u751f\u547d\u5468\u671f\uff0c\u5e76\u66f4\u65b0\u8d44\u6e90\u72b6\u6001\u3002 Queue-Proxy Sidecar \u5bb9\u5668\uff0c\u6bcf\u4e2a Knative Service \u90fd\u4f1a\u6ce8\u5165\u4e00\u4e2a\u3002\u8d1f\u8d23\u6536\u96c6\u6d41\u91cf\u6570\u636e\u5e76\u62a5\u544a\u7ed9 Autoscaler\uff0cAutoscaler \u6839\u636e\u8fd9\u4e9b\u6570\u636e\u548c\u9884\u8bbe\u7684\u89c4\u5219\u6765\u53d1\u8d77\u6269\u5bb9\u6216\u7f29\u5bb9\u8bf7\u6c42\u3002 Webhooks Knative Serving \u6709\u51e0\u4e2a Webhooks \u8d1f\u8d23\u9a8c\u8bc1\u548c\u53d8\u66f4 Knative \u8d44\u6e90\u3002"},{"location":"kpanda/user-guide/scale/knative/knative.html#ingress","title":"Ingress \u6d41\u91cf\u5165\u53e3\u65b9\u6848","text":"\u65b9\u6848 \u9002\u7528\u573a\u666f Istio \u5982\u679c\u5df2\u7ecf\u7528\u4e86 Istio\uff0c\u53ef\u4ee5\u9009\u62e9 Istio \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Contour \u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u7ecf\u542f\u7528\u4e86 Contour\uff0c\u53ef\u4ee5\u9009\u62e9 Contour \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Kourier \u5982\u679c\u5728\u6ca1\u6709\u4e0a\u8ff0 2 \u79cd Ingress \u7ec4\u4ef6\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 Knative \u57fa\u4e8e Envoy \u5b9e\u73b0\u7684 Kourier Ingress \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u3002"},{"location":"kpanda/user-guide/scale/knative/knative.html#autoscaler","title":"Autoscaler \u65b9\u6848\u5bf9\u6bd4","text":"Autoscaler \u7c7b\u578b \u662f\u5426\u4e3a Knative Serving \u6838\u5fc3\u90e8\u5206 \u9ed8\u8ba4\u542f\u7528 Scale to Zero \u652f\u6301 \u57fa\u4e8e CPU \u7684 Autoscaling \u652f\u6301 Knative Pod Autoscaler (KPA) \u662f \u662f \u662f \u5426 Horizontal Pod Autoscaler (HPA) \u5426 \u9700\u5b89\u88c5 Knative Serving \u540e\u542f\u7528 \u5426 \u662f"},{"location":"kpanda/user-guide/scale/knative/knative.html#crd","title":"CRD","text":"\u8d44\u6e90\u7c7b\u578b API \u540d\u79f0 \u63cf\u8ff0 Services service.serving.knative.dev \u81ea\u52a8\u7ba1\u7406 Workload \u7684\u6574\u4e2a\u751f\u547d\u5468\u671f\uff0c\u63a7\u5236\u5176\u4ed6\u5bf9\u8c61\u7684\u521b\u5efa\uff0c\u786e\u4fdd\u5e94\u7528\u5177\u6709 Routes\u3001Configurations \u4ee5\u53ca\u6bcf\u6b21\u66f4\u65b0\u65f6\u7684\u65b0 revision\u3002 Routes route.serving.knative.dev \u5c06\u7f51\u7edc\u7aef\u70b9\u6620\u5c04\u5230\u4e00\u4e2a\u6216\u591a\u4e2a\u4fee\u8ba2\u7248\u672c\uff0c\u652f\u6301\u6d41\u91cf\u5206\u914d\u548c\u7248\u672c\u8def\u7531\u3002 Configurations configuration.serving.knative.dev \u7ef4\u62a4\u90e8\u7f72\u7684\u671f\u671b\u72b6\u6001\uff0c\u63d0\u4f9b\u4ee3\u7801\u548c\u914d\u7f6e\u4e4b\u95f4\u7684\u5206\u79bb\uff0c\u9075\u5faa Twelve-Factor \u5e94\u7528\u7a0b\u5e8f\u65b9\u6cd5\u8bba\uff0c\u4fee\u6539\u914d\u7f6e\u4f1a\u521b\u5efa\u65b0\u7684 revision\u3002 Revisions revision.serving.knative.dev \u6bcf\u6b21\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u4fee\u6539\u7684\u65f6\u95f4\u70b9\u5feb\u7167\uff0c\u662f\u4e0d\u53ef\u53d8\u5bf9\u8c61\uff0c\u53ef\u6839\u636e\u6d41\u91cf\u81ea\u52a8\u6269\u5bb9\u548c\u7f29\u5bb9\u3002"},{"location":"kpanda/user-guide/scale/knative/playground.html","title":"Knative \u4f7f\u7528\u5b9e\u8df5","text":"

                \u5728\u672c\u8282\u4e2d\uff0c\u6211\u4eec\u5c06\u901a\u8fc7\u51e0\u4e2a\u5b9e\u8df5\u6765\u6df1\u5165\u4e86\u89e3\u5b66\u4e60 Knative\u3002

                "},{"location":"kpanda/user-guide/scale/knative/playground.html#case-1-hello-world","title":"case 1 - Hello World","text":"
                apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                \u53ef\u4ee5\u4f7f\u7528 kubectl \u5df2\u90e8\u7f72\u7684\u5e94\u7528\u7684\u72b6\u6001\uff0c\u8fd9\u4e2a\u5e94\u7528\u7531 knative \u81ea\u52a8\u914d\u7f6e\u4e86 ingress \u548c\u4f38\u7f29\u5668\u3002

                ~ kubectl get service.serving.knative.dev/hello\nNAME    URL                                              LATESTCREATED   LATESTREADY   READY   REASON\nhello   http://hello.knative-serving.knative.loulan.me   hello-00001     hello-00001   True\n

                \u90e8\u7f72\u51fa\u7684 Pod YAML \u5982\u4e0b\uff0c\u7531 2 \u4e2a Pod \u7ec4\u6210\uff1auser-container \u548c queue-proxy\u3002

                apiVersion: v1\nkind: Pod\nmetadata:\n  name: hello-00003-deployment-5fcb8ccbf-7qjfk\nspec:\n  containers:\n  - name: user-container\n  - name: queue-proxy\n

                \u8bf7\u6c42\u6d41\uff1a

                1. case1 \u5728\u4f4e\u6d41\u91cf\u6216\u96f6\u6d41\u91cf\u65f6\uff0c\u6d41\u91cf\u5c06\u8def\u7531\u5230 activator
                2. case2 \u6d41\u91cf\u5927\u65f6\uff0c\u6d41\u91cf\u5927\u4e8e target-burst-capacity \u65f6\u624d\u76f4\u63a5\u8def\u7531\u5230 Pod
                  1. \u914d\u7f6e\u4e3a 0\uff0c\u53ea\u6709\u4ece 0 \u6269\u5bb9\u5b58\u5728
                  2. \u914d\u7f6e\u4e3a -1\uff0cactivator \u4f1a\u4e00\u76f4\u5b58\u5728\u8bf7\u6c42\u8def\u5f84
                  3. \u914d\u7f6e\u4e3a >0\uff0c\u89e6\u53d1\u6269\u7f29\u5bb9\u4e4b\u524d\uff0c\u7cfb\u7edf\u80fd\u591f\u989d\u5916\u5904\u7406\u7684\u5e76\u53d1\u8bf7\u6c42\u6570\u91cf\u3002
                3. case3 \u6d41\u91cf\u518d\u53d8\u5c0f\u65f6\uff0c\u6d41\u91cf\u4f4e\u4e8e current_demand + target-burst-capacity > (pods * concurrency-target) \u65f6\u5c06\u518d\u6b21\u8def\u7531\u5230 activator

                  \u5f85\u5904\u7406\u7684\u8bf7\u6c42\u603b\u6570 + \u80fd\u63a5\u53d7\u7684\u8d85\u8fc7\u76ee\u6807\u5e76\u53d1\u6570\u7684\u8bf7\u6c42\u6570\u91cf > \u6bcf\u4e2a Pod \u7684\u76ee\u6807\u5e76\u53d1\u6570 * Pod \u6570\u91cf

                "},{"location":"kpanda/user-guide/scale/knative/playground.html#case-2-","title":"case 2 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29","text":"

                \u6211\u4eec\u9996\u5148\u5728\u96c6\u7fa4\u5e94\u7528\u4e0b\u9762 YAML \u5b9a\u4e49\u3002

                apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                \u6267\u884c\u4e0b\u9762\u547d\u4ee4\u6d4b\u8bd5\uff0c\u5e76\u53ef\u4ee5\u901a\u8fc7 kubectl get pods -A -w \u6765\u89c2\u5bdf\u6269\u5bb9\u7684 Pod\u3002

                wrk -t2 -c4 -d6s http://hello.knative-serving.knative.daocloud.io/\n
                "},{"location":"kpanda/user-guide/scale/knative/playground.html#case-3-","title":"case 3 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29\uff0c\u8fbe\u5230\u7279\u5b9a\u6bd4\u4f8b\u63d0\u524d\u6269\u5bb9","text":"

                \u6211\u4eec\u53ef\u4ee5\u5f88\u8f7b\u677e\u7684\u5b9e\u73b0\uff0c\u4f8b\u5982\u9650\u5236\u6bcf\u4e2a\u5bb9\u5668\u5e76\u53d1\u4e3a 10\uff0c\u53ef\u4ee5\u901a\u8fc7 autoscaling.knative.dev/target-utilization-percentage: 70 \u6765\u5b9e\u73b0\uff0c\u8fbe\u5230 70% \u5c31\u5f00\u59cb\u6269\u5bb9 Pod\u3002

                apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"10\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/target-utilization-percentage: \"70\" \n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/metric: \"concurrency\"\n \u00a0 \u00a0 spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n
                "},{"location":"kpanda/user-guide/scale/knative/playground.html#case-4-","title":"case 4 - \u7070\u5ea6\u53d1\u5e03/\u6d41\u91cf\u767e\u5206\u6bd4","text":"

                \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 spec.traffic \u5b9e\u73b0\u5230\u6bcf\u4e2a\u7248\u672c\u6d41\u91cf\u7684\u63a7\u5236\u3002

                apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"  \n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"         \n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n  traffic:\n  - latestRevision: true\n    percent: 50\n  - latestRevision: false\n    percent: 50\n    revisionName: hello-00001\n
                "},{"location":"kpanda/user-guide/scale/knative/scene.html","title":"\u4f7f\u7528\u573a\u666f","text":""},{"location":"kpanda/user-guide/scale/knative/scene.html#_2","title":"\u9002\u5408\u7684\u573a\u666f","text":"
                • \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1
                • \u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1
                • \u5927\u91cf\u5e94\u7528\u9700\u8981\u7f29\u5bb9\u5230 0 \u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387
                • AI Serving \u670d\u52a1\uff0c\u57fa\u4e8e\u7279\u5b9a\u6307\u6807\u8fdb\u884c\u6269\u5bb9

                Tip

                \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1\u4ee5\u53ca\u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1\uff0c\u63a8\u8350\u4f7f\u7528 HPA \u548c VPA \u80fd\u529b\u3002

                "},{"location":"kpanda/user-guide/scale/knative/scene.html#_3","title":"\u4e0d\u9002\u5408\u7684\u573a\u666f","text":"
                • \u957f\u8fde\u63a5\u4e1a\u52a1
                • \u5ef6\u65f6\u654f\u611f\u4e1a\u52a1
                • \u57fa\u4e8e cookie \u7684\u6d41\u91cf\u5206\u6d41
                • \u57fa\u4e8e header \u7684\u6d41\u91cf\u5206\u6d41
                "},{"location":"kpanda/user-guide/security/index.html","title":"\u5b89\u5168\u626b\u63cf\u7c7b\u578b","text":"

                \u5728Kubernetes\uff08\u7b80\u79f0K8s\uff09\u73af\u5883\u4e2d\uff0c\u5b89\u5168\u626b\u63cf\u662f\u786e\u4fdd\u96c6\u7fa4\u5b89\u5168\u6027\u7684\u5173\u952e\u63aa\u65bd\u4e4b\u4e00\u3002\u5176\u4e2d\uff0c\u5408\u89c4\u6027\u626b\u63cf\uff08\u57fa\u4e8eCIS Benchmark\uff09\u3001\u6743\u9650\u626b\u63cf\uff08\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\uff09\u3001\u6f0f\u6d1e\u626b\u63cf\uff08\u57fa\u4e8e kube-hunter\uff09\u662f\u4e09\u79cd\u5e38\u89c1\u4e14\u91cd\u8981\u7684\u5b89\u5168\u626b\u63cf\u624b\u6bb5\uff1a

                • \u5408\u89c4\u6027\u626b\u63cf\uff1a\u57fa\u4e8e CIS Benchmark \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u5b89\u5168\u626b\u63cf\u3002CIS Benchmark \u662f\u4e00\u5957\u5168\u7403\u516c\u8ba4\u7684\u6700\u4f73\u5b9e\u8df5\u6807\u51c6\uff0c\u4e3a Kubernetes \u96c6\u7fa4\u63d0\u4f9b\u4e86\u8be6\u7ec6\u7684\u5b89\u5168\u914d\u7f6e\u6307\u5357\u548c\u81ea\u52a8\u5316\u68c0\u67e5\u5de5\u5177\uff08\u5982Kube-Bench\uff09\uff0c\u5e2e\u52a9\u7ec4\u7ec7\u786e\u4fdd\u5176K8s\u96c6\u7fa4\u7b26\u5408\u5b89\u5168\u57fa\u7ebf\u8981\u6c42\uff0c\u4fdd\u62a4\u7cfb\u7edf\u548c\u6570\u636e\u514d\u53d7\u5a01\u80c1\u3002

                • \u6743\u9650\u626b\u63cf\uff1a\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\u3002\u6743\u9650\u626b\u63cf\u4e3b\u8981\u89e3\u51b3\u96c6\u7fa4\u8bbf\u95ee\u63a7\u5236\u548c\u64cd\u4f5c\u900f\u660e\u5ea6\u7684\u95ee\u9898\u3002\u901a\u8fc7\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u96c6\u7fa4\u7ba1\u7406\u5458\u80fd\u591f\u8ffd\u6eaf\u96c6\u7fa4\u8d44\u6e90\u7684\u8bbf\u95ee\u5386\u53f2\uff0c\u8bc6\u522b\u5f02\u5e38\u884c\u4e3a\uff0c\u5982\u672a\u7ecf\u6388\u6743\u7684\u8bbf\u95ee\u3001\u654f\u611f\u6570\u636e\u7684\u6cc4\u9732\u3001\u6709\u5b89\u5168\u6f0f\u6d1e\u7684\u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002\u8fd9\u5bf9\u4e8e\u6545\u969c\u6392\u67e5\u3001\u5b89\u5168\u4e8b\u4ef6\u54cd\u5e94\u4ee5\u53ca\u6ee1\u8db3\u5408\u89c4\u6027\u8981\u6c42\u81f3\u5173\u91cd\u8981\u3002\u6b64\u5916\uff0c\u6743\u9650\u626b\u63cf\u8fd8\u53ef\u4ee5\u5e2e\u52a9\u7ec4\u7ec7\u53d1\u73b0\u6f5c\u5728\u7684\u6743\u9650\u6ee5\u7528\u95ee\u9898\uff0c\u53ca\u65f6\u91c7\u53d6\u63aa\u65bd\u9632\u6b62\u5b89\u5168\u4e8b\u4ef6\u7684\u53d1\u751f\u3002

                • \u6f0f\u6d1e\u626b\u63cf\uff1a\u57fa\u4e8e kube-hunter\uff0c\u4e3b\u8981\u89e3\u51b3 Kubernetes \u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5df2\u77e5\u6f0f\u6d1e\u548c\u914d\u7f6e\u9519\u8bef\u95ee\u9898\u3002kube-hunter \u901a\u8fc7\u6a21\u62df\u653b\u51fb\u884c\u4e3a\uff0c\u80fd\u591f\u8bc6\u522b\u96c6\u7fa4\u4e2d\u53ef\u88ab\u6076\u610f\u5229\u7528\u7684\u6f0f\u6d1e\uff0c\u5982\u672a\u6388\u6743\u8bbf\u95ee\u3001\u66b4\u9732\u7684\u670d\u52a1\u548cAPI\u7aef\u70b9\u3001\u914d\u7f6e\u9519\u8bef\u7684\u89d2\u8272\u548c\u7ed1\u5b9a\u7b56\u7565\u7b49\u3002\u7279\u522b\u5730\uff0ckube-hunter\u80fd\u591f\u8bc6\u522b\u5e76\u62a5\u544a CVE \u6f0f\u6d1e\uff0c\u8fd9\u4e9b\u6f0f\u6d1e\u5982\u679c\u88ab\u6076\u610f\u5229\u7528\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u6cc4\u9732\u3001\u670d\u52a1\u4e2d\u65ad\u7b49\u4e25\u91cd\u540e\u679c\u3002CVE \u6f0f\u6d1e\u662f\u7531\u56fd\u9645\u77e5\u540d\u7684\u5b89\u5168\u7ec4\u7ec7\u5982MITRE\u6240\u5b9a\u4e49\u548c\u7ef4\u62a4\u7684\uff0cCVE\u6570\u636e\u5e93\u4e3a\u8f6f\u4ef6\u548c\u56fa\u4ef6\u4e2d\u7684\u5df2\u77e5\u6f0f\u6d1e\u63d0\u4f9b\u4e86\u552f\u4e00\u6807\u8bc6\u7b26\uff0c\u6210\u4e3a\u5168\u7403\u5b89\u5168\u793e\u533a\u5171\u540c\u9075\u5faa\u7684\u6807\u51c6\u3002kube-hunter \u901a\u8fc7\u5229\u7528 CVE \u6570\u636e\u5e93\u4e2d\u7684\u4fe1\u606f\uff0c\u80fd\u591f\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u8bc6\u522b\u5e76\u54cd\u5e94Kubernetes\u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\u3002

                "},{"location":"kpanda/user-guide/security/index.html#_2","title":"\u5408\u89c4\u6027\u626b\u63cf","text":"

                \u5408\u89c4\u6027\u626b\u63cf\u7684\u5bf9\u8c61\u662f\u96c6\u7fa4\u8282\u70b9\u3002\u626b\u63cf\u7ed3\u679c\u4e2d\u4f1a\u5217\u51fa\u626b\u63cf\u9879\u4ee5\u53ca\u626b\u63cf\u7ed3\u679c\uff0c\u5e76\u9488\u5bf9\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u4fee\u590d\u5efa\u8bae\u3002\u6709\u5173\u626b\u63cf\u65f6\u7528\u5230\u7684\u5177\u4f53\u5b89\u5168\u89c4\u5219\uff0c\u53ef\u53c2\u8003 CIS Kubernetes Benchmark

                \u68c0\u67e5\u4e0d\u540c\u7c7b\u578b\u7684\u8282\u70b9\u65f6\uff0c\u626b\u63cf\u7684\u4fa7\u91cd\u70b9\u6709\u6240\u4e0d\u540c\u3002

                • \u626b\u63cf\u63a7\u5236\u5e73\u9762\u8282\u70b9\uff08Controller\uff09

                  • \u5173\u6ce8 API Server \u3001 controller-manager \u3001 scheduler \u3001 kubelet \u7b49\u7cfb\u7edf\u7ec4\u4ef6\u7684\u5b89\u5168\u6027
                  • \u68c0\u67e5 Etcd \u6570\u636e\u5e93\u7684\u5b89\u5168\u914d\u7f6e
                  • \u68c0\u67e5\u96c6\u7fa4\u8eab\u4efd\u9a8c\u8bc1\u673a\u5236\u3001\u6388\u6743\u7b56\u7565\u548c\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u662f\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                • \u626b\u63cf\u5de5\u4f5c\u8282\u70b9\uff08Worker\uff09

                  • \u68c0\u67e5 kubelet\u3001Docker\u7b49\u5bb9\u5668\u8fd0\u884c\u65f6\u7684\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                  • \u68c0\u67e5\u5bb9\u5668\u955c\u50cf\u662f\u5426\u7ecf\u8fc7\u4fe1\u4efb\u9a8c\u8bc1
                  • \u68c0\u67e5\u8282\u70b9\u7684\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6

                Tip

                \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\uff0c\u7136\u540e\u57fa\u4e8e\u8be5\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002

                "},{"location":"kpanda/user-guide/security/index.html#_3","title":"\u6743\u9650\u626b\u63cf","text":"

                \u6743\u9650\u626b\u63cf\u4fa7\u91cd\u4e8e\u6743\u9650\u95ee\u9898\u5f15\u53d1\u7684\u5b89\u5168\u6f0f\u6d1e\u3002\u6743\u9650\u626b\u63cf\u53ef\u4ee5\u5e2e\u52a9\u7528\u6237\u8bc6\u522b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\uff0c\u6807\u8bc6\u54ea\u4e9b\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u5ba1\u67e5\u548c\u4fdd\u62a4\u63aa\u65bd\u3002\u901a\u8fc7\u6267\u884c\u8fd9\u4e9b\u68c0\u67e5\u9879\uff0c\u7528\u6237\u53ef\u4ee5\u66f4\u6e05\u695a\u3001\u66f4\u5168\u9762\u5730\u4e86\u89e3\u81ea\u5df1\u7684 Kubernetes \u73af\u5883\uff0c\u786e\u4fdd\u96c6\u7fa4\u73af\u5883\u7b26\u5408 Kubernetes \u7684\u6700\u4f73\u5b9e\u8df5\u548c\u5b89\u5168\u6807\u51c6\u3002

                \u5177\u4f53\u800c\u8a00\uff0c\u6743\u9650\u626b\u63cf\u652f\u6301\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                • \u626b\u63cf\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u8282\u70b9\u7684\u5065\u5eb7\u72b6\u6001\u3002

                • \u626b\u63cf\u96c6\u7fa4\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u51b5\uff0c\u5982 kube-apiserver \u3001 kube-controller-manager \u3001 kube-scheduler \u7b49\u3002

                • \u626b\u63cf\u5b89\u5168\u914d\u7f6e\uff1a\u68c0\u67e5 Kubernetes \u7684\u5b89\u5168\u914d\u7f6e

                  • API \u5b89\u5168\uff1a\u542f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 API \u7248\u672c\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u9002\u5f53\u7684 RBAC \u89d2\u8272\u548c\u6743\u9650\u9650\u5236\u7b49
                  • \u5bb9\u5668\u5b89\u5168\uff1a\u662f\u5426\u4f7f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 Image\u3001\u662f\u5426\u5f00\u653e\u4e86\u7279\u6743\u6a21\u5f0f\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u5408\u9002\u7684\u5b89\u5168\u4e0a\u4e0b\u6587\u7b49
                  • \u7f51\u7edc\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u5408\u9002\u7684\u7f51\u7edc\u7b56\u7565\u6765\u9650\u5236\u6d41\u91cf\uff0c\u662f\u5426\u4f7f\u7528\u4e86 TLS \u52a0\u5bc6\u7b49
                  • \u5b58\u50a8\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u9002\u5f53\u7684\u52a0\u5bc6\u3001\u8bbf\u95ee\u63a7\u5236\u7b49\u3002
                  • \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\uff1a\u662f\u5426\u8bbe\u7f6e\u4e86\u5fc5\u8981\u7684\u5b89\u5168\u63aa\u65bd\uff0c\u4f8b\u5982\u5bc6\u7801\u7ba1\u7406\u3001\u8de8\u7ad9\u811a\u672c\u653b\u51fb\u9632\u5fa1\u7b49\u3002
                • \u63d0\u4f9b\u8b66\u544a\u548c\u5efa\u8bae\uff1a\u5efa\u8bae\u96c6\u7fa4\u7ba1\u7406\u5458\u6267\u884c\u7684\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff0c\u4f8b\u5982\u5b9a\u671f\u8f6e\u6362\u8bc1\u4e66\u3001\u4f7f\u7528\u5f3a\u5bc6\u7801\u3001\u9650\u5236\u7f51\u7edc\u8bbf\u95ee\u7b49\u3002

                Tip

                \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5b89\u5168\u626b\u63cf\u3002

                "},{"location":"kpanda/user-guide/security/index.html#_4","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                \u6f0f\u6d1e\u626b\u63cf\u4fa7\u91cd\u4e8e\u626b\u63cf\u6f5c\u5728\u7684\u6076\u610f\u653b\u51fb\u548c\u5b89\u5168\u6f0f\u6d1e\uff0c\u4f8b\u5982\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\u3001SQL \u6ce8\u5165\u3001XSS \u653b\u51fb\u7b49\uff0c\u4ee5\u53ca\u4e00\u4e9b\u9488\u5bf9 Kubernetes \u7279\u5b9a\u7684\u653b\u51fb\u3002\u6700\u7ec8\u7684\u626b\u63cf\u62a5\u544a\u4f1a\u5217\u51fa\u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u6f0f\u6d1e\uff0c\u5e76\u63d0\u51fa\u4fee\u590d\u5efa\u8bae\u3002

                Tip

                \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6f0f\u6d1e\u626b\u63cf\u3002

                "},{"location":"kpanda/user-guide/security/audit.html","title":"\u6743\u9650\u626b\u63cf","text":"

                \u4e3a\u4e86\u4f7f\u7528\u6743\u9650\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                "},{"location":"kpanda/user-guide/security/audit.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6743\u9650\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                  • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                  • \u626b\u63cf\u7c7b\u578b\uff1a

                    • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                    • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                  • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                "},{"location":"kpanda/user-guide/security/audit.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                  • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                  • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                  • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                  • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                "},{"location":"kpanda/user-guide/security/audit.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                  \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                  • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                  • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                  • \u626b\u63cf\u9879\u603b\u6570\u3001\u8b66\u544a\u6570\u3001\u9519\u8bef\u6570
                  • \u5728\u5468\u671f\u6027\u626b\u63cf\u7b56\u7565\u751f\u6210\u7684\u626b\u63cf\u62a5\u544a\u4e2d\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u9891\u7387
                  • \u626b\u63cf\u5f00\u59cb\u7684\u65f6\u95f4
                  • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u88ab\u68c0\u67e5\u7684\u8d44\u6e90\u3001\u8d44\u6e90\u7c7b\u578b\u3001\u626b\u63cf\u7ed3\u679c\u3001\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u8be6\u60c5

                "},{"location":"kpanda/user-guide/security/hunter.html","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                \u4e3a\u4e86\u4f7f\u7528\u6f0f\u6d1e\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                "},{"location":"kpanda/user-guide/security/hunter.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6f0f\u6d1e\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                  • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                  • \u626b\u63cf\u7c7b\u578b\uff1a

                    • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                    • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                  • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                "},{"location":"kpanda/user-guide/security/hunter.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                  • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                  • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                  • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                  • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                "},{"location":"kpanda/user-guide/security/hunter.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                  \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                  • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                  • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                  • \u626b\u63cf\u9891\u7387
                  • \u98ce\u9669\u603b\u6570\u3001\u9ad8\u98ce\u9669\u6570\u3001\u4e2d\u98ce\u9669\u6570\u3001\u4f4e\u98ce\u9669\u6570
                  • \u626b\u63cf\u65f6\u95f4
                  • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u6f0f\u6d1e ID\u3001\u6f0f\u6d1e\u7c7b\u578b\u3001\u6f0f\u6d1e\u540d\u79f0\u3001\u6f0f\u6d1e\u63cf\u8ff0\u7b49

                "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html","title":"\u79bb\u7ebf\u5347\u7ea7\u5b89\u5168\u7ba1\u7406\u6a21\u5757","text":"

                \u672c\u9875\u8bf4\u660e\u4e0b\u8f7d\u5b89\u5168\u7ba1\u7406\u6a21\u5757\u540e\uff0c\u5e94\u8be5\u5982\u4f55\u5b89\u88c5\u6216\u5347\u7ea7\u3002

                Info

                \u4e0b\u8ff0\u547d\u4ee4\u6216\u811a\u672c\u5185\u51fa\u73b0\u7684 dowl \u5b57\u6837\u662f\u5b89\u5168\u7ba1\u7406\u6a21\u5757\u7684\u5185\u90e8\u5f00\u53d1\u4ee3\u53f7\u3002

                "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html#_2","title":"\u4ece\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u52a0\u8f7d\u955c\u50cf","text":"

                \u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u9762\u4e24\u79cd\u65b9\u5f0f\u4e4b\u4e00\u52a0\u8f7d\u955c\u50cf\uff0c\u5f53\u73af\u5883\u4e2d\u5b58\u5728\u955c\u50cf\u4ed3\u5e93\u65f6\uff0c\u5efa\u8bae\u9009\u62e9 chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93\uff0c\u8be5\u65b9\u6cd5\u66f4\u52a0\u9ad8\u6548\u4fbf\u6377\u3002

                "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html#chart-syncer","title":"\u65b9\u5f0f\u4e00\uff1a\u4f7f\u7528 chart-syncer \u540c\u6b65\u955c\u50cf","text":"

                \u4f7f\u7528 chart-syncer \u53ef\u4ee5\u5c06\u60a8\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u7684 chart \u53ca\u5176\u4f9d\u8d56\u7684\u955c\u50cf\u5305\u4e0a\u4f20\u81f3\u5b89\u88c5\u5668\u90e8\u7f72 DCE \u65f6\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u3002

                \u9996\u5148\u627e\u5230\u4e00\u53f0\u80fd\u591f\u8fde\u63a5\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7684\u8282\u70b9\uff08\u5982\u706b\u79cd\u8282\u70b9\uff09\uff0c\u5728\u8282\u70b9\u4e0a\u521b\u5efa load-image.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u586b\u5165\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7b49\u914d\u7f6e\u4fe1\u606f\u3002

                1. \u521b\u5efa load-image.yaml

                  Note

                  \u8be5 YAML \u6587\u4ef6\u4e2d\u7684\u5404\u9879\u53c2\u6570\u5747\u4e3a\u5fc5\u586b\u9879\u3002

                  \u5df2\u6dfb\u52a0 Helm repo\u672a\u6dfb\u52a0 Helm repo

                  \u82e5\u5f53\u524d\u73af\u5883\u5df2\u5b89\u88c5 chart repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\u3002

                  load-image.yaml
                  source:\n  intermediateBundlesPath: dowl # \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84\ntarget:\n  containerRegistry: 10.16.10.111 # \u955c\u50cf\u4ed3\u5e93\u5730\u5740\n  containerRepository: release.daocloud.io/dowl # \u955c\u50cf\u4ed3\u5e93\u8def\u5f84\n  repo:\n    kind: HARBOR # Helm Chart \u4ed3\u5e93\u7c7b\u522b\n    url: http://10.16.10.111/chartrepo/release.daocloud.io # Helm \u4ed3\u5e93\u5730\u5740\n    auth:\n    username: \"admin\" # \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d\n    password: \"Harbor12345\" # \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801\n  containers:\n    auth:\n      username: \"admin\" # Helm \u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # Helm \u4ed3\u5e93\u5bc6\u7801\n

                  \u82e5\u5f53\u524d\u8282\u70b9\u4e0a\u672a\u6dfb\u52a0 helm repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\uff0c\u5e76\u5b58\u653e\u5728\u6307\u5b9a\u8def\u5f84\u3002

                  load-image.yaml
                  source:\n  intermediateBundlesPath: dowl # \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84\ntarget:\n  containerRegistry: 10.16.10.111 # \u955c\u50cf\u4ed3\u5e93 url\n  containerRepository: release.daocloud.io/dowl # \u955c\u50cf\u4ed3\u5e93\u8def\u5f84\n  repo:\n    kind: LOCAL\n    path: ./local-repo # chart \u672c\u5730\u8def\u5f84\n  containers:\n    auth:\n      username: \"admin\" # \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801\n
                2. \u6267\u884c\u540c\u6b65\u955c\u50cf\u547d\u4ee4\u3002

                  charts-syncer sync --config load-image.yaml\n
                "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html#docker-containerd","title":"\u65b9\u5f0f\u4e8c\uff1a\u4f7f\u7528 Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf","text":"

                \u89e3\u538b\u5e76\u52a0\u8f7d\u955c\u50cf\u6587\u4ef6\u3002

                1. \u89e3\u538b\u7b2c\u4e00\u5c42\u538b\u7f29\u5305\u3002

                  tar xvf dowl.amd64.tar\n

                  \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 1 \u4e2a\u65b0\u7684\u538b\u7f29\u5305\uff1a

                  • dowl.bundle.tar
                2. \u89e3\u538b\u65b0\u7684\u538b\u7f29\u5305\u3002

                  tar xvf dowl.bundle.tar\n

                  \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 3 \u4e2a\u6587\u4ef6\uff1a

                  • hints.yaml
                  • images.tar
                  • original-chart
                3. \u4ece\u672c\u5730\u52a0\u8f7d\u955c\u50cf\u5230 Docker \u6216 containerd\u3002

                  Dockercontainerd
                  docker load -i images.tar\n
                  ctr -n k8s.io image import images.tar\n

                Note

                \u6bcf\u4e2a node \u90fd\u9700\u8981\u505a Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf\u64cd\u4f5c\uff0c \u52a0\u8f7d\u5b8c\u6210\u540e\u9700\u8981 tag \u955c\u50cf\uff0c\u4fdd\u6301 Registry\u3001Repository \u4e0e\u5b89\u88c5\u65f6\u4e00\u81f4\u3002

                "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html#_3","title":"\u5347\u7ea7","text":"

                \u6709\u4e24\u79cd\u5347\u7ea7\u65b9\u5f0f\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u524d\u7f6e\u64cd\u4f5c\uff0c\u9009\u62e9\u5bf9\u5e94\u7684\u5347\u7ea7\u65b9\u6848\uff1a

                \u901a\u8fc7 helm repo \u5347\u7ea7\u901a\u8fc7 chart \u5305\u5347\u7ea7
                1. \u68c0\u67e5\u5b89\u5168\u7ba1\u7406 helm \u4ed3\u5e93\u662f\u5426\u5b58\u5728\u3002

                  helm repo list | grep dowl\n

                  \u82e5\u8fd4\u56de\u7ed3\u679c\u4e3a\u7a7a\u6216\u5982\u4e0b\u63d0\u793a\uff0c\u5219\u8fdb\u884c\u4e0b\u4e00\u6b65\uff1b\u53cd\u4e4b\u5219\u8df3\u8fc7\u4e0b\u4e00\u6b65\u3002

                  Error: no repositories to show\n
                2. \u6dfb\u52a0\u5b89\u5168\u7ba1\u7406\u7684 helm \u4ed3\u5e93\u3002

                  helm repo add dowl http://{harbor url}/chartrepo/{project}\n
                3. \u66f4\u65b0\u5b89\u5168\u7ba1\u7406\u7684 helm \u4ed3\u5e93\u3002

                  helm repo update dowl\n

                  helm \u7248\u672c\u8fc7\u4f4e\u4f1a\u5bfc\u81f4\u5931\u8d25\uff0c\u82e5\u5931\u8d25\uff0c\u8bf7\u5c1d\u8bd5\u6267\u884c helm update repo

                4. \u9009\u62e9\u60a8\u60f3\u5b89\u88c5\u7684\u5b89\u5168\u7ba1\u7406\u7248\u672c\uff08\u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\uff09\u3002

                  helm search repo dowl/dowl --versions\n
                  [root@master ~]# helm search repo dowl/dowl --versions\nNAME                   CHART VERSION  APP VERSION  DESCRIPTION\ndowl/dowl  0.4.0          v0.4.0       A Helm chart for dowl\n...\n
                5. \u5907\u4efd --set \u53c2\u6570\u3002

                  \u5728\u5347\u7ea7\u5b89\u5168\u7ba1\u7406\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                  helm get values dowl -n dowl-system -o yaml > bak.yaml\n
                6. \u66f4\u65b0 dowl crds (\u9700\u8981\u5148\u89e3\u538b\u5e76\u8fdb\u5165 original-chart \u6587\u4ef6)

                  helm pull dowl/dowl --version 0.4.0 && tar -zxf dowl-0.4.0.tgz\nkubectl apply -f dowl/crds\n
                7. \u6267\u884c helm upgrade \u3002

                  \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u5b57\u6bb5\u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                  export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                  helm upgrade dowl dowl/dowl \\\n  -n dowl-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry \\\n  --version 0.4.0\n
                1. \u5907\u4efd --set \u53c2\u6570\u3002

                  \u5728\u5347\u7ea7\u5b89\u5168\u7ba1\u7406\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                  helm get values dowl -n dowl-system -o yaml > bak.yaml\n
                2. \u66f4\u65b0 dowl crds (\u9700\u8981\u5148\u89e3\u538b\u5e76\u8fdb\u5165 original-chart \u6587\u4ef6)

                  kubectl apply -f ./crds\n
                3. \u6267\u884c helm upgrade \u3002

                  \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                  export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                  helm upgrade dowl . \\\n  -n dowl-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry\n
                "},{"location":"kpanda/user-guide/security/cis/config.html","title":"\u626b\u63cf\u914d\u7f6e","text":"

                \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u7684\u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\u3002\u57fa\u4e8e\u626b\u63cf\u914d\u7f6e\u518d\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3001\u6267\u884c\u626b\u63cf\u7b56\u7565\uff0c\u6700\u540e\u67e5\u770b\u626b\u63cf\u7ed3\u679c\u3002

                "},{"location":"kpanda/user-guide/security/cis/config.html#_2","title":"\u521b\u5efa\u626b\u63cf\u914d\u7f6e","text":"

                \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                2. \u9ed8\u8ba4\u8fdb\u5165 \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\uff0c\u70b9\u51fb \u626b\u63cf\u914d\u7f6e \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u914d\u7f6e \u3002

                3. \u586b\u5199\u914d\u7f6e\u540d\u79f0\u3001\u9009\u62e9\u914d\u7f6e\u6a21\u677f\u3001\u6309\u9700\u52fe\u9009\u626b\u63cf\u9879\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                  \u626b\u63cf\u6a21\u677f\uff1a\u76ee\u524d\u63d0\u4f9b\u4e86\u4e24\u4e2a\u6a21\u677f\u3002 kubeadm \u6a21\u677f\u9002\u7528\u4e8e\u4e00\u822c\u60c5\u51b5\u4e0b\u7684 Kubernetes \u96c6\u7fa4\u3002 daocloud \u6a21\u677f\u5728 kubeadm \u6a21\u677f\u57fa\u7840\u4e0a\uff0c\u7ed3\u5408 DCE 5.0 \u7684\u5e73\u53f0\u8bbe\u8ba1\u5ffd\u7565\u4e86\u4e0d\u9002\u7528\u4e8e DCE 5.0 \u7684\u626b\u63cf\u9879\u3002

                "},{"location":"kpanda/user-guide/security/cis/config.html#_3","title":"\u67e5\u770b\u626b\u63cf\u914d\u7f6e","text":"

                \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u626b\u63cf\u914d\u7f6e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u914d\u7f6e\u7684\u7c7b\u578b\u3001\u626b\u63cf\u9879\u6570\u91cf\u3001\u521b\u5efa\u65f6\u95f4\u3001\u914d\u7f6e\u6a21\u677f\uff0c\u4ee5\u53ca\u8be5\u914d\u7f6e\u542f\u7528\u7684\u5177\u4f53\u626b\u63cf\u9879\u3002

                "},{"location":"kpanda/user-guide/security/cis/config.html#_4","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u914d\u7f6e","text":"

                \u626b\u63cf\u914d\u7f6e\u521b\u5efa\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u66f4\u65b0\u914d\u7f6e\u6216\u5220\u9664\u8be5\u914d\u7f6e\u3002

                \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u63cf\u8ff0\u3001\u6a21\u677f\u548c\u626b\u63cf\u9879\u3002\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u3002
                • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e\u3002

                "},{"location":"kpanda/user-guide/security/cis/policy.html","title":"\u626b\u63cf\u7b56\u7565","text":""},{"location":"kpanda/user-guide/security/cis/policy.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"

                \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u4e4b\u540e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                2. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                  • \u626b\u63cf\u914d\u7f6e\uff1a\u9009\u62e9\u4e8b\u5148\u521b\u5efa\u597d\u7684\u626b\u63cf\u914d\u7f6e\u3002\u626b\u63cf\u914d\u7f6e\u89c4\u5b9a\u4e86\u9700\u8981\u6267\u884c\u54ea\u4e9b\u5177\u4f53\u7684\u626b\u63cf\u9879\u3002
                  • \u626b\u63cf\u7c7b\u578b\uff1a

                    • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                    • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                  • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                "},{"location":"kpanda/user-guide/security/cis/policy.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                  • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                  • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                  • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                  • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                "},{"location":"kpanda/user-guide/security/cis/report.html","title":"\u626b\u63cf\u62a5\u544a","text":"

                hide\uff1a - toc

                "},{"location":"kpanda/user-guide/security/cis/report.html#_1","title":"\u626b\u63cf\u62a5\u544a","text":"

                \u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u3002\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a\u6216\u5c06\u5176\u4e0b\u8f7d\u5230\u672c\u5730\u67e5\u770b\u3002

                • \u4e0b\u8f7d\u67e5\u770b\u626b\u63cf\u62a5\u544a

                  \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u70b9\u51fb\u62a5\u544a\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u4e0b\u8f7d \u3002

                • \u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a

                  \u70b9\u51fb\u67d0\u4e2a\u62a5\u544a\u7684\u540d\u79f0\uff0c\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b CIS \u5408\u89c4\u6027\u626b\u63cf\u7684\u62a5\u544a\u5185\u5bb9\u3002\u5177\u4f53\u5305\u62ec\uff1a

                  • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                  • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565\u548c\u626b\u63cf\u914d\u7f6e
                  • \u626b\u63cf\u5f00\u59cb\u65f6\u95f4
                  • \u626b\u63cf\u9879\u603b\u6570\u3001\u901a\u8fc7\u6570\u4e0e\u672a\u901a\u8fc7\u6570
                  • \u5bf9\u4e8e\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u5bf9\u5e94\u7684\u4fee\u590d\u5efa\u8bae
                  • \u5bf9\u4e8e\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u66f4\u5b89\u5168\u7684\u64cd\u4f5c\u5efa\u8bae

                "},{"location":"kpanda/user-guide/storage/pv.html","title":"\u6570\u636e\u5377(PV)","text":"

                \u6570\u636e\u5377\uff08PersistentVolume\uff0cPV\uff09\u662f\u96c6\u7fa4\u4e2d\u7684\u4e00\u5757\u5b58\u50a8\uff0c\u53ef\u7531\u7ba1\u7406\u5458\u4e8b\u5148\u5236\u5907\uff0c\u6216\u4f7f\u7528\u5b58\u50a8\u7c7b\uff08Storage Class\uff09\u6765\u52a8\u6001\u5236\u5907\u3002PV \u662f\u96c6\u7fa4\u8d44\u6e90\uff0c\u4f46\u62e5\u6709\u72ec\u7acb\u7684\u751f\u547d\u5468\u671f\uff0c\u4e0d\u4f1a\u968f\u7740 Pod \u8fdb\u7a0b\u7ed3\u675f\u800c\u88ab\u5220\u9664\u3002\u5c06 PV \u6302\u8f7d\u5230\u5de5\u4f5c\u8d1f\u8f7d\u53ef\u4ee5\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6301\u4e45\u5316\u3002PV \u4e2d\u4fdd\u5b58\u4e86\u53ef\u88ab Pod \u4e2d\u5bb9\u5668\u8bbf\u95ee\u7684\u6570\u636e\u76ee\u5f55\u3002

                "},{"location":"kpanda/user-guide/storage/pv.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377","text":"

                \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                "},{"location":"kpanda/user-guide/storage/pv.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> YAML \u521b\u5efa \u3002

                2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                "},{"location":"kpanda/user-guide/storage/pv.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> \u521b\u5efa\u6570\u636e\u5377(PV) \u3002

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                  • \u6570\u636e\u5377\u540d\u79f0\u3001\u6570\u636e\u5377\u7c7b\u578b\u3001\u6302\u8f7d\u8def\u5f84\u3001\u5377\u6a21\u5f0f\u3001\u8282\u70b9\u4eb2\u548c\u6027\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                  • \u6570\u636e\u5377\u7c7b\u578b\uff1a\u6709\u5173\u5377\u7c7b\u578b\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5377\u3002

                  • Local\uff1a\u5c06 Node \u8282\u70b9\u7684\u672c\u5730\u5b58\u50a8\u5305\u88c5\u6210 PVC \u63a5\u53e3\uff0c\u5bb9\u5668\u76f4\u63a5\u4f7f\u7528 PVC \u800c\u65e0\u9700\u5173\u6ce8\u5e95\u5c42\u7684\u5b58\u50a8\u7c7b\u578b\u3002Local \u5377\u4e0d\u652f\u6301\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\uff0c\u4f46\u652f\u6301\u914d\u7f6e\u8282\u70b9\u4eb2\u548c\u6027\uff0c\u53ef\u4ee5\u9650\u5236\u80fd\u4ece\u54ea\u4e9b\u8282\u70b9\u4e0a\u8bbf\u95ee\u8be5\u6570\u636e\u5377\u3002

                  • HostPath\uff1a\u4f7f\u7528 Node \u8282\u70b9\u7684\u6587\u4ef6\u7cfb\u7edf\u4e0a\u7684\u6587\u4ef6\u6216\u76ee\u5f55\u4f5c\u4e3a\u6570\u636e\u5377\uff0c\u4e0d\u652f\u6301\u57fa\u4e8e\u8282\u70b9\u4eb2\u548c\u6027\u7684 Pod \u8c03\u5ea6\u3002

                  • \u6302\u8f7d\u8def\u5f84\uff1a\u5c06\u6570\u636e\u5377\u6302\u8f7d\u5230\u5bb9\u5668\u4e2d\u7684\u67d0\u4e2a\u5177\u4f53\u76ee\u5f55\u4e0b\u3002

                  • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                    • ReadWriteOnce\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                    • ReadWriteMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                    • ReadOnlyMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                    • ReadWriteOncePod\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                  • \u56de\u6536\u7b56\u7565\uff1a

                    • Retain\uff1a\u4e0d\u5220\u9664 PV\uff0c\u4ec5\u5c06\u5176\u72b6\u6001\u53d8\u4e3a released \uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u56de\u6536\u3002\u6709\u5173\u5982\u4f55\u624b\u52a8\u56de\u6536\uff0c\u53ef\u53c2\u8003\u6301\u4e45\u5377\u3002
                    • Recycle\uff1a\u4fdd\u7559 PV \u4f46\u6e05\u7a7a\u5176\u4e2d\u7684\u6570\u636e\uff0c\u6267\u884c\u57fa\u672c\u7684\u64e6\u9664\u64cd\u4f5c\uff08 rm -rf /thevolume/* \uff09\u3002
                    • Delete\uff1a\u5220\u9664 PV \u65f6\u53ca\u5176\u4e2d\u7684\u6570\u636e\u3002
                  • \u5377\u6a21\u5f0f\uff1a

                    • \u6587\u4ef6\u7cfb\u7edf\uff1a\u6570\u636e\u5377\u5c06\u88ab Pod \u6302\u8f7d\u5230\u67d0\u4e2a\u76ee\u5f55\u3002\u5982\u679c\u6570\u636e\u5377\u7684\u5b58\u50a8\u6765\u81ea\u67d0\u5757\u8bbe\u5907\u800c\u8be5\u8bbe\u5907\u76ee\u524d\u4e3a\u7a7a\uff0c\u7b2c\u4e00\u6b21\u6302\u8f7d\u5377\u4e4b\u524d\u4f1a\u5728\u8bbe\u5907\u4e0a\u521b\u5efa\u6587\u4ef6\u7cfb\u7edf\u3002
                    • \u5757\uff1a\u5c06\u6570\u636e\u5377\u4f5c\u4e3a\u539f\u59cb\u5757\u8bbe\u5907\u6765\u4f7f\u7528\u3002\u8fd9\u7c7b\u5377\u4ee5\u5757\u8bbe\u5907\u7684\u65b9\u5f0f\u4ea4\u7ed9 Pod \u4f7f\u7528\uff0c\u5176\u4e0a\u6ca1\u6709\u4efb\u4f55\u6587\u4ef6\u7cfb\u7edf\uff0c\u53ef\u4ee5\u8ba9 Pod \u66f4\u5feb\u5730\u8bbf\u95ee\u6570\u636e\u5377\u3002
                  • \u8282\u70b9\u4eb2\u548c\u6027\uff1a

                "},{"location":"kpanda/user-guide/storage/pv.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377","text":"

                \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \u3002

                • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                "},{"location":"kpanda/user-guide/storage/pv.html#_4","title":"\u514b\u9686\u6570\u636e\u5377","text":"

                \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u3002

                1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                  • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                    \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"kpanda/user-guide/storage/pv.html#_5","title":"\u66f4\u65b0\u6570\u636e\u5377","text":"

                \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u3002

                Note

                \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u7684\u522b\u540d\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u3001\u56de\u6536\u7b56\u7565\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                "},{"location":"kpanda/user-guide/storage/pv.html#_6","title":"\u5220\u9664\u6570\u636e\u5377","text":"

                \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html","title":"\u6570\u636e\u5377\u58f0\u660e(PVC)","text":"

                \u6301\u4e45\u5377\u58f0\u660e\uff08PersistentVolumeClaim\uff0cPVC\uff09\u8868\u8fbe\u7684\u662f\u7528\u6237\u5bf9\u5b58\u50a8\u7684\u8bf7\u6c42\u3002PVC \u6d88\u8017 PV \u8d44\u6e90\uff0c\u7533\u9886\u4f7f\u7528\u7279\u5b9a\u5927\u5c0f\u3001\u7279\u5b9a\u8bbf\u95ee\u6a21\u5f0f\u7684\u6570\u636e\u5377\uff0c\u4f8b\u5982\u8981\u6c42 PV \u5377\u4ee5 ReadWriteOnce\u3001ReadOnlyMany \u6216 ReadWriteMany \u7b49\u6a21\u5f0f\u6765\u6302\u8f7d\u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e","text":"

                \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u58f0\u660e\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> YAML \u521b\u5efa \u3002

                2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e (PVC) \u3002

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                  • \u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65b9\u5f0f\u3001\u6570\u636e\u5377\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                  • \u521b\u5efa\u65b9\u5f0f\uff1a\u5728\u5df2\u6709\u7684\u5b58\u50a8\u6c60\u6216\u8005\u6570\u636e\u5377\u4e2d\u52a8\u6001\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u6216\u8005\u57fa\u4e8e\u6570\u636e\u5377\u58f0\u660e\u7684\u5feb\u7167\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                    \u57fa\u4e8e\u5feb\u7167\u521b\u5efa\u65f6\u65e0\u6cd5\u4fee\u6539\u6570\u636e\u5377\u58f0\u660e\u7684\u5bb9\u91cf\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5b8c\u6210\u540e\u518d\u8fdb\u884c\u4fee\u6539\u3002

                  • \u9009\u62e9\u521b\u5efa\u65b9\u5f0f\u4e4b\u540e\uff0c\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u60f3\u8981\u4f7f\u7528\u7684\u5b58\u50a8\u6c60/\u6570\u636e\u5377/\u5feb\u7167\u3002

                  • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                  • ReadWriteOnce\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                  • ReadWriteMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                  • ReadOnlyMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                  • ReadWriteOncePod\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377\u58f0\u660e","text":"

                \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \u3002

                • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\u58f0\u660e\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u58f0\u660e\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u58f0\u660e\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html#_4","title":"\u6269\u5bb9\u6570\u636e\u5377\u58f0\u660e","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230\u60f3\u8981\u8c03\u6574\u5bb9\u91cf\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                2. \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u6269\u5bb9 \u3002

                3. \u8f93\u5165\u76ee\u6807\u5bb9\u91cf\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html#_5","title":"\u514b\u9686\u6570\u636e\u5377\u58f0\u660e","text":"

                \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                  • \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                    \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html#_6","title":"\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e","text":"

                \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002

                Note

                \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u7684\u522b\u540d\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html#_7","title":"\u5220\u9664\u6570\u636e\u5377\u58f0\u660e","text":"

                \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                "},{"location":"kpanda/user-guide/storage/pvc.html#_8","title":"\u5e38\u89c1\u95ee\u9898","text":"
                1. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5b58\u50a8\u6c60\u6216\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u521b\u5efa\u5b58\u50a8\u6c60\u6216\u521b\u5efa\u6570\u636e\u5377\u3002

                2. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5feb\u7167\uff0c\u53ef\u4ee5\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u5236\u4f5c\u5feb\u7167\u3002

                3. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u542f\u7528\u5feb\u7167\uff0c\u5219\u65e0\u6cd5\u5236\u4f5c\u5feb\u7167\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u201c\u5236\u4f5c\u5feb\u7167\u201d\u9009\u9879\u3002

                4. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u5f00\u542f\u6269\u5bb9\u529f\u80fd\uff0c\u5219\u8be5\u6570\u636e\u5377\u4e0d\u652f\u6301\u6269\u5bb9\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u6269\u5bb9\u9009\u9879\u3002

                "},{"location":"kpanda/user-guide/storage/sc-share.html","title":"\u5171\u4eab\u5b58\u50a8\u6c60","text":"

                DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5c06\u4e00\u4e2a\u5b58\u50a8\u6c60\u5171\u4eab\u7ed9\u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u4f7f\u7528\uff0c\u4ee5\u4fbf\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                1. \u5728\u5b58\u50a8\u6c60\u5217\u8868\u4e2d\u627e\u5230\u9700\u8981\u5171\u4eab\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u64cd\u4f5c\u680f\u4e0b\u70b9\u51fb \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u3002

                2. \u70b9\u51fb \u81ea\u5b9a\u4e49\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u9010\u4e00\u9009\u62e9\u9700\u8981\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u54ea\u4e9b\u547d\u540d\u7a7a\u95f4\u3002

                  • \u70b9\u51fb \u6388\u6743\u6240\u6709\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u4e00\u6b21\u6027\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u5f53\u524d\u96c6\u7fa4\u4e0b\u7684\u6240\u6709\u547d\u540d\u7a7a\u95f4\u3002
                  • \u5728\u5217\u8868\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u65b9\u70b9\u51fb \u79fb\u9664\u6388\u6743 \uff0c\u53ef\u4ee5\u89e3\u9664\u6388\u6743\uff0c\u505c\u6b62\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u8be5\u547d\u540d\u7a7a\u95f4\u3002

                "},{"location":"kpanda/user-guide/storage/sc.html","title":"\u5b58\u50a8\u6c60(SC)","text":"

                \u5b58\u50a8\u6c60\u6307\u5c06\u8bb8\u591a\u7269\u7406\u78c1\u76d8\u7ec4\u6210\u4e00\u4e2a\u5927\u578b\u5b58\u50a8\u8d44\u6e90\u6c60\uff0c\u672c\u5e73\u53f0\u652f\u6301\u63a5\u5165\u5404\u7c7b\u5b58\u50a8\u5382\u5546\u540e\u521b\u5efa\u5757\u5b58\u50a8\u6c60\u3001\u672c\u5730\u5b58\u50a8\u6c60\u3001\u81ea\u5b9a\u4e49\u5b58\u50a8\u6c60\uff0c\u7136\u540e\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\u3002

                "},{"location":"kpanda/user-guide/storage/sc.html#sc_1","title":"\u521b\u5efa\u5b58\u50a8\u6c60(SC)","text":"

                \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b58\u50a8\u6c60\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                "},{"location":"kpanda/user-guide/storage/sc.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> YAML \u521b\u5efa \u3002

                2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                "},{"location":"kpanda/user-guide/storage/sc.html#_1","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> \u521b\u5efa\u5b58\u50a8\u6c60(SC) \u3002

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u7136\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  \u81ea\u5b9a\u4e49\u5b58\u50a8\u7cfb\u7edf

                  • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                  • CSI \u5b58\u50a8\u9a71\u52a8\uff1a\u57fa\u4e8e\u6807\u51c6 Kubernetes \u7684\u5bb9\u5668\u5b58\u50a8\u63a5\u53e3\u63d2\u4ef6\uff0c\u9700\u9075\u5b88\u5b58\u50a8\u5382\u5546\u89c4\u5b9a\u7684\u683c\u5f0f\uff0c\u4f8b\u5982 rancher.io/local-path \u3002

                    • \u6709\u5173\u5982\u4f55\u586b\u5199\u4e0d\u540c\u5382\u5546\u63d0\u4f9b\u7684 CSI \u9a71\u52a8\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5b58\u50a8\u7c7b\u3002
                      • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                      • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                  HwameiStor \u5b58\u50a8\u7cfb\u7edf

                  • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                  • \u5b58\u50a8\u7cfb\u7edf\uff1aHwameiStor \u5b58\u50a8\u7cfb\u7edf\u3002
                  • \u5b58\u50a8\u7c7b\u578b\uff1a\u652f\u6301 LVM\uff0c\u88f8\u78c1\u76d8\u7c7b\u578b
                    • LVM \u7c7b\u578b \uff1aHwameiStor \u63a8\u8350\u4f7f\u7528\u6b64\u65b9\u5f0f\uff0c\u53ef\u4f7f\u7528\u9ad8\u53ef\u7528\u6570\u636e\u5377\uff0c\u5bf9\u5e94\u7684\u7684 CSI \u5b58\u50a8\u9a71\u52a8\u4e3a lvm.hwameistor.io\u3002
                    • \u88f8\u78c1\u76d8\u6570\u636e\u5377 \uff1a \u9002\u7528\u4e8e\u975e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u65e0\u9ad8\u53ef\u7528\u80fd\u529b\uff0c\u5bf9\u5e94\u7684 CSI \u9a71\u52a8\u4e3a hdd.hwameistor.io
                  • \u9ad8\u53ef\u7528\u6a21\u5f0f\uff1a\u4f7f\u7528\u9ad8\u53ef\u7528\u80fd\u529b\u4e4b\u524d\u8bf7\u786e\u8ba4 DRBD \u7ec4\u4ef6 \u5df2\u5b89\u88c5\u3002\u5f00\u542f\u9ad8\u53ef\u7528\u6a21\u5f0f\u540e\uff0c\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u6570\u8bbe\u7f6e\u4e3a 1 \u548c 2\u3002 \u5982\u9700\u8981\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u4ece 1 Convert \u6210 1
                  • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                  • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                  Note

                  \u76ee\u524d HwameiStor xfs\u3001ext4 \u4e24\u79cd\u6587\u4ef6\u7cfb\u7edf\uff0c\u5176\u4e2d\u9ed8\u8ba4\u4f7f\u7528\u7684\u662f xfs \u6587\u4ef6\u7cfb\u7edf\uff0c\u5982\u679c\u60f3\u8981\u66ff\u6362\u4e3a ext4\uff0c\u53ef\u4ee5\u5728\u81ea\u5b9a\u4e49\u53c2\u6570\u6dfb\u52a0 csi.storage.k8s.io/fstype: ext4

                "},{"location":"kpanda/user-guide/storage/sc.html#sc_2","title":"\u66f4\u65b0\u5b58\u50a8\u6c60(SC)","text":"

                \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u7f16\u8f91 \u5373\u53ef\u901a\u8fc7\u66f4\u65b0\u5b58\u50a8\u6c60\u3002

                Info

                \u9009\u62e9 \u67e5\u770b YAML \u53ef\u4ee5\u67e5\u770b\u8be5\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\uff0c\u4f46\u4e0d\u652f\u6301\u7f16\u8f91\u3002

                "},{"location":"kpanda/user-guide/storage/sc.html#sc_3","title":"\u5220\u9664\u5b58\u50a8\u6c60(SC)","text":"

                \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                "},{"location":"kpanda/user-guide/workloads/create-cronjob.html","title":"\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u3002

                \u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u9002\u7528\u4e8e\u4e8e\u6267\u884c\u5468\u671f\u6027\u7684\u64cd\u4f5c\uff0c\u4f8b\u5982\u5907\u4efd\u3001\u62a5\u544a\u751f\u6210\u7b49\u3002\u8fd9\u4e9b\u4efb\u52a1\u53ef\u4ee5\u914d\u7f6e\u4e3a\u5468\u671f\u6027\u91cd\u590d\u7684\uff08\u4f8b\u5982\uff1a\u6bcf\u5929/\u6bcf\u5468/\u6bcf\u6708\u4e00\u6b21\uff09\uff0c\u53ef\u4ee5\u5b9a\u4e49\u4efb\u52a1\u5f00\u59cb\u6267\u884c\u7684\u65f6\u95f4\u95f4\u9694\u3002

                "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b9a\u65f6\u4efb\u52a1\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b9a\u65f6\u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b9a\u65f6\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e","text":"
                • \u5e76\u53d1\u7b56\u7565\uff1a\u662f\u5426\u5141\u8bb8\u591a\u4e2a Job \u4efb\u52a1\u5e76\u884c\u6267\u884c\u3002

                  • Allow \uff1a\u53ef\u4ee5\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u672a\u5b8c\u6210\u65f6\u5c31\u521b\u5efa\u65b0\u7684\u5b9a\u65f6\u4efb\u52a1\uff0c\u800c\u4e14\u591a\u4e2a\u4efb\u52a1\u53ef\u4ee5\u5e76\u884c\u3002\u4efb\u52a1\u592a\u591a\u53ef\u80fd\u62a2\u5360\u96c6\u7fa4\u8d44\u6e90\u3002
                  • Forbid \uff1a\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u5b8c\u6210\u4e4b\u524d\uff0c\u4e0d\u80fd\u521b\u5efa\u65b0\u4efb\u52a1\uff0c\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\u800c\u4e4b\u524d\u7684\u4efb\u52a1\u4ecd\u672a\u6267\u884c\u5b8c\uff0cCronJob \u4f1a\u5ffd\u7565\u65b0\u4efb\u52a1\u7684\u6267\u884c\u3002
                  • Replace \uff1a\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\uff0c\u4f46\u524d\u4e00\u4e2a\u4efb\u52a1\u8fd8\u672a\u5b8c\u6210\uff0c\u65b0\u7684\u4efb\u52a1\u4f1a\u53d6\u4ee3\u524d\u4e00\u4e2a\u4efb\u52a1\u3002

                  \u4e0a\u8ff0\u89c4\u5219\u4ec5\u9002\u7528\u4e8e\u540c\u4e00\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u3002\u591a\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u603b\u662f\u5141\u8bb8\u5e76\u53d1\u6267\u884c\u3002

                • \u5b9a\u65f6\u89c4\u5219\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002

                • \u4efb\u52a1\u8bb0\u5f55\uff1a\u8bbe\u5b9a\u4fdd\u7559\u591a\u5c11\u6761\u4efb\u52a1\u6267\u884c\u6210\u529f\u6216\u5931\u8d25\u7684\u8bb0\u5f55\u3002 0 \u8868\u793a\u4e0d\u4fdd\u7559\u3002
                • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u5c31\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002\u9ed8\u8ba4\u503c\u4e3a 360 s\u3002
                • \u91cd\u8bd5\u6b21\u6570\uff1a\u4efb\u52a1\u53ef\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba4\u503c\u4e3a 6\u3002
                • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u4efb\u52a1\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002
                "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_6","title":"\u670d\u52a1\u914d\u7f6e","text":"

                \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u5b9a\u65f6\u4efb\u52a1\u7684\u9ad8\u7ea7\u914d\u7f6e\u4e3b\u8981\u6d89\u53ca\u6807\u7b7e\u4e0e\u6ce8\u89e3\u3002

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  creationTimestamp: '2022-12-26T09:45:47Z'\n  generation: 1\n  name: demo\n  namespace: default\n  resourceVersion: '92726617'\n  uid: d030d8d7-a405-4dcd-b09a-176942ef36c9\nspec:\n  concurrencyPolicy: Allow\n  failedJobsHistoryLimit: 1\n  jobTemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      activeDeadlineSeconds: 360\n      backoffLimit: 6\n      template:\n        metadata:\n          creationTimestamp: null\n        spec:\n          containers:\n            - image: nginx\n              imagePullPolicy: IfNotPresent\n              lifecycle: {}\n              name: container-3\n              resources:\n                limits:\n                  cpu: 250m\n                  memory: 512Mi\n                requests:\n                  cpu: 250m\n                  memory: 512Mi\n              securityContext:\n                privileged: false\n              terminationMessagePath: /dev/termination-log\n              terminationMessagePolicy: File\n          dnsPolicy: ClusterFirst\n          restartPolicy: Never\n          schedulerName: default-scheduler\n          securityContext: {}\n          terminationGracePeriodSeconds: 30\n  schedule: 0 0 13 * 5\n  successfulJobsHistoryLimit: 3\n  suspend: false\nstatus: {}\n
                "},{"location":"kpanda/user-guide/workloads/create-daemonset.html","title":"\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b(DaemonSet)","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u3002

                \u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u901a\u8fc7\u8282\u70b9\u4eb2\u548c\u6027\u4e0e\u6c61\u70b9\u529f\u80fd\u786e\u4fdd\u5728\u5168\u90e8\u6216\u90e8\u5206\u8282\u70b9\u4e0a\u8fd0\u884c\u4e00\u4e2a Pod \u7684\u526f\u672c\u3002\u5bf9\u4e8e\u65b0\u52a0\u5165\u96c6\u7fa4\u7684\u8282\u70b9\uff0cDaemonSet \u81ea\u52a8\u5728\u65b0\u8282\u70b9\u4e0a\u90e8\u7f72\u76f8\u5e94\u7684 Pod\uff0c\u5e76\u8ddf\u8e2a Pod \u7684\u8fd0\u884c\u72b6\u6001\u3002\u5f53\u8282\u70b9\u88ab\u79fb\u9664\u65f6\uff0cDaemonSet \u5219\u5220\u9664\u5176\u521b\u5efa\u7684\u6240\u6709 Pod\u3002

                \u5b88\u62a4\u8fdb\u7a0b\u7684\u5e38\u89c1\u7528\u4f8b\u5305\u62ec\uff1a

                • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u96c6\u7fa4\u5b88\u62a4\u8fdb\u7a0b\u3002

                • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u65e5\u5fd7\u6536\u96c6\u5b88\u62a4\u8fdb\u7a0b\u3002

                • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u76d1\u63a7\u5b88\u62a4\u8fdb\u7a0b\u3002

                \u7b80\u5355\u8d77\u89c1\uff0c\u53ef\u4ee5\u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u4e3a\u6bcf\u79cd\u7c7b\u578b\u7684\u5b88\u62a4\u8fdb\u7a0b\u90fd\u542f\u52a8\u4e00\u4e2a DaemonSet\u3002\u5982\u9700\u66f4\u7cbe\u7ec6\u3001\u66f4\u9ad8\u7ea7\u5730\u7ba1\u7406\u5b88\u62a4\u8fdb\u7a0b\uff0c\u4e5f\u53ef\u4ee5\u4e3a\u540c\u4e00\u79cd\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u591a\u4e2a DaemonSet\u3002\u6bcf\u4e2a DaemonSet \u5177\u6709\u4e0d\u540c\u7684\u6807\u5fd7\uff0c\u5e76\u4e14\u5bf9\u4e0d\u540c\u786c\u4ef6\u7c7b\u578b\u5177\u6709\u4e0d\u540c\u7684\u5185\u5b58\u3001CPU \u8981\u6c42\u3002

                "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u521b\u5efa DaemonSet \u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b88\u62a4\u8fdb\u7a0b\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b88\u62a4\u8fdb\u7a0b \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b88\u62a4\u8fdb\u7a0b\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728 \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                \u4e3a\u5b88\u62a4\u8fdb\u7a0b\u521b\u5efa\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u5b88\u62a4\u8fdb\u7a0b\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                2. \u914d\u7f6e\u670d\u52a1\u53c2\u6570\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u521b\u5efa\u670d\u52a1\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3

                \u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                • DNS \u7b56\u7565

                  • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                  • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                  • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                  • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                • \u6700\u5927\u65e0\u6548 Pod \u6570\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                • \u6700\u5927\u6d6a\u6d8c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u7684 YAML \u793a\u4f8b
                kind: DaemonSet\napiVersion: apps/v1\nmetadata:\n  name: hwameistor-local-disk-manager\n  namespace: hwameistor\n  uid: ccbdc098-7de3-4a8a-96dd-d1cee159c92b\n  resourceVersion: '90999552'\n  generation: 1\n  creationTimestamp: '2022-12-15T09:03:44Z'\n  labels:\n    app.kubernetes.io/managed-by: Helm\n  annotations:\n    deprecated.daemonset.template.generation: '1'\n    meta.helm.sh/release-name: hwameistor\n    meta.helm.sh/release-namespace: hwameistor\nspec:\n  selector:\n    matchLabels:\n      app: hwameistor-local-disk-manager\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: hwameistor-local-disk-manager\n    spec:\n      volumes:\n        - name: udev\n          hostPath:\n            path: /run/udev\n            type: Directory\n        - name: procmount\n          hostPath:\n            path: /proc\n            type: Directory\n        - name: devmount\n          hostPath:\n            path: /dev\n            type: Directory\n        - name: socket-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins/disk.hwameistor.io\n            type: DirectoryOrCreate\n        - name: registration-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins_registry/\n            type: Directory\n        - name: plugin-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins\n            type: DirectoryOrCreate\n        - name: pods-mount-dir\n          hostPath:\n            path: /var/lib/kubelet/pods\n            type: DirectoryOrCreate\n      containers:\n        - name: registrar\n          image: k8s-gcr.m.daocloud.io/sig-storage/csi-node-driver-registrar:v2.5.0\n          args:\n            - '--v=5'\n            - '--csi-address=/csi/csi.sock'\n            - >-\n              --kubelet-registration-path=/var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n          env:\n            - name: KUBE_NODE_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n          resources: {}\n          volumeMounts:\n            - name: socket-dir\n              mountPath: /csi\n            - name: registration-dir\n              mountPath: /registration\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - /bin/sh\n                  - '-c'\n                  - >-\n                    rm -rf /registration/disk.hwameistor.io \n                    /registration/disk.hwameistor.io-reg.sock\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: manager\n          image: ghcr.m.daocloud.io/hwameistor/local-disk-manager:v0.6.1\n          command:\n            - /local-disk-manager\n          args:\n            - '--endpoint=$(CSI_ENDPOINT)'\n            - '--nodeid=$(NODENAME)'\n            - '--csi-enable=true'\n          env:\n            - name: CSI_ENDPOINT\n              value: unix://var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n            - name: NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: WATCH_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: NODENAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n            - name: OPERATOR_NAME\n              value: local-disk-manager\n          resources: {}\n          volumeMounts:\n            - name: udev\n              mountPath: /run/udev\n            - name: procmount\n              readOnly: true\n              mountPath: /host/proc\n            - name: devmount\n              mountPath: /dev\n            - name: registration-dir\n              mountPath: /var/lib/kubelet/plugins_registry\n            - name: plugin-dir\n              mountPath: /var/lib/kubelet/plugins\n              mountPropagation: Bidirectional\n            - name: pods-mount-dir\n              mountPath: /var/lib/kubelet/pods\n              mountPropagation: Bidirectional\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: true\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      serviceAccountName: hwameistor-admin\n      serviceAccount: hwameistor-admin\n      hostNetwork: true\n      hostPID: true\n      securityContext: {}\n      schedulerName: default-scheduler\n      tolerations:\n        - key: CriticalAddonsOnly\n          operator: Exists\n        - key: node.kubernetes.io/not-ready\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/master\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/control-plane\n          operator: Exists\n          effect: NoSchedule\n        - key: node.cloudprovider.kubernetes.io/uninitialized\n          operator: Exists\n          effect: NoSchedule\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      maxUnavailable: 1\n      maxSurge: 0\n  revisionHistoryLimit: 10\nstatus:\n  currentNumberScheduled: 4\n  numberMisscheduled: 0\n  desiredNumberScheduled: 4\n  numberReady: 4\n  observedGeneration: 1\n  updatedNumberScheduled: 4\n  numberAvailable: 4\n
                "},{"location":"kpanda/user-guide/workloads/create-deployment.html","title":"\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                \u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u4e3b\u8981\u4e3a Pod \u548c ReplicaSet \u63d0\u4f9b\u58f0\u660e\u5f0f\u66f4\u65b0\uff0c\u652f\u6301\u5f39\u6027\u4f38\u7f29\u3001\u6eda\u52a8\u5347\u7ea7\u3001\u7248\u672c\u56de\u9000\u7b49\u529f\u80fd\u3002\u5728 Deployment \u4e2d\u58f0\u660e\u671f\u671b\u7684 Pod \u72b6\u6001\uff0cDeployment Controller \u4f1a\u901a\u8fc7 ReplicaSet \u4fee\u6539\u5f53\u524d\u72b6\u6001\uff0c\u4f7f\u5176\u8fbe\u5230\u9884\u5148\u58f0\u660e\u7684\u671f\u671b\u72b6\u6001\u3002Deployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u652f\u6301\u6570\u636e\u6301\u4e45\u5316\uff0c\u9002\u7528\u4e8e\u90e8\u7f72\u65e0\u72b6\u6001\u7684\u3001\u4e0d\u9700\u8981\u4fdd\u5b58\u6570\u636e\u3001\u968f\u65f6\u53ef\u4ee5\u91cd\u542f\u56de\u6eda\u7684\u5e94\u7528\u3002

                \u901a\u8fc7 DCE 5.0 \u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u65e0\u72b6\u6001\u8d1f\u8f7d \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002\u5982\u679c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u5b89\u88c5 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                \u4e3a\u65e0\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u65e0\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002\u8be6\u60c5\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u4f7f\u7528 IP \u6c60\u3002

                • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                • DNS \u7b56\u7565

                  • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                  • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                  • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                  • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                • \u6700\u5927\u4e0d\u53ef\u7528\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                • \u6700\u5927\u5cf0\u503c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002

                \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"kpanda/user-guide/workloads/create-deployment.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\nspec:\n  selector:\n    matchLabels:\n      app: nginx\n  replicas: 2 # \u544a\u77e5 Deployment \u8fd0\u884c 2 \u4e2a\u4e0e\u8be5\u6a21\u677f\u5339\u914d\u7684 Pod\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.14.2\n        ports:\n        - containerPort: 80\n
                "},{"location":"kpanda/user-guide/workloads/create-job.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u4efb\u52a1\uff08Job\uff09\u3002

                \u4efb\u52a1\uff08Job\uff09\u9002\u7528\u4e8e\u6267\u884c\u4e00\u6b21\u6027\u4efb\u52a1\u3002Job \u4f1a\u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod\uff0cJob \u4f1a\u4e00\u76f4\u91cd\u65b0\u5c1d\u8bd5\u6267\u884c Pod\uff0c\u76f4\u5230\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u4e00\u5b9a\u6570\u91cf\u3002\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u6307\u5b9a\u7684\u6570\u91cf\u540e\uff0cJob \u4e5f\u968f\u4e4b\u7ed3\u675f\u3002\u5220\u9664 Job \u65f6\u4f1a\u4e00\u540c\u6e05\u9664\u8be5 Job \u521b\u5efa\u7684\u6240\u6709 Pod\u3002\u6682\u505c Job \u65f6\u5220\u9664\u8be5 Job \u4e2d\u7684\u6240\u6709\u6d3b\u8dc3 Pod\uff0c\u76f4\u5230 Job \u88ab\u7ee7\u7eed\u6267\u884c\u3002\u6709\u5173\u4efb\u52a1\uff08Job\uff09\u7684\u66f4\u591a\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003Job\u3002

                "},{"location":"kpanda/user-guide/workloads/create-job.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"kpanda/user-guide/workloads/create-job.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                "},{"location":"kpanda/user-guide/workloads/create-job.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728 \u521b\u5efa\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u57fa\u672c\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\u3002\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                "},{"location":"kpanda/user-guide/workloads/create-job.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"kpanda/user-guide/workloads/create-job.html#_5","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u4efb\u52a1\u8bbe\u7f6e\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4e24\u90e8\u5206\u3002

                \u4efb\u52a1\u8bbe\u7f6e\u6807\u7b7e\u4e0e\u6ce8\u89e3

                • \u5e76\u884c\u6570\uff1a\u4efb\u52a1\u6267\u884c\u8fc7\u7a0b\u4e2d\u5141\u8bb8\u540c\u65f6\u521b\u5efa\u7684\u6700\u5927 Pod \u6570\uff0c\u5e76\u884c\u6570\u5e94\u4e0d\u5927\u4e8e Pod \u603b\u6570\u3002\u9ed8\u8ba4\u4e3a 1\u3002
                • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002
                • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"kpanda/user-guide/workloads/create-job.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u4efb\u52a1\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                kind: Job\napiVersion: batch/v1\nmetadata:\n  name: demo\n  namespace: default\n  uid: a9708239-0358-4aa1-87d3-a092c080836e\n  resourceVersion: '92751876'\n  generation: 1\n  creationTimestamp: '2022-12-26T10:52:22Z'\n  labels:\n    app: demo\n    controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n    job-name: demo\n  annotations:\n    revisions: >-\n      {\"1\":{\"status\":\"running\",\"uid\":\"a9708239-0358-4aa1-87d3-a092c080836e\",\"start-time\":\"2022-12-26T10:52:22Z\",\"completion-time\":\"0001-01-01T00:00:00Z\"}}\nspec:\n  parallelism: 1\n  backoffLimit: 6\n  selector:\n    matchLabels:\n      controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: demo\n        controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n        job-name: demo\n    spec:\n      containers:\n        - name: container-4\n          image: nginx\n          resources:\n            limits:\n              cpu: 250m\n              memory: 512Mi\n            requests:\n              cpu: 250m\n              memory: 512Mi\n          lifecycle: {}\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: false\n      restartPolicy: Never\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext: {}\n      schedulerName: default-scheduler\n  completionMode: NonIndexed\n  suspend: false\nstatus:\n  startTime: '2022-12-26T10:52:22Z'\n  active: 1\n
                "},{"location":"kpanda/user-guide/workloads/create-statefulset.html","title":"\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u3002

                \u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u548c\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u7c7b\u4f3c\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406 Pod \u96c6\u5408\u7684\u90e8\u7f72\u548c\u4f38\u7f29\u3002\u4e8c\u8005\u7684\u4e3b\u8981\u533a\u522b\u5728\u4e8e\uff0cDeployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u4fdd\u5b58\u6570\u636e\uff0c\u800c StatefulSet \u662f\u6709\u72b6\u6001\u7684\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406\u6709\u72b6\u6001\u5e94\u7528\u3002\u6b64\u5916\uff0cStatefulSet \u4e2d\u7684 Pod \u5177\u6709\u6c38\u4e45\u4e0d\u53d8\u7684 ID\uff0c\u4fbf\u4e8e\u5728\u5339\u914d\u5b58\u50a8\u5377\u65f6\u8bc6\u522b\u5bf9\u5e94\u7684 Pod\u3002

                \u901a\u8fc7 DCE 5.0 \u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u53f3\u4e0a\u89d2 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \u5217\u8868\uff0c\u7b49\u5f85\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                  \u70b9\u51fb\u65b0\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u5217\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002

                "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\u3002\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u5bb9\u5668\u7ba1\u7406\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002\u8be6\u60c5\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u4f7f\u7528 IP \u6c60\u3002

                • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                • DNS \u7b56\u7565

                  • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                  • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                  • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                  • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                Kubernetes v1.7 \u53ca\u5176\u4e4b\u540e\u7684\u7248\u672c\u53ef\u4ee5\u901a\u8fc7 .spec.podManagementPolicy \u8bbe\u7f6e Pod \u7684\u7ba1\u7406\u7b56\u7565\uff0c\u652f\u6301\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\uff1a

                • \u6309\u5e8f\u7b56\u7565\uff08OrderedReady\uff09 \uff1a\u9ed8\u8ba4\u7684 Pod \u7ba1\u7406\u7b56\u7565\uff0c\u8868\u793a\u6309\u987a\u5e8f\u90e8\u7f72 Pod\uff0c\u53ea\u6709\u524d\u4e00\u4e2a Pod \u90e8\u7f72 \u6210\u529f\u5b8c\u6210\u540e\uff0c\u6709\u72b6\u6001\u8d1f\u8f7d\u624d\u4f1a\u5f00\u59cb\u90e8\u7f72\u4e0b\u4e00\u4e2a Pod\u3002\u5220\u9664 Pod \u65f6\u5219\u91c7\u7528\u9006\u5e8f\uff0c\u6700\u540e\u521b\u5efa\u7684\u6700\u5148\u88ab\u5220\u9664\u3002

                • \u5e76\u884c\u7b56\u7565\uff08Parallel\uff09 \uff1a\u5e76\u884c\u521b\u5efa\u6216\u5220\u9664\u5bb9\u5668\uff0c\u548c Deployment \u7c7b\u578b\u7684 Pod \u4e00\u6837\u3002StatefulSet \u63a7\u5236\u5668\u5e76\u884c\u5730\u542f\u52a8\u6216\u7ec8\u6b62\u6240\u6709\u7684\u5bb9\u5668\u3002\u542f\u52a8\u6216\u8005\u7ec8\u6b62\u5176\u4ed6 Pod \u524d\uff0c\u65e0\u9700\u7b49\u5f85 Pod \u8fdb\u5165 Running \u548c ready \u6216\u8005\u5b8c\u5168\u505c\u6b62\u72b6\u6001\u3002 \u8fd9\u4e2a\u9009\u9879\u53ea\u4f1a\u5f71\u54cd\u6269\u7f29\u64cd\u4f5c\u7684\u884c\u4e3a\uff0c\u4e0d\u5f71\u54cd\u66f4\u65b0\u65f6\u7684\u987a\u5e8f\u3002

                • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                ![\u8c03\u5ea6\u7b56\u7565](https://docs.daocloud.io/daocloud-docs-images/docs/kpanda/images/deploy15.png)\n

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                kind: StatefulSet\napiVersion: apps/v1\nmetadata:\n  name: test-mysql-123-mysql\n  namespace: default\n  uid: d3f45527-a0ab-4b22-9013-5842a06f4e0e\n  resourceVersion: '20504385'\n  generation: 1\n  creationTimestamp: '2022-09-22T09:34:10Z'\n  ownerReferences:\n    - apiVersion: mysql.presslabs.org/v1alpha1\n      kind: MysqlCluster\n      name: test-mysql-123\n      uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app.kubernetes.io/managed-by: mysql.presslabs.org\n      app.kubernetes.io/name: mysql\n      mysql.presslabs.org/cluster: test-mysql-123\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app.kubernetes.io/component: database\n        app.kubernetes.io/instance: test-mysql-123\n        app.kubernetes.io/managed-by: mysql.presslabs.org\n        app.kubernetes.io/name: mysql\n        app.kubernetes.io/version: 5.7.31\n        mysql.presslabs.org/cluster: test-mysql-123\n      annotations:\n        config_rev: '13941099'\n        prometheus.io/port: '9125'\n        prometheus.io/scrape: 'true'\n        secret_rev: '13941101'\n    spec:\n      volumes:\n        - name: conf\n          emptyDir: {}\n        - name: init-scripts\n          emptyDir: {}\n        - name: config-map\n          configMap:\n            name: test-mysql-123-mysql\n            defaultMode: 420\n        - name: data\n          persistentVolumeClaim:\n            claimName: data\n      initContainers:\n        - name: init\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - clone-and-init\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: BACKUP_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_USER\n                  optional: true\n            - name: BACKUP_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_PASSWORD\n                  optional: true\n          resources: {}\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: config-map\n              mountPath: /mnt/conf\n            - name: data\n              mountPath: /var/lib/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      containers:\n        - name: mysql\n          image: docker.m.daocloud.io/mysql:5.7.31\n          ports:\n            - name: mysql\n              containerPort: 3306\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: ORCH_CLUSTER_ALIAS\n              value: test-mysql-123.default\n            - name: ORCH_HTTP_API\n              value: http://mysql-operator.mcamel-system/api\n            - name: MYSQL_ROOT_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: ROOT_PASSWORD\n                  optional: false\n            - name: MYSQL_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: USER\n                  optional: true\n            - name: MYSQL_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: PASSWORD\n                  optional: true\n            - name: MYSQL_DATABASE\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: DATABASE\n                  optional: true\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 100m\n              memory: 512Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          livenessProbe:\n            exec:\n              command:\n                - mysqladmin\n                - '--defaults-file=/etc/mysql/client.conf'\n                - ping\n            initialDelaySeconds: 60\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          readinessProbe:\n            exec:\n              command:\n                - /bin/sh\n                - '-c'\n                - >-\n                  test $(mysql --defaults-file=/etc/mysql/client.conf -NB -e\n                  'SELECT COUNT(*) FROM sys_operator.status WHERE\n                  name=\"configured\" AND value=\"1\"') -eq 1\n            initialDelaySeconds: 5\n            timeoutSeconds: 5\n            periodSeconds: 2\n            successThreshold: 1\n            failureThreshold: 3\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - bash\n                  - /etc/mysql/pre-shutdown-ha.sh\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: sidecar\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - config-and-serve\n          ports:\n            - name: sidecar-http\n              containerPort: 8080\n              protocol: TCP\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: XTRABACKUP_TARGET_DIR\n              value: /tmp/xtrabackup_backupfiles/\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 10m\n              memory: 64Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          readinessProbe:\n            httpGet:\n              path: /health\n              port: 8080\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: metrics-exporter\n          image: prom/mysqld-exporter:v0.13.0\n          args:\n            - '--web.listen-address=0.0.0.0:9125'\n            - '--web.telemetry-path=/metrics'\n            - '--collect.heartbeat'\n            - '--collect.heartbeat.database=sys_operator'\n          ports:\n            - name: prometheus\n              containerPort: 9125\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_USER\n                  optional: false\n            - name: PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_PASSWORD\n                  optional: false\n            - name: DATA_SOURCE_NAME\n              value: $(USER):$(PASSWORD)@(127.0.0.1:3306)/\n          resources:\n            limits:\n              cpu: 100m\n              memory: 128Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          livenessProbe:\n            httpGet:\n              path: /metrics\n              port: 9125\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 30\n            periodSeconds: 30\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: pt-heartbeat\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - pt-heartbeat\n            - '--update'\n            - '--replace'\n            - '--check-read-only'\n            - '--create-table'\n            - '--database'\n            - sys_operator\n            - '--table'\n            - heartbeat\n            - '--utc'\n            - '--defaults-file'\n            - /etc/mysql/heartbeat.conf\n            - '--fail-successive-errors=20'\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n          resources:\n            limits:\n              cpu: 100m\n              memory: 64Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext:\n        runAsUser: 999\n        fsGroup: 999\n      affinity:\n        podAntiAffinity:\n          preferredDuringSchedulingIgnoredDuringExecution:\n            - weight: 100\n              podAffinityTerm:\n                labelSelector:\n                  matchLabels:\n                    app.kubernetes.io/component: database\n                    app.kubernetes.io/instance: test-mysql-123\n                    app.kubernetes.io/managed-by: mysql.presslabs.org\n                    app.kubernetes.io/name: mysql\n                    app.kubernetes.io/version: 5.7.31\n                    mysql.presslabs.org/cluster: test-mysql-123\n                topologyKey: kubernetes.io/hostname\n      schedulerName: default-scheduler\n  volumeClaimTemplates:\n    - kind: PersistentVolumeClaim\n      apiVersion: v1\n      metadata:\n        name: data\n        creationTimestamp: null\n        ownerReferences:\n          - apiVersion: mysql.presslabs.org/v1alpha1\n            kind: MysqlCluster\n            name: test-mysql-123\n            uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n            controller: true\n      spec:\n        accessModes:\n          - ReadWriteOnce\n        resources:\n          limits:\n            storage: 1Gi\n          requests:\n            storage: 1Gi\n        storageClassName: local-path\n        volumeMode: Filesystem\n      status:\n        phase: Pending\n  serviceName: mysql\n  podManagementPolicy: OrderedReady\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      partition: 0\n  revisionHistoryLimit: 10\nstatus:\n  observedGeneration: 1\n  replicas: 1\n  readyReplicas: 1\n  currentReplicas: 1\n  updatedReplicas: 1\n  currentRevision: test-mysql-123-mysql-6b8f5577c7\n  updateRevision: test-mysql-123-mysql-6b8f5577c7\n  collisionCount: 0\n  availableReplicas: 1\n
                "},{"location":"kpanda/user-guide/workloads/pod-config/env-variables.html","title":"\u914d\u7f6e\u73af\u5883\u53d8\u91cf","text":"

                \u73af\u5883\u53d8\u91cf\u662f\u6307\u5bb9\u5668\u8fd0\u884c\u73af\u5883\u4e2d\u8bbe\u5b9a\u7684\u4e00\u4e2a\u53d8\u91cf\uff0c\u7528\u4e8e\u7ed9 Pod \u6dfb\u52a0\u73af\u5883\u6807\u5fd7\u6216\u4f20\u9012\u914d\u7f6e\u7b49\uff0c\u652f\u6301\u901a\u8fc7\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                DCE \u5bb9\u5668\u7ba1\u7406\u5728\u539f\u751f Kubernetes \u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u56fe\u5f62\u5316\u754c\u9762\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u914d\u7f6e\u65b9\u5f0f\uff1a

                • \u952e\u503c\u5bf9\uff08Key/Value Pair\uff09\uff1a\u5c06\u81ea\u5b9a\u4e49\u7684\u952e\u503c\u5bf9\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf

                • \u8d44\u6e90\u5f15\u7528\uff08Resource\uff09\uff1a\u5c06 Container \u5b9a\u4e49\u7684\u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982\u5bb9\u5668\u7684\u5185\u5b58\u9650\u5236\u3001\u526f\u672c\u6570\u7b49

                • \u53d8\u91cf/\u53d8\u91cf\u5f15\u7528\uff08Pod Field\uff09\uff1a\u5c06 Pod \u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982 Pod \u7684\u540d\u79f0

                • \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\uff08ConfigMap key\uff09\uff1a\u5bfc\u5165\u914d\u7f6e\u9879\u4e2d\u67d0\u4e2a\u952e\u7684\u503c\u4f5c\u4e3a\u67d0\u4e2a\u73af\u5883\u53d8\u91cf\u7684\u503c

                • \u5bc6\u94a5\u952e\u503c\u5bfc\u5165\uff08Secret Key\uff09\uff1a\u4f7f\u7528\u6765\u81ea Secret \u4e2d\u7684\u6570\u636e\u5b9a\u4e49\u73af\u5883\u53d8\u91cf\u7684\u503c

                • \u5bc6\u94a5\u5bfc\u5165\uff08Secret\uff09\uff1a\u5c06 Secret \u4e2d\u7684\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf

                • \u914d\u7f6e\u9879\u5bfc\u5165\uff08ConfigMap\uff09\uff1a\u5c06\u914d\u7f6e\u9879\u4e2d\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf

                "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html","title":"\u5bb9\u5668\u7684\u5065\u5eb7\u68c0\u67e5","text":"

                \u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u6839\u636e\u7528\u6237\u9700\u6c42\uff0c\u68c0\u67e5\u5bb9\u5668\u7684\u5065\u5eb7\u72b6\u51b5\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5185\u7684\u5e94\u7528\u7a0b\u5e8f\u5165\u5982\u679c\u5f02\u5e38\uff0c\u5bb9\u5668\u4f1a\u81ea\u52a8\u8fdb\u884c\u91cd\u542f\u6062\u590d\u3002Kubernetes \u63d0\u4f9b\u4e86\u5b58\u6d3b\uff08Liveness\uff09\u68c0\u67e5\u3001\u5c31\u7eea\uff08Readiness\uff09\u68c0\u67e5\u548c\u542f\u52a8\uff08Startup\uff09\u68c0\u67e5\u3002

                • \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09 \u53ef\u63a2\u6d4b\u5230\u5e94\u7528\u6b7b\u9501\uff08\u5e94\u7528\u7a0b\u5e8f\u5728\u8fd0\u884c\uff0c\u4f46\u662f\u65e0\u6cd5\u7ee7\u7eed\u6267\u884c\u540e\u9762\u7684\u6b65\u9aa4\uff09\u60c5\u51b5\u3002 \u91cd\u542f\u8fd9\u79cd\u72b6\u6001\u4e0b\u7684\u5bb9\u5668\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\uff0c\u5373\u4f7f\u5176\u4e2d\u5b58\u5728\u7f3a\u9677\u3002

                • \u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09 \u53ef\u63a2\u77e5\u5bb9\u5668\u4f55\u65f6\u51c6\u5907\u597d\u63a5\u53d7\u8bf7\u6c42\u6d41\u91cf\uff0c\u5f53\u4e00\u4e2a Pod \u5185\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5c31\u7eea\u65f6\uff0c\u624d\u80fd\u8ba4\u4e3a\u8be5 Pod \u5c31\u7eea\u3002 \u8fd9\u79cd\u4fe1\u53f7\u7684\u4e00\u4e2a\u7528\u9014\u5c31\u662f\u63a7\u5236\u54ea\u4e2a Pod \u4f5c\u4e3a Service \u7684\u540e\u7aef\u3002 \u82e5 Pod \u5c1a\u672a\u5c31\u7eea\uff0c\u4f1a\u88ab\u4ece Service \u7684\u8d1f\u8f7d\u5747\u8861\u5668\u4e2d\u5254\u9664\u3002

                • \u542f\u52a8\u68c0\u67e5\uff08StartupProbe\uff09 \u53ef\u4ee5\u4e86\u89e3\u5e94\u7528\u5bb9\u5668\u4f55\u65f6\u542f\u52a8\uff0c\u914d\u7f6e\u540e\uff0c\u53ef\u63a7\u5236\u5bb9\u5668\u5728\u542f\u52a8\u6210\u529f\u540e\u518d\u8fdb\u884c\u5b58\u6d3b\u6027\u548c\u5c31\u7eea\u6001\u68c0\u67e5\uff0c \u786e\u4fdd\u8fd9\u4e9b\u5b58\u6d3b\u3001\u5c31\u7eea\u63a2\u6d4b\u5668\u4e0d\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u542f\u52a8\u3002 \u542f\u52a8\u63a2\u6d4b\u53ef\u4ee5\u7528\u4e8e\u5bf9\u6162\u542f\u52a8\u5bb9\u5668\u8fdb\u884c\u5b58\u6d3b\u6027\u68c0\u6d4b\uff0c\u907f\u514d\u5b83\u4eec\u5728\u542f\u52a8\u8fd0\u884c\u4e4b\u524d\u5c31\u88ab\u6740\u6389\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#_2","title":"\u5b58\u6d3b\u548c\u5c31\u7eea\u68c0\u67e5","text":"

                \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09\u7684\u914d\u7f6e\u548c\u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09\u7684\u914d\u7f6e\u53c2\u6570\u76f8\u4f3c\uff0c \u552f\u4e00\u533a\u522b\u662f\u8981\u4f7f\u7528 readinessProbe \u5b57\u6bb5\uff0c\u800c\u4e0d\u662f livenessProbe \u5b57\u6bb5\u3002

                HTTP GET \u53c2\u6570\u8bf4\u660e\uff1a

                \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u8def\u5f84\uff08 Path\uff09 \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\u3002\u5982\uff1a \u793a\u4f8b\u4e2d\u7684 /healthz \u8def\u5f84 \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u534f\u8bae \u8bbf\u95ee\u534f\u8bae\uff0cHttp \u6216\u8005Https \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u6210\u529f\u9608\u503c\uff08successThreshold\uff09 \u63a2\u6d4b\u5931\u8d25\u540e\uff0c\u88ab\u89c6\u4e3a\u6210\u529f\u7684\u6700\u5c0f\u8fde\u7eed\u6210\u529f\u6570\u3002\u9ed8\u8ba4\u503c\u662f 1\uff0c\u6700\u5c0f\u503c\u662f 1\u3002\u5b58\u6d3b\u548c\u542f\u52a8\u63a2\u6d4b\u7684\u8fd9\u4e2a\u503c\u5fc5\u987b\u662f 1\u3002 \u6700\u5927\u5931\u8d25\u6b21\u6570\uff08failureThreshold\uff09 \u5f53\u63a2\u6d4b\u5931\u8d25\u65f6\u91cd\u8bd5\u7684\u6b21\u6570\u3002\u5b58\u6d3b\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03\u5c31\u610f\u5473\u7740\u91cd\u65b0\u542f\u52a8\u5bb9\u5668\u3002\u5c31\u7eea\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03 Pod \u4f1a\u88ab\u6253\u4e0a\u672a\u5c31\u7eea\u7684\u6807\u7b7e\u3002\u9ed8\u8ba4\u503c\u662f 3\u3002\u6700\u5c0f\u503c\u662f 1\u3002"},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#http-get","title":"\u4f7f\u7528 HTTP GET \u8bf7\u6c42\u68c0\u67e5","text":"

                YAML \u793a\u4f8b\uff1a

                apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-http\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/liveness\n    args:\n    - /server\n    livenessProbe:\n      httpGet:\n        path: /healthz  # \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\n        port: 8080  # \u670d\u52a1\u76d1\u542c\u7aef\u53e3\n        httpHeaders:\n        - name: Custom-Header\n          value: Awesome\n      initialDelaySeconds: 3  # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u5e94\u8be5\u7b49\u5f85 3 \u79d2\n      periodSeconds: 3   #kubelet \u6bcf\u9694 3 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                \u6309\u7167\u8bbe\u5b9a\u7684\u89c4\u5219\uff0cKubelet \u5411\u5bb9\u5668\u5185\u8fd0\u884c\u7684\u670d\u52a1\uff08\u670d\u52a1\u5728\u76d1\u542c 8080 \u7aef\u53e3\uff09\u53d1\u9001\u4e00\u4e2a HTTP GET \u8bf7\u6c42\u6765\u6267\u884c\u63a2\u6d4b\u3002\u5982\u679c\u670d\u52a1\u5668\u4e0a /healthz \u8def\u5f84\u4e0b\u7684\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u6210\u529f\u4ee3\u7801\uff0c\u5219 kubelet \u8ba4\u4e3a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u5931\u8d25\u4ee3\u7801\uff0c\u5219 kubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u5c06\u5176\u91cd\u542f\u3002\u8fd4\u56de\u5927\u4e8e\u6216\u7b49\u4e8e 200 \u5e76\u4e14\u5c0f\u4e8e 400 \u7684\u4efb\u4f55\u4ee3\u7801\u90fd\u6807\u793a\u6210\u529f\uff0c\u5176\u5b83\u8fd4\u56de\u4ee3\u7801\u90fd\u6807\u793a\u5931\u8d25\u3002 \u5bb9\u5668\u5b58\u6d3b\u671f\u95f4\u7684\u6700\u5f00\u59cb 10 \u79d2\u4e2d\uff0c /healthz \u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 200 \u7684\u72b6\u6001\u7801\u3002 \u4e4b\u540e\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 500 \u7684\u72b6\u6001\u7801\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#tcp","title":"\u4f7f\u7528 TCP \u7aef\u53e3\u68c0\u67e5","text":"

                TCP \u7aef\u53e3\u53c2\u6570\u8bf4\u660e\uff1a

                \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002

                \u5bf9\u4e8e\u63d0\u4f9bTCP\u901a\u4fe1\u670d\u52a1\u7684\u5bb9\u5668\uff0c\u57fa\u4e8e\u6b64\u914d\u7f6e\uff0c\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\u96c6\u7fa4\u5bf9\u8be5\u5bb9\u5668\u5efa\u7acbTCP\u8fde\u63a5\uff0c\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u5219\u8bc1\u660e\u63a2\u6d4b\u6210\u529f\uff0c\u5426\u5219\u63a2\u6d4b\u5931\u8d25\u3002\u9009\u62e9TCP\u7aef\u53e3\u63a2\u6d4b\u65b9\u5f0f\uff0c\u5fc5\u987b\u6307\u5b9a\u5bb9\u5668\u76d1\u542c\u7684\u7aef\u53e3\u3002

                YAML \u793a\u4f8b\uff1a

                apiVersion: v1\nkind: Pod\nmetadata:\n  name: goproxy\n  labels:\n    app: goproxy\nspec:\n  containers:\n  - name: goproxy\n    image: k8s.gcr.io/goproxy:0.1\n    ports:\n    - containerPort: 8080\n    readinessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 5\n      periodSeconds: 10\n    livenessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 15\n      periodSeconds: 20\n

                \u6b64\u793a\u4f8b\u540c\u65f6\u4f7f\u7528\u5c31\u7eea\u548c\u5b58\u6d3b\u63a2\u9488\u3002kubelet \u5728\u5bb9\u5668\u542f\u52a8 5 \u79d2\u540e\u53d1\u9001\u7b2c\u4e00\u4e2a\u5c31\u7eea\u63a2\u6d4b\u3002 \u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\uff0c \u5982\u679c\u63a2\u6d4b\u6210\u529f\uff0c\u8fd9\u4e2a Pod \u4f1a\u88ab\u6807\u8bb0\u4e3a\u5c31\u7eea\u72b6\u6001\uff0ckubelet \u5c06\u7ee7\u7eed\u6bcf\u9694 10 \u79d2\u8fd0\u884c\u4e00\u6b21\u68c0\u6d4b\u3002

                \u9664\u4e86\u5c31\u7eea\u63a2\u6d4b\uff0c\u8fd9\u4e2a\u914d\u7f6e\u5305\u62ec\u4e86\u4e00\u4e2a\u5b58\u6d3b\u63a2\u6d4b\u3002 kubelet \u4f1a\u5728\u5bb9\u5668\u542f\u52a8 15 \u79d2\u540e\u8fdb\u884c\u7b2c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\u3002 \u5c31\u7eea\u63a2\u6d4b\u4f1a\u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\u3002 \u5982\u679c\u5b58\u6d3b\u63a2\u6d4b\u5931\u8d25\uff0c\u5bb9\u5668\u4f1a\u88ab\u91cd\u65b0\u542f\u52a8\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#_3","title":"\u6267\u884c\u547d\u4ee4\u68c0\u67e5","text":"

                YAML \u793a\u4f8b:

                apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-exec\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/busybox\n    args:\n    - /bin/sh\n    - -c\n    - touch /tmp/healthy; sleep 30; rm -f /tmp/healthy; sleep 600\n    livenessProbe:\n      exec:\n        command:\n        - cat\n        - /tmp/healthy\n      initialDelaySeconds: 5 # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\n      periodSeconds: 5  #kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                periodSeconds \u5b57\u6bb5\u6307\u5b9a\u4e86 kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\uff0c initialDelaySeconds \u5b57\u6bb5\u6307\u5b9a kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\u3002\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\uff0c\u96c6\u7fa4\u5468\u671f\u6027\u7684\u901a\u8fc7 kubelet \u5728\u5bb9\u5668\u5185\u6267\u884c\u547d\u4ee4 cat /tmp/healthy \u6765\u8fdb\u884c\u63a2\u6d4b\u3002 \u5982\u679c\u547d\u4ee4\u6267\u884c\u6210\u529f\u5e76\u4e14\u8fd4\u56de\u503c\u4e3a 0\uff0ckubelet \u5c31\u4f1a\u8ba4\u4e3a\u8fd9\u4e2a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u8fd9\u4e2a\u547d\u4ee4\u8fd4\u56de\u975e 0 \u503c\uff0ckubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u91cd\u65b0\u542f\u52a8\u5b83\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#_4","title":"\u4f7f\u7528\u542f\u52a8\u524d\u68c0\u67e5\u4fdd\u62a4\u6162\u542f\u52a8\u5bb9\u5668","text":"

                \u6709\u4e9b\u5e94\u7528\u5728\u542f\u52a8\u65f6\u9700\u8981\u8f83\u957f\u7684\u521d\u59cb\u5316\u65f6\u95f4\uff0c\u9700\u8981\u4f7f\u7528\u76f8\u540c\u7684\u547d\u4ee4\u6765\u8bbe\u7f6e\u542f\u52a8\u63a2\u6d4b\uff0c\u9488\u5bf9 HTTP \u6216 TCP \u68c0\u6d4b\uff0c\u53ef\u4ee5\u901a\u8fc7\u5c06 failureThreshold * periodSeconds \u53c2\u6570\u8bbe\u7f6e\u4e3a\u8db3\u591f\u957f\u7684\u65f6\u95f4\u6765\u5e94\u5bf9\u542f\u52a8\u9700\u8981\u8f83\u957f\u65f6\u95f4\u7684\u573a\u666f\u3002

                YAML \u793a\u4f8b\uff1a

                ports:\n- name: liveness-port\n  containerPort: 8080\n  hostPort: 8080\n\nlivenessProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 1\n  periodSeconds: 10\n\nstartupProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 30\n  periodSeconds: 10\n

                \u5982\u4e0a\u8bbe\u7f6e\uff0c\u5e94\u7528\u5c06\u6709\u6700\u591a 5 \u5206\u949f\uff0830 * 10 = 300s\uff09\u7684\u65f6\u95f4\u6765\u5b8c\u6210\u542f\u52a8\u8fc7\u7a0b\uff0c \u4e00\u65e6\u542f\u52a8\u63a2\u6d4b\u6210\u529f\uff0c\u5b58\u6d3b\u63a2\u6d4b\u4efb\u52a1\u5c31\u4f1a\u63a5\u7ba1\u5bf9\u5bb9\u5668\u7684\u63a2\u6d4b\uff0c\u5bf9\u5bb9\u5668\u6b7b\u9501\u4f5c\u51fa\u5feb\u901f\u54cd\u5e94\u3002 \u5982\u679c\u542f\u52a8\u63a2\u6d4b\u4e00\u76f4\u6ca1\u6709\u6210\u529f\uff0c\u5bb9\u5668\u4f1a\u5728 300 \u79d2\u540e\u88ab\u6740\u6b7b\uff0c\u5e76\u4e14\u6839\u636e restartPolicy \u6765 \u6267\u884c\u8fdb\u4e00\u6b65\u5904\u7f6e\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/job-parameters.html","title":"\u4efb\u52a1\u53c2\u6570\u8bf4\u660e","text":"

                \u6839\u636e .spec.completions \u548c .spec.Parallelism \u7684\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u5c06\u4efb\u52a1\uff08Job\uff09\u5212\u5206\u4e3a\u4ee5\u4e0b\u51e0\u79cd\u7c7b\u578b:

                Job \u7c7b\u578b \u8bf4\u660e \u975e\u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176 Job \u6210\u529f\u7ed3\u675f \u5177\u6709\u786e\u5b9a\u5b8c\u6210\u8ba1\u6570\u7684\u5e76\u884c Job \u5f53\u6210\u529f\u7684 Pod \u4e2a\u6570\u8fbe\u5230 .spec.completions \u65f6\uff0cJob \u88ab\u89c6\u4e3a\u5b8c\u6210 \u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod \u76f4\u81f3\u6709\u4e00\u4e2a\u6210\u529f\u7ed3\u675f

                \u53c2\u6570\u8bf4\u660e

                RestartPolicy \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176\u6210\u529f\u7ed3\u675f .spec.completions \u8868\u793a Job \u7ed3\u675f\u9700\u8981\u6210\u529f\u8fd0\u884c\u7684 Pod \u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 .spec.parallelism \u8868\u793a\u5e76\u884c\u8fd0\u884c\u7684 Pod \u7684\u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 spec.backoffLimit \u8868\u793a\u5931\u8d25 Pod \u7684\u91cd\u8bd5\u6700\u5927\u6b21\u6570\uff0c\u8d85\u8fc7\u8fd9\u4e2a\u6b21\u6570\u4e0d\u4f1a\u7ee7\u7eed\u91cd\u8bd5\u3002 .spec.activeDeadlineSeconds \u8868\u793a Pod \u8fd0\u884c\u65f6\u95f4\uff0c\u4e00\u65e6\u8fbe\u5230\u8fd9\u4e2a\u65f6\u95f4\uff0cJob \u5373\u5176\u6240\u6709\u7684 Pod \u90fd\u4f1a\u505c\u6b62\u3002\u4e14activeDeadlineSeconds \u4f18\u5148\u7ea7\u9ad8\u4e8e backoffLimit\uff0c\u5373\u5230\u8fbe activeDeadlineSeconds \u7684 Job \u4f1a\u5ffd\u7565backoffLimit \u7684\u8bbe\u7f6e\u3002

                \u4ee5\u4e0b\u662f\u4e00\u4e2a Job \u914d\u7f6e\u793a\u4f8b\uff0c\u4fdd\u5b58\u5728 myjob.yaml \u4e2d\uff0c\u5176\u8ba1\u7b97 \u03c0 \u5230 2000 \u4f4d\u5e76\u6253\u5370\u8f93\u51fa\u3002

                apiVersion: batch/v1\nkind: Job            #\u5f53\u524d\u8d44\u6e90\u7684\u7c7b\u578b\nmetadata:\n  name: myjob\nspec:\n  completions: 50        # Job\u7ed3\u675f\u9700\u8981\u8fd0\u884c50\u4e2aPod\uff0c\u8fd9\u4e2a\u793a\u4f8b\u4e2d\u5c31\u662f\u6253\u5370\u03c0 50\u6b21\n  parallelism: 5        # \u5e76\u884c5\u4e2aPod\n  backoffLimit: 5        # \u6700\u591a\u91cd\u8bd55\u6b21\n  template:\n    spec:\n      containers:\n      - name: pi\n        image: perl\n        command: [\"perl\",  \"-Mbignum=bpi\", \"-wle\", \"print bpi(2000)\"]\n      restartPolicy: Never #\u91cd\u542f\u7b56\u7565\n

                \u76f8\u5173\u547d\u4ee4

                kubectl apply -f myjob.yaml  #\u542f\u52a8 job\nkubectl get job #\u67e5\u770b\u8fd9\u4e2ajob\nkubectl logs myjob-1122dswzs \u67e5\u770bJob Pod \u7684\u65e5\u5fd7\n
                "},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html","title":"\u914d\u7f6e\u5bb9\u5668\u751f\u547d\u5468\u671f","text":"

                Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c Pod \u5185\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \u72b6\u6001\u3002\u5982\u679c Pod \u4e2d\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\uff0c\u5219\u72b6\u6001\u53d8\u4e3a Failed \u3002\u4ee5\u4e0b phase \u5b57\u6bb5\u503c\u8868\u660e\u4e86\u4e00\u4e2a Pod \u5904\u4e8e\u751f\u547d\u5468\u671f\u7684\u54ea\u4e2a\u9636\u6bb5\u3002

                \u503c \u63cf\u8ff0 Pending \uff08\u60ac\u51b3\uff09 Pod \u5df2\u88ab\u7cfb\u7edf\u63a5\u53d7\uff0c\u4f46\u6709\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u5bb9\u5668\u5c1a\u672a\u521b\u5efa\u4ea6\u672a\u8fd0\u884c\u3002\u8fd9\u4e2a\u9636\u6bb5\u5305\u62ec\u7b49\u5f85 Pod \u88ab\u8c03\u5ea6\u7684\u65f6\u95f4\u548c\u901a\u8fc7\u7f51\u7edc\u4e0b\u8f7d\u955c\u50cf\u7684\u65f6\u95f4\u3002 Running \uff08\u8fd0\u884c\u4e2d\uff09 Pod \u5df2\u7ecf\u7ed1\u5b9a\u5230\u4e86\u67d0\u4e2a\u8282\u70b9\uff0cPod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u88ab\u521b\u5efa\u3002\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u4ecd\u5728\u8fd0\u884c\uff0c\u6216\u8005\u6b63\u5904\u4e8e\u542f\u52a8\u6216\u91cd\u542f\u72b6\u6001\u3002 Succeeded \uff08\u6210\u529f\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u6210\u529f\u7ec8\u6b62\uff0c\u5e76\u4e14\u4e0d\u4f1a\u518d\u91cd\u542f\u3002 Failed \uff08\u5931\u8d25\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u7ec8\u6b62\uff0c\u5e76\u4e14\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u662f\u56e0\u4e3a\u5931\u8d25\u800c\u7ec8\u6b62\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u5bb9\u5668\u4ee5\u975e 0 \u72b6\u6001\u9000\u51fa\u6216\u8005\u88ab\u7cfb\u7edf\u7ec8\u6b62\u3002 Unknown \uff08\u672a\u77e5\uff09 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\uff0c\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u6240\u81f4\u3002

                \u5728 DCE \u5bb9\u5668\u7ba1\u7406\u4e2d\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u955c\u50cf\u6765\u6307\u5b9a\u5bb9\u5668\u4e2d\u7684\u8fd0\u884c\u73af\u5883\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5728\u6784\u5efa\u955c\u50cf\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 Entrypoint \u548c CMD \u4e24\u4e2a\u5b57\u6bb5\u6765\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u65f6\u6267\u884c\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002\u5982\u679c\u9700\u8981\u66f4\u6539\u5bb9\u5668\u955c\u50cf\u542f\u52a8\u524d\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u7684\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u5bb9\u5668\u7684\u751f\u547d\u5468\u671f\u4e8b\u4ef6\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u6765\u8986\u76d6\u955c\u50cf\u4e2d\u9ed8\u8ba4\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html#_2","title":"\u751f\u547d\u5468\u671f\u914d\u7f6e","text":"

                \u6839\u636e\u4e1a\u52a1\u9700\u8981\u5bf9\u5bb9\u5668\u7684\u542f\u52a8\u547d\u4ee4\u3001\u542f\u52a8\u540e\u547d\u4ee4\u3001\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u542f\u52a8\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5c06\u6309\u7167\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u542f\u52a8\u3002 \u542f\u52a8\u540e\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u542f\u52a8\u540e\u51fa\u53d1\u7684\u547d\u4ee4 \u505c\u6b62\u524d\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5728\u6536\u5230\u505c\u6b62\u547d\u4ee4\u540e\u6267\u884c\u7684\u547d\u4ee4\u3002\u786e\u4fdd\u5347\u7ea7\u6216\u5b9e\u4f8b\u5220\u9664\u65f6\u53ef\u63d0\u524d\u5c06\u5b9e\u4f8b\u4e2d\u8fd0\u884c\u7684\u4e1a\u52a1\u6392\u6c34\u3002 --"},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html#_3","title":"\u542f\u52a8\u547d\u4ee4","text":"

                \u6839\u636e\u4e0b\u8868\u5bf9\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html#_4","title":"\u542f\u52a8\u540e\u547d\u4ee4","text":"

                DCE \u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u542f\u52a8\u540e\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                \u547d\u4ee4\u884c\u811a\u672c\u914d\u7f6e

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html#_5","title":"\u505c\u6b62\u524d\u547d\u4ee4","text":"

                DCE \u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                HTTP \u8bf7\u6c42\u914d\u7f6e

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c URL \u8def\u5f84 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684URL\u8def\u5f84\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u7aef\u53e3 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684\u7aef\u53e3\u3002 port=8080 \u8282\u70b9\u5730\u5740 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684 IP \u5730\u5740\uff0c\u9ed8\u8ba4\u662f\u5bb9\u5668\u6240\u5728\u7684\u8282\u70b9 IP\u3002 --"},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8282\u70b9\u4e5f\u6709\u6807\u7b7e\u3002\u60a8\u53ef\u4ee5\u624b\u52a8\u6dfb\u52a0\u6807\u7b7e\u3002 Kubernetes \u4e5f\u4f1a\u4e3a\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u6dfb\u52a0\u4e00\u4e9b\u6807\u51c6\u7684\u6807\u7b7e\u3002\u53c2\u89c1\u5e38\u7528\u7684\u6807\u7b7e\u3001\u6ce8\u89e3\u548c\u6c61\u70b9\u4ee5\u4e86\u89e3\u5e38\u89c1\u7684\u8282\u70b9\u6807\u7b7e\u3002\u901a\u8fc7\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u60a8\u53ef\u4ee5\u8ba9 Pod \u8c03\u5ea6\u5230\u7279\u5b9a\u8282\u70b9\u6216\u8282\u70b9\u7ec4\u4e0a\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u529f\u80fd\u6765\u786e\u4fdd\u7279\u5b9a\u7684 Pod \u53ea\u80fd\u8fd0\u884c\u5728\u5177\u6709\u4e00\u5b9a\u9694\u79bb\u6027\uff0c\u5b89\u5168\u6027\u6216\u76d1\u7ba1\u5c5e\u6027\u7684\u8282\u70b9\u4e0a\u3002

                nodeSelector \u662f\u8282\u70b9\u9009\u62e9\u7ea6\u675f\u7684\u6700\u7b80\u5355\u63a8\u8350\u5f62\u5f0f\u3002\u60a8\u53ef\u4ee5\u5c06 nodeSelector \u5b57\u6bb5\u6dfb\u52a0\u5230 Pod \u7684\u89c4\u7ea6\u4e2d\u8bbe\u7f6e\u60a8\u5e0c\u671b\u76ee\u6807\u8282\u70b9\u6240\u5177\u6709\u7684\u8282\u70b9\u6807\u7b7e\u3002Kubernetes \u53ea\u4f1a\u5c06 Pod \u8c03\u5ea6\u5230\u62e5\u6709\u6307\u5b9a\u6bcf\u4e2a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002 nodeSelector \u63d0\u4f9b\u4e86\u4e00\u79cd\u6700\u7b80\u5355\u7684\u65b9\u6cd5\u6765\u5c06 Pod \u7ea6\u675f\u5230\u5177\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002\u4eb2\u548c\u6027\u548c\u53cd\u4eb2\u548c\u6027\u6269\u5c55\u4e86\u60a8\u53ef\u4ee5\u5b9a\u4e49\u7684\u7ea6\u675f\u7c7b\u578b\u3002\u4f7f\u7528\u4eb2\u548c\u6027\u4e0e\u53cd\u4eb2\u548c\u6027\u7684\u4e00\u4e9b\u597d\u5904\u6709\uff1a

                • \u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u8bed\u8a00\u7684\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002 nodeSelector \u53ea\u80fd\u9009\u62e9\u62e5\u6709\u6240\u6709\u6307\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u3002\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u4e3a\u60a8\u63d0\u4f9b\u5bf9\u9009\u62e9\u903b\u8f91\u7684\u66f4\u5f3a\u63a7\u5236\u80fd\u529b\u3002

                • \u60a8\u53ef\u4ee5\u6807\u660e\u67d0\u89c4\u5219\u662f\u201c\u8f6f\u9700\u6c42\u201d\u6216\u8005\u201c\u504f\u597d\u201d\uff0c\u8fd9\u6837\u8c03\u5ea6\u5668\u5728\u65e0\u6cd5\u627e\u5230\u5339\u914d\u8282\u70b9\u65f6\uff0c\u4f1a\u5ffd\u7565\u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027\u89c4\u5219\uff0c\u786e\u4fdd Pod \u8c03\u5ea6\u6210\u529f\u3002

                • \u60a8\u53ef\u4ee5\u4f7f\u7528\u8282\u70b9\u4e0a\uff08\u6216\u5176\u4ed6\u62d3\u6251\u57df\u4e2d\uff09\u8fd0\u884c\u7684\u5176\u4ed6 Pod \u7684\u6807\u7b7e\u6765\u5b9e\u65bd\u8c03\u5ea6\u7ea6\u675f\uff0c\u800c\u4e0d\u662f\u53ea\u80fd\u4f7f\u7528\u8282\u70b9\u672c\u8eab\u7684\u6807\u7b7e\u3002\u8fd9\u4e2a\u80fd\u529b\u8ba9\u60a8\u80fd\u591f\u5b9a\u4e49\u89c4\u5219\u5141\u8bb8\u54ea\u4e9b Pod \u53ef\u4ee5\u88ab\u653e\u7f6e\u5728\u4e00\u8d77\u3002

                \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u4eb2\u548c\uff08affinity\uff09\u4e0e\u53cd\u4eb2\u548c\uff08anti-affinity\uff09\u6765\u9009\u62e9 Pod \u8981\u90e8\u7f72\u7684\u8282\u70b9\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_2","title":"\u5bb9\u5fcd\u65f6\u95f4","text":"

                \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u7cfb\u7edf\u5c06\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\u7a97\u3002\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#nodeaffinity","title":"\u8282\u70b9\u4eb2\u548c\u6027\uff08nodeAffinity\uff09","text":"

                \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u5b83\u4f7f\u60a8\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

                • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_3","title":"\u6807\u7b7e\u540d","text":"

                \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_4","title":"\u64cd\u4f5c\u7b26","text":"
                • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                • Gt\uff1a\u6807\u7b7e\u7684\u503c\u5927\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                • Lt\uff1a\u6807\u7b7e\u7684\u503c\u5c0f\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_5","title":"\u6743\u91cd","text":"

                \u4ec5\u652f\u6301\u5728\u201c\u5c3d\u91cf\u6ee1\u8db3\u201d\u7b56\u7565\u4e2d\u6dfb\u52a0\uff0c\u53ef\u4ee5\u7406\u89e3\u4e3a\u8c03\u5ea6\u7684\u4f18\u5148\u7ea7\uff0c\u6743\u91cd\u5927\u7684\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u53d6\u503c\u8303\u56f4\u662f 1 \u5230 100\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_6","title":"\u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027","text":"

                \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                \u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u53ef\u4ee5\u548c\u54ea\u4e9b Pod\u90e8 \u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e\u76f8\u4e92\u901a\u4fe1\u7684\u670d\u52a1\uff0c\u53ef\u901a\u8fc7\u5e94\u7528\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u5c06\u5176\u90e8\u7f72\u5230\u540c\u4e00\u62d3\u6251\u57df\uff08\u5982\u540c\u4e00\u53ef\u7528\u533a\uff09\u4e2d\uff0c\u51cf\u5c11\u5b83\u4eec\u4e4b\u95f4\u7684\u7f51\u7edc\u5ef6\u8fdf\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_7","title":"\u6807\u7b7e\u540d","text":"

                \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_8","title":"\u547d\u540d\u7a7a\u95f4","text":"

                \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_9","title":"\u64cd\u4f5c\u7b26","text":"
                • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_10","title":"\u62d3\u6251\u57df","text":"

                \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_11","title":"\u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027","text":"

                \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                \u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u4e0d\u53ef\u4ee5\u548c\u54ea\u4e9b Pod \u90e8\u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5c06\u4e00\u4e2a\u8d1f\u8f7d\u7684\u76f8\u540c Pod \u5206\u6563\u90e8\u7f72\u5230\u4e0d\u540c\u7684\u62d3\u6251\u57df\uff08\u4f8b\u5982\u4e0d\u540c\u4e3b\u673a\uff09\u4e2d\uff0c\u63d0\u9ad8\u8d1f\u8f7d\u672c\u8eab\u7684\u7a33\u5b9a\u6027\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_12","title":"\u6807\u7b7e\u540d","text":"

                \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_13","title":"\u547d\u540d\u7a7a\u95f4","text":"

                \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_14","title":"\u64cd\u4f5c\u7b26","text":"
                • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_15","title":"\u62d3\u6251\u57df","text":"

                \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                \u5de5\u4f5c\u8d1f\u8f7d\u662f\u8fd0\u884c\u5728 Kubernetes \u4e0a\u7684\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5728 Kubernetes \u4e2d\uff0c\u65e0\u8bba\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u662f\u7531\u5355\u4e2a\u540c\u4e00\u7ec4\u4ef6\u6216\u662f\u7531\u591a\u4e2a\u4e0d\u540c\u7684\u7ec4\u4ef6\u6784\u6210\uff0c\u90fd\u53ef\u4ee5\u4f7f\u7528\u4e00\u7ec4 Pod \u6765\u8fd0\u884c\u5b83\u3002Kubernetes \u63d0\u4f9b\u4e86\u4e94\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u7ba1\u7406 Pod\uff1a

                • \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                • \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                • \u5b88\u62a4\u8fdb\u7a0b
                • \u4efb\u52a1
                • \u5b9a\u65f6\u4efb\u52a1

                \u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u8d44\u6e90 CRD \u6765\u5b9e\u73b0\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u7684\u6269\u5c55\u3002\u5728\u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u4e2d\uff0c\u652f\u6301\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u521b\u5efa\u3001\u66f4\u65b0\u3001\u6269\u5bb9\u3001\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5220\u9664\u3001\u7248\u672c\u7ba1\u7406\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#pod","title":"Pod \u72b6\u6001","text":"

                Pod \u662f Kuberneters \u4e2d\u521b\u5efa\u548c\u7ba1\u7406\u7684\u3001\u6700\u5c0f\u7684\u8ba1\u7b97\u5355\u5143\uff0c\u5373\u4e00\u7ec4\u5bb9\u5668\u7684\u96c6\u5408\u3002\u8fd9\u4e9b\u5bb9\u5668\u5171\u4eab\u5b58\u50a8\u3001\u7f51\u7edc\u4ee5\u53ca\u7ba1\u7406\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u65b9\u5f0f\u7684\u7b56\u7565\u3002 Pod \u901a\u5e38\u4e0d\u7531\u7528\u6237\u76f4\u63a5\u521b\u5efa\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u521b\u5efa\u3002 Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c\u81f3\u5c11\u5176\u4e2d\u6709\u4e00\u4e2a\u4e3b\u8981\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \uff0c\u4e4b\u540e\u53d6\u51b3\u4e8e Pod \u4e2d\u662f\u5426\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\u800c\u8fdb\u5165 Succeeded \u6216\u8005 Failed \u9636\u6bb5\u3002

                "},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#_2","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                \u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f9d\u636e Pod \u7684\u72b6\u6001\u3001\u526f\u672c\u6570\u7b49\u56e0\u7d20\uff0c\u8bbe\u8ba1\u4e86\u4e00\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u751f\u547d\u5468\u671f\u7684\u72b6\u6001\u96c6\uff0c\u4ee5\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u771f\u5b9e\u7684\u611f\u77e5\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u60c5\u51b5\u3002 \u7531\u4e8e\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\uff08\u6bd4\u5982\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u548c\u4efb\u52a1\uff09\u5bf9 Pod \u7684\u7ba1\u7406\u673a\u5236\u4e0d\u4e00\u81f4\uff0c\u56e0\u6b64\uff0c\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u5448\u73b0\u4e0d\u540c\u7684\u751f\u547d\u5468\u671f\u72b6\u6001\uff0c\u5177\u4f53\u5982\u4e0b\u8868\uff1a

                "},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#_3","title":"\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u6001\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d 1. \u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30022. \u89e6\u53d1\u5347\u7ea7\u6216\u8005\u56de\u6eda\u52a8\u4f5c\u540e\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30023. \u89e6\u53d1\u6682\u505c/\u6269\u7f29\u5bb9\u7b49\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u8fd0\u884c\u4e2d \u8d1f\u8f7d\u4e0b\u7684\u6240\u6709\u5b9e\u4f8b\u90fd\u5728\u8fd0\u884c\u4e2d\u4e14\u526f\u672c\u6570\u4e0e\u7528\u6237\u9884\u5b9a\u4e49\u7684\u6570\u91cf\u4e00\u81f4\u65f6\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u6267\u884c\u5220\u9664\u64cd\u4f5c\u65f6\uff0c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u76f4\u5230\u5220\u9664\u5b8c\u6210\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97\u5de5\u4f5c\u8d1f\u8f7d\u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002 \u672a\u5c31\u7eea \u5bb9\u5668\u5904\u4e8e\u5f02\u5e38\uff0cpending \u72b6\u6001\u65f6\uff0c\u56e0\u672a\u77e5\u9519\u8bef\u5bfc\u81f4\u8d1f\u8f7d\u65e0\u6cd5\u542f\u52a8\u65f6\u663e\u793a\u6b64\u72b6\u6001"},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#_4","title":"\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u4e2d \u4efb\u52a1\u6b63\u5728\u6267\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u5b8c\u6210 \u4efb\u52a1\u6267\u884c\u5b8c\u6210\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002"},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u5b9a\u65f6\u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u542f\u52a8 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u6210\u529f\u540e\uff0c\u6b63\u5e38\u8fd0\u884c\u6216\u5c06\u5df2\u6682\u505c\u7684\u4efb\u52a1\u542f\u52a8\u65f6\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u505c\u6b62 \u6267\u884c\u505c\u6b62\u4efb\u52a1\u64cd\u4f5c\u65f6\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u5728\u6b64\u72b6\u6001\u3002

                \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u5f02\u5e38\u6216\u672a\u5c31\u7eea\u72b6\u6001\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5c06\u9f20\u6807\u79fb\u52a8\u5230\u8d1f\u8f7d\u7684\u72b6\u6001\u503c\u4e0a\uff0c\u7cfb\u7edf\u5c06\u901a\u8fc7\u63d0\u793a\u6846\u5c55\u793a\u66f4\u52a0\u8be6\u7ec6\u7684\u9519\u8bef\u4fe1\u606f\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u67e5\u770b\u65e5\u5fd7\u6216\u4e8b\u4ef6\u6765\u83b7\u53d6\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76f8\u5173\u8fd0\u884c\u4fe1\u606f\u3002

                "},{"location":"openapi/index.html","title":"OpenAPI \u8bbf\u95ee\u5bc6\u94a5","text":"

                \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee\u5f00\u653e API \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

                "},{"location":"openapi/index.html#_1","title":"\u83b7\u53d6\u5bc6\u94a5","text":"

                \u767b\u5f55 DCE 5.0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                Info

                \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                "},{"location":"openapi/index.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

                \u5728\u8bbf\u95ee DCE 5.0 openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\uff0c\u5177\u4f53\u63a5\u53e3\u4fe1\u606f\u53c2\u89c1 OpenAPI \u63a5\u53e3\u6587\u6863\u3002

                \u8bf7\u6c42\u793a\u4f8b

                curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

                \u8bf7\u6c42\u7ed3\u679c

                {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
                "},{"location":"openapi/baize/index.html","title":"AI Lab","text":""},{"location":"openapi/ghippo/index.html","title":"\u5168\u5c40\u7ba1\u7406","text":""},{"location":"openapi/insight/index.html","title":"\u53ef\u89c2\u6d4b","text":""},{"location":"openapi/kpanda/index.html","title":"\u5bb9\u5668\u7ba1\u7406","text":""},{"location":"openapi/virtnest/index.html","title":"\u4e91\u4e3b\u673a","text":""},{"location":"security/index.html","title":"\u4e91\u539f\u751f\u5b89\u5168","text":"

                DCE 5.0 \u9488\u5bf9\u5bb9\u5668\u3001Pod\u3001\u955c\u50cf\u3001\u8fd0\u884c\u65f6\u3001\u5fae\u670d\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u81ea\u52a8\u5316\u7684\u5b89\u5168\u5b9e\u73b0\u3002 \u4e0b\u8868\u5217\u51fa\u4e86\u4e00\u4e9b\u5df2\u5b9e\u73b0\u6216\u6b63\u5728\u5b9e\u73b0\u4e2d\u7684\u5b89\u5168\u7279\u6027\u3002

                \u5b89\u5168\u7279\u6027 \u7ec6\u76ee \u63cf\u8ff0 \u955c\u50cf\u5b89\u5168 \u53ef\u4fe1\u955c\u50cf\u5206\u53d1 \u4e3a\u5b9e\u73b0\u955c\u50cf\u7684\u5b89\u5168\u4f20\u8f93\uff0c\u9700\u5177\u5907\u5bc6\u94a5\u5bf9\u548c\u7b7e\u540d\u4fe1\u606f\uff0c\u4fdd\u8bc1\u4f20\u8f93\u5b89\u5168\u3002\u5728\u4f20\u8f93\u955c\u50cf\u65f6\u5177\u5907\u9009\u62e9\u5bc6\u94a5\u8fdb\u884c\u955c\u50cf\u7b7e\u540d\u80fd\u529b\u3002 \u8fd0\u884c\u65f6\u5b89\u5168 \u4e8b\u4ef6\u5173\u8054\u5206\u6790 \u652f\u6301\u5bf9\u8fd0\u884c\u65f6\u68c0\u6d4b\u51fa\u7684\u5b89\u5168\u4e8b\u4ef6\u505a\u5173\u8054\u4e0e\u98ce\u9669\u5206\u6790\uff0c\u589e\u52a0\u653b\u51fb\u6eaf\u6e90\u80fd\u529b\uff0c\u6536\u655b\u544a\u8b66\uff0c\u964d\u4f4e\u65e0\u6548\u544a\u8b66\uff0c\u63d0\u9ad8\u4e8b\u4ef6\u54cd\u5e94\u6548\u7387\u3002 - \u5bb9\u5668\u8bf1\u9975\u4ed3\u5e93 \u5177\u5907\u5bb9\u5668\u8bf1\u9975\u4ed3\u5e93\uff0c\u5e38\u89c1\u8bf1\u9975\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u672a\u6388\u6743\u8bbf\u95ee\u6f0f\u6d1e\u3001\u4ee3\u7801\u6267\u884c\u6f0f\u6d1e\u3001\u672c\u5730\u6587\u4ef6\u8bfb\u53d6\u6f0f\u6d1e\u3001\u8fdc\u7a0b\u547d\u4ee4\u6267\u884c RCE \u6f0f\u6d1e\u7b49\u5bb9\u5668\u8bf1\u9975\u3002 - \u5bb9\u5668\u8bf1\u9975\u90e8\u7f72 \u652f\u6301\u81ea\u5b9a\u4e49\u65b0\u589e\u8bf1\u9975\u5bb9\u5668\uff0c\u53ef\u4ee5\u81ea\u5b9a\u4e49\u670d\u52a1\u540d\u79f0\u3001\u670d\u52a1\u4f4d\u7f6e\u7b49\u3002 - \u5bb9\u5668\u8bf1\u9975\u544a\u8b66 \u652f\u6301\u5bf9\u5bb9\u5668\u8bf1\u9975\u4e2d\u53ef\u7591\u884c\u4e3a\u8fdb\u884c\u544a\u8b66\u3002 - \u504f\u79fb\u68c0\u6d4b \u5728\u626b\u63cf\u955c\u50cf\u540c\u65f6\uff0c\u5b66\u4e60\u955c\u50cf\u4e2d\u5168\u90e8\u4e8c\u8fdb\u5236\u6587\u4ef6\u4fe1\u606f\uff0c\u5e76\u5f62\u6210\u201c\u767d\u540d\u5355\u201d\uff0c\u5bb9\u5668\u4e0a\u7ebf\u540e\u4ec5\u5141\u8bb8\u201c\u767d\u540d\u5355\u201d\u4e2d\u4e8c\u8fdb\u5236\u6587\u4ef6\u8fd0\u884c\uff0c\u786e\u4fdd\u5bb9\u5668\u5185\u4e0d\u80fd\u8fd0\u884c\u4e0d\u6388\u4fe1\uff08\u5982\u975e\u6cd5\u4e0b\u8f7d\uff09\u7684\u53ef\u6267\u884c\u6587\u4ef6\u3002 \u5fae\u9694\u79bb \u9694\u79bb\u7b56\u7565\u667a\u80fd\u63a8\u8350 \u652f\u6301\u8bb0\u5f55\u8d44\u6e90\u5386\u53f2\u8bbf\u95ee\u6d41\u91cf\uff0c\u5e76\u5728\u5bf9\u8d44\u6e90\u8fdb\u884c\u9694\u79bb\u7b56\u7565\u914d\u7f6e\u65f6\u80fd\u591f\u667a\u80fd\u4f9d\u636e\u5386\u53f2\u8bbf\u95ee\u6d41\u91cf\u8fdb\u884c\u7b56\u7565\u63a8\u8350\u3002 - \u79df\u6237\u9694\u79bb \u652f\u6301\u5bf9 Kubernetes \u96c6\u7fa4\u5185\u79df\u6237\u8fdb\u884c\u9694\u79bb\u63a7\u5236\uff0c\u5177\u5907\u5bf9\u4e0d\u540c\u7684\u79df\u6237\u8bbe\u7f6e\u4e0d\u540c\u7684\u7f51\u7edc\u5b89\u5168\u7ec4\u7684\u80fd\u529b\uff0c\u652f\u6301\u79df\u6237\u7ea7\u522b\u7684\u5b89\u5168\u7b56\u7565\u8bbe\u7f6e\u529f\u80fd\uff0c\u901a\u8fc7\u4e0d\u540c\u5b89\u5168\u7ec4\u548c\u8bbe\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u5b9e\u73b0\u79df\u6237\u95f4\u7f51\u7edc\u7684\u8bbf\u95ee\u4e0e\u9694\u79bb\u3002 \u5fae\u670d\u52a1\u5b89\u5168 \u670d\u52a1\u53ca API \u5b89\u5168\u626b\u63cf \u5bf9\u96c6\u7fa4\u5185\u7684\u670d\u52a1\u53ca API \u652f\u6301\u81ea\u52a8\u626b\u63cf\u3001\u624b\u52a8\u626b\u63cf\u53ca\u5468\u671f\u6027\u626b\u63cf\u7684\u5b89\u5168\u626b\u63cf\u65b9\u5f0f\uff0c\u652f\u6301\u5168\u90e8\u7684\u4f20\u7edf web \u626b\u63cf\u9879\u76ee\u5305\u62ec XSS \u6f0f\u6d1e\u3001SQL \u6ce8\u5165\u3001\u547d\u4ee4/\u4ee3\u7801\u6ce8\u5165\u3001\u76ee\u5f55\u679a\u4e3e\u3001\u8def\u5f84\u7a7f\u8d8a\u3001XML \u5b9e\u4f53\u6ce8\u5165\u3001poc\u3001\u6587\u4ef6\u4e0a\u4f20\u3001\u5f31\u53e3\u4ee4\u3001jsonp\u3001ssrf\u3001\u4efb\u610f\u8df3\u8f6c\u3001CRLF \u6ce8\u5165\u7b49\u98ce\u9669\uff0c\u4ee5\u53ca\u5bb9\u5668\u73af\u5883\u7279\u6709\u7684\u9879\uff0c\u9488\u5bf9\u53d1\u73b0\u7684\u6f0f\u6d1e\u652f\u6301\u6f0f\u6d1e\u7c7b\u578b\u5c55\u793a\u3001url \u5c55\u793a\u3001\u53c2\u6570\u5c55\u793a\u3001\u5371\u9669\u7ea7\u522b\u5c55\u793a\u3001\u6d4b\u8bd5\u65b9\u6cd5\u5c55\u793a\u7b49\u3002"},{"location":"security/falco-exporter.html","title":"Falco-exporter","text":"

                Falco-exporter \u662f\u4e00\u4e2a Falco \u8f93\u51fa\u4e8b\u4ef6\u7684 Prometheus Metrics \u5bfc\u51fa\u5668\u3002

                Falco-exporter \u4f1a\u90e8\u7f72\u4e3a Kubernetes \u96c6\u7fa4\u4e0a\u7684\u5b88\u62a4\u8fdb\u7a0b\u96c6\u3002\u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5\u5e76\u8fd0\u884c Prometheus\uff0cPrometheus \u5c06\u81ea\u52a8\u53d1\u73b0 Falco-exporter \u63d0\u4f9b\u7684\u6307\u6807\u3002

                "},{"location":"security/falco-exporter.html#falco-exporter_1","title":"\u5b89\u88c5 Falco-exporter","text":"

                \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 Falco-exporter \u7ec4\u4ef6\u3002

                Note

                \u5728\u5b89\u88c5\u4f7f\u7528 Falco-exporter \u4e4b\u524d\uff0c\u9700\u8981\u5b89\u88c5\u5e76\u8fd0\u884c Falco\uff0c\u5e76\u542f\u7528 gRPC \u8f93\u51fa\uff08\u9ed8\u8ba4\u901a\u8fc7 Unix \u5957\u63a5\u5b57\u542f\u7528\uff09\u3002 \u5173\u4e8e\u542f\u7528 gRPC \u8f93\u51fa\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u9605\u5728 Falco Helm Chart \u4e2d\u542f\u7528 gRPC \u8f93\u51fa\u3002

                \u8bf7\u786e\u8ba4\u60a8\u7684\u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Falco-exporter\u3002

                1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb\u5bb9\u5668\u7ba1\u7406\u2014>\u96c6\u7fa4\u5217\u8868\uff0c\u7136\u540e\u627e\u5230\u51c6\u5907\u5b89\u88c5 Falco-exporter \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u9009\u62e9 Helm \u5e94\u7528 -> Helm \u6a21\u677f\uff0c\u627e\u5230\u5e76\u70b9\u51fb falco-exporter\u3002

                3. \u5728\u7248\u672c\u9009\u62e9\u4e2d\u9009\u62e9\u5e0c\u671b\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb\u5b89\u88c5\u3002

                4. \u5728\u5b89\u88c5\u754c\u9762\uff0c\u586b\u5199\u6240\u9700\u7684\u5b89\u88c5\u53c2\u6570\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u5e94\u7528\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u7248\u672c\u7b49\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570:

                  • Falco Prometheus Exporter -> Image Settings -> Registry\uff1a\u8bbe\u7f6e falco-exporter \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002
                  • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Repository\uff1a\u8bbe\u7f6e falco-exporter \u955c\u50cf\u540d\u3002
                  • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Install ServiceMonitor\uff1a\u5b89\u88c5 Prometheus Operator \u670d\u52a1\u76d1\u89c6\u5668\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                  • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Scrape Interval\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u95f4\u9694\uff1b\u5982\u679c\u672a\u6307\u5b9a\uff0c\u5219\u4f7f\u7528 Prometheus \u9ed8\u8ba4\u95f4\u9694\u3002
                  • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Scrape Timeout\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u6293\u53d6\u8d85\u65f6\u65f6\u95f4\uff1b\u5982\u679c\u672a\u6307\u5b9a\uff0c\u5219\u4f7f\u7528 Prometheus \u9ed8\u8ba4\u7684\u6293\u53d6\u8d85\u65f6\u65f6\u95f4\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570:

                  • Falco Prometheus Exporter -> Prometheus prometheusRules -> Install prometheusRules\uff1a\u521b\u5efa PrometheusRules\uff0c\u5bf9\u4f18\u5148\u4e8b\u4ef6\u53d1\u51fa\u8b66\u62a5\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                  • Falco Prometheus Exporter -> Prometheus prometheusRules -> Alerts settings\uff1a\u8b66\u62a5\u8bbe\u7f6e\uff0c\u4e3a\u4e0d\u540c\u7ea7\u522b\u7684\u65e5\u5fd7\u4e8b\u4ef6\u8bbe\u7f6e\u8b66\u62a5\u662f\u5426\u542f\u7528\u3001\u8b66\u62a5\u7684\u95f4\u9694\u65f6\u95f4\u3001\u8b66\u62a5\u7684\u9608\u503c\u3002
                5. \u70b9\u51fb\u53f3\u4e0b\u89d2\u786e\u5b9a\u6309\u94ae\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\u3002

                "},{"location":"security/falco-install.html","title":"\u5b89\u88c5 Falco","text":"

                \u8bf7\u786e\u8ba4\u60a8\u7684\u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Falco\u3002

                1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb\u5bb9\u5668\u7ba1\u7406\u2014>\u96c6\u7fa4\u5217\u8868\uff0c\u7136\u540e\u627e\u5230\u51c6\u5907\u5b89\u88c5 Falco \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u9009\u62e9 Helm \u5e94\u7528 -> Helm \u6a21\u677f\uff0c\u627e\u5230\u5e76\u70b9\u51fb Falco\u3002

                3. \u5728\u7248\u672c\u9009\u62e9\u4e2d\u9009\u62e9\u5e0c\u671b\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb\u5b89\u88c5\u3002

                4. \u5728\u5b89\u88c5\u754c\u9762\uff0c\u586b\u5199\u6240\u9700\u7684\u5b89\u88c5\u53c2\u6570\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u5e94\u7528\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u7248\u672c\u7b49\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570\uff1a

                  • Falco -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                  • Falco -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco \u955c\u50cf\u540d\u3002

                  • Falco -> Falco Driver -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                  • Falco -> Falco Driver -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u540d\u3002

                  • Falco -> Falco Driver -> Image Settings -> Driver Kind\uff1a\u8bbe\u7f6e Driver Kind\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u79cd\u9009\u62e9\uff1a

                    1. ebpf\uff1a\u4f7f\u7528 ebpf \u6765\u68c0\u6d4b\u4e8b\u4ef6\uff0c\u8fd9\u9700\u8981 Linux \u5185\u6838\u652f\u6301 ebpf\uff0c\u5e76\u542f\u7528 CONFIG_BPF_JIT \u548c sysctl net.core.bpf_jit_enable=1\u3002

                    2. module\uff1a\u4f7f\u7528\u5185\u6838\u6a21\u5757\u68c0\u6d4b\uff0c\u652f\u6301\u6709\u9650\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\uff0c\u53c2\u8003 module \u652f\u6301\u7cfb\u7edf\u7248\u672c\u3002

                  • Falco -> Falco Driver -> Image Settings -> Log Level\uff1a\u8981\u5305\u542b\u5728\u65e5\u5fd7\u4e2d\u7684\u6700\u5c0f\u65e5\u5fd7\u7ea7\u522b\u3002

                    \u53ef\u9009\u62e9\u503c\u4e3a\uff1aemergency, alert, critical, error, warning, notice, info, debug\u3002

                  • Falco -> Falco Driver -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                  • Falco -> Falco Driver -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u540d\u3002

                  • Falco -> Falco Driver -> Image Settings -> Driver Kind\uff1a\u8bbe\u7f6e Driver Kind\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u79cd\u9009\u62e9\uff1a

                    1. ebpf\uff1a\u4f7f\u7528 ebpf \u6765\u68c0\u6d4b\u4e8b\u4ef6\uff0c\u8fd9\u9700\u8981 Linux \u5185\u6838\u652f\u6301 ebpf\uff0c\u5e76\u542f\u7528 CONFIG_BPF_JIT \u548c sysctl net.core.bpf_jit_enable=1\u3002
                    2. module\uff1a\u4f7f\u7528\u5185\u6838\u6a21\u5757\u68c0\u6d4b\uff0c\u652f\u6301\u6709\u9650\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\uff0c\u53c2\u8003 module \u652f\u6301\u7cfb\u7edf\u7248\u672c\u3002
                  • Falco -> Falco Driver -> Image Settings -> Log Level\uff1a\u8981\u5305\u542b\u5728\u65e5\u5fd7\u4e2d\u7684\u6700\u5c0f\u65e5\u5fd7\u7ea7\u522b\u3002

                    \u53ef\u9009\u62e9\u503c\u4e3a\uff1aemergency\u3001alert\u3001critical\u3001error\u3001warning\u3001notice\u3001info\u3001debug\u3002

                5. \u70b9\u51fb\u53f3\u4e0b\u89d2\u786e\u5b9a\u6309\u94ae\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\u3002

                "},{"location":"security/falco.html","title":"\u4ec0\u4e48\u662f Falco","text":"

                Falco \u662f\u4e00\u4e2a\u4e91\u539f\u751f\u8fd0\u884c\u65f6\u5b89\u5168\u5de5\u5177\uff0c\u65e8\u5728\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u5f02\u5e38\u6d3b\u52a8\uff0c\u53ef\u7528\u4e8e\u76d1\u63a7 Kubernetes \u5e94\u7528\u7a0b\u5e8f\u548c\u5185\u90e8\u7ec4\u4ef6\u7684\u8fd0\u884c\u65f6\u5b89\u5168\u6027\u3002\u4ec5\u9700\u4e3a Falco \u64b0\u5199\u4e00\u5957\u89c4\u5219\uff0c\u5373\u53ef\u6301\u7eed\u76d1\u6d4b\u5e76\u76d1\u63a7\u5bb9\u5668\u3001\u5e94\u7528\u3001\u4e3b\u673a\u53ca\u7f51\u7edc\u7684\u5f02\u5e38\u6d3b\u52a8\u3002

                "},{"location":"security/falco.html#falco_1","title":"Falco \u80fd\u68c0\u6d4b\u5230\u4ec0\u4e48\uff1f","text":"

                Falco \u53ef\u5bf9\u4efb\u4f55\u6d89\u53ca Linux \u7cfb\u7edf\u8c03\u7528\u7684\u884c\u4e3a\u8fdb\u884c\u68c0\u6d4b\u548c\u62a5\u8b66\u3002Falco \u7684\u8b66\u62a5\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u7279\u5b9a\u7684\u7cfb\u7edf\u8c03\u7528\u3001\u53c2\u6570\u4ee5\u53ca\u8c03\u7528\u8fdb\u7a0b\u7684\u5c5e\u6027\u6765\u89e6\u53d1\u3002\u4f8b\u5982\uff0cFalco \u53ef\u4ee5\u8f7b\u677e\u68c0\u6d4b\u5230\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ee5\u4e0b\u4e8b\u4ef6\uff1a

                • Kubernetes \u4e2d\u7684\u5bb9\u5668\u6216 pod \u5185\u6b63\u5728\u8fd0\u884c\u4e00\u4e2a shell \u3002
                • \u5bb9\u5668\u4ee5\u7279\u6743\u6a21\u5f0f\u8fd0\u884c\uff0c\u6216\u4ece\u4e3b\u673a\u6302\u8f7d\u654f\u611f\u8def\u5f84\uff0c\u5982 /proc\u3002
                • \u4e00\u4e2a\u670d\u52a1\u5668\u8fdb\u7a0b\u6b63\u5728\u751f\u6210\u4e00\u4e2a\u610f\u5916\u7c7b\u578b\u7684\u5b50\u8fdb\u7a0b\u3002
                • \u610f\u5916\u8bfb\u53d6\u4e00\u4e2a\u654f\u611f\u6587\u4ef6\uff0c\u5982 /etc/shadow\u3002
                • \u4e00\u4e2a\u975e\u8bbe\u5907\u6587\u4ef6\u88ab\u5199\u5230 /dev\u3002
                • \u4e00\u4e2a\u6807\u51c6\u7684\u7cfb\u7edf\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u5982 ls\uff0c\u6b63\u5728\u8fdb\u884c\u4e00\u4e2a\u5916\u5411\u7684\u7f51\u7edc\u8fde\u63a5\u3002
                • \u5728 Kubernetes \u96c6\u7fa4\u4e2d\u542f\u52a8\u4e00\u4e2a\u6709\u7279\u6743\u7684 Pod\u3002

                \u5173\u4e8e Falco \u9644\u5e26\u7684\u66f4\u591a\u9ed8\u8ba4\u89c4\u5219\uff0c\u8bf7\u53c2\u8003 Rules \u6587\u6863\u3002

                "},{"location":"security/falco.html#falco_2","title":"\u4ec0\u4e48\u662f Falco \u89c4\u5219\uff1f","text":"

                Falco \u89c4\u5219\u5b9a\u4e49 Falco \u5e94\u76d1\u89c6\u7684\u884c\u4e3a\u53ca\u4e8b\u4ef6\uff1b\u53ef\u4ee5\u5728 Falco \u89c4\u5219\u6587\u4ef6\u6216\u901a\u7528\u914d\u7f6e\u6587\u4ef6\u64b0\u5199\u89c4\u5219\u3002\u6709\u5173\u7f16\u5199\u3001\u7ba1\u7406\u548c\u90e8\u7f72\u89c4\u5219\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 Falco Rules\u3002

                "},{"location":"security/falco.html#falco_3","title":"\u4ec0\u4e48\u662f Falco \u8b66\u62a5\uff1f","text":"

                \u8b66\u62a5\u662f\u53ef\u914d\u7f6e\u7684\u4e0b\u6e38\u64cd\u4f5c\uff0c\u53ef\u4ee5\u50cf\u8bb0\u5f55\u65e5\u5fd7\u4e00\u6837\u7b80\u5355\uff0c\u4e5f\u53ef\u4ee5\u50cf STDOUT \u5411\u5ba2\u6237\u7aef\u4f20\u9012 gRPC \u8c03\u7528\u4e00\u6837\u590d\u6742\u3002\u6709\u5173\u914d\u7f6e\u3001\u7406\u89e3\u548c\u5f00\u53d1\u8b66\u62a5\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605Falco \u8b66\u62a5\u3002Falco \u53ef\u4ee5\u5c06\u8b66\u62a5\u53d1\u9001\u81f3\uff1a

                • \u6807\u51c6\u8f93\u51fa
                • \u4e00\u4efd\u6587\u4ef6
                • \u7cfb\u7edf\u65e5\u5fd7
                • \u751f\u6210\u7684\u7a0b\u5e8f
                • \u4e00\u4e2a HTTP[s] \u7aef\u70b9
                • \u901a\u8fc7 gRPC API \u7684\u5ba2\u6237\u7aef
                "},{"location":"security/falco.html#falco_4","title":"Falco \u7531\u54ea\u4e9b\u90e8\u5206\u7ec4\u6210\uff1f","text":"

                Falco \u7531\u4ee5\u4e0b\u51e0\u4e2a\u4e3b\u8981\u7ec4\u4ef6\u7ec4\u6210\uff1a

                • \u7528\u6237\u7a7a\u95f4\u7a0b\u5e8f\uff1aCLI \u5de5\u5177\uff0c\u53ef\u7528\u4e8e\u4e0e Falco \u4ea4\u4e92\u3002\u7528\u6237\u7a7a\u95f4\u7a0b\u5e8f\u5904\u7406\u4fe1\u53f7\uff0c\u89e3\u6790\u6765\u81ea Falco \u9a71\u52a8\u7684\u4fe1\u606f\uff0c\u5e76\u53d1\u9001\u8b66\u62a5\u3002

                • \u914d\u7f6e\uff1a\u5b9a\u4e49 Falco \u7684\u8fd0\u884c\u65b9\u5f0f\u3001\u8981\u65ad\u8a00\u7684\u89c4\u5219\u4ee5\u53ca\u5982\u4f55\u6267\u884c\u8b66\u62a5\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u914d\u7f6e\u3002

                • Driver\uff1a\u4e00\u6b3e\u9075\u5faa Falco \u9a71\u52a8\u89c4\u8303\u5e76\u53d1\u9001\u7cfb\u7edf\u8c03\u7528\u4fe1\u606f\u6d41\u7684\u8f6f\u4ef6\u3002\u5982\u679c\u4e0d\u5b89\u88c5\u9a71\u52a8\u7a0b\u5e8f\uff0c\u5c06\u65e0\u6cd5\u8fd0\u884c Falco\u3002\u76ee\u524d\uff0cFalco \u652f\u6301\u4ee5\u4e0b\u9a71\u52a8\u7a0b\u5e8f\uff1a

                  • \u57fa\u4e8e C++ \u5e93\u6784\u5efa libscap \u7684\u5185\u6838\u6a21\u5757 libsinsp\uff08\u9ed8\u8ba4\uff09
                  • \u7531\u76f8\u540c\u6a21\u5757\u6784\u5efa\u7684 BPF \u63a2\u9488
                  • \u7528\u6237\u7a7a\u95f4\u68c0\u6d4b

                    \u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 Falco \u9a71\u52a8\u7a0b\u5e8f\u3002

                • \u63d2\u4ef6\uff1a\u53ef\u7528\u4e8e\u6269\u5c55 falco libraries/falco \u53ef\u6267\u884c\u6587\u4ef6\u7684\u529f\u80fd\uff0c\u6269\u5c55\u65b9\u5f0f\u662f\u901a\u8fc7\u6dfb\u52a0\u65b0\u7684\u4e8b\u4ef6\u6e90\u548c\u4ece\u4e8b\u4ef6\u4e2d\u63d0\u53d6\u4fe1\u606f\u7684\u65b0\u5b57\u6bb5\u3002 \u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u63d2\u4ef6\u3002

                "},{"location":"stylesheets/tags.html","title":"Tags","text":"

                Following is a list of relevant tags:

                [TAGS]

                "},{"location":"virtnest/gpu/vm-gpu.html","title":"\u865a\u62df\u673a\u914d\u7f6e GPU\uff08\u76f4\u901a\u6a21\u5f0f\uff09","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\uff0c\u914d\u7f6e GPU \u7684\u524d\u63d0\u6761\u4ef6\u3002

                \u914d\u7f6e\u865a\u62df\u673a\u7684 GPU \u7684\u91cd\u70b9\u662f\u5bf9 GPU Operator \u8fdb\u884c\u914d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u5de5\u4f5c\u8282\u70b9\u4e0a\u90e8\u7f72\u4e0d\u540c\u7684\u8f6f\u4ef6\u7ec4\u4ef6\uff0c \u5177\u4f53\u53d6\u51b3\u4e8e\u8fd9\u4e9b\u8282\u70b9\u4e0a\u914d\u7f6e\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u3002\u4ee5\u4e0b\u4e09\u4e2a\u8282\u70b9\u4e3a\u4f8b\uff1a

                • controller-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5bb9\u5668\u3002
                • work-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u76f4\u901a GPU \u7684\u865a\u62df\u673a\u3002
                • work-node-2 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u865a\u62df vGPU \u7684\u865a\u62df\u673a\u3002
                "},{"location":"virtnest/gpu/vm-gpu.html#_1","title":"\u5047\u8bbe\u3001\u9650\u5236\u548c\u4f9d\u8d56\u6027","text":"

                \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\uff0c\u4e5f\u53ef\u4ee5\u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4f46\u4e0d\u80fd\u8fd0\u884c\u5176\u4e2d\u4efb\u4f55\u4e00\u4e2a\u7684\u7ec4\u5408\u3002

                1. \u96c6\u7fa4\u7ba1\u7406\u5458\u6216\u5f00\u53d1\u4eba\u5458\u9700\u8981\u63d0\u524d\u4e86\u89e3\u96c6\u7fa4\u60c5\u51b5\uff0c\u5e76\u6b63\u786e\u6807\u8bb0\u8282\u70b9\u4ee5\u6307\u793a\u5b83\u4eec\u5c06\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u3002
                2. \u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u6216 vGPU \u7684 GPU \u52a0\u901f VM \u7684\u5de5\u4f5c\u8282\u70b9\u88ab\u5047\u5b9a\u4e3a\u88f8\u673a\uff0c\u5982\u679c\u5de5\u4f5c\u8282\u70b9\u662f\u865a\u62df\u673a\uff0c \u5219\u9700\u8981\u5728\u865a\u62df\u673a\u5e73\u53f0\u4e0a\u542f\u7528 GPU \u76f4\u901a\u529f\u80fd\uff0c\u8bf7\u5411\u865a\u62df\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u54a8\u8be2\u3002
                3. \u4e0d\u652f\u6301 Nvidia MIG \u7684 vGPU\u3002
                4. GPU Operator \u4e0d\u4f1a\u81ea\u52a8\u5728 VM \u4e2d\u5b89\u88c5 GPU \u9a71\u52a8\u7a0b\u5e8f\u3002
                "},{"location":"virtnest/gpu/vm-gpu.html#iommu","title":"\u542f\u7528 IOMMU","text":"

                \u4e3a\u4e86\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u96c6\u7fa4\u8282\u70b9\u9700\u8981\u5f00\u542fIOMMU\u3002\u8bf7\u53c2\u8003\u5982\u4f55\u5f00\u542f IOMMU\u3002 \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u662f\u5728\u865a\u62df\u673a\u4e0a\u8fd0\u884c\uff0c\u8bf7\u54a8\u8be2\u60a8\u7684\u865a\u62df\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u3002

                "},{"location":"virtnest/gpu/vm-gpu.html#_2","title":"\u6807\u8bb0\u96c6\u7fa4\u8282\u70b9","text":"

                \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \u7684\u64cd\u4f5c\u680f \u4fee\u6539\u6807\u7b7e \uff0c\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u6bcf\u4e2a\u8282\u70b9\u53ea\u80fd\u6709\u4e00\u79cd\u6807\u7b7e\u3002

                \u60a8\u53ef\u4ee5\u4e3a\u6807\u7b7e\u5206\u914d\u4ee5\u4e0b\u503c\uff1acontainer\u3001vm-passthrough \u548c vm-vgpu\u3002

                "},{"location":"virtnest/gpu/vm-gpu.html#nvidia-operator","title":"\u5b89\u88c5 Nvidia Operator","text":"
                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u9009\u62e9\u5e76\u5b89\u88c5 gpu-operator\u3002 \u9700\u8981\u4fee\u6539\u4e00\u4e9b yaml \u4e2d\u7684\u76f8\u5173\u5b57\u6bb5\u3002

                  gpu-operator.sandboxWorkloads.enabled=true\ngpu-operator.vfioManager.enabled=true\ngpu-operator.sandboxDevicePlugin.enabled=true\ngpu-operator.sandboxDevicePlugin.version=v1.2.4   # (1)!\ngpu-operator.toolkit.version=v1.14.3-ubuntu20.04\n
                  1. version \u9700\u8981 >= v1.2.4
                2. \u7b49\u5f85\u5b89\u88c5\u6210\u529f\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                "},{"location":"virtnest/gpu/vm-gpu.html#virtnest-agent-cr","title":"\u5b89\u88c5 virtnest-agent \u5e76\u914d\u7f6e CR","text":"
                1. \u5b89\u88c5 virtnest-agent\uff0c\u53c2\u8003\u5b89\u88c5 virtnest-agent\u3002

                2. \u5c06 vGPU \u548c GPU \u76f4\u901a\u52a0\u5165 Virtnest Kubevirt CR\uff0c\u4ee5\u4e0b\u793a\u4f8b\u662f\u6dfb\u52a0 vGPU \u548c GPU \u76f4\u901a\u540e\u7684 \u90e8\u5206\u5173\u952e yaml\uff1a

                  spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:            # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com /GRID_P4-1Q\n      pciHostDevices:             # (3)!\n      - externalResourceProvider:  true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com /GP104GL_TESLA_P4\n
                  1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                  2. vGPU
                  3. GPU \u76f4\u901a
                3. \u5728 kubevirt CR yaml \u4e2d\uff0cpermittedHostDevices \u7528\u4e8e\u5bfc\u5165 VM \u8bbe\u5907\uff0cvGPU \u9700\u5728\u5176\u4e2d\u6dfb\u52a0 mediatedDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                  mediatedDevices:          \n- mdevNameSelector: GRID P4-1Q          # (1)!\n  resourceName: nvidia.com/GRID_P4-1Q   # (2)!\n
                  1. \u8bbe\u5907\u540d\u79f0
                  2. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 vGPU \u4fe1\u606f
                4. GPU \u76f4\u901a\u9700\u8981\u5728 permittedHostDevices \u4e0b\u6dfb\u52a0 pciHostDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                  pciHostDevices:           \n- externalResourceProvider: true            # (1)!\n  pciVendorSelector: 10DE:1BB3              # (2)!\n  resourceName: nvidia.com/GP104GL_TESLA_P4 # (3)!\n
                  1. \u9ed8\u8ba4\u4e0d\u8981\u66f4\u6539
                  2. \u5f53\u524d pci \u8bbe\u5907\u7684 vednor id
                  3. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 GPU \u4fe1\u606f
                5. \u83b7\u53d6 vGPU \u4fe1\u606f\u793a\u4f8b\uff08\u4ec5\u9002\u7528\u4e8e vGPU\uff09\uff1a\u5728\u6807\u8bb0\u4e3a nvidia.com/gpu.workload.config=vm-gpu \u7684\u8282\u70b9\uff08\u4f8b\u5982 work-node-2\uff09\u4e0a\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c Capacity \u4e2d\u7684 nvidia.com/GRID_P4-1Q: 8 \u8868\u793a\u53ef\u7528 vGPU\uff1a

                  kubectl describe node work-node-2\n
                  Capacity:\n  cpu:                                 64\n  devices.kubevirt.io/kvm:             1k\n  devices.kubevirt.io/tun:             1k\n  devices.kubevirt.io/vhost-net:       1k\n  ephemeral-storage:                   102626232Ki\n  hugepages-1Gi:                       0\n  hugepages-2Mi:                       0\n  memory:                              264010840Ki\n  nvidia.com/GRID_P4-1Q :              8\n  pods:                                110\nAllocatable:\n  cpu:                                  64\n  devices.kubevirt.io/kvm:              1k\n  devices.kubevirt.io/tun:              1k\n  devices.kubevirt.io/vhost-net:        1k\n  ephemeral-storage:                    94580335255\n  hugepages-1Gi:                        0\n  hugepages-2Mi:                        0\n  memory:                               263908440Ki\n  nvidia.com/GRID_P4-1Q:                8\n  pods:                                 110\n

                  \u90a3\u4e48 mdevNameSelector \u5e94\u8be5\u662f \u201cGRID P4-1Q\u201d\uff0cresourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d

                6. \u83b7\u53d6 GPU \u76f4\u901a\u4fe1\u606f\uff1a\u5728\u6807\u8bb0 nvidia.com/gpu.workload.config=vm-passthrough \u7684 node \u4e0a\uff08\u672c\u6587\u6863\u793a\u4f8b node \u4e3a work-node-1\uff09\uff0c \u67e5\u770b node \u4fe1\u606f\uff0cCapacity \u4e2d nvidia.com/GP104GL_TESLA_P4: 2 \u5c31\u662f\u53ef\u7528 vGPU\uff1a

                  kubectl describe node work-node-1\n
                  Capacity:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              102626232Ki\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         264010840Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\nAllocatable:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              94580335255\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         263908440Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\n

                  \u90a3\u4e48 resourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d, \u5982\u4f55\u83b7\u53d6 pciVendorSelector \u5462\uff1f\u901a\u8fc7 ssh \u767b\u5f55\u5230 work-node-1 \u76ee\u6807\u8282\u70b9\uff0c \u901a\u8fc7 lspci -nnk -d 10de: \u547d\u4ee4\u83b7\u53d6 Nvidia GPU PCI \u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\uff1a\u7ea2\u6846\u6240\u793a\u5373\u662f pciVendorSelector \u4fe1\u606f\u3002

                7. \u7f16\u8f91 kubevirt CR \u63d0\u793a\uff1a\u5982\u679c\u540c\u4e00\u578b\u53f7 GPU \u6709\u591a\u4e2a\uff0c\u53ea\u9700\u5728 CR \u4e2d\u5199\u5165\u4e00\u4e2a\u5373\u53ef\uff0c\u65e0\u9700\u5217\u51fa\u6bcf\u4e2a GPU\u3002

                  kubectl -n virtnest-system edit kubevirt kubevirt\n
                  spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:                    # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com/GRID_P4-1Q\n      pciHostDevices:                     # (3)!\n      - externalResourceProvider: true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com/GP104GL_TESLA_P4 \n

                  1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                  2. vGPU
                  3. GPU \u76f4\u901a\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d TEESLA P4 \u6709\u4e24\u4e2a GPU\uff0c\u8fd9\u91cc\u53ea\u9700\u8981\u6ce8\u518c\u4e00\u4e2a\u5373\u53ef
                "},{"location":"virtnest/gpu/vm-gpu.html#yaml-vm-gpu","title":"\u901a\u8fc7 YAML \u521b\u5efa VM \u5e76\u4f7f\u7528 GPU \u52a0\u901f","text":"

                \u4e0e\u666e\u901a\u865a\u62df\u673a\u552f\u4e00\u7684\u533a\u522b\u662f\u5728 devices \u4e2d\u6dfb\u52a0 GPU \u76f8\u5173\u4fe1\u606f\u3002

                \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: testvm-gpu1\n  namespace: default\nspec:\n  dataVolumeTemplates:\n  - metadata:\n      creationTimestamp: null\n      name: systemdisk-testvm-gpu1\n      namespace: default\n    spec:\n      pvc:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 10Gi\n        storageClassName: www\n      source:\n        registry:\n          url: docker://release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1\nrunStrategy: Manual\ntemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n          - bootOrder: 1\n            disk:\n              bus: virtio\n            name: systemdisk-testvm-gpu1\n          - disk:\n              bus: virtio\n            name: cloudinitdisk\n        gpus:\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n            name: gpu-0-0\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n          name: gpu-0-1\n        interfaces:\n        - masquerade: {}\n          name: default\n      machine:\n        type: q35\n      resources:\n        requests:\n          memory: 2Gi\n    networks:\n    - name: default\n      pod: {}\n    volumes:\n    - dataVolume:\n        name: systemdisk-testvm-gpu1\n      name: systemdisk-testvm-gpu1\n    - cloudInitNoCloud:\n        userDataBase64: I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OmRhbmdlcm91cyIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n        name: cloudinitdisk\n
                "},{"location":"virtnest/gpu/vm-vgpu.html","title":"\u865a\u62df\u673a\u914d\u7f6e GPU\uff08vGPU\uff09","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\uff0c\u914d\u7f6e GPU \u7684\u524d\u63d0\u6761\u4ef6\u3002

                \u914d\u7f6e\u865a\u62df\u673a\u7684 GPU \u7684\u91cd\u70b9\u662f\u5bf9 GPU Operator \u8fdb\u884c\u914d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u5de5\u4f5c\u8282\u70b9\u4e0a\u90e8\u7f72\u4e0d\u540c\u7684\u8f6f\u4ef6\u7ec4\u4ef6\uff0c \u5177\u4f53\u53d6\u51b3\u4e8e\u8fd9\u4e9b\u8282\u70b9\u4e0a\u914d\u7f6e\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u3002\u4ee5\u4e0b\u4e09\u4e2a\u8282\u70b9\u4e3a\u4f8b\uff1a

                • controller-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5bb9\u5668\u3002
                • work-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u76f4\u901a GPU \u7684\u865a\u62df\u673a\u3002
                • work-node-2 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u865a\u62df vGPU \u7684\u865a\u62df\u673a\u3002
                "},{"location":"virtnest/gpu/vm-vgpu.html#_1","title":"\u5047\u8bbe\u3001\u9650\u5236\u548c\u4f9d\u8d56\u6027","text":"

                \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\uff0c\u4e5f\u53ef\u4ee5\u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4f46\u4e0d\u80fd\u8fd0\u884c\u5176\u4e2d\u4efb\u4f55\u4e00\u4e2a\u7684\u7ec4\u5408\u3002

                1. \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u5355\u72ec\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\u3001\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4e0d\u652f\u6301\u4efb\u4f55\u7ec4\u5408\u5f62\u5f0f\u3002
                2. \u96c6\u7fa4\u7ba1\u7406\u5458\u6216\u5f00\u53d1\u4eba\u5458\u9700\u8981\u63d0\u524d\u4e86\u89e3\u96c6\u7fa4\u60c5\u51b5\uff0c\u5e76\u6b63\u786e\u6807\u8bb0\u8282\u70b9\u4ee5\u6307\u793a\u5b83\u4eec\u5c06\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u3002
                3. \u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u6216vGPU\u7684 GPU \u52a0\u901f VM\u7684\u5de5\u4f5c\u8282\u70b9\u88ab\u5047\u5b9a\u4e3a\u88f8\u673a\uff0c\u5982\u679c\u5de5\u4f5c\u8282\u70b9\u662f\u865a\u62df\u673a\uff0c\u5219\u9700\u8981\u5728\u865a\u62df\u673a\u5e73\u53f0\u4e0a\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u8bf7\u5411\u865a\u62df\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u54a8\u8be2\u3002
                4. \u4e0d\u652f\u6301 Nvidia MIG \u7684 vGPU\u3002
                5. GPU Operator \u4e0d\u4f1a\u81ea\u52a8\u5728 VM \u4e2d\u5b89\u88c5 GPU \u9a71\u52a8\u7a0b\u5e8f\u3002
                "},{"location":"virtnest/gpu/vm-vgpu.html#iommu","title":"\u542f\u7528 IOMMU","text":"

                \u4e3a\u4e86\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u96c6\u7fa4\u8282\u70b9\u9700\u8981\u5f00\u542fIOMMU\u3002\u8bf7\u53c2\u8003\u5982\u4f55\u5f00\u542fIOMMU\u3002 \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u662f\u5728\u865a\u62df\u673a\u4e0a\u8fd0\u884c\uff0c\u8bf7\u54a8\u8be2\u60a8\u7684\u865a\u62df\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u3002

                "},{"location":"virtnest/gpu/vm-vgpu.html#vgpu-manager","title":"\u6784\u5efa vGPU Manager \u955c\u50cf","text":"

                \u6ce8\u610f\uff1a\u4ec5\u5f53\u4f7f\u7528 NVIDIA vGPU \u65f6\u624d\u9700\u8981\u6784\u5efa vGPU Manager \u955c\u50cf\u3002\u5982\u679c\u60a8\u8ba1\u5212\u4ec5\u4f7f\u7528 GPU \u76f4\u901a\uff0c\u8bf7\u8df3\u8fc7\u6b64\u90e8\u5206\u3002

                \u4ee5\u4e0b\u662f\u6784\u5efa vGPU Manager \u955c\u50cf\u5e76\u5c06\u5176\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u6b65\u9aa4\uff1a

                1. \u4ece NVIDIA Licensing Portal \u4e0b\u8f7d vGPU \u8f6f\u4ef6\u3002

                  • \u767b\u5f55 NVIDIA Licensing Portal\uff0c\u8f6c\u5230 Software Downloads \u9875\u9762\u3002
                  • NVIDIA vGPU \u8f6f\u4ef6\u4f4d\u4e8e Software Downloads \u9875\u9762\u7684 Driver downloads \u9009\u9879\u5361\u4e2d\u3002
                  • \u5728\u7b5b\u9009\u6761\u4ef6\u4e2d\u9009\u62e9 VGPU + Linux \uff0c\u70b9\u51fb \u4e0b\u8f7d \u4ee5\u83b7\u53d6 Linux KVM \u7684\u8f6f\u4ef6\u5305\u3002 \u8bf7\u89e3\u538b\u4e0b\u8f7d\u7684\u6587\u4ef6\uff08NVIDIA-Linux-x86_64-<version>-vgpu-kvm.run\uff09\u3002

                2. \u6253\u5f00\u7ec8\u7aef\u514b\u9686 container-images/driver \u4ed3\u5e93

                  git clone https://gitlab.com/nvidia/container-images/driver cd driver\n
                3. \u5207\u6362\u5230\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 vgpu-manager \u76ee\u5f55

                  cd vgpu-manager/<your-os>\n
                4. \u5c06\u6b65\u9aa4 1 \u4e2d\u63d0\u53d6\u7684 .run \u6587\u4ef6 copy \u5230\u5f53\u524d\u76ee\u5f55

                  cp <local-driver-download-directory>/*-vgpu-kvm.run ./\n
                5. \u8bbe\u7f6e\u73af\u5883\u53d8\u91cf

                  • PRIVATE_REGISTRY\uff1a\u4e13\u7528\u6ce8\u518c\u8868\u7684\u540d\u79f0\uff0c\u7528\u4e8e\u5b58\u50a8\u9a71\u52a8\u7a0b\u5e8f\u6620\u50cf\u3002
                  • VERSION\uff1aNVIDIA vGPU\u7ba1\u7406\u5668\u7684\u7248\u672c\uff0c\u4eceNVIDIA\u8f6f\u4ef6\u95e8\u6237\u4e0b\u8f7d\u3002
                  • OS_TAG\uff1a\u5fc5\u987b\u4e0e\u96c6\u7fa4\u8282\u70b9\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u5339\u914d\u3002
                  • CUDA_VERSION\uff1a\u7528\u4e8e\u6784\u5efa\u9a71\u52a8\u7a0b\u5e8f\u6620\u50cf\u7684CUDA\u57fa\u672c\u6620\u50cf\u7248\u672c\u3002
                  export PRIVATE_REGISTRY=my/private/registry VERSION=510.73.06 OS_TAG=ubuntu22.04 CUDA_VERSION=12.2.0\n
                6. \u6784\u5efa NVIDIA vGPU Manager Image

                  docker build \\\n  --build-arg DRIVER_VERSION=${VERSION} \\\n  --build-arg CUDA_VERSION=${CUDA_VERSION} \\\n  -t ${PRIVATE_REGISTRY}/vgpu-manager:${VERSION}-${OS_TAG} .\n
                7. \u5c06 NVIDIA vGPU Manager \u6620\u50cf\u63a8\u9001\u5230\u60a8\u7684\u955c\u50cf\u4ed3\u5e93

                  docker push ${PRIVATE_REGISTRY}/vgpu-manager:${VERSION}-${OS_TAG}\n
                "},{"location":"virtnest/gpu/vm-vgpu.html#_2","title":"\u6807\u8bb0\u96c6\u7fa4\u8282\u70b9","text":"

                \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u7136\u540e\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 , \u8fdb\u5165\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u4fee\u6539\u6807\u7b7e \uff0c\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u6bcf\u4e2a\u8282\u70b9\u53ea\u80fd\u6709\u4e00\u79cd\u6807\u7b7e\u3002

                \u60a8\u53ef\u4ee5\u4e3a\u6807\u7b7e\u5206\u914d\u4ee5\u4e0b\u503c\uff1acontainer\u3001vm-passthrough \u548c vm-vgpu\u3002

                "},{"location":"virtnest/gpu/vm-vgpu.html#nvidia-operator","title":"\u5b89\u88c5 Nvidia Operator","text":"
                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u9009\u62e9\u5e76\u5b89\u88c5 gpu-operator\u3002\u9700\u8981\u4fee\u6539\u4e00\u4e9b yaml \u4e2d\u7684\u76f8\u5173\u5b57\u6bb5\u3002

                  gpu-operator.sandboxWorkloads.enabled=true\ngpu-operator.vgpuManager.enabled=true\ngpu-operator.vgpuManager.repository=<your-register-url>      # (1)!\ngpu-operator.vgpuManager.image=vgpu-manager\ngpu-operator.vgpuManager.version=<your-vgpu-manager-version> # (2)!\ngpu-operator.vgpuDeviceManager.enabled=true\n
                  1. \u201c\u6784\u5efa vGPU Manager \u955c\u50cf\u201d \u6b65\u9aa4\u4e2d\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740
                  2. \u201c\u6784\u5efa vGPU Manager \u955c\u50cf\u201d \u6b65\u9aa4\u4e2d\u7684 VERSION
                2. \u7b49\u5f85\u5b89\u88c5\u6210\u529f\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                "},{"location":"virtnest/gpu/vm-vgpu.html#virtnest-agent-cr","title":"\u5b89\u88c5 virtnest-agent \u5e76\u914d\u7f6e CR","text":"
                1. \u5b89\u88c5 virtnest-agent\uff0c\u53c2\u8003\u5b89\u88c5 virtnest-agent\u3002

                2. \u5c06 vGPU \u548c GPU \u76f4\u901a\u52a0\u5165 Virtnest Kubevirt CR\uff0c\u4ee5\u4e0b\u793a\u4f8b\u662f\u6dfb\u52a0 vGPU \u548c GPU \u76f4\u901a\u540e\u7684 \u90e8\u5206\u5173\u952e yaml\uff1a

                  spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:            # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com /GRID_P4-1Q\n      pciHostDevices:             # (3)!\n      - externalResourceProvider:  true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com /GP104GL_TESLA_P4\n
                  1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                  2. vGPU
                  3. GPU \u76f4\u901a
                3. \u5728 kubevirt CR yaml \u4e2d\uff0cpermittedHostDevices \u7528\u4e8e\u5bfc\u5165 VM \u8bbe\u5907\uff0cvGPU \u9700\u5728\u5176\u4e2d\u6dfb\u52a0 mediatedDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                  mediatedDevices:          \n- mdevNameSelector: GRID P4-1Q          # (1)!\n  resourceName: nvidia.com/GRID_P4-1Q   # (2)!\n
                  1. \u8bbe\u5907\u540d\u79f0
                  2. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 vGPU \u4fe1\u606f
                4. GPU \u76f4\u901a\u9700\u8981\u5728 permittedHostDevices \u4e0b\u6dfb\u52a0 pciHostDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                  pciHostDevices:           \n- externalResourceProvider: true            # (1)!\n  pciVendorSelector: 10DE:1BB3              # (2)!\n  resourceName: nvidia.com/GP104GL_TESLA_P4 # (3)!\n
                  1. \u9ed8\u8ba4\u4e0d\u8981\u66f4\u6539
                  2. \u5f53\u524d pci \u8bbe\u5907\u7684 vednor id
                  3. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 GPU \u4fe1\u606f
                5. \u83b7\u53d6 vGPU \u4fe1\u606f\u793a\u4f8b\uff08\u4ec5\u9002\u7528\u4e8e vGPU\uff09\uff1a\u5728\u6807\u8bb0\u4e3a nvidia.com/gpu.workload.config=vm-gpu \u7684\u8282\u70b9\uff08\u4f8b\u5982 work-node-2\uff09\u4e0a\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c Capacity \u4e2d\u7684 nvidia.com/GRID_P4-1Q: 8 \u8868\u793a\u53ef\u7528 vGPU\uff1a

                  kubectl describe node work-node-2\n
                  Capacity:\n  cpu:                                 64\n  devices.kubevirt.io/kvm:             1k\n  devices.kubevirt.io/tun:             1k\n  devices.kubevirt.io/vhost-net:       1k\n  ephemeral-storage:                   102626232Ki\n  hugepages-1Gi:                       0\n  hugepages-2Mi:                       0\n  memory:                              264010840Ki\n  nvidia.com/GRID_P4-1Q :              8\n  pods:                                110\nAllocatable:\n  cpu:                                  64\n  devices.kubevirt.io/kvm:              1k\n  devices.kubevirt.io/tun:              1k\n  devices.kubevirt.io/vhost-net:        1k\n  ephemeral-storage:                    94580335255\n  hugepages-1Gi:                        0\n  hugepages-2Mi:                        0\n  memory:                               263908440Ki\n  nvidia.com/GRID_P4-1Q:                8\n  pods:                                 110\n

                  \u90a3\u4e48 mdevNameSelector \u5e94\u8be5\u662f \u201cGRID P4-1Q\u201d\uff0cresourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d

                6. \u83b7\u53d6 GPU \u76f4\u901a\u4fe1\u606f\uff1a\u5728\u6807\u8bb0 nvidia.com/gpu.workload.config=vm-passthrough \u7684 node \u4e0a\uff08\u672c\u6587\u6863\u793a\u4f8b node \u4e3a work-node-1\uff09\uff0c \u67e5\u770b node \u4fe1\u606f\uff0cCapacity \u4e2d nvidia.com/GP104GL_TESLA_P4: 2 \u5c31\u662f\u53ef\u7528 vGPU\uff1a

                  kubectl describe node work-node-1\n
                  Capacity:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              102626232Ki\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         264010840Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\nAllocatable:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              94580335255\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         263908440Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\n

                  \u90a3\u4e48 resourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d, \u5982\u4f55\u83b7\u53d6 pciVendorSelector \u5462\uff1f\u901a\u8fc7 ssh \u767b\u5f55\u5230 work-node-1 \u76ee\u6807\u8282\u70b9\uff0c \u901a\u8fc7 lspci -nnk -d 10de: \u547d\u4ee4\u83b7\u53d6 Nvidia GPU PCI \u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\uff1a\u7ea2\u6846\u6240\u793a\u5373\u662f pciVendorSelector \u4fe1\u606f\u3002

                7. \u7f16\u8f91 kubevirt CR \u63d0\u793a\uff1a\u5982\u679c\u540c\u4e00\u578b\u53f7 GPU \u6709\u591a\u4e2a\uff0c\u53ea\u9700\u5728 CR \u4e2d\u5199\u5165\u4e00\u4e2a\u5373\u53ef\uff0c\u65e0\u9700\u5217\u51fa\u6bcf\u4e2a GPU\u3002

                  kubectl -n virtnest-system edit kubevirt kubevirt\n
                  spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:                    # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com/GRID_P4-1Q\n      pciHostDevices:                       # (3)!\n      - externalResourceProvider: true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com/GP104GL_TESLA_P4 \n

                  1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                  2. vGPU
                  3. GPU \u76f4\u901a\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d TEESLA P4 \u6709\u4e24\u4e2a GPU\uff0c\u8fd9\u91cc\u53ea\u9700\u8981\u6ce8\u518c\u4e00\u4e2a\u5373\u53ef
                "},{"location":"virtnest/gpu/vm-vgpu.html#yaml-vm-gpu","title":"\u901a\u8fc7 YAML \u521b\u5efa VM \u5e76\u4f7f\u7528 GPU \u52a0\u901f","text":"

                \u4e0e\u666e\u901a\u865a\u62df\u673a\u552f\u4e00\u7684\u533a\u522b\u662f\u5728 devices \u4e2d\u6dfb\u52a0 gpu \u76f8\u5173\u4fe1\u606f\u3002

                \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: testvm-gpu1\n  namespace: default\nspec:\n  dataVolumeTemplates:\n  - metadata:\n      creationTimestamp: null\n      name: systemdisk-testvm-gpu1\n      namespace: default\n    spec:\n      pvc:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 10Gi\n        storageClassName: www\n      source:\n        registry:\n          url: docker://release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1\nrunStrategy: Manual\ntemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n          - bootOrder: 1\n            disk:\n              bus: virtio\n            name: systemdisk-testvm-gpu1\n          - disk:\n              bus: virtio\n            name: cloudinitdisk\n        gpus:\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n            name: gpu-0-0\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n          name: gpu-0-1\n        interfaces:\n        - masquerade: {}\n          name: default\n      machine:\n        type: q35\n      resources:\n        requests:\n          memory: 2Gi\n    networks:\n    - name: default\n      pod: {}\n    volumes:\n    - dataVolume:\n        name: systemdisk-testvm-gpu1\n      name: systemdisk-testvm-gpu1\n    - cloudInitNoCloud:\n        userDataBase64: I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OmRhbmdlcm91cyIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n        name: cloudinitdisk\n
                "},{"location":"virtnest/quickstart/index.html","title":"\u521b\u5efa\u865a\u62df\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u865a\u62df\u673a\u3002

                \u865a\u62df\u673a\u57fa\u4e8e KubeVirt \u6280\u672f\u5c06\u865a\u62df\u673a\u4f5c\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u8fdb\u884c\u7ba1\u7406\uff0c\u4e0e\u5bb9\u5668\u65e0\u7f1d\u5730\u8854\u63a5\u5728\u4e00\u8d77\uff0c \u4f7f\u7528\u6237\u80fd\u591f\u8f7b\u677e\u5730\u90e8\u7f72\u865a\u62df\u673a\u5e94\u7528\uff0c\u4eab\u53d7\u4e0e\u5bb9\u5668\u5e94\u7528\u4e00\u81f4\u7684\u4e1d\u6ed1\u4f53\u9a8c\u3002

                "},{"location":"virtnest/quickstart/index.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u521b\u5efa\u865a\u62df\u673a\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5411\u7528\u6237\u673a\u64cd\u4f5c\u7cfb\u7edf\u516c\u5f00\u786c\u4ef6\u8f85\u52a9\u7684\u865a\u62df\u5316\u3002
                • \u5728\u6307\u5b9a\u96c6\u7fa4\u5b89\u88c5 virtnest-agent\uff0c\u64cd\u4f5c\u7cfb\u7edf\u5185\u6838\u7248\u672c\u9700\u8981\u5728 3.15 \u4ee5\u4e0a\u3002
                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002
                • \u63d0\u524d\u51c6\u5907\u597d\u955c\u50cf\uff0c\u5e73\u53f0\u5185\u7f6e\u4e09\u79cd\u955c\u50cf (\u5982\u4e0b\u6587\u6240\u793a)\uff0c\u5982\u9700\u5236\u4f5c\u955c\u50cf\uff0c\u53ef\u53c2\u8003\u5f00\u6e90\u9879\u76ee\u5236\u4f5c\u955c\u50cf\u3002
                • \u8fdb\u884c\u7f51\u7edc\u914d\u7f6e\u65f6\uff0c\u82e5\u9009\u62e9\u4f7f\u7528 Passt \u7f51\u7edc\u6a21\u5f0f\uff0c\u5219\u9700\u8981\u5347\u7ea7\u81f3 0.4.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                "},{"location":"virtnest/quickstart/index.html#_3","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u865a\u62df\u673a\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165 \u865a\u62df\u673a \u9875\u9762\u3002

                2. \u5728\u865a\u62df\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb \u521b\u5efa\u865a\u62df\u673a -> \u9009\u62e9 \u901a\u8fc7\u955c\u50cf\u521b\u5efa \u3002

                3. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u9875\u9762\uff0c\u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u955c\u50cf\u914d\u7f6e\u3001\u5b58\u50a8\u4e0e\u7f51\u7edc\u3001\u767b\u5f55\u8bbe\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u865a\u62df\u673a\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u865a\u62df\u673a\u6267\u884c\u5173\u673a/\u5f00\u542f\u3001\u91cd\u542f\u3001\u514b\u9686\u3001\u66f4\u65b0\u3001\u521b\u5efa\u5feb\u7167\u3001\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002 \u514b\u9686\u548c\u5feb\u7167\u80fd\u529b\u4f9d\u8d56\u4e8e\u5b58\u50a8\u6c60\u7684\u9009\u62e9\u3002

                "},{"location":"virtnest/quickstart/index.html#_4","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728 \u521b\u5efa\u865a\u62df\u673a \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002 \u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u540d\u79f0\u5728\u865a\u62df\u673a\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u522b\u540d\uff1a\u5141\u8bb8\u4efb\u4f55\u5b57\u7b26\uff0c\u6700\u957f 60 \u4e2a\u5b57\u7b26\u3002
                • \u96c6\u7fa4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u865a\u62df\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u96c6\u7fa4\u5185\uff0c\u82e5\u6709\u4f7f\u7528 GPU \u80fd\u529b\u7684\u9700\u6c42\uff0c\u5219\u9700\u8981\u9009\u62e9\u6709 GPU/vGPU \u5361\u7684\u96c6\u7fa4\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u865a\u62df\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\u3002 \u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u6807\u7b7e/\u6ce8\u89e3\uff1a\u9009\u62e9\u4e3a\u865a\u62df\u673a\u6dfb\u52a0\u6240\u9700\u7684\u6807\u7b7e/\u6ce8\u89e3\u4fe1\u606f\u3002
                "},{"location":"virtnest/quickstart/index.html#_5","title":"\u955c\u50cf\u914d\u7f6e","text":"

                \u6839\u636e\u4e0b\u8868\u586b\u5199\u955c\u50cf\u76f8\u5173\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65

                1. \u955c\u50cf\u6765\u6e90\uff1a\u652f\u6301\u4e09\u79cd\u7c7b\u578b\u7684\u6765\u6e90\u3002

                  • \u955c\u50cf\u4ed3\u5e93\u7c7b\u578b\uff1a\u955c\u50cf\u5b58\u50a8\u5728\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\u4e2d\uff0c\u652f\u6301\u4ece\u955c\u50cf\u4ed3\u5e93\u4e2d\u6309\u9700\u9009\u62e9\u955c\u50cf\uff1b
                  • HTTP \u7c7b\u578b\uff1a\u955c\u50cf\u5b58\u50a8\u4e8e HTTP \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\uff0c\u652f\u6301 HTTPS://\u548c HTTP://\u524d\u7f00\uff1b
                  • \u5bf9\u8c61\u5b58\u50a8\uff08S3\uff09\uff1a\u652f\u6301\u901a\u8fc7\u5bf9\u8c61\u5b58\u50a8\u534f\u8bae (S3) \u83b7\u53d6\u7684\u865a\u62df\u673a\u955c\u50cf\uff0c\u82e5\u662f\u65e0\u9700\u8ba4\u8bc1\u7684\u5bf9\u8c61\u5b58\u50a8\u6587\u4ef6\uff0c\u8bf7\u4f7f\u7528 HTTP \u6765\u6e90\u3002
                2. \u4ee5\u4e0b\u662f\u5e73\u53f0\u5185\u7f6e\u7684\u955c\u50cf\u4fe1\u606f\uff0c\u5305\u62ec\u64cd\u4f5c\u7cfb\u7edf\u548c\u7248\u672c\u3001\u955c\u50cf\u5730\u5740\u3002\u540c\u65f6\u4e5f\u652f\u6301\u81ea\u5b9a\u4e49\u865a\u62df\u673a\u955c\u50cf\u3002

                  \u64cd\u4f5c\u7cfb\u7edf \u5bf9\u5e94\u7248\u672c \u955c\u50cf\u5730\u5740 CentOS CentOS 7.9 release-ci.daocloud.io/virtnest/system-images/centos-7.9-x86_64:v1 Ubuntu Ubuntu 22.04 release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1 Debian Debian 12 release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1
                3. \u955c\u50cf\u5bc6\u94a5\uff1a\u4ec5\u652f\u6301\u9ed8\u8ba4\uff08Opaque\uff09\u7c7b\u578b\u5bc6\u94a5\uff0c\u5177\u4f53\u683c\u5f0f\u8bf7\u53c2\u8003\u521b\u5efa\u5bc6\u94a5\u3002

                  \u5e73\u53f0\u5185\u7f6e\u955c\u50cf\u5b58\u50a8\u5728\u70b9\u706b\u96c6\u7fa4\u4e2d\uff0c\u800c\u70b9\u706b\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u672a\u52a0\u5bc6\uff0c\u56e0\u6b64\u5f53\u9009\u62e9\u5185\u7f6e\u955c\u50cf\u65f6\uff0c\u65e0\u9700\u9009\u62e9\u5bc6\u94a5\u3002

                Note

                CPU \u548c\u5185\u5b58\u7684\u70ed\u52a0\u8f7d\u914d\u7f6e\u8981\u6c42\uff1avirtnest \u7684\u7248\u672c\u4e0d\u4f4e\u4e8e v0.10.0\uff0c\u5e76\u4e14 virtnest-agent \u7248\u672c\u4e0d\u4f4e\u4e8e v0.7.0\uff1b\u652f\u6301\u5b9e\u65f6\u8fc1\u79fb\uff08\u786e\u4fdd PVC \u8bbf\u95ee\u6a21\u5f0f\u4e3a ReadWriteMany\uff09\u3002

                1. \u8d44\u6e90\u914d\u7f6e\uff1aCPU \u5efa\u8bae\u4f7f\u7528\u6574\u6570\uff0c\u82e5\u586b\u5199\u5c0f\u6570\u5219\u4f1a\u5411\u4e0a\u53d6\u6574\u3002\u652f\u6301 CPU\u3001\u5185\u5b58\u7684\u70ed\u52a0\u8f7d\u3002

                2. GPU \u914d\u7f6e\uff1a\u542f\u7528 GPU \u529f\u80fd\u9700\u8981\u9700\u8981\u6ee1\u8db3\u524d\u63d0\u6761\u4ef6\uff0c\u5177\u4f53\u53ef\u53c2\u8003 \u865a\u62df\u673a\u914d\u7f6e GPU\uff08Nvidia)\u3002 \u865a\u62df\u673a\u652f\u6301 Nvidia\u2014GPU \u548c Nvidia\u2014vGPU \u4e24\u79cd\u7c7b\u578b\uff0c\u9009\u62e9\u6240\u9700\u7c7b\u578b\u540e\uff0c\u9700\u8981\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u578b\u53f7\u548c\u5361\u7684\u6570\u91cf\u3002

                "},{"location":"virtnest/quickstart/index.html#_6","title":"\u5b58\u50a8\u4e0e\u7f51\u7edc\u914d\u7f6e","text":"
                • \u5b58\u50a8\uff1a

                  • \u5b58\u50a8\u548c\u865a\u62df\u673a\u7684\u529f\u80fd\u606f\u606f\u76f8\u5173\uff0c\u4e3b\u8981\u662f\u901a\u8fc7\u4f7f\u7528 Kubernetes \u7684\u6301\u4e45\u5377\u548c\u5b58\u50a8\u7c7b\uff0c\u63d0\u4f9b\u4e86\u7075\u6d3b\u4e14\u53ef\u6269\u5c55\u7684\u865a\u62df\u673a\u5b58\u50a8\u80fd\u529b\u3002\u6bd4\u5982\u865a\u62df\u673a\u955c\u50cf\u5b58\u50a8\u5728 pvc \u91cc\uff0c\u652f\u6301\u548c\u5176\u4ed6\u6570\u636e\u4e00\u8d77\u514b\u9686\u3001\u5feb\u7167\u7b49\u3002

                  • \u7cfb\u7edf\u76d8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002

                  • \u6570\u636e\u76d8\uff1a\u6570\u636e\u76d8\u662f\u865a\u62df\u673a\u4e2d\u7528\u4e8e\u5b58\u50a8\u7528\u6237\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u6570\u636e\u6216\u5176\u4ed6\u975e\u64cd\u4f5c\u7cfb\u7edf\u76f8\u5173\u6587\u4ef6\u7684\u5b58\u50a8\u8bbe\u5907\u3002\u4e0e\u7cfb\u7edf\u76d8\u76f8\u6bd4\uff0c\u6570\u636e\u76d8\u662f\u975e\u5fc5\u9009\u7684\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u52a8\u6001\u6dfb\u52a0\u6216\u79fb\u9664\u3002\u6570\u636e\u76d8\u7684\u5bb9\u91cf\u4e5f\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u8fdb\u884c\u7075\u6d3b\u914d\u7f6e\u3002

                  • \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u5df2\u7ecf\u521b\u5efa\u4e86\u5bf9\u5e94\u7684 VolumeSnapshotClass\uff0c \u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u793a\u4f8b\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u652f\u6301\u5e76\u9009\u62e9\u4e86 ReadWriteMany \u7684\u8bbf\u95ee\u6a21\u5f0f \u3002

                    \u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5b58\u50a8\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u81ea\u52a8\u521b\u5efa\u8fd9\u6837\u7684 VolumeSnapshotClass\uff0c\u56e0\u6b64\u60a8\u9700\u8981\u624b\u52a8\u521b\u5efa VolumeSnapshotClass\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a HwameiStor \u521b\u5efa VolumeSnapshotClass \u7684\u793a\u4f8b\uff1a

                    kind: VolumeSnapshotClass\napiVersion: snapshot.storage.k8s.io/v1\nmetadata:\n  name: hwameistor-storage-lvm-snapshot\n  annotations:\n    snapshot.storage.kubernetes.io/is-default-class: \"true\"\nparameters:\n  snapsize: \"1073741824\"\ndriver: lvm.hwameistor.io\ndeletionPolicy: Delete\n
                  • \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5 VolumeSnapshotClass \u662f\u5426\u521b\u5efa\u6210\u529f\u3002

                    kubectl get VolumeSnapshotClass\n
                  • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass\uff0c\u5e76\u4e14\u786e\u8ba4 provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002

                • \u7f51\u7edc\uff1a

                  • \u7f51\u7edc\u914d\u7f6e\u53ef\u4ee5\u6839\u636e\u8868\u683c\u4fe1\u606f\u6309\u9700\u7ec4\u5408\u3002

                    \u7f51\u7edc\u6a21\u5f0f CNI \u662f\u5426\u5b89\u88c5 Spiderpool \u7f51\u5361\u6a21\u5f0f \u56fa\u5b9a IP \u5b9e\u65f6\u8fc1\u79fb Masquerade\uff08NAT\uff09 Calico \u274c \u5355\u7f51\u5361 \u274c \u2705 Cilium \u274c \u5355\u7f51\u5361 \u274c \u2705 Flannel \u274c \u5355\u7f51\u5361 \u274c \u2705 Bridge\uff08\u6865\u63a5\uff09 OVS \u2705 \u591a\u7f51\u5361 \u2705 \u2705

                  • \u7f51\u7edc\u6a21\u5f0f\u5206\u4e3a Masquerade\uff08NAT\uff09\u548c Bridge\uff08\u6865\u63a5\uff09\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u9700\u8981\u5b89\u88c5\u4e86 Spiderpool \u7ec4\u4ef6\u540e\u65b9\u53ef\u4f7f\u7528\u3002

                    • \u9ed8\u8ba4\u9009\u62e9 Masquerade\uff08NAT\uff09\u7684\u7f51\u7edc\u6a21\u5f0f\uff0c\u4f7f\u7528 eth0 \u9ed8\u8ba4\u7f51\u5361\u3002
                    • \u82e5\u96c6\u7fa4\u5185\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\uff0c\u5219\u652f\u6301\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u652f\u6301\u591a\u7f51\u5361\u5f62\u5f0f\u3002

                  • \u6dfb\u52a0\u7f51\u5361

                    • Passt\uff08\u76f4\u901a\uff09/Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u4e0b\u652f\u6301\u624b\u52a8\u6dfb\u52a0\u7f51\u5361\u3002\u70b9\u51fb \u6dfb\u52a0\u7f51\u5361 \uff0c\u8fdb\u884c\u7f51\u5361 IP \u6c60\u7684\u914d\u7f6e\u3002\u9009\u62e9\u548c\u7f51\u7edc\u6a21\u5f0f\u5339\u914d\u7684 Multus CR\uff0c\u82e5\u6ca1\u6709\u5219\u9700\u8981\u81ea\u884c\u521b\u5efa\u3002
                    • \u82e5\u6253\u5f00 \u4f7f\u7528\u9ed8\u8ba4 IP \u6c60 \u5f00\u5173\uff0c\u5219\u4f7f\u7528 multus CR \u914d\u7f6e\u4e2d\u7684\u9ed8\u8ba4 IP \u6c60\u3002\u82e5\u5173\u95ed\u5f00\u5173\uff0c\u5219\u624b\u52a8\u9009\u62e9 IP \u6c60\u3002

                "},{"location":"virtnest/quickstart/index.html#_7","title":"\u767b\u5f55\u8bbe\u7f6e","text":"
                • \u7528\u6237\u540d/\u5bc6\u7801\uff1a\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u81f3\u865a\u62df\u673a\u3002
                • SSH\uff1a\u9009\u62e9 SSH \u767b\u5f55\u65b9\u5f0f\u65f6\u53ef\u4e3a\u865a\u62df\u673a\u7ed1\u5b9a SSH \u5bc6\u94a5\uff0c\u7528\u4e8e\u65e5\u540e\u767b\u5f55\u865a\u62df\u673a\u3002
                "},{"location":"virtnest/quickstart/index.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u865a\u62df\u673a\u3002

                \u8fdb\u5165\u865a\u62df\u673a\u5217\u8868\u9875\uff0c\u70b9\u51fb \u901a\u8fc7 YAML \u521b\u5efa \u6309\u94ae\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u865a\u62df\u673a\u7684 YAML \u793a\u4f8b
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: demo\n  namespace: default\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        name: systemdisk-demo\n        namespace: default\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n              docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Always\n  template:\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: systemdisk-demo\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      volumes:\n        - dataVolume:\n            name: systemdisk-demo\n          name: systemdisk-demo\n        - cloudInitNoCloud:\n            userDataBase64: >-\n              I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OjEyMzQ1NiIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n          name: cloudinitdisk\n
                "},{"location":"virtnest/quickstart/access.html","title":"\u8fde\u63a5\u865a\u62df\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u4e24\u79cd\u8fde\u63a5\u865a\u62df\u673a\u7684\u65b9\u5f0f\uff0c\u5206\u522b\u4e3a \u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u548c\u7ec8\u7aef\u65b9\u5f0f\u3002

                "},{"location":"virtnest/quickstart/access.html#_2","title":"\u7ec8\u7aef","text":"

                \u901a\u8fc7\u7ec8\u7aef\u8bbf\u95ee\u865a\u62df\u673a\u7684\u65b9\u5f0f\u66f4\u52a0\u7075\u6d3b\u548c\u8f7b\u91cf\uff0c\u4f46\u662f\u65e0\u6cd5\u76f4\u63a5\u5c55\u793a\u56fe\u5f62\u754c\u9762\uff0c\u4ea4\u4e92\u6027\u8f83\u5dee\uff0c\u4e14\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u652f\u6301\u901a\u8fc7\u7ec8\u7aef\u65b9\u5f0f\u8bbf\u95ee\u865a\u62df\u673a\u3002

                "},{"location":"virtnest/quickstart/access.html#vnc","title":"\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09","text":"

                \u901a\u8fc7 VNC \u8bbf\u95ee\u865a\u62df\u673a\u7684\u65b9\u5f0f\u53ef\u4ee5\u5b9e\u73b0\u5bf9\u8fdc\u7a0b\u8ba1\u7b97\u673a\u7684\u5b8c\u6574\u56fe\u5f62\u754c\u9762\u7684\u8bbf\u95ee\u548c\u63a7\u5236\uff0c\u80fd\u591f\u76f4\u89c2\u5730\u64cd\u4f5c\u8fdc\u7a0b\u8bbe\u5907\uff0c\u4ea4\u4e92\u6027\u66f4\u52a0\u597d\uff0c\u4f46\u662f\u6027\u80fd\u4f1a\u53d7\u5230\u4e00\u5b9a\u5f71\u54cd\uff0c\u4e14\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                Windows \u7cfb\u7edf\u9009\u62e9 VNC\u3002

                \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u652f\u6301\u901a\u8fc7\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u7684\u65b9\u5f0f\u8bbf\u95ee\u865a\u62df\u673a\u3002

                "},{"location":"virtnest/quickstart/detail.html","title":"\u865a\u62df\u673a\u8be6\u60c5","text":"

                \u6210\u529f\u521b\u5efa\u865a\u62df\u673a\u540e\uff0c\u53ef\u8fdb\u5165\u865a\u62df\u673a\u8be6\u60c5\u9875\u9762\uff0c\u652f\u6301\u67e5\u770b\u57fa\u672c\u4fe1\u606f\u3001\u914d\u7f6e\u4fe1\u606f\u3001GPU \u4fe1\u606f\u3001\u6982\u89c8\u3001\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u5feb\u7167\u3001\u4e8b\u4ef6\u7b49\u3002

                \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u96c6\u7fa4\u5217\u8868 \uff0c\u8fdb\u5165\u865a\u62df\u673a\u6240\u5728\u96c6\u7fa4\u8be6\u60c5\uff0c\u70b9\u51fb\u865a\u62df\u673a\u540d\u79f0\u67e5\u770b\u865a\u62df\u673a\u8be6\u60c5\u3002

                "},{"location":"virtnest/quickstart/detail.html#_2","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u865a\u62df\u673a\u57fa\u672c\u4fe1\u606f\u5305\u542b\u72b6\u6001\u3001\u522b\u540d\u3001\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001IP\u3001\u6807\u7b7e\u3001\u8282\u70b9\u3001\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u3002\u5176\u4e2d\uff0c

                • \u72b6\u6001\uff1a\u865a\u62df\u673a\u5f53\u524d\u7684\u8fd0\u884c\u72b6\u6001\uff08\u8fd0\u884c\u4e2d/\u5904\u7406\u4e2d/\u5173\u673a/\u9519\u8bef\uff09\u3002
                • IP \uff1a\u865a\u62df\u673a\u7684 IP \u5730\u5740\u3002\u5bf9\u4e8e\u6dfb\u52a0\u591a\u5f20\u7f51\u5361\u7684\u865a\u62df\u673a\uff0c\u4f1a\u4e3a\u5176\u5206\u914d\u591a\u4e2a IP \u5730\u5740\u3002
                "},{"location":"virtnest/quickstart/detail.html#gpu","title":"\u914d\u7f6e\u4fe1\u606f & GPU \u914d\u7f6e","text":"

                \u865a\u62df\u673a\u914d\u7f6e\u4fe1\u606f\u5305\u62ec\uff1a

                • \u64cd\u4f5c\u7cfb\u7edf\uff1a\u5b89\u88c5\u5728\u865a\u62df\u673a\u4e0a\u7528\u4e8e\u6267\u884c\u7a0b\u5e8f\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002
                • \u955c\u50cf\u5730\u5740\uff1a\u5411\u4e00\u4e2a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u6216\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u4ecb\u8d28\u7684\u94fe\u63a5\uff0c\u8fd9\u4e2a\u5730\u5740\u7528\u4e8e\u5728\u865a\u62df\u673a\u8f6f\u4ef6\u4e2d\u52a0\u8f7d\u548c\u5b89\u88c5\u64cd\u4f5c\u7cfb\u7edf\u3002
                • \u7f51\u7edc\u6a21\u5f0f\uff1a\u865a\u62df\u673a\u914d\u7f6e\u7684\u7f51\u7edc\u6a21\u5f0f\uff0cBridge\uff08\u6865\u63a5\uff09\u6216 Masquerade\uff08NAT\uff09\u3002
                • CPU\u3001\u5185\u5b58\uff1a\u4e3a\u865a\u62df\u673a\u5206\u914d\u7684\u8d44\u6e90\u3002

                GPU \u914d\u7f6e\u4fe1\u606f\u5305\u542b GPU \u7c7b\u578b\u3001GPU \u578b\u53f7\u4ee5\u53ca\u5361\u6570\u91cf\u3002

                "},{"location":"virtnest/quickstart/detail.html#_3","title":"\u5176\u4ed6\u4fe1\u606f","text":"\u6982\u89c8\u50a8\u5b58\u7f51\u7edc\u5feb\u7167\u4e8b\u4ef6\u5217\u8868

                \u865a\u62df\u673a\u6982\u89c8\u9875\u53ef\u67e5\u770b\u865a\u62df\u673a\u7684\u76d1\u63a7\u5185\u5bb9\u3002\u8bf7\u6ce8\u610f\uff0c\u82e5\u672a\u5b89\u88c5 insight-agent \u7ec4\u4ef6\uff0c\u5219\u65e0\u6cd5\u83b7\u53d6\u76d1\u63a7\u4fe1\u606f\u3002

                \u5c55\u793a\u865a\u62df\u673a\u6240\u7528\u7684\u5b58\u50a8\uff0c\u5305\u62ec\u7cfb\u7edf\u76d8\u548c\u6570\u636e\u76d8\u7684\u4fe1\u606f\u3002

                \u5c55\u793a\u865a\u62df\u673a\u7684\u7f51\u7edc\u914d\u7f6e\uff0c\u5305\u62ec Multus CR\u3001\u7f51\u5361\u540d\u79f0\u3001IP \u5730\u5740\u7b49\u4fe1\u606f\u3002

                \u82e5\u5df2\u7ecf\u521b\u5efa\u5feb\u7167\uff0c\u672c\u9875\u5c06\u5c55\u793a\u865a\u62df\u673a\u7684\u5feb\u7167\u4fe1\u606f\uff0c\u652f\u6301\u901a\u8fc7\u5feb\u7167\u6062\u590d\u865a\u62df\u673a\u3002

                \u4e8b\u4ef6\u5217\u8868\u5305\u542b\u865a\u62df\u673a\u7684\u751f\u547d\u5468\u671f\u4e2d\u53d1\u751f\u7684\u5404\u79cd\u72b6\u6001\u53d8\u5316\u3001\u64cd\u4f5c\u8bb0\u5f55\u548c\u7cfb\u7edf\u6d88\u606f\u7b49\u3002

                "},{"location":"virtnest/quickstart/nodeport.html","title":"\u901a\u8fc7 NodePort \u8bbf\u95ee\u865a\u62df\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 NodePort \u8bbf\u95ee\u865a\u62df\u673a\u3002

                "},{"location":"virtnest/quickstart/nodeport.html#_1","title":"\u73b0\u6709\u8bbf\u95ee\u65b9\u5f0f\u7684\u7f3a\u9677","text":"
                1. \u865a\u62df\u673a\u652f\u6301\u901a\u8fc7 VNC \u6216\u8005 console \u8bbf\u95ee\uff0c\u4f46\u8fd9\u4e24\u79cd\u8bbf\u95ee\u65b9\u5f0f\u90fd\u6709\u4e00\u4e2a\u5f0a\u7aef\uff0c\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                2. \u901a\u8fc7 NodePort \u5f62\u5f0f\u7684 Service\uff0c\u53ef\u4ee5\u5e2e\u52a9\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002

                "},{"location":"virtnest/quickstart/nodeport.html#service","title":"\u521b\u5efa service \u7684\u65b9\u5f0f","text":"
                1. \u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u9875\u9762

                  • \u9009\u62e9\u76ee\u6807\u8bbf\u95ee\u7684\u865a\u62df\u673a\u6240\u5728\u96c6\u7fa4\u9875\u9762\u521b\u5efa\u670d\u52a1\uff08Service\uff09
                  • \u9009\u62e9\u8bbf\u95ee\u7c7b\u578b\u4e3a\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09
                  • \u9009\u62e9\u547d\u540d\u7a7a\u95f4\uff08\u865a\u62df\u673a\u6240\u5728 namespace\uff09
                  • \u6807\u7b7e\u9009\u62e9\u5668\u586b\u5199 vm.kubevirt.io/name: you-vm-name
                  • \u7aef\u53e3\u914d\u7f6e\uff1a\u534f\u8bae\u9009\u62e9 TCP\uff0c\u7aef\u53e3\u540d\u79f0\u81ea\u5b9a\u4e49\uff0c\u670d\u52a1\u7aef\u53e3\u3001\u5bb9\u5668\u7aef\u53e3\u586b\u5199 22
                2. \u521b\u5efa\u6210\u529f\u540e\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7 ssh username@nodeip -p port \u6765\u8bbf\u95ee\u865a\u62df\u673a

                "},{"location":"virtnest/quickstart/nodeport.html#kubectl-svc","title":"\u901a\u8fc7 kubectl \u521b\u5efa svc","text":"
                1. \u7f16\u5199 YAML \u6587\u4ef6\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                  apiVersion: v1\nkind: Service\n  metadata:\n    name: test-ssh\nspec:\n  ports:\n  - name: tcp-ssh\n    nodePort: 32090\n    protocol: TCP\n    // 22 \u7aef\u53e3\uff0c\u4e0d\u8981\u66f4\u6539\n    port: 22 \n    targetPort: 22\n  selector:\n    // \u865a\u62df\u673a\u7684 name\n\u00a0 \u00a0vm.kubevirt.io/name: test-image-s3\n  type: NodePort\n
                2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4

                  kubectl apply -f you-svc.yaml\n
                3. \u521b\u5efa\u6210\u529f\u540e\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7 ssh username@nodeip -p 32090 \u6765\u8bbf\u95ee\u865a\u62df\u673a

                "},{"location":"virtnest/quickstart/update.html","title":"\u66f4\u65b0\u865a\u62df\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u8868\u5355\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u66f4\u65b0\u865a\u62df\u673a\u3002

                "},{"location":"virtnest/quickstart/update.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5f00\u673a\u72b6\u6001\u4e0b\u66f4\u65b0\u865a\u62df\u673a CPU\u3001\u5185\u5b58\u3001\u6570\u636e\u76d8\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u865a\u62df\u673a\u652f\u6301\u5b9e\u65f6\u8fc1\u79fb\u80fd\u529b\u3002
                "},{"location":"virtnest/quickstart/update.html#_3","title":"\u8868\u5355\u66f4\u65b0\u865a\u62df\u673a","text":"

                \u5728\u865a\u62df\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb \u66f4\u65b0 \u8fdb\u5165\u865a\u62df\u673a\u66f4\u65b0\u9875\u9762\u3002

                \u57fa\u672c\u4fe1\u606f\u955c\u50cf\u914d\u7f6e\u5b58\u50a8\u4e0e\u7f51\u7edc\u767b\u5f55\u8bbe\u7f6e

                \u57fa\u672c\u4fe1\u606f\u9875\u9762\u4e2d\uff0c \u522b\u540d \u4e0e \u6807\u7b7e\u6ce8\u89e3 \u652f\u6301\u66f4\u65b0\uff0c\u5176\u4ed6\u4fe1\u606f\u65e0\u6cd5\u66f4\u6539\u3002\u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u955c\u50cf\u914d\u7f6e\u7684\u754c\u9762\u3002

                \u5728\u955c\u50cf\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u955c\u50cf\u6765\u6e90\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7248\u672c\u7b49\u53c2\u6570\u4e00\u65e6\u9009\u62e9\u540e\u65e0\u6cd5\u66f4\u6539\uff0c\u5141\u8bb8\u7528\u6237\u66f4\u65b0 GPU \u914d\u7f6e \uff0c \u5305\u62ec\u542f\u7528\u6216\u7981\u7528 GPU \u652f\u6301\uff0c\u9009\u62e9 GPU \u7684\u7c7b\u578b\uff0c\u6307\u5b9a\u6240\u9700\u7684\u578b\u53f7\uff0c\u4ee5\u53ca\u914d\u7f6e GPU \u5361\u7684\u6570\u91cf\uff0c\u66f4\u65b0\u540e\u9700\u8981\u91cd\u542f\u624d\u80fd\u751f\u6548\u3002 \u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u5b58\u50a8\u4e0e\u7f51\u7edc\u7684\u754c\u9762\u3002

                \u5728\u5b58\u50a8\u4e0e\u7f51\u7edc\u9875\u9762\u4e2d\uff0c\u7cfb\u7edf\u76d8\u7684\u5b58\u50a8\u6c60\u548c PVC \u8bbf\u95ee\u6a21\u5f0f\u4e00\u65e6\u9009\u62e9\u540e\u65e0\u6cd5\u66f4\u6539\uff0c\u652f\u6301\u589e\u52a0\u78c1\u76d8\u5bb9\u91cf\uff0c\u4e0d\u53ef\u51cf\u5c11\u3002 \u6b64\u5916\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u7531\u6dfb\u52a0\u6216\u8005\u79fb\u9664\u6570\u636e\u76d8\u3002\u4e0d\u652f\u6301\u66f4\u65b0\u7f51\u7edc\u914d\u7f6e\u3002\u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u767b\u5f55\u8bbe\u7f6e\u7684\u754c\u9762\u3002

                Note

                \u5efa\u8bae\u5728\u4fee\u6539\u5b58\u50a8\u5bb9\u91cf\u6216\u589e\u52a0\u6570\u636e\u76d8\u540e\u91cd\u542f\u865a\u62df\u673a\uff0c\u4ee5\u786e\u4fdd\u914d\u7f6e\u751f\u6548\u3002

                \u5728\u767b\u5f55\u8bbe\u7f6e\u9875\u9762\u4e2d\uff0c\u7528\u6237\u540d\u3001\u5bc6\u7801\u4ee5\u53ca SSH \u5bc6\u94a5\u914d\u7f6e\u4e00\u65e6\u8bbe\u7f6e\uff0c\u4e0d\u5141\u8bb8\u66f4\u6539\u3002\u786e\u8ba4\u60a8\u7684\u767b\u5f55\u4fe1\u606f\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u786e\u5b9a\u6309\u94ae\u4ee5\u5b8c\u6210\u66f4\u65b0\u6d41\u7a0b\u3002

                "},{"location":"virtnest/quickstart/update.html#yaml","title":"\u7f16\u8f91 YAML","text":"

                \u9664\u4e86\u901a\u8fc7\u8868\u5355\u65b9\u5f0f\u66f4\u65b0\u865a\u62df\u673a\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u66f4\u65b0\u865a\u62df\u673a\u3002

                \u8fdb\u5165\u865a\u62df\u673a\u5217\u8868\u9875\uff0c\u70b9\u51fb \u7f16\u8f91 YAML \u6309\u94ae\u3002

                "},{"location":"virtnest/template/index.html","title":"\u901a\u8fc7\u6a21\u677f\u521b\u5efa\u865a\u62df\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u6a21\u677f\u521b\u5efa\u865a\u62df\u673a\u3002

                \u901a\u8fc7\u5185\u7f6e\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u521b\u5efa\u65b0\u7684\u865a\u62df\u673a\u3002\u6b64\u5916\uff0c\u6211\u4eec\u8fd8\u63d0\u4f9b\u5c06\u73b0\u6709\u865a\u62df\u673a\u8f6c\u6362\u4e3a\u865a\u62df\u673a\u6a21\u677f\u7684\u529f\u80fd\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u7075\u6d3b\u5730\u7ba1\u7406\u548c\u4f7f\u7528\u8d44\u6e90\u3002

                "},{"location":"virtnest/template/index.html#_2","title":"\u6a21\u677f\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u6a21\u677f\u521b\u5efa\u4e00\u4e2a\u865a\u62df\u673a\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165 \u865a\u62df\u673a\u7ba1\u7406 \u9875\u9762\u3002\u5728\u865a\u62df\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u521b\u5efa\u865a\u62df\u673a-\u9009\u62e9\u6a21\u677f\u521b\u5efa\u865a\u62df\u673a\u3002

                2. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u9875\u9762\uff0c\u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u6a21\u677f\u914d\u7f6e\u3001\u5b58\u50a8\u4e0e\u7f51\u7edc\u3001\u767b\u5f55\u8bbe\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u865a\u62df\u673a\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u865a\u62df\u673a\u6267\u884c\u5173\u673a/\u5f00\u542f\u3001\u91cd\u542f\u3001\u514b\u9686\u3001\u66f4\u65b0\u3001\u521b\u5efa\u5feb\u7167\u3001\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3001\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002 \u514b\u9686\u548c\u5feb\u7167\u80fd\u529b\u4f9d\u8d56\u4e8e\u5b58\u50a8\u6c60\u7684\u9009\u62e9\u3002

                "},{"location":"virtnest/template/index.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728\u521b\u5efa\u865a\u62df\u673a\u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002 \u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u540d\u79f0\u5728\u865a\u62df\u673a\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u522b\u540d\uff1a\u5141\u8bb8\u4efb\u4f55\u5b57\u7b26\uff0c\u6700\u957f60\u4e2a\u5b57\u7b26\u3002
                • \u96c6\u7fa4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u865a\u62df\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u96c6\u7fa4\u5185\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u865a\u62df\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\u3002 \u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                "},{"location":"virtnest/template/index.html#_4","title":"\u6a21\u677f\u914d\u7f6e","text":"

                \u51fa\u73b0\u6a21\u677f\u5217\u8868\uff0c\u6309\u9700\u9009\u62e9\u5185\u7f6e\u6a21\u677f/\u81ea\u5b9a\u4e49\u6a21\u677f\u3002

                • \u9009\u62e9\u5185\u7f6e\u6a21\u677f\uff1a\u5e73\u53f0\u5185\u7f6e\u4e862\u4e2a\u6807\u51c6\u6a21\u677f\uff0c\u4e0d\u5141\u8bb8\u7f16\u8f91\u548c\u5220\u9664\u3002\u9009\u62e9\u5185\u7f6e\u6a21\u677f\u540e\uff0c\u955c\u50cf\u6765\u6e90\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u955c\u50cf\u5730\u5740\u7b49\u5c06\u4f7f\u7528\u6a21\u677f\u5185\u7684\u4fe1\u606f\uff0c\u65e0\u6cd5\u4fee\u6539\uff1b\u8d44\u6e90\u914d\u989d\u4e5f\u5c06\u4f7f\u7528\u6a21\u677f\u5185\u7684\u4fe1\u606f\uff0c\u5141\u8bb8\u4fee\u6539\u3002

                • \u9009\u62e9\u81ea\u5b9a\u4e49\u6a21\u677f\uff1a\u7531\u865a\u62df\u673a\u914d\u7f6e\u8f6c\u5316\u800c\u6765\u7684\u6a21\u677f\uff0c\u652f\u6301\u7f16\u8f91\u548c\u5220\u9664\u3002\u4f7f\u7528\u81ea\u5b9a\u4e49\u6a21\u677f\u5219\u6839\u636e\u5177\u4f53\u60c5\u51b5\u652f\u6301\u4fee\u6539\u955c\u50cf\u6765\u6e90\u7b49\u4fe1\u606f\u3002

                "},{"location":"virtnest/template/index.html#_5","title":"\u5b58\u50a8\u4e0e\u7f51\u7edc\u914d\u7f6e","text":"
                • \u5b58\u50a8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002 \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u652f\u6301 VolumeSnapshots \u529f\u80fd\uff0c \u5e76\u5728\u5b58\u50a8\u6c60\uff08SC\uff09\u4e2d\u8fdb\u884c\u521b\u5efa\u3002\u8bf7\u6ce8\u610f\uff0c\u5b58\u50a8\u6c60\uff08SC\uff09\u8fd8\u6709\u5176\u4ed6\u4e00\u4e9b\u5148\u51b3\u6761\u4ef6\u9700\u8981\u6ee1\u8db3\u3002

                  • \u5148\u51b3\u6761\u4ef6\uff1a

                    • KubeVirt \u5229\u7528 Kubernetes CSI \u9a71\u52a8\u7a0b\u5e8f\u7684 VolumeSnapshot\u529f\u80fd\u6765\u6355\u83b7\u6301\u4e45\u5316\u865a\u62df\u673a\u72b6\u6001\u3002 \u56e0\u6b64\uff0c\u60a8\u9700\u8981\u786e\u4fdd\u60a8\u7684\u865a\u62df\u673a\u4f7f\u7528\u7531\u652f\u6301 VolumeSnapshots \u7684 StorageClass \u5e76\u914d\u7f6e\u4e86\u6b63\u786e\u7684 VolumeSnapshotClass\u3002
                    • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass \uff0c\u5e76\u4e14\u786e\u8ba4 provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002
                  • \u652f\u6301\u6dfb\u52a0\u4e00\u5757\u7cfb\u7edf\u76d8\u548c\u591a\u5757\u6570\u636e\u76d8\u3002

                • \u7f51\u7edc\uff1a\u82e5\u60a8\u4e0d\u505a\u4efb\u4f55\u914d\u7f6e\uff0c\u7cfb\u7edf\u5c06\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684\u7f51\u7edc\u3002

                "},{"location":"virtnest/template/index.html#_6","title":"\u767b\u5f55\u8bbe\u7f6e","text":"
                • \u7528\u6237\u540d/\u5bc6\u7801\uff1a\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u81f3\u865a\u62df\u673a\u3002
                • SSH\uff1a\u9009\u62e9 SSH \u767b\u5f55\u65b9\u5f0f\u65f6\u53ef\u4e3a\u865a\u62df\u673a\u7ed1\u5b9a SSH \u5bc6\u94a5\uff0c\u7528\u4e8e\u65e5\u540e\u767b\u5f55\u865a\u62df\u673a\u3002
                "},{"location":"virtnest/template/tep.html","title":"\u865a\u62df\u673a\u6a21\u677f","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5185\u7f6e\u865a\u62df\u673a\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u865a\u62df\u673a\u6a21\u677f\u3002

                \u901a\u8fc7\u5185\u7f6e\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u521b\u5efa\u65b0\u7684\u865a\u62df\u673a\u3002\u6b64\u5916\uff0c\u6211\u4eec\u8fd8\u63d0\u4f9b\u5c06\u73b0\u6709\u865a\u62df\u673a\u8f6c\u6362\u4e3a\u865a\u62df\u673a\u6a21\u677f\u7684\u529f\u80fd\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u7075\u6d3b\u5730\u7ba1\u7406\u548c\u4f7f\u7528\u8d44\u6e90\u3002

                "},{"location":"virtnest/template/tep.html#_2","title":"\u865a\u62df\u673a\u6a21\u677f","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a\u6a21\u677f \uff0c\u8fdb\u5165 \u865a\u62df\u673a\u6a21\u677f \u9875\u9762\uff0c\u82e5\u8be5\u6a21\u677f\u662f\u7531\u914d\u7f6e\u4e86 GPU \u7684\u865a\u62df\u673a\u8f6c\u6362\u800c\u6765\uff0c\u6a21\u677f\u4e5f\u4f1a\u5e26\u6709 GPU \u7684\u4fe1\u606f\uff0c\u5c06\u5728\u6a21\u677f\u5217\u8868\u4e2d\u5c55\u793a\u3002

                2. \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5185\u7f6e\u6a21\u677f\u6267\u884c\u521b\u5efa\u865a\u62df\u673a\u548c\u67e5\u770b YAML \u64cd\u4f5c\uff1b\u5bf9\u81ea\u5b9a\u4e49\u6a21\u677f\u652f\u6301\u521b\u5efa\u865a\u62df\u673a\u3001\u7f16\u8f91 YAML \u548c\u5220\u9664\u64cd\u4f5c\u3002

                "},{"location":"virtnest/template/tep.html#_3","title":"\u5185\u7f6e\u6a21\u677f","text":"
                • \u5e73\u53f0\u5185\u5185\u7f6e\u4e24\u79cd\u6a21\u677f\uff0c\u5206\u522b\u662f CentOS \u548c Ubuntu\u3002

                "},{"location":"virtnest/template/tep.html#_4","title":"\u81ea\u5b9a\u4e49\u6a21\u677f","text":"

                \u81ea\u5b9a\u4e49\u6a21\u677f\u662f\u7531\u865a\u62df\u673a\u914d\u7f6e\u8f6c\u5316\u800c\u6765\u7684\u6a21\u677f\u3002\u4ee5\u4e0b\u4ecb\u7ecd\u5982\u4f55\u4ece\u865a\u62df\u673a\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u652f\u6301\u5c06\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3002\u53ea\u6709\u8fd0\u884c\u4e2d/\u5173\u95ed\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u652f\u6301\u8f6c\u5316\u3002

                2. \u586b\u5199\u65b0\u6a21\u677f\u7684\u540d\u79f0\uff0c\u63d0\u793a\u539f\u59cb\u865a\u62df\u673a\u5c06\u4f1a\u4fdd\u7559\u5e76\u4e14\u53ef\u7528\u3002\u8f6c\u6362\u6210\u529f\u540e\uff0c\u5c06\u4f1a\u5728\u6a21\u677f\u5217\u8868\u65b0\u589e\u4e00\u6761\u6570\u636e\u3002

                "},{"location":"virtnest/template/tep.html#_5","title":"\u6a21\u677f\u8be6\u60c5","text":"

                \u6210\u529f\u521b\u5efa\u51fa\u6765\u4e00\u4e2a\u6a21\u677f\u540e\uff0c\u70b9\u51fb\u6a21\u677f\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u865a\u62df\u673a\u8be6\u60c5\uff0c\u5305\u62ec\u57fa\u672c\u4fe1\u606f\u3001GPU \u4fe1\u606f\u3001\u5b58\u50a8\u3001\u7f51\u7edc\u7b49\u3002\u5982\u679c\u9700\u8981\u5feb\u901f\u57fa\u4e8e\u8be5\u6a21\u677f\u90e8\u7f72\u65b0\u7684\u865a\u62df\u673a\uff0c\u53ea\u9700\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u865a\u62df\u673a \u6309\u94ae\u5373\u53ef\u4fbf\u6377\u64cd\u4f5c\u3002

                "},{"location":"virtnest/vm/auto-migrate.html","title":"\u865a\u62df\u673a\u81ea\u52a8\u6f02\u79fb","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5f53\u96c6\u7fa4\u5185\u67d0\u4e2a\u8282\u70b9\u56e0\u4e3a\u65ad\u7535\u6216\u7f51\u7edc\u6545\u969c\uff0c\u5bfc\u81f4\u8be5\u8282\u70b9\u4e0a\u7684\u865a\u62df\u673a\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c \u5982\u4f55\u5c06\u6b63\u5728\u8fd0\u884c\u7684\u865a\u62df\u673a\u65e0\u7f1d\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u8282\u70b9\u4e0a\uff0c\u540c\u65f6\u4fdd\u8bc1\u4e1a\u52a1\u7684\u8fde\u7eed\u6027\u548c\u6570\u636e\u7684\u5b89\u5168\u6027\u3002

                \u4e0e\u5b9e\u65f6\u8fc1\u79fb\u76f8\u6bd4\uff0c\u81ea\u52a8\u6f02\u79fb\u4e0d\u9700\u8981\u60a8\u5728\u754c\u9762\u4e2d\u4e3b\u52a8\u64cd\u4f5c\uff0c\u800c\u662f\u7cfb\u7edf\u81ea\u52a8\u89e6\u53d1\u8fc1\u79fb\u8fc7\u7a0b\u3002

                "},{"location":"virtnest/vm/auto-migrate.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b9e\u73b0\u81ea\u52a8\u6f02\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u865a\u62df\u673a\u672a\u8fdb\u884c\u78c1\u76d8\u843d\u76d8\u64cd\u4f5c\uff0c\u6216\u4f7f\u7528 Rook-Ceph\u3001HwameiStor HA \u6a21\u5f0f\u4f5c\u4e3a\u5b58\u50a8\u7cfb\u7edf
                • \u8282\u70b9\u5931\u8054\u65f6\u95f4\u8d85\u8fc7\u4e94\u5206\u949f
                • \u786e\u4fdd\u96c6\u7fa4\u5185\u81f3\u5c11\u6709\u4e24\u4e2a\u8282\u70b9\u53ef\u4f9b\u4f7f\u7528\uff0c\u5e76\u4e14\u865a\u62df\u673a\u6ca1\u6709\u6307\u5b9a\u8c03\u5ea6\u8282\u70b9
                • \u865a\u62df\u673a\u7684 launcher pod \u5df2\u88ab\u5220\u9664
                "},{"location":"virtnest/vm/auto-migrate.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u68c0\u67e5\u865a\u62df\u673a launcher pod \u72b6\u6001\uff1a

                  kubectl get pod\n

                  \u67e5\u770b launcher pod \u662f\u5426\u5904\u4e8e Terminating \u72b6\u6001\u3002

                2. \u5f3a\u5236\u5220\u9664 launcher pod\uff1a

                  \u5982\u679c launcher pod \u72b6\u6001\u4e3a Terminating\uff0c\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5f3a\u5236\u5220\u9664\uff1a

                  kubectl delete <launcher pod> --force\n

                  \u66ff\u6362 <launcher pod> \u4e3a\u4f60\u7684 launcher pod \u540d\u79f0\u3002

                3. \u7b49\u5f85\u91cd\u65b0\u521b\u5efa\u5e76\u68c0\u67e5\u72b6\u6001\uff1a

                  \u5220\u9664\u540e\uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u91cd\u65b0\u521b\u5efa launcher pod\u3002 \u7b49\u5f85\u5176\u72b6\u6001\u53d8\u4e3a running\uff0c\u7136\u540e\u5237\u65b0\u865a\u62df\u673a\u5217\u8868\uff0c\u89c2\u5bdf\u865a\u62df\u673a\u662f\u5426\u6210\u529f\u8fc1\u79fb\u5230\u65b0\u8282\u70b9\u3002

                "},{"location":"virtnest/vm/auto-migrate.html#_4","title":"\u6ce8\u610f\u4e8b\u9879","text":"

                \u5982\u679c\u4f7f\u7528 rook-ceph \u4f5c\u4e3a\u5b58\u50a8\uff0c\u9700\u8981\u914d\u7f6e\u4e3a ReadWriteOnce \u6a21\u5f0f\uff1a

                1. \u5f3a\u5236\u5220\u9664 pod \u540e\uff0c\u9700\u8981\u7b49\u5f85\u5927\u7ea6\u516d\u5206\u949f\u4ee5\u8ba9 launcher pod \u542f\u52a8\uff0c\u6216\u8005\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u7acb\u5373\u542f\u52a8 pod\uff1a

                  kubectl get pv | grep <vm name>\nkubectl get VolumeAttachment | grep <pv name>\n

                  \u66ff\u6362 <vm name> \u548c <pv name> \u4e3a\u4f60\u7684\u865a\u62df\u673a\u540d\u79f0\u548c\u6301\u4e45\u5377\u540d\u79f0\u3002

                2. \u7136\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5220\u9664\u5bf9\u5e94\u7684 VolumeAttachment\uff1a

                  kubectl delete VolumeAttachment <vm>\n

                  \u66ff\u6362 <vm> \u4e3a\u4f60\u7684\u865a\u62df\u673a\u540d\u79f0\u3002

                "},{"location":"virtnest/vm/clone.html","title":"\u514b\u9686\u865a\u62df\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u514b\u9686\u4e00\u53f0\u65b0\u7684\u865a\u62df\u673a\u3002

                \u7528\u6237\u53ef\u4ee5\u514b\u9686\u4e00\u53f0\u65b0\u7684\u865a\u62df\u673a\uff0c\u514b\u9686\u540e\u7684\u865a\u62df\u673a\u5c06\u5177\u6709\u4e0e\u539f\u59cb\u865a\u62df\u673a\u76f8\u540c\u7684\u64cd\u4f5c\u7cfb\u7edf\u548c\u7cfb\u7edf\u914d\u7f6e\uff0c\u80fd\u591f\u5b9e\u73b0\u5feb\u901f\u90e8\u7f72\u548c\u6269\u5c55\uff0c\u5feb\u901f\u521b\u5efa\u76f8\u4f3c\u914d\u7f6e\u7684\u65b0\u865a\u62df\u673a\uff0c\u800c\u65e0\u9700\u4ece\u5934\u5f00\u59cb\u5b89\u88c5\u3002

                "},{"location":"virtnest/vm/clone.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4f7f\u7528\u514b\u9686\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff08\u548c\u5feb\u7167\u529f\u80fd\u7684\u524d\u63d0\u6761\u4ef6\u4e00\u81f4\uff09\uff1a

                • \u53ea\u6709\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u624d\u80fd\u4f7f\u7528\u514b\u9686\u529f\u80fd\u3002
                • \u5b89\u88c5 Snapshot CRDs\u3001Snapshot Controller\u3001CSI Driver\u3002 \u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u53ef\u53c2\u8003 CSI Snapshotter\u3002
                • \u7b49\u5f85 snapshot-controller \u7ec4\u4ef6\u51c6\u5907\u5c31\u7eea, \u8be5\u7ec4\u4ef6\u4f1a\u76d1\u63a7 VolumeSnapshot \u548c VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                • \u7b49\u5f85 CSI Driver \u51c6\u5907\u5c31\u7eea, \u786e\u4fdd csi-snapshotter sidecar \u8dd1\u5728 CSI Driver \u91cc\uff0ccsi-snapshotter sidecar \u4f1a\u76d1\u63a7 VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                  • \u5982\u5b58\u50a8\u662f Rook-Ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                  • \u5982\u5b58\u50a8\u662f HwameiStor\uff0c\u53ef\u53c2\u8003 huameistor-snapshot
                "},{"location":"virtnest/vm/clone.html#_3","title":"\u514b\u9686\u865a\u62df\u673a","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u6267\u884c\u5feb\u7167\u64cd\u4f5c\u3002

                2. \u5f39\u51fa\u5f39\u6846\uff0c\u9700\u8981\u586b\u5199\u514b\u9686\u65b0\u7684\u865a\u62df\u673a\u7684\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u514b\u9686\u64cd\u4f5c\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u865a\u62df\u673a\u7684\u5927\u5c0f\u548c\u5b58\u50a8\u6027\u80fd\u3002

                3. \u514b\u9686\u6210\u529f\u540e\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u5185\u67e5\u770b\u5230\u65b0\u7684\u865a\u62df\u673a\uff0c\u65b0\u521b\u5efa\u51fa\u6765\u7684\u865a\u62df\u673a\u5904\u4e8e\u5173\u673a\u72b6\u6001\uff0c\u82e5\u9700\u8981\u5f00\u673a\u9700\u8981\u624b\u52a8\u64cd\u4f5c\u3002

                4. \u514b\u9686\u524d\u5efa\u8bae\u5bf9\u539f\u6709\u865a\u62df\u673a\u8fdb\u884c\u5feb\u7167\uff0c\u5982\u679c\u514b\u9686\u8fc7\u7a0b\u4e2d\u9047\u5230\u95ee\u9898\uff0c\u8bf7\u68c0\u67e5\u5148\u51b3\u6761\u4ef6\u662f\u5426\u6ee1\u8db3\uff0c\u5e76\u5c1d\u8bd5\u91cd\u65b0\u6267\u884c\u514b\u9686\u64cd\u4f5c\u3002

                "},{"location":"virtnest/vm/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

                \u5f53\u521b\u5efa\u865a\u62df\u673a\u4f7f\u7528\u5bf9\u8c61\u5b58\u50a8\uff08S3\uff09\u4f5c\u4e3a\u955c\u50cf\u6765\u6e90\u65f6\uff0c\u6709\u65f6\u5019\u9700\u8981\u586b\u5199\u5bc6\u94a5\u6765\u83b7\u53d6\u901a\u8fc7 S3 \u7684\u9a8c\u8bc1\u3002\u4ee5\u4e0b\u5c06\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u7b26\u5408\u865a\u62df\u673a\u8981\u6c42\u7684\u5bc6\u94a5\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u96c6\u7fa4\u5217\u8868 \uff0c\u8fdb\u5165\u865a\u62df\u673a\u6240\u5728\u96c6\u7fa4\u8be6\u60c5\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 \uff0c\u9009\u62e9 \u5bc6\u94a5 \uff0c\u70b9\u51fb \u521b\u5efa\u5bc6\u94a5 \u3002

                2. \u8fdb\u5165\u521b\u5efa\u9875\u9762\uff0c\u586b\u5199\u5bc6\u94a5\u540d\u79f0\uff0c\u9009\u62e9\u548c\u865a\u62df\u673a\u76f8\u540c\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6ce8\u610f\u9700\u8981\u9009\u62e9 \u9ed8\u8ba4\uff08Opaque\uff09 \u7c7b\u578b\u3002\u5bc6\u94a5\u6570\u636e\u9700\u8981\u9075\u5faa\u4ee5\u4e0b\u539f\u5219

                  • accessKeyId: \u9700\u8981\u4ee5 Base64 \u7f16\u7801\u65b9\u5f0f\u8868\u793a\u7684\u6570\u636e
                  • secretKey: \u9700\u8981\u4ee5 Base64 \u7f16\u7801\u65b9\u5f0f\u8868\u793a\u7684\u6570\u636e

                3. \u521b\u5efa\u6210\u529f\u540e\u53ef\u4ee5\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\u4f7f\u7528\u6240\u9700\u5bc6\u94a5\uff0c\u6700\u540e\u901a\u8fc7\u9a8c\u8bc1\u3002

                "},{"location":"virtnest/vm/cross-cluster-migrate.html","title":"\u865a\u62df\u673a\u8de8\u96c6\u7fa4\u8fc1\u79fb","text":"

                \u672c\u529f\u80fd\u6682\u672a\u505a UI \u754c\u9762\u80fd\u529b\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u64cd\u4f5c\u6b65\u9aa4\u6267\u884c\u3002

                "},{"location":"virtnest/vm/cross-cluster-migrate.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
                • \u5f53\u539f\u96c6\u7fa4\u53d1\u751f\u6545\u969c\u6216\u6027\u80fd\u4e0b\u964d\u5bfc\u81f4\u8be5\u96c6\u7fa4\u4e0a\u7684\u865a\u62df\u673a\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c\u5c06\u865a\u62df\u673a\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u3002
                • \u9700\u8981\u5bf9\u96c6\u7fa4\u8fdb\u884c\u8ba1\u5212\u5185\u7684\u7ef4\u62a4\u6216\u5347\u7ea7\u65f6\uff0c\u5c06\u865a\u62df\u673a\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u3002
                • \u5f53\u7279\u5b9a\u5e94\u7528\u7684\u6027\u80fd\u9700\u6c42\u53d8\u5316\uff0c\u9700\u8981\u8c03\u6574\u8d44\u6e90\u5206\u914d\u65f6\uff0c\u8fc1\u79fb\u865a\u62df\u673a\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u4ee5\u5339\u914d\u66f4\u5408\u9002\u7684\u8d44\u6e90\u914d\u7f6e\u3002
                "},{"location":"virtnest/vm/cross-cluster-migrate.html#_3","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b9e\u73b0\u865a\u62df\u673a\u8de8\u96c6\u7fa4\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u96c6\u7fa4\u7f51\u7edc\u4e92\u901a\uff1a\u786e\u4fdd\u539f\u6709\u96c6\u7fa4\u4e0e\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u4e4b\u95f4\u7684\u7f51\u7edc\u662f\u4e92\u901a\u7684
                • \u76f8\u540c\u5b58\u50a8\u7c7b\u578b\uff1a\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u9700\u652f\u6301\u4e0e\u539f\u6709\u96c6\u7fa4\u76f8\u540c\u7684\u5b58\u50a8\u7c7b\u578b\uff08\u4f8b\u5982\uff0c\u5982\u679c\u5bfc\u51fa\u96c6\u7fa4\u4f7f\u7528 rook-ceph-block \u7c7b\u578b\u7684 StorageClass\uff0c\u5219\u5bfc\u5165\u96c6\u7fa4\u4e5f\u5fc5\u987b\u652f\u6301\u6b64\u7c7b\u578b\uff09\u3002
                • \u5728\u539f\u6709\u96c6\u7fa4\u7684 KubeVirt \u4e2d\u5f00\u542f VMExport Feature Gate\u3002
                "},{"location":"virtnest/vm/cross-cluster-migrate.html#vmexport-feature-gate","title":"\u5f00\u542f VMExport Feature Gate","text":"

                \u6fc0\u6d3b VMExport Feature Gate\uff0c\u5728\u539f\u6709\u96c6\u7fa4\u5185\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c \u53ef\u53c2\u8003How to activate a feature gate

                kubectl edit kubevirt kubevirt -n virtnest-system\n

                \u8fd9\u6761\u547d\u4ee4\u5c06\u4fee\u6539 featureGates \uff0c\u589e\u52a0 VMExport \u3002

                apiVersion: kubevirt.io/v1\nkind: KubeVirt\nmetadata:\n  name: kubevirt\n  namespace: virtnest-system\nspec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n        - DataVolumes\n        - LiveMigration\n        - VMExport\n
                "},{"location":"virtnest/vm/cross-cluster-migrate.html#ingress","title":"\u914d\u7f6e\u539f\u6709\u96c6\u7fa4\u7684 Ingress","text":"

                \u4ee5 Nginx Ingress \u4e3a\u4f8b\uff0c\u914d\u7f6e Ingress \u4ee5\u6307\u5411 virt-exportproxy Service\uff1a

                apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n  name: ingress-vm-export\n  namespace: virtnest-system\nspec:\n  tls:\n    - hosts:\n        - upgrade-test.com\n      secretName: nginx-tls\n  rules:\n    - host: upgrade-test.com\n      http:\n        paths:\n          - path: /\n            pathType: Prefix\n            backend:\n              service:\n                name: virt-exportproxy\n                port:\n                  number: 8443\n  ingressClassName: nginx\n
                "},{"location":"virtnest/vm/cross-cluster-migrate.html#_4","title":"\u8fc1\u79fb\u6b65\u9aa4","text":"
                1. \u521b\u5efa VirtualMachineExport CR

                  • \u5982\u679c \u865a\u62df\u673a\u5173\u673a\u72b6\u6001 \u4e0b\u8fdb\u884c\u8fc1\u79fb\uff08\u51b7\u8fc1\u79fb\uff09\uff1a

                    apiVersion: v1\nkind: Secret\nmetadata:\n  name: example-token # \u5bfc\u51fa\u865a\u62df\u673a\u6240\u7528 token\n  namespace: default # \u865a\u62df\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nstringData:\n  token: 1234567890ab # \u5bfc\u51fa\u4f7f\u7528\u7684 token,\u53ef\u4fee\u6539\n\n---\napiVersion: export.kubevirt.io/v1alpha1\nkind: VirtualMachineExport\nmetadata:\n  name: example-export # \u5bfc\u51fa\u540d\u79f0, \u53ef\u81ea\u884c\u4fee\u6539\n  namespace: default # \u865a\u62df\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nspec:\n  tokenSecretRef: example-token # \u548c\u4e0a\u9762\u521b\u5efa\u7684token\u540d\u79f0\u4fdd\u6301\u4e00\u81f4\n  source:\n    apiGroup: \"kubevirt.io\"\n    kind: VirtualMachine\n    name: testvm # \u865a\u62df\u673a\u540d\u79f0\n
                  • \u5982\u679c\u8981\u5728 \u865a\u62df\u673a\u4e0d\u5173\u673a \u7684\u72b6\u6001\u4e0b\uff0c\u4f7f\u7528\u865a\u62df\u673a\u5feb\u7167\u8fdb\u884c\u8fc1\u79fb\uff08\u70ed\u8fc1\u79fb\uff09\uff1a

                    apiVersion: v1\nkind: Secret\nmetadata:\n  name: example-token # \u5bfc\u51fa\u865a\u62df\u673a\u6240\u7528 token\n  namespace: default # \u865a\u62df\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nstringData:\n  token: 1234567890ab # \u5bfc\u51fa\u4f7f\u7528\u7684 token ,\u53ef\u4fee\u6539\n\n---\napiVersion: export.kubevirt.io/v1alpha1\nkind: VirtualMachineExport\nmetadata:\n  name: export-snapshot # \u5bfc\u51fa\u540d\u79f0, \u53ef\u81ea\u884c\u4fee\u6539\n  namespace: default # \u865a\u62df\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nspec:\n  tokenSecretRef: export-token # \u548c\u4e0a\u9762\u521b\u5efa\u7684token\u540d\u79f0\u4fdd\u6301\u4e00\u81f4\n  source:\n    apiGroup: \"snapshot.kubevirt.io\"\n    kind: VirtualMachineSnapshot\n    name: export-snap-202407191524 # \u5bf9\u5e94\u7684\u865a\u62df\u673a\u5feb\u7167\u540d\u79f0\n
                2. \u68c0\u67e5 VirtualMachineExport \u662f\u5426\u51c6\u5907\u5c31\u7eea\uff1a

                  # \u8fd9\u91cc\u7684 example-export \u9700\u8981\u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0\nkubectl get VirtualMachineExport example-export -n default\n\nNAME             SOURCEKIND       SOURCENAME   PHASE\nexample-export   VirtualMachine   testvm       Ready\n
                3. \u5f53 VirtualMachineExport \u51c6\u5907\u5c31\u7eea\u540e\uff0c\u5bfc\u51fa\u865a\u62df\u673a YAML\u3002

                  • \u5982\u679c\u5df2\u5b89\u88c5 virtctl \uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bfc\u51fa\u865a\u62df\u673a\u7684 YAML\uff1a

                    # \u81ea\u884c\u5c06 example-export\u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0\n# \u81ea\u884c\u901a\u8fc7 -n \u6307\u5b9a\u547d\u540d\u7a7a\u95f4\nvirtctl vmexport download example-export --manifest --include-secret --output=manifest.yaml\n
                  • \u5982\u679c\u6ca1\u6709\u5b89\u88c5 virtctl \uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bfc\u51fa\u865a\u62df\u673a YAML\uff1a

                    # \u81ea\u884c\u66ff\u6362 example-export \u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0 \u548c\u547d\u540d\u7a7a\u95f4\nmanifesturl=$(kubectl get VirtualMachineExport example-export -n default -o=jsonpath='{.status.links.internal.manifests[0].url}')\nsecreturl=$(kubectl get VirtualMachineExport example-export -n default -o=jsonpath='{.status.links.internal.manifests[1].url}')\n# \u81ea\u884c\u66ff\u6362 secert \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\ntoken=$(kubectl get secret example-token -n default -o=jsonpath='{.data.token}' | base64 -d)\n\ncurl -H \"Accept: application/yaml\" -H \"x-kubevirt-export-token: $token\"  --insecure  $secreturl > manifest.yaml\ncurl -H \"Accept: application/yaml\" -H \"x-kubevirt-export-token: $token\"  --insecure  $manifesturl >> manifest.yaml\n
                4. \u5bfc\u5165\u865a\u62df\u673a

                  \u5c06\u5bfc\u51fa\u7684 manifest.yaml \u590d\u5236\u5230\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u5e76\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff08\u5982\u679c\u547d\u540d\u7a7a\u95f4\u4e0d\u5b58\u5728\u5219\u9700\u8981\u63d0\u524d\u521b\u5efa\uff09\uff1a

                  kubectl apply -f manifest.yaml\n
                  \u521b\u5efa\u6210\u529f\u540e\uff0c\u91cd\u542f\u865a\u62df\u673a\uff0c\u865a\u62df\u673a\u6210\u529f\u8fd0\u884c\u540e\uff0c\u5728\u539f\u6709\u96c6\u7fa4\u5185\u5220\u9664\u539f\u865a\u62df\u673a\uff08\u865a\u62df\u673a\u672a\u542f\u52a8\u6210\u529f\u65f6\uff0c\u8bf7\u52ff\u5220\u9664\u539f\u865a\u62df\u673a\uff09\u3002

                "},{"location":"virtnest/vm/health-check.html","title":"\u5065\u5eb7\u68c0\u67e5","text":"

                \u5f53\u914d\u7f6e\u865a\u62df\u673a\u7684\u5b58\u6d3b\uff08Liveness\uff09\u548c\u5c31\u7eea\uff08Readiness\uff09\u63a2\u9488\u65f6\uff0c\u4e0e Kubernetes \u7684\u914d\u7f6e\u8fc7\u7a0b\u76f8\u4f3c\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 YAML \u4e3a\u865a\u62df\u673a\u914d\u7f6e\u5065\u5eb7\u68c0\u67e5\u53c2\u6570\u3002

                \u4f46\u662f\u9700\u8981\u6ce8\u610f\uff1a\u9700\u8981\u5728\u865a\u62df\u673a\u521b\u5efa\u6210\u529f\u5e76\u4e14\u5904\u4e8e\u5173\u673a\u72b6\u6001\u4e0b\uff0c\u4fee\u6539 YAML \u8fdb\u884c\u914d\u7f6e\u3002

                "},{"location":"virtnest/vm/health-check.html#http-liveness-probe","title":"\u914d\u7f6e HTTP Liveness Probe","text":"
                1. \u5728 spec.template.spec \u4e2d\u914d\u7f6e livenessProbe.httpGet\u3002
                2. \u4fee\u6539 cloudInitNoCloud \u4ee5\u542f\u52a8\u4e00\u4e2a HTTP \u670d\u52a1\u5668\u3002

                  \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                  apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      livenessProbe:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        httpGet:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                3. \u6839\u636e\u64cd\u4f5c\u7cfb\u7edf\uff08\u5982 Ubuntu/Debian \u6216 CentOS\uff09\uff0cuserData \u7684\u914d\u7f6e\u53ef\u80fd\u6709\u6240\u4e0d\u540c\u3002\u4e3b\u8981\u533a\u522b\uff1a

                  • \u5305\u7ba1\u7406\u5668\uff1a

                    Ubuntu/Debian \u4f7f\u7528 apt-get \u4f5c\u4e3a\u5305\u7ba1\u7406\u5668\u3002 CentOS \u4f7f\u7528 yum \u4f5c\u4e3a\u5305\u7ba1\u7406\u5668\u3002

                  • SSH \u670d\u52a1\u91cd\u542f\u547d\u4ee4\uff1a

                    Ubuntu/Debian \u4f7f\u7528 systemctl restart ssh.service\u3002 CentOS \u4f7f\u7528 systemctl restart sshd.service\uff08\u6ce8\u610f CentOS 7 \u53ca\u4e4b\u524d\u7248\u672c\u4f7f\u7528 service sshd restart\uff09\u3002

                  • \u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\uff1a

                    Ubuntu/Debian \u5b89\u88c5 ncat\u3002 CentOS \u5b89\u88c5 nmap-ncat\uff08\u56e0\u4e3a ncat \u5728 CentOS \u7684\u9ed8\u8ba4\u4ed3\u5e93\u4e2d\u53ef\u80fd\u4e0d\u53ef\u7528\uff09\u3002

                "},{"location":"virtnest/vm/health-check.html#tcp-liveness-probe","title":"\u914d\u7f6e TCP Liveness Probe","text":"

                \u5728 spec.template.spec \u4e2d\u914d\u7f6e livenessProbe.tcpSocket\u3002

                \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      livenessProbe:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        tcpSocket:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                "},{"location":"virtnest/vm/health-check.html#readiness-probes","title":"\u914d\u7f6e Readiness Probes","text":"

                \u5728 spec.template.spec \u4e2d\u914d\u7f6e readiness\u3002

                \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      readiness:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        httpGet:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                "},{"location":"virtnest/vm/live-migration.html","title":"\u5b9e\u65f6\u8fc1\u79fb","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u865a\u62df\u673a\u4ece\u4e00\u4e2a\u8282\u70b9\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\u3002

                \u5f53\u8282\u70b9\u7ef4\u62a4\u6216\u8005\u5347\u7ea7\u65f6\uff0c\u7528\u6237\u53ef\u4ee5\u5c06\u6b63\u5728\u8fd0\u884c\u7684\u865a\u62df\u673a\u65e0\u7f1d\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u8282\u70b9\u4e0a\uff0c\u540c\u65f6\u53ef\u4ee5\u4fdd\u8bc1\u4e1a\u52a1\u7684\u8fde\u7eed\u6027\u548c\u6570\u636e\u7684\u5b89\u5168\u6027\u3002

                "},{"location":"virtnest/vm/live-migration.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u865a\u62df\u673a\u5fc5\u987b\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\u624d\u80fd\u8fdb\u884c\u5b9e\u65f6\u8fc1\u79fb\u3002
                • \u786e\u4fdd\u60a8\u7684 PVC \u8bbf\u95ee\u6a21\u5f0f\u4e3a ReadWriteMany\uff0c\u4ee5\u4fbf\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\u3002
                • \u786e\u4fdd\u96c6\u7fa4\u5185\u81f3\u5c11\u6709\u4e24\u4e2a\u8282\u70b9\u53ef\u4f9b\u4f7f\u7528\u3002
                "},{"location":"virtnest/vm/live-migration.html#_3","title":"\u5b9e\u65f6\u8fc1\u79fb","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8fd0\u884c\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u8fdb\u884c\u8fc1\u79fb\u52a8\u4f5c\u3002\u76ee\u524d\u865a\u62df\u673a\u6240\u5728\u8282\u70b9\u4e3a controller-node-3 \u3002

                2. \u5f39\u51fa\u5f39\u6846\uff0c\u63d0\u793a\u5728\u5b9e\u65f6\u8fc1\u79fb\u671f\u95f4\uff0c\u6b63\u5728\u8fd0\u884c\u7684\u865a\u62df\u673a\u5b9e\u4f8b\u4f1a\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\uff0c\u53ef\u4ee5\u9009\u62e9\u6307\u5b9a\u8282\u70b9\u8fc1\u79fb\uff0c\u4e5f\u53ef\u4ee5\u968f\u673a\u8fc1\u79fb\uff0c\u8bf7\u786e\u4fdd\u5176\u4ed6\u8282\u70b9\u8d44\u6e90\u5145\u8db3\u3002

                3. \u8fc1\u79fb\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u5185\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c\u6b64\u65f6\u8282\u70b9\u8fc1\u79fb\u5230 controller-node-1 \u3002

                "},{"location":"virtnest/vm/migratiom.html","title":"\u96c6\u7fa4\u5185\u51b7\u8fc1\u79fb","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u5173\u673a\u72b6\u6001\u4e0b\u5982\u4f55\u5c06\u865a\u62df\u673a\u5728\u540c\u4e00\u96c6\u7fa4\u5185\u4ece\u4e00\u4e2a\u8282\u70b9\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\u3002

                \u51b7\u8fc1\u79fb\u7684\u4e3b\u8981\u7279\u70b9\u662f\uff0c\u865a\u62df\u673a\u5728\u8fc1\u79fb\u8fc7\u7a0b\u4e2d\u4f1a\u5904\u4e8e\u79bb\u7ebf\u72b6\u6001\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5bf9\u4e1a\u52a1\u8fde\u7eed\u6027\u4ea7\u751f\u5f71\u54cd\u3002\u56e0\u6b64\uff0c \u5728\u5b9e\u65bd\u51b7\u8fc1\u79fb\u65f6\u9700\u8981\u4ed4\u7ec6\u89c4\u5212\u8fc1\u79fb\u65f6\u95f4\u7a97\u53e3\uff0c\u5e76\u8003\u8651\u4e1a\u52a1\u9700\u6c42\u548c\u7cfb\u7edf\u53ef\u7528\u6027\u3002\u901a\u5e38\uff0c\u51b7\u8fc1\u79fb\u9002\u7528\u4e8e\u5bf9\u505c\u673a\u65f6\u95f4\u8981\u6c42\u4e0d\u662f\u975e\u5e38\u4e25\u683c\u7684\u573a\u666f\u3002

                "},{"location":"virtnest/vm/migratiom.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4f7f\u7528\u51b7\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u865a\u62df\u673a\u5fc5\u987b\u5904\u4e8e\u5173\u673a\u72b6\u6001\u624d\u80fd\u8fdb\u884c\u51b7\u8fc1\u79fb\u3002
                "},{"location":"virtnest/vm/migratiom.html#_3","title":"\u51b7\u8fc1\u79fb","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c \u53ef\u4ee5\u5bf9\u5173\u673a\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u8fdb\u884c\u8fc1\u79fb\u52a8\u4f5c\u3002\u865a\u62df\u673a\u5728\u5173\u673a\u72b6\u6001\u4e0b\u65f6\u65e0\u6cd5\u67e5\u770b\u6240\u5728\u8282\u70b9\uff0c\u9700\u8981\u63d0\u524d\u89c4\u5212\u6216\u8005\u5f00\u673a\u67e5\u8be2\u3002

                  Note

                  \u5982\u679c\u60a8\u5728\u539f\u59cb\u8282\u70b9\u7684\u5b58\u50a8\u6c60\u4e2d\u4f7f\u7528\u4e86 local-path\uff0c\u8de8\u8282\u70b9\u8fc1\u79fb\u65f6\u53ef\u80fd\u51fa\u73b0\u95ee\u9898\uff0c\u8bf7\u8c28\u614e\u9009\u62e9\u3002

                2. \u70b9\u51fb\u8fc1\u79fb\u540e\uff0c\u63d0\u793a\u5728\u8fc1\u79fb\u671f\u95f4\uff0c\u53ef\u4ee5\u9009\u62e9\u6307\u5b9a\u8282\u70b9\u8fc1\u79fb\uff0c\u4e5f\u53ef\u4ee5\u968f\u673a\u8fc1\u79fb\uff0c\u82e5\u9700\u8981\u4fee\u6539\u5b58\u50a8\u6c60\uff0c \u9700\u8981\u786e\u4fdd\u76ee\u6807\u8282\u70b9\u5185\u6709\u53ef\u7528\u5b58\u50a8\u6c60\u3002\u540c\u65f6\u9700\u8981\u76ee\u6807\u8282\u70b9\u8d44\u6e90\u5145\u8db3\uff0c\u8fc1\u79fb\u8fc7\u7a0b\u8017\u8d39\u65f6\u95f4\u8f83\u957f\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002

                3. \u8fc1\u79fb\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u6210\u529f\u540e\u9700\u8981\u91cd\u542f\u67e5\u770b\u662f\u5426\u8fc1\u79fb\u6210\u529f\u3002\u672c\u793a\u4f8b\u5df2\u7ecf\u5f00\u673a\u67e5\u770b\u8fc1\u79fb\u6548\u679c\u3002

                "},{"location":"virtnest/vm/monitor.html","title":"\u865a\u62df\u673a\u76d1\u63a7","text":"

                \u865a\u62df\u673a\u57fa\u4e8e Kubevirt \u5f00\u6e90\u7684 Grafana Dashboard\uff0c\u4e3a\u4e86\u6bcf\u4e00\u4e2a\u865a\u62df\u673a\u751f\u6210\u4e86\u76d1\u63a7\u770b\u677f

                \u865a\u62df\u673a\u7684\u76d1\u63a7\u4fe1\u606f\u53ef\u4ee5\u66f4\u597d\u7684\u4e86\u89e3\u865a\u62df\u673a\u7684\u8d44\u6e90\u6d88\u8017\u60c5\u51b5\uff0c\u6bd4\u5982 CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u548c\u7f51\u7edc\u7b49\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c \u4ece\u800c\u8fdb\u884c\u8d44\u6e90\u7684\u4f18\u5316\u548c\u89c4\u5212\uff0c\u63d0\u5347\u6574\u4f53\u7684\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                "},{"location":"virtnest/vm/monitor.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u67e5\u770b\u865a\u62df\u673a\u76d1\u63a7\u7684\u76f8\u5173\u4fe1\u606f\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u865a\u62df\u673a\u6240\u5728\u7684\u540c\u4e00\u96c6\u7fa4\u5185\u5b89\u88c5 Insight-agent \u7ec4\u4ef6\uff0c\u5e76\u4e14\u4fdd\u8bc1 Insight-agent \u7ec4\u4ef6\u6b63\u5e38\u53ef\u7528\u3002
                "},{"location":"virtnest/vm/monitor.html#_3","title":"\u865a\u62df\u673a\u76d1\u63a7","text":"

                \u8fdb\u5165\u865a\u62df\u673a\u7684\u8be6\u7ec6\u4fe1\u606f\u5e76\u70b9\u51fb \u6982\u89c8 \uff0c\u5373\u53ef\u67e5\u770b\u865a\u62df\u673a\u7684\u76d1\u63a7\u5185\u5bb9\u3002\u8bf7\u6ce8\u610f\uff0c\u82e5\u672a\u5b89\u88c5 Insight-agent \u7ec4\u4ef6\uff0c\u5219\u65e0\u6cd5\u83b7\u53d6\u76d1\u63a7\u4fe1\u606f\u3002\u4ee5\u4e0b\u662f\u8be6\u7ec6\u4fe1\u606f\uff1a

                • CPU \u603b\u91cf\u3001CPU \u4f7f\u7528\u91cf\u3001\u5185\u5b58\u603b\u91cf\u3001\u5185\u5b58\u4f7f\u7528\u91cf\u3002

                • CPU \u4f7f\u7528\u7387\uff1a\u6307\u5f53\u524d\u865a\u62df\u673a\u6b63\u5728\u4f7f\u7528\u7684 CPU \u8d44\u6e90\u7684\u767e\u5206\u6bd4\uff1b

                • \u5185\u5b58\u4f7f\u7528\u7387\uff1a\u6307\u5f53\u524d\u865a\u62df\u673a\u6b63\u5728\u4f7f\u7528\u7684\u5185\u5b58\u8d44\u6e90\u5360\u603b\u53ef\u7528\u5185\u5b58\u7684\u767e\u5206\u6bd4\u3002

                • \u7f51\u7edc\u6d41\u91cf\uff1a\u6307\u865a\u62df\u673a\u5728\u7279\u5b9a\u65f6\u95f4\u6bb5\u5185\u53d1\u9001\u548c\u63a5\u6536\u7684\u7f51\u7edc\u6570\u636e\u91cf\uff1b

                • \u7f51\u7edc\u4e22\u5305\u7387\uff1a\u6307\u5728\u6570\u636e\u4f20\u8f93\u8fc7\u7a0b\u4e2d\u4e22\u5931\u7684\u6570\u636e\u5305\u5360\u603b\u53d1\u9001\u6570\u636e\u5305\u6570\u91cf\u7684\u6bd4\u4f8b\u3002

                • \u7f51\u7edc\u9519\u8bef\u7387\uff1a\u6307\u5728\u7f51\u7edc\u4f20\u8f93\u8fc7\u7a0b\u4e2d\u53d1\u751f\u7684\u9519\u8bef\u7684\u6bd4\u7387\uff1b

                • \u78c1\u76d8\u541e\u5410\uff1a\u6307\u865a\u62df\u673a\u7cfb\u7edf\u5728\u4e00\u5b9a\u65f6\u95f4\u5185\u8bfb\u53d6\u548c\u5199\u5165\u78c1\u76d8\u7684\u901f\u5ea6\u548c\u80fd\u529b\u3002

                • IOPS\uff1a\u6307\u7684\u662f\u5728\u4e00\u79d2\u949f\u5185\u865a\u62df\u673a\u7cfb\u7edf\u8fdb\u884c\u7684\u8f93\u5165/\u8f93\u51fa\u64cd\u4f5c\u7684\u6b21\u6570\u3002\u78c1\u76d8\u5ef6\u8fdf\uff1a\u6307\u865a\u62df\u673a\u7cfb\u7edf\u5728\u8fdb\u884c\u78c1\u76d8\u8bfb\u5199\u64cd\u4f5c\u65f6\u6240\u7ecf\u5386\u7684\u65f6\u95f4\u5ef6\u8fdf\u3002

                "},{"location":"virtnest/vm/scheduled-snapshot.html","title":"\u5b9a\u65f6\u5feb\u7167","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u865a\u62df\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\u3002

                \u7528\u6237\u53ef\u4ee5\u4e3a\u865a\u62df\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\uff0c\u80fd\u591f\u4e3a\u6570\u636e\u63d0\u4f9b\u6301\u7eed\u7684\u4fdd\u62a4\uff0c\u786e\u4fdd\u5728\u53d1\u751f\u6570\u636e\u4e22\u5931\u3001\u635f\u574f\u6216\u5220\u9664\u7684\u60c5\u51b5\u4e0b\u53ef\u4ee5\u8fdb\u884c\u6709\u6548\u7684\u6570\u636e\u6062\u590d\u3002

                "},{"location":"virtnest/vm/scheduled-snapshot.html#_2","title":"\u5b9a\u65f6\u5feb\u7167\u6b65\u9aa4","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u5728\u5217\u8868\u9875\u9762\uff0c\u9009\u62e9\u76ee\u6807\u865a\u62df\u673a\u6240\u5728\u7684\u96c6\u7fa4\u3002 \u8fdb\u5165\u96c6\u7fa4\u540e\uff0c\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u9009\u62e9 YAML \u521b\u5efa \u5b9a\u65f6\u4efb\u52a1\uff0c\u53c2\u8003\u4ee5\u4e0b YAML \u793a\u4f8b\u53ef\u4e3a\u6307\u5b9a\u865a\u62df\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\u3002

                  \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                  apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  name: xxxxx-xxxxx-cronjob # \u5b9a\u65f6\u4efb\u52a1\u540d\u79f0, \u53ef\u81ea\u5b9a\u4e49\n  namespace: virtnest-system # \u8bf7\u52ff\u4fee\u6539\u6b64namespace\nspec:\n  schedule: \"5 * * * *\" # \u6309\u9700\u4fee\u6539\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u95f4\u9694\n  concurrencyPolicy: Allow\n  suspend: false\n  successfulJobsHistoryLimit: 10\n  failedJobsHistoryLimit: 3\n  startingDeadlineSeconds: 60\n  jobTemplate:\n    spec:\n      template:\n        metadata:\n          labels:\n            virtnest.io/vm: xxxx # \u4fee\u6539\u4e3a\u9700\u8981\u5feb\u7167\u7684\u865a\u62df\u673a\u540d\u79f0\n            virtnest.io/namespace: xxxx # \u4fee\u6539\u4e3a\u865a\u62df\u673a\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\n        spec:\n          serviceAccountName: kubevirt-operator\n          containers:\n            - name: snapshot-job\n              image: release.daocloud.io/virtnest/tools:v0.1.5 # \u79bb\u7ebf\u73af\u5883\u4e0b,\u4ed3\u5e93\u5730\u5740\u4fee\u6539\u4e3a\u5bf9\u5e94\u706b\u79cd\u96c6\u7fa4\u4ed3\u5e93\u5730\u5740\n              imagePullPolicy: IfNotPresent\n              env:\n                - name: NS\n                  valueFrom:\n                    fieldRef:\n                      fieldPath: metadata.labels['virtnest.io/namespace']\n                - name: VM\n                  valueFrom:\n                    fieldRef:\n                      fieldPath: metadata.labels['virtnest.io/vm']\n              command:\n                - /bin/sh\n                - -c\n                - |\n                  export SUFFIX=$(date +\"%Y%m%d-%H%M%S\")\n                  cat <<EOF | kubectl apply -f -\n                  apiVersion: snapshot.kubevirt.io/v1alpha1\n                  kind: VirtualMachineSnapshot\n                  metadata:\n                    name: $(VM)-snapshot-$SUFFIX\n                    namespace: $(NS)\n                  spec:\n                    source:\n                      apiGroup: kubevirt.io\n                      kind: VirtualMachine\n                      name: $(VM)\n                  EOF\n          restartPolicy: OnFailure\n
                2. \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u5e76\u6210\u529f\u8fd0\u884c\u540e\uff0c\u53ef\u70b9\u51fb \u865a\u62df\u673a \u5728\u5217\u8868\u9875\u9762\u9009\u62e9\u76ee\u6807\u865a\u62df\u673a\uff0c\u8fdb\u5165\u8be6\u60c5\u540e\u53ef\u67e5\u770b\u5feb\u7167\u5217\u8868\u3002

                "},{"location":"virtnest/vm/snapshot.html","title":"\u5feb\u7167\u7ba1\u7406","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u865a\u62df\u673a\u521b\u5efa\u5feb\u7167\uff0c\u5e76\u4ece\u5feb\u7167\u4e2d\u6062\u590d\u7684\u3002

                \u7528\u6237\u53ef\u4ee5\u4e3a\u865a\u62df\u673a\u521b\u5efa\u5feb\u7167\uff0c\u4fdd\u5b58\u865a\u62df\u673a\u5f53\u4e0b\u7684\u72b6\u6001\uff0c\u4e00\u4e2a\u5feb\u7167\u53ef\u4ee5\u652f\u6301\u591a\u6b21\u6062\u590d\uff0c\u6bcf\u6b21\u6062\u590d\u65f6\uff0c \u865a\u62df\u673a\u5c06\u88ab\u8fd8\u539f\u5230\u5feb\u7167\u521b\u5efa\u65f6\u7684\u72b6\u6001\u3002\u901a\u5e38\u53ef\u4ee5\u7528\u4e8e\u5907\u4efd\u3001\u6062\u590d\u3001\u56de\u6eda\u7b49\u573a\u666f\u3002

                "},{"location":"virtnest/vm/snapshot.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4f7f\u7528\u5feb\u7167\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u53ea\u6709\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u624d\u80fd\u4f7f\u7528\u5feb\u7167\u529f\u80fd\u3002
                • \u5b89\u88c5 Snapshot CRDs\u3001Snapshot Controller\u3001CSI Driver\u3002 \u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u53ef\u53c2\u8003 CSI Snapshotter\u3002
                • \u7b49\u5f85 snapshot-controller \u7ec4\u4ef6\u51c6\u5907\u5c31\u7eea, \u8be5\u7ec4\u4ef6\u4f1a\u76d1\u63a7 VolumeSnapshot \u548c VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                • \u7b49\u5f85 CSI Driver \u51c6\u5907\u5c31\u7eea, \u786e\u4fdd csi-snapshotter sidecar \u8dd1\u5728 CSI Driver \u91cc\uff0ccsi-snapshotter sidecar \u4f1a\u76d1\u63a7 VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002\u5982 POC \u4f7f\u7528\u7684\u5b58\u50a8\u662f rook-ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                  • \u5982\u5b58\u50a8\u662f Rook-Ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                  • \u5982\u5b58\u50a8\u662f HwameiStor\uff0c\u53ef\u53c2\u8003 huameistor-snapshot
                "},{"location":"virtnest/vm/snapshot.html#_3","title":"\u521b\u5efa\u5feb\u7167","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u6267\u884c\u5feb\u7167\u64cd\u4f5c\u3002

                2. \u5f39\u51fa\u5f39\u6846\uff0c\u9700\u8981\u586b\u5199\u5feb\u7167\u7684\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u521b\u5efa\u5feb\u7167\u5927\u6982\u9700\u8981\u51e0\u5206\u949f\u7684\u65f6\u95f4\uff0c\u5728\u6b64\u671f\u95f4\u65e0\u6cd5\u5bf9\u865a\u62df\u673a\u505a\u4efb\u4f55\u64cd\u4f5c\u3002

                3. \u521b\u5efa\u6210\u529f\u540e\u53ef\u4ee5\u5728\u865a\u62df\u673a\u8be6\u60c5\u5185\u67e5\u770b\u5feb\u7167\u4fe1\u606f\uff0c\u652f\u6301\u7f16\u8f91\u63cf\u8ff0\u3001\u4ece\u5feb\u7167\u4e2d\u6062\u590d\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                "},{"location":"virtnest/vm/snapshot.html#_4","title":"\u4ece\u5feb\u7167\u4e2d\u6062\u590d","text":"
                1. \u70b9\u51fb \u4ece\u5feb\u7167\u6062\u590d \uff0c\u9700\u8981\u586b\u5199\u865a\u62df\u673a\u6062\u590d\u8bb0\u5f55\u7684\u540d\u79f0\uff0c\u540c\u65f6\u6062\u590d\u64cd\u4f5c\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\u6765\u5b8c\u6210\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u5feb\u7167\u7684\u5927\u5c0f\u548c\u5176\u4ed6\u56e0\u7d20\u3002\u6062\u590d\u6210\u529f\u540e\uff0c\u865a\u62df\u673a\u5c06\u56de\u5230\u5feb\u7167\u521b\u5efa\u65f6\u7684\u72b6\u6001\u3002

                2. \u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u4e0b\u62c9\u5feb\u7167\u4fe1\u606f\uff0c\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u5feb\u7167\u7684\u6240\u6709\u6062\u590d\u8bb0\u5f55\uff0c\u5e76\u4e14\u652f\u6301\u5c55\u793a\u5b9a\u4f4d\u6062\u590d\u7684\u4f4d\u7f6e\u3002

                "},{"location":"virtnest/vm/vm-network.html","title":"\u865a\u62df\u673a\u7f51\u7edc","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\uff0c\u914d\u7f6e\u7f51\u7edc\u4fe1\u606f\u3002

                \u5728\u865a\u62df\u673a\u4e2d\uff0c\u7f51\u7edc\u7ba1\u7406\u662f\u4e00\u4e2a\u5173\u952e\u7684\u90e8\u5206\uff0c\u5b83\u4f7f\u5f97\u6211\u4eec\u80fd\u591f\u5728 Kubernetes \u73af\u5883\u4e2d\u7ba1\u7406\u548c\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u8fde\u63a5\uff0c\u53ef\u4ee5\u6839\u636e\u4e0d\u540c\u7684\u9700\u6c42\u548c\u573a\u666f\u6765\u8fdb\u884c\u914d\u7f6e\uff0c\u5b9e\u73b0\u66f4\u7075\u6d3b\u548c\u591a\u6837\u5316\u7684\u7f51\u7edc\u67b6\u6784\u3002

                1. \u5355\u7f51\u5361\u573a\u666f\uff1a\u5bf9\u4e8e\u4e00\u4e9b\u7b80\u5355\u7684\u53ea\u9700\u8981\u57fa\u672c\u7f51\u7edc\u8fde\u63a5\u7684\u5e94\u7528\uff0c\u6216\u8005\u5b58\u5728\u8d44\u6e90\u9650\u5236\u7684\u65f6\u5019\uff0c\u4f7f\u7528\u5355\u7f51\u5361\u53ef\u4ee5\u8282\u7ea6\u7f51\u7edc\u8d44\u6e90\uff0c\u5e76\u907f\u514d\u8d44\u6e90\u7684\u6d6a\u8d39\u3002
                2. \u591a\u7f51\u5361\u573a\u666f\uff1a\u5f53\u9700\u8981\u5b9e\u73b0\u4e0d\u540c\u7f51\u7edc\u73af\u5883\u4e4b\u95f4\u7684\u5b89\u5168\u9694\u79bb\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528\u591a\u7f51\u5361\u6765\u5212\u5206\u4e0d\u540c\u7684\u7f51\u7edc\u533a\u57df\u3002\u540c\u65f6\u4e5f\u53ef\u4ee5\u5bf9\u63a7\u5236\u548c\u6d41\u91cf\u8fdb\u884c\u7ba1\u7406\u3002
                "},{"location":"virtnest/vm/vm-network.html#_2","title":"\u7f51\u7edc\u914d\u7f6e\u524d\u63d0","text":"

                \u5728\u4f7f\u7528\u865a\u62df\u673a\u7f51\u7edc\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6839\u636e\u7f51\u7edc\u6a21\u5f0f\u7684\u4e0d\u540c\u914d\u7f6e\u4e0d\u540c\u7684\u4fe1\u606f\uff1a

                • \u9009\u62e9 Bridge \u7f51\u7edc\u6a21\u5f0f\u65f6\u9700\u8981\u63d0\u524d\u914d\u7f6e\u4e00\u4e9b\u4fe1\u606f\uff1a

                  • \u5728\u4e3b\u673a\u8282\u70b9\u4e0a\u5b89\u88c5\u5e76\u8fd0\u884c Open vSwitch, \u53ef\u53c2\u8003\u8fd9\u91cc
                  • \u5728\u4e3b\u673a\u8282\u70b9\u4e0a\u914d\u7f6e Open vSwitch \u7f51\u6865, \u53ef\u53c2\u8003\u8fd9\u91cc
                  • \u5b89\u88c5 Spiderpool\uff0c\u53ef\u53c2\u8003\u5b89\u88c5 Spiderpool, Spiderpool \u9ed8\u8ba4\u4f1a\u628a Multus CNI \u548c Ovs CNI \u90fd\u88c5\u4e0a
                  • \u521b\u5efa ovs \u7c7b\u578b\u7684 Multus CR\uff0c\u53ef\u53c2\u8003\u754c\u9762\u521b\u5efa Multus CR \u6216 YAML \u521b\u5efa Multus CR
                  • \u521b\u5efa\u5b50\u7f51\u53ca IP \u6c60\uff0c\u53c2\u8003\u521b\u5efa\u5b50\u7f51\u548c IP \u6c60
                "},{"location":"virtnest/vm/vm-network.html#_3","title":"\u7f51\u7edc\u914d\u7f6e","text":"
                1. \u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u914d\u7f6e\uff0c\u53ef\u4ee5\u6839\u636e\u8868\u683c\u4fe1\u606f\u6309\u9700\u7ec4\u5408\u3002

                  \u7f51\u7edc\u6a21\u5f0f CNI \u662f\u5426\u5b89\u88c5 Spiderpool \u7f51\u5361\u6a21\u5f0f \u56fa\u5b9a IP \u5b9e\u65f6\u8fc1\u79fb Masquerade\uff08NAT\uff09 Calico \u274c \u5355\u7f51\u5361 \u274c \u2705 Cilium \u274c \u5355\u7f51\u5361 \u274c \u2705 Flannel \u274c \u5355\u7f51\u5361 \u274c \u2705 Bridge\uff08\u6865\u63a5\uff09 OVS \u2705 \u591a\u7f51\u5361 \u2705 \u2705

                2. \u7f51\u7edc\u6a21\u5f0f\uff1a\u5206\u4e3a Masquerade\uff08NAT\uff09\u3001Bridge\uff08\u6865\u63a5\uff09\u4e24\u79cd\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u9700\u8981\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\u540e\u65b9\u53ef\u4f7f\u7528\u3002

                  1. \u9ed8\u8ba4\u9009\u62e9 Masquerade\uff08NAT\uff09\u7684\u7f51\u7edc\u6a21\u5f0f\uff0c\u4f7f\u7528 eth0 \u9ed8\u8ba4\u7f51\u5361\u3002

                  2. \u82e5\u96c6\u7fa4\u5185\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\uff0c\u5219\u652f\u6301\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\uff0c\u652f\u6301\u591a\u7f51\u5361\u5f62\u5f0f\u3002

                    • \u9009\u62e9 Bridge \u6a21\u5f0f\u65f6\uff0c\u9700\u8981\u6709\u4e00\u4e9b\u524d\u63d0\u6761\u4ef6
                3. \u6dfb\u52a0\u7f51\u5361

                  1. Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u4e0b\u652f\u6301\u624b\u52a8\u6dfb\u52a0\u7f51\u5361\u3002\u70b9\u51fb \u6dfb\u52a0\u7f51\u5361 \uff0c\u8fdb\u884c\u7f51\u5361 IP \u6c60\u7684\u914d\u7f6e\u3002\u9009\u62e9\u548c\u7f51\u7edc\u6a21\u5f0f\u5339\u914d\u7684 Multus CR\uff0c\u82e5\u6ca1\u6709\u5219\u9700\u8981\u81ea\u884c\u521b\u5efa\u3002

                  2. \u82e5\u6253\u5f00 \u4f7f\u7528\u9ed8\u8ba4 IP \u6c60 \u5f00\u5173\uff0c\u5219\u4f7f\u7528 multus CR \u914d\u7f6e\u4e2d\u7684\u9ed8\u8ba4 IP \u6c60\u3002\u82e5\u5173\u95ed\u5f00\u5173\uff0c\u5219\u624b\u52a8\u9009\u62e9 IP \u6c60\u3002

                "},{"location":"virtnest/vm/vm-sc.html","title":"\u865a\u62df\u673a\u5b58\u50a8","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\uff0c\u914d\u7f6e\u5b58\u50a8\u4fe1\u606f\u3002

                \u5b58\u50a8\u548c\u865a\u62df\u673a\u7684\u529f\u80fd\u606f\u606f\u76f8\u5173\uff0c\u4e3b\u8981\u662f\u901a\u8fc7\u4f7f\u7528 Kubernetes \u7684\u6301\u4e45\u5377\u548c\u5b58\u50a8\u7c7b\uff0c\u63d0\u4f9b\u4e86\u7075\u6d3b\u4e14\u53ef\u6269\u5c55\u7684\u865a\u62df\u673a\u5b58\u50a8\u80fd\u529b\u3002 \u6bd4\u5982\u865a\u62df\u673a\u955c\u50cf\u5b58\u50a8\u5728 PVC \u91cc\uff0c\u652f\u6301\u548c\u5176\u4ed6\u6570\u636e\u4e00\u8d77\u514b\u9686\u3001\u5feb\u7167\u7b49

                "},{"location":"virtnest/vm/vm-sc.html#_2","title":"\u90e8\u7f72\u4e0d\u540c\u7684\u5b58\u50a8","text":"

                \u5728\u4f7f\u7528\u865a\u62df\u673a\u5b58\u50a8\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6839\u636e\u9700\u8981\u90e8\u7f72\u4e0d\u540c\u7684\u5b58\u50a8\uff1a

                1. \u53c2\u8003\u90e8\u7f72 hwameistor\uff0c \u6216\u8005\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 hwameistor-operator\u3002
                2. \u53c2\u8003\u90e8\u7f72 rook-ceph
                3. \u90e8\u7f72 localpath\uff0c\u4f7f\u7528\u547d\u4ee4 kubectl apply -f \u521b\u5efa\u4ee5\u4e0b YAML\uff1a
                \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                ---\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: local-path-storage\n\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: local-path-provisioner-service-account\n  namespace: local-path-storage\n\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: local-path-provisioner-role\nrules:\n- apiGroups: [\"\"]\n  resources: [\"nodes\", \"persistentvolumeclaims\", \"configmaps\"]\n  verbs: [\"get\", \"list\", \"watch\"]\n- apiGroups: [\"\"]\n  resources: [\"endpoints\", \"persistentvolumes\", \"pods\"]\n  verbs: [\"*\"]\n- apiGroups: [\"\"]\n  resources: [\"events\"]\n  verbs: [\"create\", \"patch\"]\n- apiGroups: [\"storage.k8s.io\"]\n  resources: [\"storageclasses\"]\n  verbs: [\"get\", \"list\", \"watch\"]\n\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: local-path-provisioner-bind\nroleRef:\n  apiGroup: rbac.authorization.k8s.io\n  kind: ClusterRole\n  name: local-path-provisioner-role\nsubjects:\n- kind: ServiceAccount\n  name: local-path-provisioner-service-account\n  namespace: local-path-storage\n\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: local-path-provisioner\n  namespace: local-path-storage\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: local-path-provisioner\n  template:\n    metadata:\n      labels:\n        app: local-path-provisioner\n    spec:\n      serviceAccountName: local-path-provisioner-service-account\n      containers:\n      - name: local-path-provisioner\n        image: rancher/local-path-provisioner:v0.0.22\n        imagePullPolicy: IfNotPresent\n        command:\n        - local-path-provisioner\n        - --debug\n        - start\n        - --config\n        - /etc/config/config.json\n        volumeMounts:\n        - name: config-volume\n          mountPath: /etc/config/\n        env:\n        - name: POD_NAMESPACE\n          valueFrom:\n            fieldRef:\n              fieldPath: metadata.namespace\n      volumes:\n      - name: config-volume\n        configMap:\n          name: local-path-config\n\n---\napiVersion: storage.k8s.io/v1\nkind: StorageClass\nmetadata:\n  name: local-path\nprovisioner: rancher.io/local-path\nvolumeBindingMode: WaitForFirstConsumer\nreclaimPolicy: Delete\n\n---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: local-path-config\n  namespace: local-path-storage\ndata:\n  config.json: |-\n    {\n      \"nodePathMap\": [\n        {\n          \"node\": \"DEFAULT_PATH_FOR_NON_LISTED_NODES\",\n          \"paths\": [\"/opt/local-path-provisioner\"]\n        }\n      ]\n    }\n  setup: |-\n    #!/bin/sh\n    set -eu\n    mkdir -m 0777 -p \"$VOL_DIR\"\n  teardown: |-\n    #!/bin/sh\n    set -eu\n    rm -rf \"$VOL_DIR\"\n  helperPod.yaml: |-\n    apiVersion: v1\n    kind: Pod\n    metadata:\n      name: helper-pod\n    spec:\n      containers:\n      - name: helper-pod\n        image: busybox\n        imagePullPolicy: IfNotPresent\n
                "},{"location":"virtnest/vm/vm-sc.html#_3","title":"\u865a\u62df\u673a\u5b58\u50a8","text":"
                1. \u7cfb\u7edf\u76d8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002

                2. \u6570\u636e\u76d8\uff1a\u6570\u636e\u76d8\u662f\u865a\u62df\u673a\u4e2d\u7528\u4e8e\u5b58\u50a8\u7528\u6237\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u6570\u636e\u6216\u5176\u4ed6\u975e\u64cd\u4f5c\u7cfb\u7edf\u76f8\u5173\u6587\u4ef6\u7684\u5b58\u50a8\u8bbe\u5907\u3002\u4e0e\u7cfb\u7edf\u76d8\u76f8\u6bd4\uff0c\u6570\u636e\u76d8\u662f\u975e\u5fc5\u9009\u7684\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u52a8\u6001\u6dfb\u52a0\u6216\u79fb\u9664\u3002\u6570\u636e\u76d8\u7684\u5bb9\u91cf\u4e5f\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u8fdb\u884c\u7075\u6d3b\u914d\u7f6e\u3002

                  \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u5df2\u7ecf\u521b\u5efa\u4e86\u5bf9\u5e94\u7684 VolumeSnapshotClass\uff0c \u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u793a\u4f8b\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u652f\u6301\u5e76\u9009\u62e9\u4e86 ReadWriteMany \u7684\u8bbf\u95ee\u6a21\u5f0f \u3002

                  \u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5b58\u50a8\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u81ea\u52a8\u521b\u5efa\u8fd9\u6837\u7684 VolumeSnapshotClass\uff0c\u56e0\u6b64\u60a8\u9700\u8981\u624b\u52a8\u521b\u5efa VolumeSnapshotClass\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a HwameiStor \u521b\u5efa VolumeSnapshotClass \u7684\u793a\u4f8b\uff1a

                  kind: VolumeSnapshotClass\napiVersion: snapshot.storage.k8s.io/v1\nmetadata:\n  name: hwameistor-storage-lvm-snapshot\n  annotations:\n    snapshot.storage.kubernetes.io/is-default-class: \"true\"\nparameters:\n  snapsize: \"1073741824\"\ndriver: lvm.hwameistor.io\ndeletionPolicy: Delete\n
                  • \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5 VolumeSnapshotClass \u662f\u5426\u521b\u5efa\u6210\u529f\u3002

                    kubectl get VolumeSnapshotClass\n
                  • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass\uff0c\u5e76\u4e14\u786e\u8ba4 Provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002

                "},{"location":"virtnest/vm-image/index.html","title":"\u6784\u5efa\u865a\u62df\u673a\u955c\u50cf","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u9700\u8981\u7684\u865a\u62df\u673a\u955c\u50cf\u3002

                \u865a\u62df\u673a\u955c\u50cf\u5176\u5b9e\u5c31\u662f\u526f\u672c\u6587\u4ef6\uff0c\u662f\u5b89\u88c5\u6709\u64cd\u4f5c\u7cfb\u7edf\u7684\u4e00\u4e2a\u78c1\u76d8\u5206\u533a\u3002\u5e38\u89c1\u7684\u955c\u50cf\u6587\u4ef6\u683c\u5f0f\u5305\u62ec raw\u3001qcow2\u3001vmdk\u7b49\u3002

                "},{"location":"virtnest/vm-image/index.html#_2","title":"\u6784\u5efa\u955c\u50cf","text":"

                \u4e0b\u9762\u662f\u6784\u5efa\u865a\u62df\u673a\u955c\u50cf\u7684\u4e00\u4e9b\u8be6\u7ec6\u6b65\u9aa4\uff1a

                1. \u4e0b\u8f7d\u7cfb\u7edf\u955c\u50cf

                  \u5728\u6784\u5efa\u865a\u62df\u673a\u955c\u50cf\u4e4b\u524d\uff0c\u60a8\u9700\u8981\u4e0b\u8f7d\u6240\u9700\u7684\u7cfb\u7edf\u955c\u50cf\u3002\u6211\u4eec\u63a8\u8350\u4f7f\u7528 qcow2\u3001raw \u6216 vmdk \u683c\u5f0f\u7684\u955c\u50cf\u3002\u53ef\u4ee5\u8bbf\u95ee\u4ee5\u4e0b\u94fe\u63a5\u83b7\u53d6 CentOS \u548c Fedora \u7684\u955c\u50cf\uff1a

                  • CentOS Cloud Images\uff1a\u652f\u6301\u4ece\u5b98\u65b9 CentOS \u9879\u76ee\u6216\u5176\u4ed6\u8d44\u6e90\u4e2d\u83b7\u53d6 CentOS \u955c\u50cf\u3002\u8bf7\u786e\u4fdd\u9009\u62e9\u4e0e\u60a8\u7684\u865a\u62df\u5316\u5e73\u53f0\u517c\u5bb9\u7684\u7248\u672c\u3002
                  • Fedora Cloud Images\uff1a \u652f\u6301\u4ece\u5b98\u65b9 Fedora \u9879\u76ee\u83b7\u53d6\u955c\u50cf\u3002\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u7248\u672c\u3002
                2. \u6784\u5efa Docker \u955c\u50cf\u5e76\u63a8\u9001\u5230\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93

                  \u5728\u6b64\u6b65\u9aa4\u4e2d\uff0c\u6211\u4eec\u5c06\u4f7f\u7528 Docker \u6784\u5efa\u4e00\u4e2a\u955c\u50cf\uff0c\u5e76\u5c06\u5176\u63a8\u9001\u5230\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u80fd\u591f\u65b9\u4fbf\u5730\u90e8\u7f72\u548c\u4f7f\u7528\u3002

                  • \u521b\u5efa Dockerfile \u6587\u4ef6

                    FROM scratch\nADD --chown=107:107 CentOS-7-x86_64-GenericCloud.qcow2 /disk/\n

                    \u5411\u57fa\u4e8e\u7a7a\u767d\u955c\u50cf\u6784\u5efa\u7684\u955c\u50cf\u4e2d\u6dfb\u52a0\u540d\u4e3a CentOS-7-x86_64-GenericCloud.qcow2 \u7684\u6587\u4ef6\uff0c\u5e76\u5c06\u5176\u653e\u7f6e\u5728\u955c\u50cf\u4e2d\u7684 /disk/ \u76ee\u5f55\u4e0b\u3002\u901a\u8fc7\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u955c\u50cf\u5c31\u5305\u542b\u4e86\u8fd9\u4e2a\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\u4f7f\u7528\u5b83\u6765\u63d0\u4f9b CentOS 7 x86_64 \u7684\u64cd\u4f5c\u7cfb\u7edf\u73af\u5883\u3002

                  • \u6784\u5efa\u955c\u50cf

                    docker build -t release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1 .\n

                    \u4e0a\u8ff0\u547d\u4ee4\u5c06\u4f7f\u7528 Dockerfile \u4e2d\u7684\u6307\u4ee4\u6784\u5efa\u4e00\u4e2a\u540d\u4e3a release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1 \u7684\u955c\u50cf\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u9879\u76ee\u9700\u6c42\u4fee\u6539\u955c\u50cf\u540d\u79f0\u3002

                  • \u63a8\u9001\u955c\u50cf\u81f3\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93

                    \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u6784\u5efa\u597d\u7684\u955c\u50cf\u63a8\u9001\u5230\u540d\u4e3a release-ci.daocloud.io \u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u60a8\u8fd8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u4fee\u6539\u955c\u50cf\u4ed3\u5e93\u7684\u540d\u79f0\u548c\u5730\u5740\u3002

                    docker push release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1\n

                \u4ee5\u4e0a\u662f\u6784\u5efa\u865a\u62df\u673a\u955c\u50cf\u7684\u8be6\u7ec6\u6b65\u9aa4\u548c\u8bf4\u660e\u3002\u901a\u8fc7\u6309\u7167\u8fd9\u4e9b\u6b65\u9aa4\u64cd\u4f5c\uff0c\u60a8\u5c06\u80fd\u591f\u6210\u529f\u6784\u5efa\u5e76\u63a8\u9001\u7528\u4e8e\u865a\u62df\u673a\u7684\u955c\u50cf\uff0c\u4ee5\u6ee1\u8db3\u60a8\u7684\u4f7f\u7528\u9700\u6c42\u3002

                "}]} \ No newline at end of file +{"config":{"lang":["zh","en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"index.html","title":"\u7528\u6237\u6ce8\u518c","text":"

                \u65b0\u7528\u6237\u9996\u6b21\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u9700\u8981\u8fdb\u884c\u6ce8\u518c\u3002

                "},{"location":"index.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                1. AI \u7b97\u529b\u5e73\u53f0\u5df2\u5b89\u88c5
                2. \u5df2\u5f00\u542f\u90ae\u7bb1\u6ce8\u518c\u529f\u80fd
                3. \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u90ae\u7bb1\u5730\u5740
                "},{"location":"index.html#_3","title":"\u90ae\u7bb1\u6ce8\u518c\u6b65\u9aa4","text":"
                1. \u6253\u5f00 AI \u7b97\u529b\u5e73\u53f0\u9996\u9875 https://ai.isuanova.com/\uff0c\u70b9\u51fb \u6ce8\u518c

                2. \u952e\u5165\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u90ae\u7bb1\u540e\u70b9\u51fb \u6ce8\u518c

                3. \u7cfb\u7edf\u63d0\u793a\u53d1\u9001\u4e86\u4e00\u5c01\u90ae\u4ef6\u5230\u60a8\u7684\u90ae\u7bb1\u3002

                4. \u767b\u5f55\u81ea\u5df1\u7684\u90ae\u7bb1\uff0c\u627e\u5230\u90ae\u4ef6\uff0c\u70b9\u51fb\u94fe\u63a5\u3002

                5. \u606d\u559c\uff0c\u60a8\u6210\u529f\u8fdb\u5165\u4e86 AI \u7b97\u529b\u5e73\u53f0\uff0c\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u60a8\u7684 AI \u4e4b\u65c5\u4e86\u3002

                "},{"location":"baize/developer/index.html","title":"\u5f00\u53d1\u63a7\u5236\u53f0","text":"

                \u5f00\u53d1\u63a7\u5236\u53f0\u662f\u5f00\u53d1\u8005\u65e5\u5e38\u6267\u884c AI \u63a8\u7406\u3001\u5927\u6a21\u578b\u8bad\u7ec3\u7b49\u4efb\u52a1\u7684\u63a7\u5236\u53f0\u3002

                \u65b9\u4fbf\u7528\u6237\u901a\u8fc7\u6982\u89c8\u5feb\u901f\u4e86\u89e3\uff0c\u5f53\u524d\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u53ca\u7528\u91cf\u60c5\u51b5\uff0c\u5305\u542b\u4e86GPU\u8d44\u6e90\u3001Notebook\u3001\u4efb\u52a1\u4ee5\u53ca\u6570\u636e\u96c6\u7684\u6570\u91cf\u4fe1\u606f\u3002

                "},{"location":"baize/developer/quick-start.html","title":"\u5feb\u901f\u5165\u95e8","text":"

                \u672c\u6587\u63d0\u4f9b\u4e86\u7b80\u5355\u7684\u64cd\u4f5c\u624b\u518c\u4ee5\u4fbf\u7528\u6237\u4f7f\u7528 DCE 5.0 AI Lab \u8fdb\u884c\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u3002

                "},{"location":"baize/developer/quick-start.html#_2","title":"\u51c6\u5907\u6570\u636e\u96c6","text":"

                \u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6 \uff0c\u9009\u62e9 \u521b\u5efa \u6309\u94ae\uff0c\u5206\u522b\u521b\u5efa\u4ee5\u4e0b\u4e09\u4e2a\u6570\u636e\u96c6\u3002

                "},{"location":"baize/developer/quick-start.html#_3","title":"\u6570\u636e\u96c6\uff1a\u8bad\u7ec3\u4ee3\u7801","text":"
                • \u4ee3\u7801\u6570\u636e\u6e90\uff1ahttps://github.com/samzong/training-sample-code.git\uff0c\u4e3b\u8981\u662f\u4e00\u4e2a\u7b80\u5355\u7684 Tensorflow \u4ee3\u7801\u3002
                • \u5982\u679c\u662f\u4e2d\u56fd\u5883\u5185\u7684\u7528\u6237\uff0c\u53ef\u4ee5\u4f7f\u7528 Gitee \u52a0\u901f\uff1ahttps://gitee.com/samzong_lu/training-sample-code.git
                • \u4ee3\u7801\u8def\u5f84\u4e3a tensorflow/tf-fashion-mnist-sample

                Note

                \u76ee\u524d\u4ec5\u652f\u6301\u8bfb\u5199\u6a21\u5f0f\u4e3a ReadWriteMany \u7684 StorageClass\uff0c\u8bf7\u4f7f\u7528 NFS \u6216\u8005\u63a8\u8350\u7684 JuiceFS\u3002

                "},{"location":"baize/developer/quick-start.html#_4","title":"\u6570\u636e\u96c6\uff1a\u8bad\u7ec3\u6570\u636e","text":"

                \u672c\u6b21\u8bad\u7ec3\u4f7f\u7528\u7684\u6570\u636e\u4e3a https://github.com/zalandoresearch/fashion-mnist.git\uff0c \u8fd9\u662f Fashion-MNIST \u6570\u636e\u96c6\u3002

                \u5982\u679c\u662f\u4e2d\u56fd\u5883\u5185\u7684\u7528\u6237\uff0c\u53ef\u4ee5\u4f7f\u7528 Gitee \u52a0\u901f\uff1ahttps://gitee.com/samzong_lu/fashion-mnist.git

                Note

                \u5982\u679c\u672a\u521b\u5efa\u8bad\u7ec3\u6570\u636e\u7684\u6570\u636e\u96c6\uff0c\u901a\u8fc7\u8bad\u7ec3\u811a\u672c\u4e5f\u4f1a\u81ea\u52a8\u4e0b\u8f7d\uff1b\u63d0\u524d\u51c6\u5907\u8bad\u7ec3\u6570\u636e\u53ef\u4ee5\u63d0\u9ad8\u8bad\u7ec3\u901f\u5ea6\u3002

                "},{"location":"baize/developer/quick-start.html#_5","title":"\u6570\u636e\u96c6\uff1a\u7a7a\u6570\u636e\u96c6","text":"

                AI Lab \u652f\u6301\u5c06 PVC \u4f5c\u4e3a\u6570\u636e\u96c6\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u6240\u4ee5\u521b\u5efa\u4e00\u4e2a\u7a7a PVC \u7ed1\u5b9a\u5230\u6570\u636e\u96c6\u540e\uff0c\u53ef\u5c06\u7a7a\u6570\u636e\u96c6\u4f5c\u4e3a\u5b58\u653e\u540e\u7eed\u8bad\u7ec3\u4efb\u52a1\u7684\u8f93\u51fa\u6570\u636e\u96c6\uff0c\u5b58\u653e\u6a21\u578b\u548c\u65e5\u5fd7\u3002

                "},{"location":"baize/developer/quick-start.html#tensorflow","title":"\u73af\u5883\u4f9d\u8d56: tensorflow","text":"

                \u811a\u672c\u5728\u8fd0\u884c\u65f6\uff0c\u9700\u8981\u4f9d\u8d56 Tensorflow \u7684 Python \u5e93\uff0c\u53ef\u4ee5\u4f7f\u7528 AI Lab \u7684\u73af\u5883\u4f9d\u8d56\u7ba1\u7406\u529f\u80fd\uff0c\u63d0\u524d\u5c06\u9700\u8981\u7684 Python \u5e93\u4e0b\u8f7d\u548c\u51c6\u5907\u5b8c\u6210\uff0c\u65e0\u9700\u4f9d\u8d56\u955c\u50cf\u6784\u5efa

                \u53c2\u8003 \u73af\u5883\u4f9d\u8d56 \u7684\u64cd\u4f5c\u65b9\u5f0f\uff0c\u6dfb\u52a0\u4e00\u4e2a CONDA \u73af\u5883.

                name: tensorflow\nchannels:\n  - defaults\n  - conda-forge\ndependencies:\n  - python=3.12\n  - tensorflow\nprefix: /opt/conda/envs/tensorflow\n

                Note

                \u7b49\u5f85\u73af\u5883\u9884\u70ed\u6210\u529f\u540e\uff0c\u53ea\u9700\u8981\u5c06\u6b64\u73af\u5883\u6302\u8f7d\u5230 Notebook\u3001\u8bad\u7ec3\u4efb\u52a1\u4e2d\uff0c\u4f7f\u7528 AI Lab \u63d0\u4f9b\u7684\u57fa\u7840\u955c\u50cf\u5c31\u53ef\u4ee5

                "},{"location":"baize/developer/quick-start.html#notebook","title":"\u4f7f\u7528 Notebook \u8c03\u8bd5\u811a\u672c","text":"

                \u51c6\u5907\u5f00\u53d1\u73af\u5883\uff0c\u70b9\u51fb\u5bfc\u822a\u680f\u7684 Notebooks \uff0c\u70b9\u51fb \u521b\u5efa \u3002

                • \u5c06\u51c6\u5907\u597d\u7684\u4e09\u4e2a\u6570\u636e\u96c6\u8fdb\u884c\u5173\u8054\uff0c\u6302\u8f7d\u8def\u5f84\u8bf7\u53c2\u7167\u4e0b\u56fe\u586b\u5199\uff0c\u6ce8\u610f\u5c06\u9700\u8981\u4f7f\u7528\u7684\u7a7a\u6570\u636e\u96c6\u5728 \u8f93\u51fa\u6570\u636e\u96c6\u4f4d\u7f6e\u914d\u7f6e

                • \u9009\u62e9\u5e76\u7ed1\u5b9a\u73af\u5883\u4f9d\u8d56\u5305

                  \u7b49\u5f85 Notebook \u521b\u5efa\u6210\u529f\uff0c\u70b9\u51fb\u5217\u8868\u4e2d\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u8fdb\u5165 Notebook\u3002\u5e76\u5728 Notebook \u7684\u7ec8\u7aef\u4e2d\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u4efb\u52a1\u8bad\u7ec3\u3002

                  Note

                  \u811a\u672c\u4f7f\u7528 Tensorflow\uff0c\u5982\u679c\u5fd8\u8bb0\u5173\u8054\u4f9d\u8d56\u5e93\uff0c\u4e5f\u53ef\u4ee5\u4e34\u65f6\u7528 pip install tensorflow \u5b89\u88c5\u3002

                  python /home/jovyan/code/tensorflow/tf-fashion-mnist-sample/train.py\n
                "},{"location":"baize/developer/quick-start.html#_6","title":"\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1","text":"
                1. \u70b9\u51fb\u5bfc\u822a\u680f\u7684 \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u521b\u5efa\u4e00\u4e2a Tensorflow \u5355\u673a\u4efb\u52a1
                2. \u5148\u586b\u5199\u57fa\u672c\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65
                3. \u5728\u4efb\u52a1\u8d44\u6e90\u914d\u7f6e\u4e2d\uff0c\u6b63\u786e\u914d\u7f6e\u4efb\u52a1\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65

                  • \u955c\u50cf\uff1a\u5982\u679c\u524d\u5e8f\u73af\u5883\u4f9d\u8d56\u5305\u51c6\u5907\u597d\u4e86\uff0c\u4f7f\u7528\u9ed8\u8ba4\u955c\u50cf\u5373\u53ef\uff1b \u5982\u679c\u672a\u51c6\u5907\uff0c\u8981\u786e\u8ba4\u955c\u50cf\u5185\u6709 tensorflow \u7684 Python \u5e93
                  • shell\uff1a\u4f7f\u7528 bash \u5373\u53ef
                  • \u542f\u7528\u547d\u4ee4\uff1a

                    /home/jovyan/code/tensorflow/tf-fashion-mnist-sample/train.py\n
                4. \u5728\u9ad8\u7ea7\u914d\u7f6e\u4e2d\uff0c\u542f\u7528 \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09 \uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  Note

                  \u65e5\u5fd7\u6240\u5728\u4f4d\u7f6e\u4e3a\u8f93\u51fa\u6570\u636e\u96c6\u7684 /home/jovyan/model/train/logs/

                5. \u8fd4\u56de\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\uff0c\u7b49\u5230\u72b6\u6001\u53d8\u4e3a \u6210\u529f \u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u8be6\u60c5\u3001\u514b\u9686\u4efb\u52a1\u3001\u66f4\u65b0\u4f18\u5148\u7ea7\u3001\u67e5\u770b\u65e5\u5fd7\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                6. \u6210\u529f\u521b\u5efa\u4efb\u52a1\u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u4efb\u52a1\u5206\u6790 \uff0c\u53ef\u4ee5\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u5e76\u5bf9\u4efb\u52a1\u8bad\u7ec3\u8fdb\u884c\u8c03\u4f18\u3002

                "},{"location":"baize/developer/dataset/create-use-delete.html","title":"\u6570\u636e\u96c6\u5217\u8868","text":"

                AI Lab \u63d0\u4f9b\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4ee5\u53ca\u63a8\u7406\u8fc7\u7a0b\u6240\u6709\u9700\u8981\u7684\u6570\u636e\u96c6\u7ba1\u7406\u529f\u80fd\u3002\u76ee\u524d\u652f\u6301\u5c06\u591a\u79cd\u6570\u636e\u6e90\u7edf\u4e00\u63a5\u5165\u80fd\u529b\u3002

                \u901a\u8fc7\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5c06\u6570\u636e\u6e90\u63a5\u5165\u5230 AI Lab \u4e2d\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u7edf\u4e00\u7eb3\u7ba1\u3001\u9884\u70ed\u3001\u6570\u636e\u96c6\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                "},{"location":"baize/developer/dataset/create-use-delete.html#_2","title":"\u521b\u5efa\u6570\u636e\u96c6","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                2. \u9009\u62e9\u6570\u636e\u96c6\u5f52\u5c5e\u7684\u5de5\u4f5c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4 \u4e0b\u4e00\u6b65 \u3002

                3. \u914d\u7f6e\u76ee\u6807\u6570\u636e\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                  \u76ee\u524d\u652f\u6301\u8fd9\u51e0\u79cd\u6570\u636e\u6e90\uff1a

                  • GIT\uff1a\u652f\u6301 GitHub\u3001GitLab\u3001Gitee \u7b49\u4ed3\u5e93
                  • S3\uff1a\u652f\u6301 Amazon \u4e91\u7b49\u5bf9\u8c61\u5b58\u50a8
                  • HTTP\uff1a\u76f4\u63a5\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684 HTTP \u7f51\u5740
                  • PVC\uff1a\u652f\u6301\u9884\u5148\u521b\u5efa\u7684 Kubernetes PersistentVolumeClaim
                  • NFS\uff1a\u652f\u6301 NFS \u5171\u4eab\u5b58\u50a8
                4. \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u5c06\u8fd4\u56de\u6570\u636e\u96c6\u5217\u8868\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

                Info

                \u7cfb\u7edf\u81ea\u52a8\u4f1a\u5728\u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u7acb\u5373\u8fdb\u884c\u4e00\u6b21\u6027\u7684\u6570\u636e\u9884\u52a0\u8f7d\uff1b\u5728\u9884\u52a0\u8f7d\u5b8c\u6210\u4e4b\u524d\uff0c\u6570\u636e\u96c6\u4e0d\u53ef\u4ee5\u4f7f\u7528\u3002

                "},{"location":"baize/developer/dataset/create-use-delete.html#_3","title":"\u6570\u636e\u96c6\u4f7f\u7528","text":"

                \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u5728\u6a21\u578b\u8bad\u7ec3\u3001\u63a8\u7406\u7b49\u4efb\u52a1\u4e2d\u4f7f\u7528\u3002

                "},{"location":"baize/developer/dataset/create-use-delete.html#notebook","title":"\u5728 Notebook \u4e2d\u4f7f\u7528","text":"

                \u5728\u521b\u5efa Notebook \u4e2d\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u6570\u636e\u96c6\uff1b\u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\uff1a

                • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u8bad\u7ec3\u6570\u636e\u6302\u8f7d
                • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u4ee3\u7801\u6302\u8f7d

                "},{"location":"baize/developer/dataset/create-use-delete.html#_4","title":"\u5728 \u8bad\u7ec3\u4efb\u52a1 \u4e2d\u4f7f\u7528","text":"
                • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u51fa
                • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u5165
                • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a TensorBoard \u8f93\u51fa
                "},{"location":"baize/developer/dataset/create-use-delete.html#_5","title":"\u5728\u63a8\u7406\u670d\u52a1 \u4e2d\u4f7f\u7528","text":"
                • \u4f7f\u7528\u6570\u636e\u96c6\u6302\u8f7d\u6a21\u578b
                "},{"location":"baize/developer/dataset/create-use-delete.html#_6","title":"\u5220\u9664\u6570\u636e\u96c6","text":"

                \u5982\u679c\u53d1\u73b0\u6570\u636e\u96c6\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u6570\u636e\u96c6\u5217\u8868\u4e2d\u5220\u9664\u3002

                1. \u5728\u6570\u636e\u96c6\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u6570\u636e\u96c6\uff0c\u8f93\u5165\u6570\u636e\u96c6\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u6570\u636e\u96c6\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                Caution

                \u6570\u636e\u96c6\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                "},{"location":"baize/developer/dataset/environments.html","title":"\u7ba1\u7406\u73af\u5883","text":"

                \u672c\u6587\u8bf4\u660e\u5982\u4f55\u5728 DCE AI Lab \u4e2d\u7ba1\u7406\u4f60\u7684\u73af\u5883\u4f9d\u8d56\u5e93\uff0c\u4ee5\u4e0b\u662f\u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

                1. \u73af\u5883\u7ba1\u7406\u6982\u8ff0
                2. \u521b\u5efa\u65b0\u73af\u5883
                3. \u914d\u7f6e\u73af\u5883
                4. \u6545\u969c\u6392\u9664
                "},{"location":"baize/developer/dataset/environments.html#_2","title":"\u73af\u5883\u7ba1\u7406\u6982\u8ff0","text":"

                \u4f20\u7edf\u65b9\u5f0f\uff0c\u4e00\u822c\u4f1a\u5c06 Python \u73af\u5883\u4f9d\u8d56\u5728\u955c\u50cf\u4e2d\u6784\u5efa\uff0c\u955c\u50cf\u5e26\u6709 Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7684\u955c\u50cf\uff0c\u7ef4\u62a4\u6210\u672c\u8f83\u9ad8\u4e14\u66f4\u65b0\u4e0d\u65b9\u4fbf\uff0c\u5f80\u5f80\u9700\u8981\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

                \u800c\u5728 DCE 5.0 AI Lab \u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 \u73af\u5883\u7ba1\u7406 \u6a21\u5757\u6765\u7ba1\u7406\u7eaf\u7cb9\u7684\u73af\u5883\u4f9d\u8d56\uff0c\u5c06\u8fd9\u90e8\u5206\u4ece\u955c\u50cf\u4e2d\u89e3\u8026\uff0c\u5e26\u6765\u7684\u4f18\u52bf\u6709\uff1a

                • \u4e00\u4efd\u73af\u5883\u591a\u5904\u4f7f\u7528\uff0c\u540c\u65f6\u53ef\u4ee5\u5728 Notebook\u3001\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3001\u4e43\u81f3\u63a8\u7406\u670d\u52a1\u4e2d\u4f7f\u7528\u3002
                • \u66f4\u65b0\u4f9d\u8d56\u5305\u66f4\u52a0\u65b9\u4fbf\uff0c\u53ea\u9700\u8981\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5373\u53ef\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

                \u4ee5\u4e0b\u4e3a\u73af\u5883\u7ba1\u7406\u7684\u4e3b\u8981\u7ec4\u6210\u90e8\u5206\uff1a

                • \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u3002
                • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4\u4ee5\u9650\u5b9a\u64cd\u4f5c\u8303\u56f4\u3002
                • \u73af\u5883\u5217\u8868 \uff1a\u5c55\u793a\u5f53\u524d\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u73af\u5883\u53ca\u5176\u72b6\u6001\u3002

                \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u73af\u5883\u7684\u540d\u79f0 my-environment \u72b6\u6001 \u73af\u5883\u5f53\u524d\u7684\u72b6\u6001\uff08\u6b63\u5e38\u6216\u5931\u8d25\uff09\uff0c\u65b0\u521b\u5efa\u73af\u5883\u6709\u4e00\u4e2a\u9884\u70ed\u8fc7\u7a0b\uff0c\u9884\u70ed\u6210\u529f\u540e\u5373\u53ef\u5728\u5176\u4ed6\u4efb\u52a1\u4e2d\u4f7f\u7528 \u6b63\u5e38 \u521b\u5efa\u65f6\u95f4 \u73af\u5883\u521b\u5efa\u7684\u65f6\u95f4 2023-10-01 10:00:00"},{"location":"baize/developer/dataset/environments.html#_3","title":"\u521b\u5efa\u65b0\u73af\u5883","text":"

                \u5728 \u73af\u5883\u7ba1\u7406 \u754c\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u73af\u5883\u7684\u6d41\u7a0b\u3002

                \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u8f93\u5165\u73af\u5883\u7684\u540d\u79f0\uff0c\u957f\u5ea6\u4e3a 2-63 \u4e2a\u5b57\u7b26\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\u3002 my-environment \u90e8\u7f72\u4f4d\u7f6e \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u90e8\u7f72\u7684\u96c6\u7fa4 gpu-cluster \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4 default \u5907\u6ce8 \u586b\u5199\u5907\u6ce8\u4fe1\u606f\u3002 \u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u73af\u5883 \u6807\u7b7e \u4e3a\u73af\u5883\u6dfb\u52a0\u6807\u7b7e\u3002 env:test \u6ce8\u89e3 \u4e3a\u73af\u5883\u6dfb\u52a0\u6ce8\u89e3\u3002\u586b\u5199\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u73af\u5883\u914d\u7f6e\u3002 \u6ce8\u89e3\u793a\u4f8b"},{"location":"baize/developer/dataset/environments.html#_4","title":"\u914d\u7f6e\u73af\u5883","text":"

                \u5728\u73af\u5883\u914d\u7f6e\u6b65\u9aa4\u4e2d\uff0c\u7528\u6237\u9700\u8981\u914d\u7f6e Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7ba1\u7406\u5de5\u5177\u3002

                \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c Python \u7248\u672c \u9009\u62e9\u6240\u9700\u7684 Python \u7248\u672c 3.12.3 \u5305\u7ba1\u7406\u5668 \u9009\u62e9\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u53ef\u9009 PIP \u6216 CONDA PIP Environment Data \u5982\u679c\u9009\u62e9 PIP\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 requirements.txt \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 numpy==1.21.0 \u5982\u679c\u9009\u62e9 CONDA\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 environment.yaml \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 \u5176\u4ed6\u9009\u9879 pip \u989d\u5916\u7d22\u5f15\u5730\u5740 \uff1a\u914d\u7f6e pip \u989d\u5916\u7684\u7d22\u5f15\u5730\u5740\uff1b\u9002\u7528\u4e8e\u4f01\u4e1a\u5185\u90e8\u6709\u81ea\u5df1\u7684\u79c1\u6709\u4ed3\u5e93\u6216\u8005 PIP \u52a0\u901f\u7ad9\u70b9\u3002 https://pypi.example.com GPU \u914d\u7f6e \uff1a\u542f\u7528\u6216\u7981\u7528 GPU \u914d\u7f6e\uff1b\u90e8\u5206\u6d89\u53ca\u5230 GPU \u7684\u4f9d\u8d56\u5305\u9700\u8981\u5728\u9884\u52a0\u8f7d\u65f6\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u542f\u7528 \u5173\u8054\u5b58\u50a8 \uff1a\u9009\u62e9\u5173\u8054\u7684\u5b58\u50a8\u914d\u7f6e\uff1b\u73af\u5883\u4f9d\u8d56\u5305\u4f1a\u5b58\u50a8\u5728\u5173\u8054\u5b58\u50a8\u4e2d\u3002\u6ce8\u610f\uff1a\u9700\u8981\u4f7f\u7528\u652f\u6301 ReadWriteMany \u7684\u5b58\u50a8\u3002 my-storage-config

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u521b\u5efa \u6309\u94ae\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa\u5e76\u914d\u7f6e\u65b0\u7684 Python \u73af\u5883\u3002

                "},{"location":"baize/developer/dataset/environments.html#_5","title":"\u6545\u969c\u6392\u9664","text":"
                • \u5982\u679c\u73af\u5883\u521b\u5efa\u5931\u8d25\uff1a

                  • \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u662f\u5426\u6b63\u5e38\u3002
                  • \u786e\u8ba4\u586b\u5199\u7684 Python \u7248\u672c\u548c\u5305\u7ba1\u7406\u5668\u914d\u7f6e\u65e0\u8bef\u3002
                  • \u786e\u4fdd\u6240\u9009\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u53ef\u7528\u3002
                • \u5982\u679c\u4f9d\u8d56\u9884\u70ed\u5931\u8d25\uff1a

                  • \u68c0\u67e5 requirements.txt \u6216 environment.yaml \u6587\u4ef6\u683c\u5f0f\u662f\u5426\u6b63\u786e\u3002
                  • \u786e\u8ba4\u4f9d\u8d56\u5305\u540d\u79f0\u548c\u7248\u672c\u662f\u5426\u6b63\u786e\u65e0\u8bef\u3002\u5982\u9047\u5230\u5176\u4ed6\u95ee\u9898\uff0c\u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6216\u67e5\u770b\u5e73\u53f0\u5e2e\u52a9\u6587\u6863\u83b7\u53d6\u66f4\u591a\u652f\u6301\u3002

                \u4ee5\u4e0a\u5373\u4e3a\u5728 DCE 5.0 AI Lab \u4e2d\u7ba1\u7406 Python \u4f9d\u8d56\u5e93\u7684\u57fa\u672c\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

                "},{"location":"baize/developer/inference/models.html","title":"\u6a21\u578b\u652f\u6301\u60c5\u51b5","text":"

                \u968f\u7740 AI Lab \u7684\u5feb\u901f\u8fed\u4ee3\uff0c\u6211\u4eec\u5df2\u7ecf\u652f\u6301\u4e86\u591a\u79cd\u6a21\u578b\u7684\u63a8\u7406\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6240\u652f\u6301\u7684\u6a21\u578b\u4fe1\u606f\u3002

                • AI Lab v0.3.0 \u4e0a\u7ebf\u4e86\u6a21\u578b\u63a8\u7406\u670d\u52a1\uff0c\u9488\u5bf9\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u65b9\u4fbf\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528AI Lab \u7684\u63a8\u7406\u670d\u52a1\uff0c\u65e0\u9700\u5173\u5fc3\u6a21\u578b\u7684\u90e8\u7f72\u548c\u7ef4\u62a4\u3002
                • AI Lab v0.6.0 \u652f\u6301\u4e86\u5b8c\u6574\u7248\u672c\u7684 vLLM \u63a8\u7406\u80fd\u529b\uff0c\u652f\u6301\u8bf8\u591a\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u5982 LLama\u3001Qwen\u3001ChatGLM \u7b49\u3002

                Note

                \u63a8\u7406\u80fd\u529b\u7684\u652f\u6301\u4e0e AI Lab \u7684\u7248\u672c\u6709\u5173\uff0c\u8bf7\u67e5\u9605 Release Notes \u4e86\u89e3\u6700\u65b0\u7248\u672c\u5e76\u53ca\u65f6\u66f4\u65b0\u3002

                \u60a8\u53ef\u4ee5\u5728 AI Lab \u4e2d\u4f7f\u7528\u7ecf\u8fc7 DCE 5.0 \u9a8c\u8bc1\u8fc7\u7684 GPU \u7c7b\u578b\uff1b \u66f4\u591a\u7ec6\u8282\u53c2\u9605 GPU \u652f\u6301\u77e9\u9635\u3002

                "},{"location":"baize/developer/inference/models.html#triton-inference-server","title":"Triton Inference Server","text":"

                \u901a\u8fc7 Triton Inference Server \u53ef\u4ee5\u5f88\u597d\u7684\u652f\u6301\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u6211\u4eec\u76ee\u524d\u652f\u6301\u4e3b\u6d41\u7684\u63a8\u7406\u540e\u7aef\u670d\u52a1\uff1a

                Backend \u652f\u6301\u6a21\u578b\u683c\u5f0f \u4ecb\u7ecd pytorch TorchScript\u3001PyTorch 2.0 \u683c\u5f0f\u7684\u6a21\u578b triton-inference-server/pytorch_backend tensorflow TensorFlow 2.x triton-inference-server/tensorflow_backend vLLM(Deprecated) \u4e0e vLLM \u4e00\u81f4 \u652f\u6301\u7684\u6a21\u578b\u548c vLLM support Model \u4e00\u81f4

                Danger

                \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

                "},{"location":"baize/developer/inference/models.html#vllm","title":"vLLM","text":"

                \u901a\u8fc7 vLLM \u6211\u4eec\u53ef\u4ee5\u5f88\u5feb\u7684\u4f7f\u7528\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6211\u4eec\u652f\u6301\u7684\u6a21\u578b\u5217\u8868\uff0c\u8fd9\u901a\u5e38\u548c vLLM Support Models \u4fdd\u6301\u4e00\u81f4\u3002

                • HuggingFace \u6a21\u578b\uff1a\u6211\u4eec\u652f\u6301\u4e86 HuggingFace \u7684\u5927\u90e8\u5206\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728 HuggingFace Model Hub \u67e5\u770b\u66f4\u591a\u6a21\u578b\u3002
                • vLLM \u652f\u6301\u6a21\u578b\u5217\u51fa\u4e86\u652f\u6301\u7684\u5927\u8bed\u8a00\u6a21\u578b\u548c\u89c6\u89c9\u8bed\u8a00\u6a21\u578b\u3002
                • \u4f7f\u7528 vLLM \u652f\u6301\u6846\u67b6\u7684\u6a21\u578b\u8fdb\u884c\u5fae\u8c03\u540e\u7684\u6a21\u578b\u3002
                "},{"location":"baize/developer/inference/models.html#vllm_1","title":"vLLM \u65b0\u7279\u6027","text":"

                \u76ee\u524d\uff0cAI Lab \u8fd8\u652f\u6301\u5728\u4f7f\u7528 vLLM \u4f5c\u4e3a\u63a8\u7406\u5de5\u5177\u65f6\u7684\u4e00\u4e9b\u65b0\u7279\u6027\uff1a

                • \u5728\u63a8\u7406\u6a21\u578b\u65f6\uff0c\u542f\u7528 Lora Adapter \u6765\u4f18\u5316\u6a21\u578b\u63a8\u7406\u670d\u52a1
                • \u63d0\u4f9b\u517c\u5bb9 OpenAI \u7684 OpenAPI \u63a5\u53e3\uff0c\u65b9\u4fbf\u7528\u6237\u5207\u6362\u5230\u672c\u5730\u63a8\u7406\u670d\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f4e\u6210\u672c\u7684\u5feb\u901f\u5207\u6362
                "},{"location":"baize/developer/inference/triton-inference.html","title":"\u521b\u5efa Triton \u63a8\u7406\u670d\u52a1","text":"

                AI Lab \u76ee\u524d\u63d0\u4f9b\u4ee5 Triton\u3001vLLM \u4f5c\u4e3a\u63a8\u7406\u6846\u67b6\uff0c\u7528\u6237\u53ea\u9700\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5feb\u901f\u542f\u52a8\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u63a8\u7406\u670d\u52a1\u3002

                Danger

                \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

                "},{"location":"baize/developer/inference/triton-inference.html#triton_1","title":"Triton\u4ecb\u7ecd","text":"

                Triton \u662f\u7531 NVIDIA \u5f00\u53d1\u7684\u4e00\u4e2a\u5f00\u6e90\u63a8\u7406\u670d\u52a1\u5668\uff0c\u65e8\u5728\u7b80\u5316\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u90e8\u7f72\u548c\u63a8\u7406\u670d\u52a1\u3002\u5b83\u652f\u6301\u591a\u79cd\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5305\u62ec TensorFlow\u3001PyTorch \u7b49\uff0c\u4f7f\u5f97\u7528\u6237\u80fd\u591f\u8f7b\u677e\u7ba1\u7406\u548c\u90e8\u7f72\u4e0d\u540c\u7c7b\u578b\u7684\u6a21\u578b\u3002

                "},{"location":"baize/developer/inference/triton-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\uff0c\u4e0b\u9762\u4ee5 mnist \u624b\u5199\u6570\u5b57\u8bc6\u522b\u7684 PyTorch \u6a21\u578b\u4e3a\u4f8b\u3002

                Note

                \u5f85\u63a8\u7406\u7684\u6a21\u578b\u5728\u6570\u636e\u96c6\u4e2d\u9700\u8981\u9075\u4ee5\u4e0b\u76ee\u5f55\u683c\u5f0f\uff1a

                  <model-repository-name>\n  \u2514\u2500\u2500 <model-name>\n     \u2514\u2500\u2500 <version>\n        \u2514\u2500\u2500 <model-definition-file>\n

                \u672c\u4f8b\u4e2d\u7684\u76ee\u5f55\u683c\u5f0f\u4e3a\uff1a

                    model-repo\n    \u2514\u2500\u2500 mnist-cnn\n        \u2514\u2500\u2500 1\n            \u2514\u2500\u2500 model.pt\n
                "},{"location":"baize/developer/inference/triton-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"

                \u76ee\u524d\u5df2\u7ecf\u652f\u6301\u8868\u5355\u521b\u5efa\uff0c\u53ef\u4ee5\u754c\u9762\u5b57\u6bb5\u63d0\u793a\uff0c\u8fdb\u884c\u670d\u52a1\u521b\u5efa\u3002

                "},{"location":"baize/developer/inference/triton-inference.html#_3","title":"\u914d\u7f6e\u6a21\u578b\u8def\u5f84","text":"

                \u6a21\u578b\u8def\u5f84 model-repo/mnist-cnn/1/model.pt \u9700\u8981\u548c\u6570\u636e\u96c6\u4e2d\u7684\u6a21\u578b\u76ee\u5f55\u683c\u5f0f\u4e00\u81f4\u3002

                "},{"location":"baize/developer/inference/triton-inference.html#_4","title":"\u6a21\u578b\u914d\u7f6e","text":""},{"location":"baize/developer/inference/triton-inference.html#_5","title":"\u914d\u7f6e\u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570","text":"

                Note

                \u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570\u7684\u7b2c\u4e00\u4e2a\u7ef4\u5ea6\u9ed8\u8ba4\u4e3a batchsize \u7684\u5927\u5c0f\uff0c\u8bbe\u7f6e\u4e3a -1 \u53ef\u4ee5\u6839\u636e\u8f93\u5165\u7684\u63a8\u7406\u6570\u636e\u81ea\u52a8\u8ba1\u7b97 batchsize\u3002\u53c2\u6570\u5176\u4f59\u7ef4\u5ea6\u548c\u6570\u636e\u7c7b\u578b\u9700\u8981\u4e0e\u6a21\u578b\u8f93\u5165\u5339\u914d\u3002

                "},{"location":"baize/developer/inference/triton-inference.html#_6","title":"\u914d\u7f6e\u73af\u5883","text":"

                \u53ef\u4ee5\u5bfc\u5165 \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u7684\u73af\u5883\u4f5c\u4e3a\u63a8\u7406\u65f6\u7684\u8fd0\u884c\u73af\u5883\u3002

                "},{"location":"baize/developer/inference/triton-inference.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":""},{"location":"baize/developer/inference/triton-inference.html#_8","title":"\u914d\u7f6e\u8ba4\u8bc1\u7b56\u7565","text":"

                \u652f\u6301 API key \u7684\u8bf7\u6c42\u65b9\u5f0f\u8ba4\u8bc1\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u5b9a\u4e49\u589e\u52a0\u8ba4\u8bc1\u53c2\u6570\u3002

                "},{"location":"baize/developer/inference/triton-inference.html#_9","title":"\u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                \u652f\u6301 \u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

                "},{"location":"baize/developer/inference/triton-inference.html#_10","title":"\u8bbf\u95ee","text":""},{"location":"baize/developer/inference/triton-inference.html#api","title":"API \u8bbf\u95ee","text":"
                • Triton \u63d0\u4f9b\u4e86\u4e00\u4e2a\u57fa\u4e8e REST \u7684 API\uff0c\u5141\u8bb8\u5ba2\u6237\u7aef\u901a\u8fc7 HTTP POST \u8bf7\u6c42\u8fdb\u884c\u6a21\u578b\u63a8\u7406\u3002
                • \u5ba2\u6237\u7aef\u53ef\u4ee5\u53d1\u9001 JSON \u683c\u5f0f\u7684\u8bf7\u6c42\u4f53\uff0c\u5176\u4e2d\u5305\u542b\u8f93\u5165\u6570\u636e\u548c\u76f8\u5173\u7684\u5143\u6570\u636e\u3002
                "},{"location":"baize/developer/inference/triton-inference.html#http","title":"HTTP \u8bbf\u95ee","text":"
                1. \u53d1\u9001 HTTP POST \u8bf7\u6c42\uff1a\u4f7f\u7528\u5de5\u5177\u5982 curl \u6216 HTTP \u5ba2\u6237\u7aef\u5e93\uff08\u5982 Python \u7684 requests \u5e93\uff09\u5411 Triton Server \u53d1\u9001 POST \u8bf7\u6c42\u3002

                2. \u8bbe\u7f6e HTTP \u5934\uff1a\u6839\u636e\u7528\u6237\u914d\u7f6e\u9879\u81ea\u52a8\u751f\u6210\u7684\u914d\u7f6e\uff0c\u5305\u542b\u6a21\u578b\u8f93\u5165\u548c\u8f93\u51fa\u7684\u5143\u6570\u636e\u3002

                3. \u6784\u5efa\u8bf7\u6c42\u4f53\uff1a\u8bf7\u6c42\u4f53\u901a\u5e38\u5305\u542b\u8981\u8fdb\u884c\u63a8\u7406\u7684\u8f93\u5165\u6570\u636e\uff0c\u4ee5\u53ca\u6a21\u578b\u7279\u5b9a\u7684\u5143\u6570\u636e\u3002

                "},{"location":"baize/developer/inference/triton-inference.html#curl","title":"\u793a\u4f8b curl \u547d\u4ee4","text":"
                  curl -X POST \"http://<ip>:<port>/v2/models/<inference-name>/infer\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"inputs\": [\n      {\n        \"name\": \"model_input\",            \n        \"shape\": [1, 1, 32, 32],          \n        \"datatype\": \"FP32\",               \n        \"data\": [\n          [0.1234, 0.5678, 0.9101, ... ]  \n        ]\n      }\n    ]\n  }'\n
                • <ip> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u5730\u5740\u3002
                • <port> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u7aef\u53e3\u53f7\u3002
                • <inference-name> \u662f\u6240\u521b\u5efa\u7684\u63a8\u7406\u670d\u52a1\u7684\u540d\u79f0\u3002
                • \"name\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 name \u4e00\u81f4\u3002
                • \"shape\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 dims \u4e00\u81f4\u3002
                • \"datatype\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 Data Type \u4e00\u81f4\u3002
                • \"data\" \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u63a8\u7406\u6570\u636e\u3002

                \u8bf7\u6ce8\u610f\uff0c\u4e0a\u8ff0\u793a\u4f8b\u4ee3\u7801\u9700\u8981\u6839\u636e\u4f60\u7684\u5177\u4f53\u6a21\u578b\u548c\u73af\u5883\u8fdb\u884c\u8c03\u6574\uff0c\u8f93\u5165\u6570\u636e\u7684\u683c\u5f0f\u548c\u5185\u5bb9\u4e5f\u9700\u8981\u7b26\u5408\u6a21\u578b\u7684\u8981\u6c42\u3002

                "},{"location":"baize/developer/inference/vllm-inference.html","title":"\u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1","text":"

                AI Lab \u652f\u6301\u4ee5 vLLM \u4f5c\u4e3a\u63a8\u7406\u670d\u52a1\uff0c\u63d0\u4f9b\u5168\u90e8 vLLM \u7684\u80fd\u529b\uff0c\u540c\u65f6\u63d0\u4f9b\u4e86\u5b8c\u5168\u9002\u914d OpenAI \u63a5\u53e3\u5b9a\u4e49\u3002

                "},{"location":"baize/developer/inference/vllm-inference.html#vllm_1","title":"vLLM \u4ecb\u7ecd","text":"

                vLLM \u662f\u4e00\u4e2a\u5feb\u901f\u4e14\u6613\u4e8e\u4f7f\u7528\u7684\u7528\u4e8e\u63a8\u7406\u548c\u670d\u52a1\u7684\u5e93\uff0cvLLM \u65e8\u5728\u6781\u5927\u5730\u63d0\u5347\u5b9e\u65f6\u573a\u666f\u4e0b\u7684\u8bed\u8a00\u6a21\u578b\u670d\u52a1\u7684\u541e\u5410\u4e0e\u5185\u5b58\u4f7f\u7528\u6548\u7387\u3002vLLM \u5728\u901f\u5ea6\u3001\u7075\u6d3b\u6027\u65b9\u9762\u5177\u6709\u4ee5\u4e0b\u90e8\u5206\u7279\u70b9\uff1a

                • \u8fde\u7eed\u6279\u5904\u7406\u4f20\u5165\u8bf7\u6c42\uff1b
                • \u4f7f\u7528 PagedAttention \u9ad8\u6548\u7ba1\u7406\u6ce8\u610f\u529b\u952e\u548c\u503c\u5185\u5b58\uff1b
                • \u4e0e\u6d41\u884c\u7684 HuggingFace \u578b\u53f7\u65e0\u7f1d\u96c6\u6210\uff1b
                • \u517c\u5bb9 OpenAI \u7684 API \u670d\u52a1\u5668\u3002
                "},{"location":"baize/developer/inference/vllm-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\u3002

                "},{"location":"baize/developer/inference/vllm-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"
                1. \u9009\u62e9 vLLM \u63a8\u7406\u6846\u67b6\uff0c\u5e76\u5728\u9009\u62e9\u6a21\u578b\u6a21\u5757\u9009\u62e9\u63d0\u524d\u521b\u5efa\u597d\u7684\u6a21\u578b\u6570\u636e\u96c6 hdd-models \u5e76\u586b\u5199\u6570\u636e\u96c6\u4e2d\u6a21\u578b\u6240\u5728\u7684\u8def\u5f84\u4fe1\u606f\u3002

                  \u672c\u6587\u63a8\u7406\u670d\u52a1\u7684\u521b\u5efa\u4f7f\u7528 ChatGLM3 \u6a21\u578b\u3002

                2. \u914d\u7f6e\u63a8\u7406\u670d\u52a1\u7684\u8d44\u6e90\uff0c\u5e76\u8c03\u6574\u63a8\u7406\u670d\u52a1\u8fd0\u884c\u7684\u53c2\u6570\u3002

                  \u53c2\u6570\u540d \u63cf\u8ff0 GPU \u8d44\u6e90 \u6839\u636e\u6a21\u578b\u89c4\u6a21\u4ee5\u53ca\u96c6\u7fa4\u8d44\u6e90\u53ef\u4ee5\u4e3a\u63a8\u7406\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u5141\u8bb8\u8fdc\u7a0b\u4ee3\u7801 \u63a7\u5236 vLLM \u662f\u5426\u4fe1\u4efb\u5e76\u6267\u884c\u6765\u81ea\u8fdc\u7a0b\u6e90\u7684\u4ee3\u7801 LoRA LoRA \u662f\u4e00\u79cd\u9488\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u7684\u53c2\u6570\u9ad8\u6548\u8c03\u6574\u6280\u672f\u3002\u5b83\u901a\u8fc7\u5c06\u539f\u59cb\u6a21\u578b\u53c2\u6570\u77e9\u9635\u5206\u89e3\u4e3a\u4f4e\u79e9\u77e9\u9635\uff0c\u4ece\u800c\u51cf\u5c11\u53c2\u6570\u6570\u91cf\u548c\u8ba1\u7b97\u590d\u6742\u5ea6\u3002 1. --lora-modules\uff1a\u7528\u6765\u6307\u5b9a\u7279\u5b9a\u6a21\u5757\u6216\u5c42\u8fdb\u884c\u4f4e\u79e9\u8fd1\u4f3c 2. max_loras_rank\uff1a\u7528\u6765\u6307\u5b9a LoRA \u6a21\u578b\u4e2d\u6bcf\u4e2a\u9002\u914d\u5c42\u7684\u6700\u5927\u79e9\uff0c\u5bf9\u4e8e\u7b80\u5355\u7684\u4efb\u52a1\uff0c\u53ef\u4ee5\u9009\u62e9\u8f83\u5c0f\u7684\u79e9\u503c\uff0c\u800c\u5bf9\u4e8e\u590d\u6742\u4efb\u52a1\uff0c\u53ef\u80fd\u9700\u8981\u8f83\u5927\u7684\u79e9\u503c\u6765\u4fdd\u8bc1\u6a21\u578b\u6027\u80fd\u3002 3. max_loras\uff1a\u8868\u793a\u6a21\u578b\u4e2d\u53ef\u4ee5\u5305\u542b\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u91cf\uff0c\u6839\u636e\u6a21\u578b\u5927\u5c0f\u3001\u63a8\u7406\u590d\u6742\u5ea6\u7b49\u56e0\u7d20\u81ea\u5b9a 4. max_cpu_loras\uff1a\u7528\u4e8e\u6307\u5b9a\u5728 CPU \u73af\u5883\u4e2d\u53ef\u4ee5\u5904\u7406\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u3002 \u5173\u8054\u73af\u5883 \u901a\u8fc7\u9009\u62e9\u73af\u5883\u9884\u5b9a\u4e49\u63a8\u7406\u65f6\u6240\u9700\u7684\u73af\u5883\u4f9d\u8d56\u3002

                  Info

                  \u652f\u6301\u914d\u7f6e LoRA \u53c2\u6570\u7684\u6a21\u578b\u53ef\u53c2\u8003 vLLM \u652f\u6301\u7684\u6a21\u578b\u3002

                3. \u5728 \u9ad8\u7ea7\u914d\u7f6e \u4e2d\uff0c\u652f\u6301\u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

                "},{"location":"baize/developer/inference/vllm-inference.html#_3","title":"\u9a8c\u8bc1\u63a8\u7406\u670d\u52a1","text":"

                \u63a8\u7406\u670d\u52a1\u521b\u5efa\u5b8c\u6210\u4e4b\u540e\uff0c\u70b9\u51fb\u63a8\u7406\u670d\u52a1\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u67e5\u770b API \u8c03\u7528\u65b9\u6cd5\u3002\u901a\u8fc7\u4f7f\u7528 Curl\u3001Python\u3001Nodejs \u7b49\u65b9\u5f0f\u9a8c\u8bc1\u6267\u884c\u7ed3\u679c\u3002

                \u62f7\u8d1d\u8be6\u60c5\u4e2d\u7684 curl \u547d\u4ee4\uff0c\u5e76\u5728\u7ec8\u7aef\u4e2d\u6267\u884c\u547d\u4ee4\u53d1\u9001\u4e00\u6761\u6a21\u578b\u63a8\u7406\u8bf7\u6c42\uff0c\u9884\u671f\u8f93\u51fa\uff1a

                "},{"location":"baize/developer/jobs/create.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                \u4efb\u52a1\u7ba1\u7406\u662f\u6307\u901a\u8fc7\u4f5c\u4e1a\u8c03\u5ea6\u548c\u7ba1\u63a7\u7ec4\u4ef6\u6765\u521b\u5efa\u548c\u7ba1\u7406\u4efb\u52a1\u751f\u547d\u5468\u671f\u7684\u529f\u80fd\u3002

                DCE 5.0 AI Lab \u91c7\u7528 Kubernetes \u7684 Job \u673a\u5236\u6765\u8c03\u5ea6\u5404\u9879 AI \u63a8\u7406\u3001\u8bad\u7ec3\u4efb\u52a1\u3002

                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u4efb\u52a1\u7c7b\u578b\u3001\u961f\u5217\u3001\u4f18\u5148\u7ea7\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                3. \u914d\u7f6e\u955c\u50cf\u5730\u5740\u3001\u8fd0\u884c\u53c2\u6570\u4ee5\u53ca\u5173\u8054\u7684\u6570\u636e\u96c6\u3001\u73af\u5883\u548c\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                4. \u6309\u9700\u6dfb\u52a0\u6807\u7b7e\u3001\u6ce8\u89e3\u3001\u73af\u5883\u53d8\u91cf\u7b49\u4efb\u52a1\u53c2\u6570\uff0c\u9009\u62e9\u8c03\u5ea6\u7b56\u7565\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                5. \u4efb\u52a1\u521b\u5efa\u6210\u529f\u540e\uff0c\u4f1a\u6709\u51e0\u79cd\u8fd0\u884c\u72b6\u6001\uff1a

                  • \u8fd0\u884c\u4e2d
                  • \u6392\u961f\u4e2d
                  • \u63d0\u4ea4\u6210\u529f\u3001\u63d0\u4ea4\u5931\u8d25
                  • \u4efb\u52a1\u6210\u529f\u3001\u4efb\u52a1\u5931\u8d25
                "},{"location":"baize/developer/jobs/create.html#_1","title":"\u4e0b\u4e00\u6b65","text":"
                • \u67e5\u770b\u4efb\u52a1\u8d1f\u8f7d
                • \u5220\u9664\u4efb\u52a1
                "},{"location":"baize/developer/jobs/delete.html","title":"\u5220\u9664\u4efb\u52a1\uff08Job\uff09","text":"

                \u5982\u679c\u53d1\u73b0\u4efb\u52a1\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u5220\u9664\u3002

                1. \u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165\u4efb\u52a1\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u4efb\u52a1\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                Caution

                \u4efb\u52a1\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                "},{"location":"baize/developer/jobs/mpi.html","title":"MPI \u4efb\u52a1","text":"

                MPI\uff08Message Passing Interface\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u5e76\u884c\u8ba1\u7b97\u7684\u901a\u4fe1\u534f\u8bae\uff0c\u5b83\u5141\u8bb8\u591a\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u6d88\u606f\u4f20\u9012\u548c\u534f\u4f5c\u3002 MPI \u4efb\u52a1\u662f\u4f7f\u7528 MPI \u534f\u8bae\u8fdb\u884c\u5e76\u884c\u8ba1\u7b97\u7684\u4efb\u52a1\uff0c\u9002\u7528\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u5904\u7406\u7684\u5e94\u7528\u573a\u666f\uff0c\u4f8b\u5982\u5206\u5e03\u5f0f\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

                \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 MPI \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MPI \u4efb\u52a1\uff0c\u8fdb\u884c\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u8ba1\u7b97\u3002 \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u4e2d\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002

                "},{"location":"baize/developer/jobs/mpi.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b \uff1aMPI\uff0c\u7528\u4e8e\u8fd0\u884c\u5e76\u884c\u8ba1\u7b97\u4efb\u52a1\u3002
                • \u8fd0\u884c\u73af\u5883 \uff1a\u9009\u7528\u9884\u88c5\u4e86 MPI \u73af\u5883\u7684\u955c\u50cf\uff0c\u6216\u8005\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                • MPIJob \u914d\u7f6e \uff1a\u7406\u89e3\u5e76\u914d\u7f6e MPIJob \u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u526f\u672c\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
                "},{"location":"baize/developer/jobs/mpi.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf\u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002 \u786e\u4fdd\u8fd0\u884c\u73af\u5883\u4e2d\u5305\u542b MPI \u53ca\u76f8\u5173\u5e93\uff0c\u5982 OpenMPI\u3001mpi4py \u7b49\u3002

                \u6ce8\u610f \uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u5217\u8868\u3002

                "},{"location":"baize/developer/jobs/mpi.html#mpi_1","title":"\u521b\u5efa MPI \u4efb\u52a1","text":""},{"location":"baize/developer/jobs/mpi.html#mpi_2","title":"MPI \u4efb\u52a1\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0 \uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u521b\u5efa\u4efb\u52a1 \uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b \uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MPI\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f \uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cbenchmarks-mpi\u201d\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570 \uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                "},{"location":"baize/developer/jobs/mpi.html#_3","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \uff1a\u4f7f\u7528 mpirun\uff0c\u8fd9\u662f\u8fd0\u884c MPI \u7a0b\u5e8f\u7684\u547d\u4ee4\u3002
                • \u547d\u4ee4\u53c2\u6570 \uff1a\u8f93\u5165\u60a8\u8981\u8fd0\u884c\u7684 MPI \u7a0b\u5e8f\u7684\u53c2\u6570\u3002

                \u793a\u4f8b\uff1a\u8fd0\u884c TensorFlow Benchmarks

                \u5728\u672c\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u5c06\u8fd0\u884c\u4e00\u4e2a TensorFlow \u7684\u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\uff0c\u4f7f\u7528 Horovod \u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002 \u9996\u5148\uff0c\u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u4e2d\u5305\u542b\u6240\u9700\u7684\u4f9d\u8d56\u9879\uff0c\u4f8b\u5982 TensorFlow\u3001Horovod\u3001Open MPI \u7b49\u3002

                \u955c\u50cf\u9009\u62e9 \uff1a\u4f7f\u7528\u5305\u542b TensorFlow \u548c MPI \u7684\u955c\u50cf\uff0c\u4f8b\u5982 mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\u3002

                \u547d\u4ee4\u53c2\u6570 \uff1a

                mpirun --allow-run-as-root -np 2 -bind-to none -map-by slot \\\n  -x NCCL_DEBUG=INFO -x LD_LIBRARY_PATH -x PATH \\\n  -mca pml ob1 -mca btl ^openib \\\n  python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \\\n  --model=resnet101 --batch_size=64 --variable_update=horovod\n

                \u8bf4\u660e \uff1a

                • mpirun\uff1aMPI \u7684\u542f\u52a8\u547d\u4ee4\u3002
                • --allow-run-as-root\uff1a\u5141\u8bb8\u4ee5 root \u7528\u6237\u8fd0\u884c\uff08\u5728\u5bb9\u5668\u4e2d\u901a\u5e38\u662f root \u7528\u6237\uff09\u3002
                • -np 2\uff1a\u6307\u5b9a\u8fd0\u884c\u7684\u8fdb\u7a0b\u6570\u4e3a 2\u3002
                • -bind-to none\uff0c-map-by slot\uff1aMPI \u8fdb\u7a0b\u7ed1\u5b9a\u548c\u6620\u5c04\u7684\u914d\u7f6e\u3002
                • -x NCCL_DEBUG=INFO\uff1a\u8bbe\u7f6e NCCL\uff08NVIDIA Collective Communication Library\uff09\u7684\u8c03\u8bd5\u4fe1\u606f\u7ea7\u522b\u3002
                • -x LD_LIBRARY_PATH\uff0c-x PATH\uff1a\u5728 MPI \u73af\u5883\u4e2d\u4f20\u9012\u5fc5\u8981\u7684\u73af\u5883\u53d8\u91cf\u3002
                • -mca pml ob1 -mca btl ^openib\uff1aMPI \u7684\u914d\u7f6e\u53c2\u6570\uff0c\u6307\u5b9a\u4f20\u8f93\u5c42\u548c\u6d88\u606f\u5c42\u534f\u8bae\u3002
                • python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\uff1a\u8fd0\u884c TensorFlow \u57fa\u51c6\u6d4b\u8bd5\u811a\u672c\u3002
                • --model=resnet101\uff0c--batch_size=64\uff0c--variable_update=horovod\uff1aTensorFlow \u811a\u672c\u7684\u53c2\u6570\uff0c\u6307\u5b9a\u6a21\u578b\u3001\u6279\u91cf\u5927\u5c0f\u548c\u4f7f\u7528 Horovod \u8fdb\u884c\u53c2\u6570\u66f4\u65b0\u3002
                "},{"location":"baize/developer/jobs/mpi.html#_4","title":"\u8d44\u6e90\u914d\u7f6e","text":"

                \u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u4e3a\u6bcf\u4e2a\u8282\u70b9\uff08Launcher \u548c Worker\uff09\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u4f8b\u5982 CPU\u3001\u5185\u5b58\u548c GPU\u3002

                \u8d44\u6e90\u793a\u4f8b \uff1a

                • Launcher\uff08\u542f\u52a8\u5668\uff09 \uff1a

                  • \u526f\u672c\u6570 \uff1a1
                  • \u8d44\u6e90\u8bf7\u6c42 \uff1a
                    • CPU\uff1a2 \u6838
                    • \u5185\u5b58\uff1a4 GiB
                • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09 \uff1a

                  • \u526f\u672c\u6570 \uff1a2
                  • \u8d44\u6e90\u8bf7\u6c42 \uff1a
                    • CPU\uff1a2 \u6838
                    • \u5185\u5b58\uff1a4 GiB
                    • GPU\uff1a\u6839\u636e\u9700\u6c42\u5206\u914d
                "},{"location":"baize/developer/jobs/mpi.html#mpijob","title":"\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b\uff0c\u4f9b\u60a8\u53c2\u8003\u3002

                apiVersion: kubeflow.org/v1\nkind: MPIJob\nmetadata:\n  name: tensorflow-benchmarks\nspec:\n  slotsPerWorker: 1\n  runPolicy:\n    cleanPodPolicy: Running\n  mpiReplicaSpecs:\n    Launcher:\n      replicas: 1\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              command:\n                - mpirun\n                - --allow-run-as-root\n                - -np\n                - \"2\"\n                - -bind-to\n                - none\n                - -map-by\n                - slot\n                - -x\n                - NCCL_DEBUG=INFO\n                - -x\n                - LD_LIBRARY_PATH\n                - -x\n                - PATH\n                - -mca\n                - pml\n                - ob1\n                - -mca\n                - btl\n                - ^openib\n                - python\n                - scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\n                - --model=resnet101\n                - --batch_size=64\n                - --variable_update=horovod\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 2\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpumem: 1k\n                  nvidia.com/vgpu: \"1\"\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

                \u914d\u7f6e\u89e3\u6790 \uff1a

                • apiVersion \u548c kind\uff1a\u8868\u793a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0cMPIJob \u662f Kubeflow \u5b9a\u4e49\u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u7528\u4e8e\u521b\u5efa MPI \u7c7b\u578b\u7684\u4efb\u52a1\u3002
                • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u542b\u4efb\u52a1\u7684\u540d\u79f0\u7b49\u4fe1\u606f\u3002
                • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                  • slotsPerWorker\uff1a\u6bcf\u4e2a Worker \u8282\u70b9\u7684\u69fd\u4f4d\u6570\u91cf\uff0c\u901a\u5e38\u8bbe\u7f6e\u4e3a 1\u3002
                  • runPolicy\uff1a\u8fd0\u884c\u7b56\u7565\uff0c\u4f8b\u5982\u4efb\u52a1\u5b8c\u6210\u540e\u662f\u5426\u6e05\u7406 Pod\u3002
                  • mpiReplicaSpecs\uff1aMPI \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                    • Launcher\uff1a\u542f\u52a8\u5668\uff0c\u8d1f\u8d23\u542f\u52a8 MPI \u4efb\u52a1\u3002
                      • replicas\uff1a\u526f\u672c\u6570\uff0c\u901a\u5e38\u4e3a 1\u3002
                      • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u7684\u955c\u50cf\u3001\u547d\u4ee4\u3001\u8d44\u6e90\u7b49\u3002
                    • Worker\uff1a\u5de5\u4f5c\u8282\u70b9\uff0c\u5b9e\u9645\u6267\u884c\u4efb\u52a1\u7684\u8ba1\u7b97\u8282\u70b9\u3002
                      • replicas\uff1a\u526f\u672c\u6570\uff0c\u6839\u636e\u5e76\u884c\u9700\u6c42\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 2\u3002
                      • template\uff1aPod \u6a21\u677f\uff0c\u540c\u6837\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                "},{"location":"baize/developer/jobs/mpi.html#_5","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                \u5728\u521b\u5efa MPI \u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mpiReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                • \u603b\u526f\u672c\u6570 = Launcher \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
                • \u672c\u793a\u4f8b\u4e2d\uff1a

                  • Launcher \u526f\u672c\u6570\uff1a1
                  • Worker \u526f\u672c\u6570\uff1a2
                  • \u603b\u526f\u672c\u6570 \uff1a1 + 2 = 3

                \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u60a8\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

                "},{"location":"baize/developer/jobs/mpi.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MPI \u4efb\u52a1\u3002

                "},{"location":"baize/developer/jobs/mpi.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002 \u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                TensorFlow:  1.13\nModel:       resnet101\nMode:        training\nBatch size:  64\n...\n\nTotal images/sec: 125.67\n

                \u8fd9\u8868\u793a MPI \u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0cTensorFlow \u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\u5b8c\u6210\u4e86\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002

                "},{"location":"baize/developer/jobs/mpi.html#_8","title":"\u5c0f\u7ed3","text":"

                \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MPIJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c \u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                \u9644\u5f55 \uff1a

                • \u5982\u679c\u60a8\u7684\u8fd0\u884c\u73af\u5883\u672a\u9884\u88c5\u6240\u9700\u7684\u5e93\uff08\u5982 mpi4py\u3001Horovod \u7b49\uff09\uff0c\u8bf7\u5728\u4efb\u52a1\u4e2d\u6dfb\u52a0\u5b89\u88c5\u547d\u4ee4\uff0c\u6216\u8005\u4f7f\u7528\u9884\u88c5\u4e86\u76f8\u5173\u4f9d\u8d56\u7684\u955c\u50cf\u3002
                • \u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u4fee\u6539 MPIJob \u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u66f4\u6539\u955c\u50cf\u3001\u547d\u4ee4\u53c2\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
                "},{"location":"baize/developer/jobs/mxnet.html","title":"MXNet \u4efb\u52a1","text":"

                Warning

                \u7531\u4e8e Apache MXNet \u9879\u76ee\u5df2\u5b58\u6863\uff0c\u56e0\u6b64 Kubeflow MXJob \u5c06\u5728\u672a\u6765\u7684 Training Operator 1.9 \u7248\u672c\u4e2d\u5f03\u7528\u548c\u5220\u9664\u3002

                Apache MXNet \u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u3002MXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bad\u7ec3\uff0c\u5305\u62ec\u5355\u673a\u6a21\u5f0f\u548c\u5206\u5e03\u5f0f\u6a21\u5f0f\u3002\u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 MXNet \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MXNet \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                "},{"location":"baize/developer/jobs/mxnet.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b\uff1aMXNet\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
                • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b MXNet \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                "},{"location":"baize/developer/jobs/mxnet.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u6211\u4eec\u4f7f\u7528 release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 MXNet \u53ca\u5176\u76f8\u5173\u4f9d\u8d56\uff0c\u652f\u6301 GPU \u52a0\u901f\u3002

                \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                "},{"location":"baize/developer/jobs/mxnet.html#mxnet_1","title":"\u521b\u5efa MXNet \u4efb\u52a1","text":""},{"location":"baize/developer/jobs/mxnet.html#mxnet_2","title":"MXNet \u5355\u673a\u4efb\u52a1","text":""},{"location":"baize/developer/jobs/mxnet.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                "},{"location":"baize/developer/jobs/mxnet.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4\uff1apython3
                • \u547d\u4ee4\u53c2\u6570\uff1a

                  /mxnet/mxnet/example/gluon/mnist/mnist.py --epochs 10 --cuda\n

                  \u8bf4\u660e\uff1a

                  • /mxnet/mxnet/example/gluon/mnist/mnist.py\uff1aMXNet \u63d0\u4f9b\u7684 MNIST \u624b\u5199\u6570\u5b57\u8bc6\u522b\u793a\u4f8b\u811a\u672c\u3002
                  • --epochs 10\uff1a\u8bbe\u7f6e\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
                  • --cuda\uff1a\u4f7f\u7528 CUDA \u8fdb\u884c GPU \u52a0\u901f\u3002
                "},{"location":"baize/developer/jobs/mxnet.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
                • \u8d44\u6e90\u8bf7\u6c42\uff1a
                  • CPU\uff1a2 \u6838
                  • \u5185\u5b58\uff1a4 GiB
                  • GPU\uff1a1 \u5757
                "},{"location":"baize/developer/jobs/mxnet.html#mxjob","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5355\u673a MXJob \u7684 YAML \u914d\u7f6e\uff1a

                apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-single-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/gluon/mnist/mnist.py\",\n                  \"--epochs\",\n                  \"10\",\n                  \"--cuda\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n

                \u914d\u7f6e\u89e3\u6790\uff1a

                • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f MXJob\u3002
                • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u7b49\u4fe1\u606f\u3002
                • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                  • jobMode\uff1a\u8bbe\u7f6e\u4e3a MXTrain\uff0c\u8868\u793a\u8bad\u7ec3\u4efb\u52a1\u3002
                  • mxReplicaSpecs\uff1aMXNet \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                    • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
                      • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\u3002
                      • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a Never\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u4e0d\u91cd\u542f\u3002
                      • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                        • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
                          • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
                          • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
                          • command \u548c args\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                          • ports\uff1a\u5bb9\u5668\u7aef\u53e3\u914d\u7f6e\u3002
                          • resources\uff1a\u8d44\u6e90\u8bf7\u6c42\u548c\u9650\u5236\u3002
                "},{"location":"baize/developer/jobs/mxnet.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5355\u673a\u4efb\u52a1\u3002

                "},{"location":"baize/developer/jobs/mxnet.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                Epoch 1: accuracy=0.95\nEpoch 2: accuracy=0.97\n...\nEpoch 10: accuracy=0.98\nTraining completed.\n

                \u8fd9\u8868\u793a MXNet \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                "},{"location":"baize/developer/jobs/mxnet.html#mxnet_3","title":"MXNet \u5206\u5e03\u5f0f\u4efb\u52a1","text":"

                \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cMXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

                "},{"location":"baize/developer/jobs/mxnet.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
                2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
                "},{"location":"baize/developer/jobs/mxnet.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4\uff1apython3
                • \u547d\u4ee4\u53c2\u6570\uff1a

                  /mxnet/mxnet/example/image-classification/train_mnist.py --num-epochs 10 --num-layers 2 --kv-store dist_device_sync --gpus 0\n

                  \u8bf4\u660e\uff1a

                  • /mxnet/mxnet/example/image-classification/train_mnist.py\uff1aMXNet \u63d0\u4f9b\u7684\u56fe\u50cf\u5206\u7c7b\u793a\u4f8b\u811a\u672c\u3002
                  • --num-epochs 10\uff1a\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
                  • --num-layers 2\uff1a\u6a21\u578b\u7684\u5c42\u6570\u4e3a 2\u3002
                  • --kv-store dist_device_sync\uff1a\u4f7f\u7528\u5206\u5e03\u5f0f\u8bbe\u5907\u540c\u6b65\u6a21\u5f0f\u3002
                  • --gpus 0\uff1a\u4f7f\u7528 GPU \u8fdb\u884c\u52a0\u901f\u3002
                "},{"location":"baize/developer/jobs/mxnet.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                • \u4efb\u52a1\u526f\u672c\u6570\uff1a3\uff08\u5305\u62ec Scheduler\u3001Server \u548c Worker\uff09
                • \u5404\u89d2\u8272\u8d44\u6e90\u8bf7\u6c42\uff1a
                  • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a
                    • \u526f\u672c\u6570\uff1a1
                    • \u8d44\u6e90\u8bf7\u6c42\uff1a
                      • CPU\uff1a2 \u6838
                      • \u5185\u5b58\uff1a4 GiB
                      • GPU\uff1a1 \u5757
                  • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a
                    • \u526f\u672c\u6570\uff1a1
                    • \u8d44\u6e90\u8bf7\u6c42\uff1a
                      • CPU\uff1a2 \u6838
                      • \u5185\u5b58\uff1a4 GiB
                      • GPU\uff1a1 \u5757
                  • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a
                    • \u526f\u672c\u6570\uff1a1
                    • \u8d44\u6e90\u8bf7\u6c42\uff1a
                      • CPU\uff1a2 \u6838
                      • \u5185\u5b58\uff1a4 GiB
                      • GPU\uff1a1 \u5757
                "},{"location":"baize/developer/jobs/mxnet.html#mxjob_1","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f MXJob \u7684 YAML \u914d\u7f6e\uff1a

                apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Scheduler:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Server:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/image-classification/train_mnist.py\",\n                  \"--num-epochs\",\n                  \"10\",\n                  \"--num-layers\",\n                  \"2\",\n                  \"--kv-store\",\n                  \"dist_device_sync\",\n                  \"--gpus\",\n                  \"0\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

                \u914d\u7f6e\u89e3\u6790\uff1a

                • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a\u8d1f\u8d23\u534f\u8c03\u96c6\u7fa4\u4e2d\u5404\u8282\u70b9\u7684\u4efb\u52a1\u8c03\u5ea6\u3002
                • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\uff0c\u5b9e\u73b0\u5206\u5e03\u5f0f\u53c2\u6570\u540c\u6b65\u3002
                • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a\u5b9e\u9645\u6267\u884c\u8bad\u7ec3\u4efb\u52a1\u3002
                • \u8d44\u6e90\u914d\u7f6e\uff1a\u4e3a\u5404\u89d2\u8272\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u4efb\u52a1\u987a\u5229\u8fd0\u884c\u3002
                "},{"location":"baize/developer/jobs/mxnet.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                \u5728\u521b\u5efa MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mxReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                • \u603b\u526f\u672c\u6570 = Scheduler \u526f\u672c\u6570 + Server \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
                • \u672c\u793a\u4f8b\u4e2d\uff1a
                  • Scheduler \u526f\u672c\u6570\uff1a1
                  • Server \u526f\u672c\u6570\uff1a1
                  • Worker \u526f\u672c\u6570\uff1a1
                  • \u603b\u526f\u672c\u6570\uff1a1 + 1 + 1 = 3

                \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

                "},{"location":"baize/developer/jobs/mxnet.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                "},{"location":"baize/developer/jobs/mxnet.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u89d2\u8272\uff08Scheduler\u3001Server\u3001Worker\uff09\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                INFO:root:Epoch[0] Batch [50]     Speed: 1000 samples/sec   accuracy=0.85\nINFO:root:Epoch[0] Batch [100]    Speed: 1200 samples/sec   accuracy=0.87\n...\nINFO:root:Epoch[9] Batch [100]    Speed: 1300 samples/sec   accuracy=0.98\nTraining completed.\n

                \u8fd9\u8868\u793a MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                "},{"location":"baize/developer/jobs/mxnet.html#_14","title":"\u5c0f\u7ed3","text":"

                \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MXJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                "},{"location":"baize/developer/jobs/mxnet.html#_15","title":"\u9644\u5f55","text":"
                • \u6ce8\u610f\u4e8b\u9879\uff1a

                  • \u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u5305\u542b\u6240\u9700\u7684 MXNet \u7248\u672c\u548c\u4f9d\u8d56\u3002
                  • \u6839\u636e\u5b9e\u9645\u9700\u6c42\u8c03\u6574\u8d44\u6e90\u914d\u7f6e\uff0c\u907f\u514d\u8d44\u6e90\u4e0d\u8db3\u6216\u6d6a\u8d39\u3002
                  • \u5982\u9700\u4f7f\u7528\u81ea\u5b9a\u4e49\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u8bf7\u4fee\u6539\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                • \u53c2\u8003\u6587\u6863\uff1a

                  • MXNet \u5b98\u65b9\u6587\u6863
                  • Kubeflow MXJob \u6307\u5357
                "},{"location":"baize/developer/jobs/paddle.html","title":"PaddlePaddle \u4efb\u52a1","text":"

                PaddlePaddle\uff08\u98de\u6868\uff09\u662f\u767e\u5ea6\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u5e73\u53f0\uff0c\u652f\u6301\u4e30\u5bcc\u7684\u795e\u7ecf\u7f51\u7edc\u6a21\u578b\u548c\u5206\u5e03\u5f0f\u8bad\u7ec3\u65b9\u5f0f\u3002PaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u901a\u8fc7\u5355\u673a\u6216\u5206\u5e03\u5f0f\u6a21\u5f0f\u8fdb\u884c\u8bad\u7ec3\u3002\u5728 AI Lab \u5e73\u53f0\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 PaddlePaddle \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa PaddlePaddle \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                "},{"location":"baize/developer/jobs/paddle.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b\uff1aPaddlePaddle\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
                • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b PaddlePaddle \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                "},{"location":"baize/developer/jobs/paddle.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u6211\u4eec\u4f7f\u7528 registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 PaddlePaddle \u6846\u67b6\uff0c\u9002\u7528\u4e8e CPU \u8ba1\u7b97\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u8bf7\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u7248\u672c\u955c\u50cf\u3002

                \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                "},{"location":"baize/developer/jobs/paddle.html#paddlepaddle_1","title":"\u521b\u5efa PaddlePaddle \u4efb\u52a1","text":""},{"location":"baize/developer/jobs/paddle.html#paddlepaddle_2","title":"PaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1","text":""},{"location":"baize/developer/jobs/paddle.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                "},{"location":"baize/developer/jobs/paddle.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4\uff1apython
                • \u547d\u4ee4\u53c2\u6570\uff1a

                  -m paddle.distributed.launch run_check\n

                  \u8bf4\u660e\uff1a

                  • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\uff0c\u5373\u4f7f\u5728\u5355\u673a\u6a21\u5f0f\u4e0b\u4e5f\u53ef\u4ee5\u4f7f\u7528\uff0c\u65b9\u4fbf\u5c06\u6765\u8fc1\u79fb\u5230\u5206\u5e03\u5f0f\u3002
                  • run_check\uff1aPaddlePaddle \u63d0\u4f9b\u7684\u6d4b\u8bd5\u811a\u672c\uff0c\u7528\u4e8e\u68c0\u67e5\u5206\u5e03\u5f0f\u73af\u5883\u662f\u5426\u6b63\u5e38\u3002
                "},{"location":"baize/developer/jobs/paddle.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
                • \u8d44\u6e90\u8bf7\u6c42\uff1a
                  • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
                  • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
                  • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
                "},{"location":"baize/developer/jobs/paddle.html#paddlejob","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5355\u673a PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

                apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-simple-cpu\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 1\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'run_check',\n                              ]\n

                \u914d\u7f6e\u89e3\u6790\uff1a

                • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f PaddleJob\u3002
                • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u3002
                • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                  • paddleReplicaSpecs\uff1aPaddlePaddle \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                    • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
                      • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\uff0c\u8868\u793a\u5355\u673a\u8bad\u7ec3\u3002
                      • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a OnFailure\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u81ea\u52a8\u91cd\u542f\u3002
                      • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                        • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
                          • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
                          • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
                          • command\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                "},{"location":"baize/developer/jobs/paddle.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5355\u673a\u4efb\u52a1\u3002

                "},{"location":"baize/developer/jobs/paddle.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                run check success, PaddlePaddle is installed correctly on this node :)\n

                \u8fd9\u8868\u793a PaddlePaddle \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u73af\u5883\u914d\u7f6e\u6b63\u5e38\u3002

                "},{"location":"baize/developer/jobs/paddle.html#paddlepaddle_3","title":"PaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1","text":"

                \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cPaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

                "},{"location":"baize/developer/jobs/paddle.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
                2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
                "},{"location":"baize/developer/jobs/paddle.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4\uff1apython
                • \u547d\u4ee4\u53c2\u6570\uff1a

                  -m paddle.distributed.launch train.py --epochs=10\n

                  \u8bf4\u660e\uff1a

                  • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\u3002
                  • train.py\uff1a\u60a8\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u9700\u8981\u653e\u5728\u955c\u50cf\u4e2d\u6216\u6302\u8f7d\u5230\u5bb9\u5668\u5185\u3002
                  • --epochs=10\uff1a\u8bad\u7ec3\u7684\u8f6e\u6570\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 10\u3002
                "},{"location":"baize/developer/jobs/paddle.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                • \u4efb\u52a1\u526f\u672c\u6570\uff1a\u6839\u636e Worker \u526f\u672c\u6570\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u4e3a 2\u3002
                • \u8d44\u6e90\u8bf7\u6c42\uff1a
                  • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
                  • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
                  • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
                "},{"location":"baize/developer/jobs/paddle.html#paddlejob_1","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

                apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-distributed-job\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 2\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'train.py',\n                              ]\n                          args:\n                              - '--epochs=10'\n

                \u914d\u7f6e\u89e3\u6790\uff1a

                • Worker\uff1a
                  • replicas\uff1a\u526f\u672c\u6570\uff0c\u8bbe\u7f6e\u4e3a 2\uff0c\u8868\u793a\u4f7f\u7528 2 \u4e2a\u5de5\u4f5c\u8282\u70b9\u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002
                  • \u5176\u4ed6\u914d\u7f6e\u4e0e\u5355\u673a\u6a21\u5f0f\u7c7b\u4f3c\u3002
                "},{"location":"baize/developer/jobs/paddle.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                \u5728\u521b\u5efa PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e paddleReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                • \u603b\u526f\u672c\u6570 = Worker \u526f\u672c\u6570
                • \u672c\u793a\u4f8b\u4e2d\uff1a
                  • Worker \u526f\u672c\u6570\uff1a2
                  • \u603b\u526f\u672c\u6570\uff1a2

                \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 2\u3002

                "},{"location":"baize/developer/jobs/paddle.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                "},{"location":"baize/developer/jobs/paddle.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u5de5\u4f5c\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\uff0c\u786e\u8ba4\u5206\u5e03\u5f0f\u8bad\u7ec3\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                Worker 0: Epoch 1, Batch 100, Loss 0.5\nWorker 1: Epoch 1, Batch 100, Loss 0.6\n...\nTraining completed.\n

                \u8fd9\u8868\u793a PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                "},{"location":"baize/developer/jobs/paddle.html#_14","title":"\u5c0f\u7ed3","text":"

                \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 PaddleJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                "},{"location":"baize/developer/jobs/paddle.html#_15","title":"\u9644\u5f55","text":"
                • \u6ce8\u610f\u4e8b\u9879\uff1a

                  • \u8bad\u7ec3\u811a\u672c\uff1a\u786e\u4fdd train.py\uff08\u6216\u5176\u4ed6\u8bad\u7ec3\u811a\u672c\uff09\u5728\u5bb9\u5668\u5185\u5b58\u5728\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u81ea\u5b9a\u4e49\u955c\u50cf\u3001\u6302\u8f7d\u6301\u4e45\u5316\u5b58\u50a8\u7b49\u65b9\u5f0f\u5c06\u811a\u672c\u653e\u5165\u5bb9\u5668\u3002
                  • \u955c\u50cf\u9009\u62e9\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u955c\u50cf\uff0c\u4f8b\u5982\u4f7f\u7528 GPU \u65f6\u9009\u62e9 paddle:2.4.0rc0-gpu \u7b49\u3002
                  • \u53c2\u6570\u8c03\u6574\uff1a\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 command \u548c args \u6765\u4f20\u9012\u4e0d\u540c\u7684\u8bad\u7ec3\u53c2\u6570\u3002
                • \u53c2\u8003\u6587\u6863\uff1a

                  • PaddlePaddle \u5b98\u65b9\u6587\u6863
                  • Kubeflow PaddleJob \u6307\u5357
                "},{"location":"baize/developer/jobs/pytorch.html","title":"Pytorch \u4efb\u52a1","text":"

                Pytorch \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002 Pytorch \u4efb\u52a1\u662f\u4e00\u4e2a\u4f7f\u7528 Pytorch \u6846\u67b6\u7684\u4efb\u52a1\u3002

                \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 Pytorch \u4efb\u52a1\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c \u5feb\u901f\u521b\u5efa Pytorch \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                "},{"location":"baize/developer/jobs/pytorch.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Pytorch \u5355\u673a \u548c Pytorch \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
                • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Pytorch \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
                "},{"location":"baize/developer/jobs/pytorch.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

                \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                "},{"location":"baize/developer/jobs/pytorch.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"baize/developer/jobs/pytorch.html#pytorch_1","title":"Pytorch \u5355\u673a\u4efb\u52a1","text":"
                1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                "},{"location":"baize/developer/jobs/pytorch.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
                import torch\nimport torch.nn as nn\nimport torch.optim as optim\n\n# \u5b9a\u4e49\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc\nclass SimpleNet(nn.Module):\n    def __init__(self):\n        super(SimpleNet, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\n# \u521b\u5efa\u6a21\u578b\u3001\u635f\u5931\u51fd\u6570\u548c\u4f18\u5316\u5668\nmodel = SimpleNet()\ncriterion = nn.MSELoss()\noptimizer = optim.SGD(model.parameters(), lr=0.01)\n\n# \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = torch.randn(100, 10)\ny = torch.randn(100, 1)\n\n# \u8bad\u7ec3\u6a21\u578b\nfor epoch in range(100):\n    # \u524d\u5411\u4f20\u64ad\n    outputs = model(x)\n    loss = criterion(outputs, y)\n\n    # \u53cd\u5411\u4f20\u64ad\u548c\u4f18\u5316\n    optimizer.zero_grad()\n    loss.backward()\n    optimizer.step()\n\n    if (epoch + 1) % 10 == 0:\n        print(f'Epoch [{epoch+1}/100], Loss: {loss.item():.4f}')\n\nprint('Training finished.')\n
                "},{"location":"baize/developer/jobs/pytorch.html#_5","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa

                [HAMI-core Warn(1:140244541377408:utils.c:183)]: get default cuda from (null)\n[HAMI-core Msg(1:140244541377408:libvgpu.c:855)]: Initialized\nEpoch [10/100], Loss: 1.1248\nEpoch [20/100], Loss: 1.0486\nEpoch [30/100], Loss: 0.9969\nEpoch [40/100], Loss: 0.9611\nEpoch [50/100], Loss: 0.9360\nEpoch [60/100], Loss: 0.9182\nEpoch [70/100], Loss: 0.9053\nEpoch [80/100], Loss: 0.8960\nEpoch [90/100], Loss: 0.8891\nEpoch [100/100], Loss: 0.8841\nTraining finished.\n[HAMI-core Msg(1:140244541377408:multiprocess_memory_limit.c:468)]: Calling exit handler 1\n
                "},{"location":"baize/developer/jobs/pytorch.html#pytorch_2","title":"Pytorch \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
                1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                "},{"location":"baize/developer/jobs/pytorch.html#_6","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
                import os\nimport torch\nimport torch.distributed as dist\nimport torch.nn as nn\nimport torch.optim as optim\nfrom torch.nn.parallel import DistributedDataParallel as DDP\n\nclass SimpleModel(nn.Module):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f'PyTorch version: {torch.__version__}')\n    print(f'CUDA available: {torch.cuda.is_available()}')\n    if torch.cuda.is_available():\n        print(f'CUDA version: {torch.version.cuda}')\n        print(f'CUDA device count: {torch.cuda.device_count()}')\n\n    rank = int(os.environ.get('RANK', '0'))\n    world_size = int(os.environ.get('WORLD_SIZE', '1'))\n\n    print(f'Rank: {rank}, World Size: {world_size}')\n\n    # \u521d\u59cb\u5316\u5206\u5e03\u5f0f\u73af\u5883\n    try:\n        if world_size > 1:\n            dist.init_process_group('nccl')\n            print('Distributed process group initialized successfully')\n        else:\n            print('Running in non-distributed mode')\n    except Exception as e:\n        print(f'Error initializing process group: {e}')\n        return\n\n    # \u8bbe\u7f6e\u8bbe\u5907\n    try:\n        if torch.cuda.is_available():\n            device = torch.device(f'cuda:{rank % torch.cuda.device_count()}')\n            print(f'Using CUDA device: {device}')\n        else:\n            device = torch.device('cpu')\n            print('CUDA not available, using CPU')\n    except Exception as e:\n        print(f'Error setting device: {e}')\n        device = torch.device('cpu')\n        print('Falling back to CPU')\n\n    try:\n        model = SimpleModel().to(device)\n        print('Model moved to device successfully')\n    except Exception as e:\n        print(f'Error moving model to device: {e}')\n        return\n\n    try:\n        if world_size > 1:\n            ddp_model = DDP(model, device_ids=[rank % torch.cuda.device_count()] if torch.cuda.is_available() else None)\n            print('DDP model created successfully')\n        else:\n            ddp_model = model\n            print('Using non-distributed model')\n    except Exception as e:\n        print(f'Error creating DDP model: {e}')\n        return\n\n    loss_fn = nn.MSELoss()\n    optimizer = optim.SGD(ddp_model.parameters(), lr=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    try:\n        data = torch.randn(100, 10, device=device)\n        labels = torch.randn(100, 1, device=device)\n        print('Data generated and moved to device successfully')\n    except Exception as e:\n        print(f'Error generating or moving data to device: {e}')\n        return\n\n    for epoch in range(10):\n        try:\n            ddp_model.train()\n            outputs = ddp_model(data)\n            loss = loss_fn(outputs, labels)\n            optimizer.zero_grad()\n            loss.backward()\n            optimizer.step()\n\n            if rank == 0:\n                print(f'Epoch {epoch}, Loss: {loss.item():.4f}')\n        except Exception as e:\n            print(f'Error during training epoch {epoch}: {e}')\n            break\n\n    if world_size > 1:\n        dist.destroy_process_group()\n\nif __name__ == '__main__':\n    train()\n
                "},{"location":"baize/developer/jobs/pytorch.html#_7","title":"\u4efb\u52a1\u526f\u672c\u6570","text":"

                \u6ce8\u610f Pytorch \u5206\u5e03\u5f0f \u8bad\u7ec3\u4efb\u52a1\u4f1a\u521b\u5efa\u4e00\u7ec4 Master \u548c Worker \u7684\u8bad\u7ec3 Pod\uff0c Master \u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u4efb\u52a1\uff0cWorker \u8d1f\u8d23\u5b9e\u9645\u7684\u8bad\u7ec3\u5de5\u4f5c\u3002

                Note

                \u672c\u6b21\u6f14\u793a\u4e2d\uff1aMaster \u526f\u672c\u6570\u4e3a 1\uff0cWorker \u526f\u672c\u6570\u4e3a 2\uff1b \u6240\u4ee5\u6211\u4eec\u9700\u8981\u5728 \u4efb\u52a1\u914d\u7f6e \u4e2d\u8bbe\u7f6e\u526f\u672c\u6570\u4e3a 3\uff0c\u5373 Master \u526f\u672c\u6570 + Worker \u526f\u672c\u6570\u3002 Pytorch \u4f1a\u81ea\u52a8\u8c03\u8c10 Master \u548c Worker \u7684\u89d2\u8272\u3002

                "},{"location":"baize/developer/jobs/pytorch.html#_8","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                "},{"location":"baize/developer/jobs/tensorboard.html","title":"\u4efb\u52a1\u5206\u6790\u4ecb\u7ecd","text":"

                \u5728 DCE 5.0 AI Lab \u6a21\u5757\u4e2d\uff0c\u63d0\u4f9b\u4e86\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u91cd\u8981\u7684\u53ef\u89c6\u5316\u5206\u6790\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09\u7684\u57fa\u672c\u6982\u5ff5\u3001\u5728 AI Lab \u7cfb\u7edf\u4e2d\u7684\u4f7f\u7528\u65b9\u6cd5\uff0c\u4ee5\u53ca\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9\u3002

                Note

                Tensorboard \u662f TensorFlow \u63d0\u4f9b\u7684\u4e00\u4e2a\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u5b83\u53ef\u4ee5\u5e2e\u52a9\u5f00\u53d1\u8005\u66f4\u76f4\u89c2\u5730\u7406\u89e3\u6a21\u578b\u7684\u8bad\u7ec3\u52a8\u6001\uff0c\u5206\u6790\u6a21\u578b\u6027\u80fd\uff0c\u8c03\u8bd5\u6a21\u578b\u95ee\u9898\u7b49\u3002

                Tensorboard \u5728\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7684\u4f5c\u7528\u53ca\u4f18\u52bf\uff1a

                • \u53ef\u89c6\u5316\u8bad\u7ec3\u8fc7\u7a0b\uff1a\u901a\u8fc7\u56fe\u8868\u5c55\u793a\u8bad\u7ec3\u548c\u9a8c\u8bc1\u7684\u635f\u5931\u3001\u7cbe\u5ea6\u7b49\u6307\u6807\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u76f4\u89c2\u5730\u89c2\u5bdf\u6a21\u578b\u7684\u8bad\u7ec3\u6548\u679c\u3002
                • \u8c03\u8bd5\u548c\u4f18\u5316\u6a21\u578b\uff1a\u901a\u8fc7\u67e5\u770b\u4e0d\u540c\u5c42\u7684\u6743\u91cd\u3001\u68af\u5ea6\u5206\u5e03\u7b49\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u53d1\u73b0\u548c\u4fee\u6b63\u6a21\u578b\u4e2d\u7684\u95ee\u9898\u3002
                • \u5bf9\u6bd4\u4e0d\u540c\u5b9e\u9a8c\uff1a\u53ef\u4ee5\u540c\u65f6\u5c55\u793a\u591a\u4e2a\u5b9e\u9a8c\u7684\u7ed3\u679c\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5bf9\u6bd4\u4e0d\u540c\u6a21\u578b\u548c\u8d85\u53c2\u6570\u914d\u7f6e\u7684\u6548\u679c\u3002
                • \u8ffd\u8e2a\u8bad\u7ec3\u6570\u636e\uff1a\u8bb0\u5f55\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u6570\u636e\u96c6\u548c\u53c2\u6570\uff0c\u786e\u4fdd\u5b9e\u9a8c\u7684\u53ef\u590d\u73b0\u6027\u3002
                "},{"location":"baize/developer/jobs/tensorboard.html#tensorboard","title":"\u5982\u4f55\u521b\u5efa Tensorboard","text":"

                \u5728 AI Lab \u7cfb\u7edf\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u65b9\u5f0f\u6765\u521b\u5efa\u548c\u7ba1\u7406 Tensorboard\u3002\u4ee5\u4e0b\u662f\u5177\u4f53\u6b65\u9aa4\uff1a

                "},{"location":"baize/developer/jobs/tensorboard.html#notebook-tensorboard","title":"\u5728\u521b\u5efa\u65f6 Notebook \u542f\u7528 Tensorboard","text":"
                1. \u521b\u5efa Notebook\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Notebook\u3002
                2. \u542f\u7528 Tensorboard\uff1a\u5728\u521b\u5efa Notebook \u7684\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002

                "},{"location":"baize/developer/jobs/tensorboard.html#tensorboard_1","title":"\u5728\u5206\u5e03\u5f0f\u4efb\u52a1\u521b\u5efa\u53ca\u5b8c\u6210\u540e\u542f\u7528 Tensorboard","text":"
                1. \u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3002
                2. \u914d\u7f6e Tensorboard\uff1a\u5728\u4efb\u52a1\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002
                3. \u4efb\u52a1\u5b8c\u6210\u540e\u67e5\u770b Tensorboard\uff1a\u4efb\u52a1\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u4efb\u52a1\u8be6\u60c5\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\uff0c\u70b9\u51fb\u94fe\u63a5\u5373\u53ef\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

                "},{"location":"baize/developer/jobs/tensorboard.html#notebook-tensorboard_1","title":"\u5728 Notebook \u4e2d\u76f4\u63a5\u5f15\u7528 Tensorboard","text":"

                \u5728 Notebook \u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee3\u7801\u76f4\u63a5\u542f\u52a8 Tensorboard\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\nimport datetime\n\n# \u5b9a\u4e49\u65e5\u5fd7\u76ee\u5f55\nlog_dir = \"logs/fit/\" + datetime.datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n\n# \u521b\u5efa Tensorboard \u56de\u8c03\ntensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)\n\n# \u6784\u5efa\u5e76\u7f16\u8bd1\u6a21\u578b\nmodel = tf.keras.models.Sequential([\n    tf.keras.layers.Flatten(input_shape=(28, 28)),\n    tf.keras.layers.Dense(512, activation='relu'),\n    tf.keras.layers.Dropout(0.2),\n    tf.keras.layers.Dense(10, activation='softmax')\n])\n\nmodel.compile(optimizer='adam',\n              loss='sparse_categorical_crossentropy',\n              metrics=['accuracy'])\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u542f\u7528 Tensorboard \u56de\u8c03\nmodel.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])\n
                "},{"location":"baize/developer/jobs/tensorboard.html#_2","title":"\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9","text":"

                \u5728\u4f7f\u7528 Tensorboard \u65f6\uff0c\u53ef\u4ee5\u8bb0\u5f55\u548c\u914d\u7f6e\u4e0d\u540c\u7684\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u5185\u5bb9\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5e38\u89c1\u7684\u914d\u7f6e\u65b9\u5f0f\uff1a

                "},{"location":"baize/developer/jobs/tensorboard.html#_3","title":"\u914d\u7f6e\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7","text":"

                \u5728\u8bad\u7ec3\u6a21\u578b\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 TensorFlow \u7684 tf.summary API \u6765\u8bb0\u5f55\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\n\n# \u521b\u5efa\u65e5\u5fd7\u76ee\u5f55\ntrain_log_dir = 'logs/gradient_tape/train'\nval_log_dir = 'logs/gradient_tape/val'\ntrain_summary_writer = tf.summary.create_file_writer(train_log_dir)\nval_summary_writer = tf.summary.create_file_writer(val_log_dir)\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u8bb0\u5f55\u65e5\u5fd7\nfor epoch in range(EPOCHS):\n    for (x_train, y_train) in train_dataset:\n        # \u8bad\u7ec3\u6b65\u9aa4\n        train_step(x_train, y_train)\n        with train_summary_writer.as_default():\n            tf.summary.scalar('loss', train_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', train_accuracy.result(), step=epoch)\n\n    for (x_val, y_val) in val_dataset:\n        # \u9a8c\u8bc1\u6b65\u9aa4\n        val_step(x_val, y_val)\n        with val_summary_writer.as_default():\n            tf.summary.scalar('loss', val_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', val_accuracy.result(), step=epoch)\n
                "},{"location":"baize/developer/jobs/tensorboard.html#_4","title":"\u914d\u7f6e\u81ea\u5b9a\u4e49\u65e5\u5fd7","text":"

                \u9664\u4e86\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5916\uff0c\u8fd8\u53ef\u4ee5\u8bb0\u5f55\u5176\u4ed6\u81ea\u5b9a\u4e49\u7684\u65e5\u5fd7\u5185\u5bb9\uff0c\u4f8b\u5982\u5b66\u4e60\u7387\u3001\u68af\u5ea6\u5206\u5e03\u7b49\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                # \u8bb0\u5f55\u81ea\u5b9a\u4e49\u65e5\u5fd7\nwith train_summary_writer.as_default():\n    tf.summary.scalar('learning_rate', learning_rate, step=epoch)\n    tf.summary.histogram('gradients', gradients, step=epoch)\n
                "},{"location":"baize/developer/jobs/tensorboard.html#tensorboard_2","title":"Tensorboard \u7ba1\u7406","text":"

                \u5728 AI Lab \u4e2d\uff0c\u901a\u8fc7\u5404\u79cd\u65b9\u5f0f\u521b\u5efa\u51fa\u6765\u7684 Tensorboard \u4f1a\u7edf\u4e00\u5c55\u793a\u5728\u4efb\u52a1\u5206\u6790\u7684\u9875\u9762\u4e2d\uff0c\u65b9\u4fbf\u7528\u6237\u67e5\u770b\u548c\u7ba1\u7406\u3002

                \u7528\u6237\u53ef\u4ee5\u5728\u4efb\u52a1\u5206\u6790\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\u3001\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u4fe1\u606f\uff0c\u5e76\u901a\u8fc7\u94fe\u63a5\u76f4\u63a5\u8bbf\u95ee Tensorboard \u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

                "},{"location":"baize/developer/jobs/tensorflow.html","title":"Tensorflow \u4efb\u52a1","text":"

                Tensorflow \u662f\u9664\u4e86 Pytorch \u53e6\u5916\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u7684\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002

                \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u540c\u6837\u63d0\u4f9b\u4e86 Tensorflow \u6846\u67b6\u7684\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa Tensorflow \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                "},{"location":"baize/developer/jobs/tensorflow.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Tensorflow \u5355\u673a \u548c Tensorflow \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
                • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Tensorflow \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
                "},{"location":"baize/developer/jobs/tensorflow.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

                \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                "},{"location":"baize/developer/jobs/tensorflow.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"baize/developer/jobs/tensorflow.html#tfjob","title":"\u793a\u4f8b TFJob \u5355\u673a\u4efb\u52a1","text":"
                1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                "},{"location":"baize/developer/jobs/tensorflow.html#_4","title":"\u63d0\u524d\u9884\u70ed\u4ee3\u7801\u4ed3\u5e93","text":"

                \u4f7f\u7528 AI Lab -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u96c6\uff0c\u5e76\u5c06\u8fdc\u7aef Github \u7684\u4ee3\u7801\u62c9\u53d6\u5230\u6570\u636e\u96c6\u4e2d\uff0c \u8fd9\u6837\u5728\u521b\u5efa\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u9009\u62e9\u6570\u636e\u96c6\uff0c\u5c06\u4ee3\u7801\u6302\u8f7d\u5230\u4efb\u52a1\u4e2d\u3002

                \u6f14\u793a\u4ee3\u7801\u4ed3\u5e93\u5730\u5740\uff1ahttps://github.com/d-run/training-sample-code/

                "},{"location":"baize/developer/jobs/tensorflow.html#_5","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tf-single.py
                \"\"\"\n  pip install tensorflow numpy\n\"\"\"\n\nimport tensorflow as tf\nimport numpy as np\n\n# \u521b\u5efa\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = np.random.rand(100, 1)\ny = 2 * x + 1 + np.random.rand(100, 1) * 0.1\n\n# \u521b\u5efa\u4e00\u4e2a\u7b80\u5355\u7684\u6a21\u578b\nmodel = tf.keras.Sequential([\n    tf.keras.layers.Dense(1, input_shape=(1,))\n])\n\n# \u7f16\u8bd1\u6a21\u578b\nmodel.compile(optimizer='adam', loss='mse')\n\n# \u8bad\u7ec3\u6a21\u578b\uff0c\u5c06 epochs \u6539\u4e3a 10\nhistory = model.fit(x, y, epochs=10, verbose=1)\n\n# \u6253\u5370\u6700\u7ec8\u635f\u5931\nprint('Final loss: {' + str(history.history['loss'][-1]) +'}')\n\n# \u4f7f\u7528\u6a21\u578b\u8fdb\u884c\u9884\u6d4b\ntest_x = np.array([[0.5]])\nprediction = model.predict(test_x)\nprint(f'Prediction for x=0.5: {prediction[0][0]}')\n
                "},{"location":"baize/developer/jobs/tensorflow.html#_6","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                "},{"location":"baize/developer/jobs/tensorflow.html#tfjob_1","title":"TFJob \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
                1. \u767b\u5f55 AI Lab \uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                "},{"location":"baize/developer/jobs/tensorflow.html#_7","title":"\u793a\u4f8b\u4efb\u52a1\u4ecb\u7ecd","text":"

                \u672c\u6b21\u5305\u542b\u4e86\u4e09\u79cd\u89d2\u8272\uff1aChief\u3001Worker \u548c Parameter Server (PS)\u3002

                • Chief: \u4e3b\u8981\u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u8fc7\u7a0b\u548c\u6a21\u578b\u68c0\u67e5\u70b9\u7684\u4fdd\u5b58\u3002
                • Worker: \u6267\u884c\u5b9e\u9645\u7684\u6a21\u578b\u8bad\u7ec3\u3002
                • PS: \u5728\u5f02\u6b65\u8bad\u7ec3\u4e2d\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\u3002

                \u4e3a\u4e0d\u540c\u7684\u89d2\u8272\u5206\u914d\u4e86\u4e0d\u540c\u7684\u8d44\u6e90\u3002Chief \u548c Worker \u4f7f\u7528 GPU\uff0c\u800c PS \u4f7f\u7528 CPU \u548c\u8f83\u5927\u7684\u5185\u5b58\u3002

                "},{"location":"baize/developer/jobs/tensorflow.html#_8","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tensorflow-distributed.py
                import os\nimport json\nimport tensorflow as tf\n\nclass SimpleModel(tf.keras.Model):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = tf.keras.layers.Dense(1, input_shape=(10,))\n\n    def call(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f\"TensorFlow version: {tf.__version__}\")\n    print(f\"GPU available: {tf.test.is_gpu_available()}\")\n    if tf.test.is_gpu_available():\n        print(f\"GPU device count: {len(tf.config.list_physical_devices('GPU'))}\")\n\n    # \u83b7\u53d6\u5206\u5e03\u5f0f\u8bad\u7ec3\u4fe1\u606f\n    tf_config = json.loads(os.environ.get('TF_CONFIG') or '{}')\n    task_type = tf_config.get('task', {}).get('type')\n    task_id = tf_config.get('task', {}).get('index')\n\n    print(f\"Task type: {task_type}, Task ID: {task_id}\")\n\n    # \u8bbe\u7f6e\u5206\u5e03\u5f0f\u7b56\u7565\n    strategy = tf.distribute.experimental.MultiWorkerMirroredStrategy()\n\n    with strategy.scope():\n        model = SimpleModel()\n        loss_fn = tf.keras.losses.MeanSquaredError()\n        optimizer = tf.keras.optimizers.SGD(learning_rate=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    data = tf.random.normal((100, 10))\n    labels = tf.random.normal((100, 1))\n\n    @tf.function\n    def train_step(inputs, labels):\n        with tf.GradientTape() as tape:\n            predictions = model(inputs)\n            loss = loss_fn(labels, predictions)\n        gradients = tape.gradient(loss, model.trainable_variables)\n        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n        return loss\n\n    for epoch in range(10):\n        loss = train_step(data, labels)\n        if task_type == 'chief':\n            print(f'Epoch {epoch}, Loss: {loss.numpy():.4f}')\n\nif __name__ == '__main__':\n    train()\n
                "},{"location":"baize/developer/jobs/tensorflow.html#_9","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                "},{"location":"baize/developer/jobs/view.html","title":"\u67e5\u770b\u4efb\u52a1\uff08Job\uff09\u5de5\u4f5c\u8d1f\u8f7d","text":"

                \u4efb\u52a1\u521b\u5efa\u597d\u540e\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u3002

                1. \u5728\u8bad\u7ec3\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u4efb\u52a1\u53f3\u4fa7\u7684 \u2507 -> \u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u3002

                2. \u51fa\u73b0\u4e00\u4e2a\u5f39\u7a97\u9009\u62e9\u8981\u67e5\u770b\u54ea\u4e2a Pod \u540e\uff0c\u70b9\u51fb \u8fdb\u5165 \u3002

                3. \u8df3\u8f6c\u5230\u5bb9\u5668\u7ba1\u7406\u754c\u9762\uff0c\u53ef\u4ee5\u67e5\u770b\u5bb9\u5668\u7684\u5de5\u4f5c\u72b6\u6001\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4ee5\u53ca\u53d1\u751f\u7684\u4e8b\u4ef6\u3002

                4. \u4f60\u8fd8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d Pod \u6700\u8fd1\u4e00\u6bb5\u65f6\u95f4\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002 \u6b64\u5904\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u65e5\u5fd7\uff0c\u5982\u679c\u8981\u67e5\u770b\u66f4\u8be6\u7ec6\u7684\u65e5\u5fd7\u6d3b\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u8bf7\u70b9\u51fb\u9876\u90e8\u7684\u84dd\u8272 \u53ef\u89c2\u6d4b\u6027 \u6587\u5b57\u3002

                5. \u5f53\u7136\u4f60\u8fd8\u53ef\u4ee5\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684 ... \uff0c\u67e5\u770b\u5f53\u524d Pod \u7684 YAML\u3001\u4e0a\u4f20\u548c\u4e0b\u8f7d\u6587\u4ef6\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a Pod \u7684 YAML \u793a\u4f8b\u3002

                kind: Pod\napiVersion: v1\nmetadata:\n  name: neko-tensorboard-job-test-202404181843-skxivllb-worker-0\n  namespace: default\n  uid: ddedb6ff-c278-47eb-ae1e-0de9b7c62f8c\n  resourceVersion: '41092552'\n  creationTimestamp: '2024-04-18T10:43:36Z'\n  labels:\n    training.kubeflow.org/job-name: neko-tensorboard-job-test-202404181843-skxivllb\n    training.kubeflow.org/operator-name: pytorchjob-controller\n    training.kubeflow.org/replica-index: '0'\n    training.kubeflow.org/replica-type: worker\n  annotations:\n    cni.projectcalico.org/containerID: 0cfbb9af257d5e69027c603c6cb2d3890a17c4ae1a145748d5aef73a10d7fbe1\n    cni.projectcalico.org/podIP: ''\n    cni.projectcalico.org/podIPs: ''\n    hami.io/bind-phase: success\n    hami.io/bind-time: '1713437016'\n    hami.io/vgpu-devices-allocated: GPU-29d5fa0d-935b-2966-aff8-483a174d61d1,NVIDIA,1024,20:;\n    hami.io/vgpu-devices-to-allocate: ;\n    hami.io/vgpu-node: worker-a800-1\n    hami.io/vgpu-time: '1713437016'\n    k8s.v1.cni.cncf.io/network-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n    k8s.v1.cni.cncf.io/networks-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n  ownerReferences:\n    - apiVersion: kubeflow.org/v1\n      kind: PyTorchJob\n      name: neko-tensorboard-job-test-202404181843-skxivllb\n      uid: e5a8b05d-1f03-4717-8e1c-4ec928014b7b\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  volumes:\n    - name: 0-dataset-pytorch-examples\n      persistentVolumeClaim:\n        claimName: pytorch-examples\n    - name: kube-api-access-wh9rh\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n  containers:\n    - name: pytorch\n      image: m.daocloud.io/docker.io/pytorch/pytorch\n      command:\n        - bash\n      args:\n        - '-c'\n        - >-\n          ls -la /root && which pip && pip install pytorch_lightning tensorboard\n          && python /root/Git/pytorch/examples/mnist/main.py\n      ports:\n        - name: pytorchjob-port\n          containerPort: 23456\n          protocol: TCP\n      env:\n        - name: PYTHONUNBUFFERED\n          value: '1'\n        - name: PET_NNODES\n          value: '1'\n      resources:\n        limits:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n        requests:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n      volumeMounts:\n        - name: 0-dataset-pytorch-examples\n          mountPath: /root/Git/pytorch/examples\n        - name: kube-api-access-wh9rh\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Never\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: worker-a800-1\n  securityContext: {}\n  affinity: {}\n  schedulerName: hami-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priorityClassName: baize-high-priority\n  priority: 100000\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\nstatus:\n  phase: Succeeded\n  conditions:\n    - type: Initialized\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n      reason: PodCompleted\n    - type: Ready\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: ContainersReady\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: PodScheduled\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n  hostIP: 10.20.100.211\n  podIP: 10.233.97.184\n  podIPs:\n    - ip: 10.233.97.184\n  startTime: '2024-04-18T10:43:36Z'\n  containerStatuses:\n    - name: pytorch\n      state:\n        terminated:\n          exitCode: 0\n          reason: Completed\n          startedAt: '2024-04-18T10:43:39Z'\n          finishedAt: '2024-04-18T10:46:34Z'\n          containerID: >-\n            containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      lastState: {}\n      ready: false\n      restartCount: 0\n      image: m.daocloud.io/docker.io/pytorch/pytorch:latest\n      imageID: >-\n        m.daocloud.io/docker.io/pytorch/pytorch@sha256:11691e035a3651d25a87116b4f6adc113a27a29d8f5a6a583f8569e0ee5ff897\n      containerID: >-\n        containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      started: false\n  qosClass: Guaranteed\n
                "},{"location":"baize/developer/notebooks/baizectl.html","title":"baizectl \u547d\u4ee4\u884c\u5de5\u5177\u4f7f\u7528\u6307\u5357","text":"

                baizectl \u662f\u5728 DCE 5.0 AI Lab \u6a21\u5757\u4e2d\u4e13\u95e8\u670d\u52a1\u4e8e\u6a21\u578b\u5f00\u53d1\u8005\u4e0e\u6570\u636e\u79d1\u5b66\u5bb6\u4eec\u4f7f\u7528\u7684\u547d\u4ee4\u884c\u5de5\u5177\u3002 \u5b83\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u547d\u4ee4\u6765\u5e2e\u52a9\u7528\u6237\u7ba1\u7406\u5206\u5e03\u5f0f\u8bad\u7ec3\u4f5c\u4e1a\u3001\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u3001\u7ba1\u7406\u6570\u636e\u96c6\u7b49\u64cd\u4f5c\uff0c\u540c\u65f6\u652f\u6301\u8fde\u63a5 Kubernetes \u5de5\u4f5c\u96c6\u7fa4\u548c DCE 5.0 \u5de5\u4f5c\u7a7a\u95f4\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u9ad8\u6548\u5730\u4f7f\u7528\u548c\u7ba1\u7406 Kubernetes \u5e73\u53f0\u8d44\u6e90\u3002

                "},{"location":"baize/developer/notebooks/baizectl.html#_1","title":"\u5b89\u88c5","text":"

                \u76ee\u524d\uff0cbaizectl \u5df2\u7ecf\u96c6\u6210\u5728 DCE 5.0 AI Lab \u4e2d\u3002 \u4f60\u5728\u521b\u5efa Notebook \u540e\uff0c\u5373\u53ef\u5728 Notebook \u4e2d\u76f4\u63a5\u4f7f\u7528 baizectl\u3002

                "},{"location":"baize/developer/notebooks/baizectl.html#_2","title":"\u5feb\u901f\u4e0a\u624b","text":""},{"location":"baize/developer/notebooks/baizectl.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                baizectl \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

                jovyan@19d0197587cc:/$ baizectl\nAI platform management tool\n\nUsage:\n  baizectl [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  data        Management datasets\n  help        Help about any command\n  job         Manage jobs\n  login       Login to the platform\n  version     Show cli version\n\nFlags:\n      --cluster string     Cluster name to operate\n  -h, --help               help for baizectl\n      --mode string        Connection mode: auto, api, notebook (default \"auto\")\n  -n, --namespace string   Namespace to use for the operation. If not set, the default Namespace will be used.\n  -s, --server string      DCE5 access base url\n      --skip-tls-verify    Skip TLS certificate verification\n      --token string       DCE5 access token\n  -w, --workspace int32    Workspace ID to use for the operation\n\nUse \"baizectl [command] --help\" for more information about a command.\n

                \u4ee5\u4e0a\u662f baizectl \u7684\u57fa\u672c\u4fe1\u606f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl --help \u67e5\u770b\u5e2e\u52a9\u4fe1\u606f\uff0c \u6216\u8005\u901a\u8fc7 baizectl [command] --help \u67e5\u770b\u5177\u4f53\u547d\u4ee4\u7684\u5e2e\u52a9\u4fe1\u606f\u3002

                "},{"location":"baize/developer/notebooks/baizectl.html#_4","title":"\u67e5\u770b\u7248\u672c\u4fe1\u606f","text":"

                baizectl \u652f\u6301\u901a\u8fc7 version \u547d\u4ee4\u67e5\u770b\u7248\u672c\u4fe1\u606f\u3002

                (base) jovyan@den-0:~$ baizectl version \nbaizectl version: v0.5.0, commit sha: ac0837c4\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_5","title":"\u547d\u4ee4\u683c\u5f0f","text":"

                baizectl \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

                baizectl [command] [flags]\n

                \u5176\u4e2d\uff0c[command] \u662f\u5177\u4f53\u7684\u64cd\u4f5c\u547d\u4ee4\uff0c\u5982 data\u3001job \u7b49\uff0c[flags] \u662f\u53ef\u9009\u7684\u53c2\u6570\uff0c\u7528\u4e8e\u6307\u5b9a\u64cd\u4f5c\u7684\u8be6\u7ec6\u4fe1\u606f\u3002

                "},{"location":"baize/developer/notebooks/baizectl.html#_6","title":"\u5e38\u7528\u9009\u9879","text":"
                • --cluster string\uff1a\u6307\u5b9a\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u540d\u79f0\u3002
                • -h, --help\uff1a\u663e\u793a\u5e2e\u52a9\u4fe1\u606f\u3002
                • --mode string\uff1a\u8fde\u63a5\u6a21\u5f0f\uff0c\u53ef\u9009\u503c\u4e3a auto\u3001api\u3001notebook\uff08\u9ed8\u8ba4\u503c\u4e3a auto\uff09\u3002
                • -n, --namespace string\uff1a\u6307\u5b9a\u64cd\u4f5c\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5982\u679c\u672a\u8bbe\u7f6e\uff0c\u5c06\u4f7f\u7528\u9ed8\u8ba4\u547d\u540d\u7a7a\u95f4\u3002
                • -s, --server string\uff1aDCE5 \u8bbf\u95ee\u57fa\u7840 URL\u3002
                • --skip-tls-verify\uff1a\u8df3\u8fc7 TLS \u8bc1\u4e66\u9a8c\u8bc1\u3002
                • --token string\uff1aDCE5 \u8bbf\u95ee\u4ee4\u724c\u3002
                • -w, --workspace int32\uff1a\u6307\u5b9a\u64cd\u4f5c\u7684\u5de5\u4f5c\u533a ID\u3002
                "},{"location":"baize/developer/notebooks/baizectl.html#_7","title":"\u529f\u80fd\u4ecb\u7ecd","text":""},{"location":"baize/developer/notebooks/baizectl.html#_8","title":"\u4efb\u52a1\u7ba1\u7406","text":"

                baizectl \u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u547d\u4ee4\u6765\u7ba1\u7406\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\uff0c\u5305\u542b\u4e86\u67e5\u770b\u4efb\u52a1\u5217\u8868\uff0c\u63d0\u4ea4\u4efb\u52a1\u3001\u67e5\u770b\u65e5\u5fd7\u3001\u91cd\u542f\u4efb\u52a1\u3001\u5220\u9664\u4efb\u52a1\u7b49\u3002

                jovyan@19d0197587cc:/$ baizectl job\nManage jobs\n\nUsage:\n  baizectl job [command]\n\nAvailable Commands:\n  delete      Delete a job\n  logs        Show logs of a job\n  ls          List jobs\n  restart     restart a job\n  submit      Submit a job\n\nFlags:\n  -h, --help            help for job\n  -o, --output string   Output format. One of: table, json, yaml (default \"table\")\n      --page int        Page number (default 1)\n      --page-size int   Page size (default -1)\n      --search string   Search query\n      --sort string     Sort order\n      --truncate int    Truncate output to the given length, 0 means no truncation (default 50)\n\nUse \"baizectl job [command] --help\" for more information about a command.\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_9","title":"\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1","text":"

                baizectl \u652f\u6301\u4f7f\u7528 submit \u547d\u4ee4\u63d0\u4ea4\u4e00\u4e2a\u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job submit --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                (base) jovyan@den-0:~$ baizectl job submit --help\nSubmit a job\n\nUsage:\n  baizectl job submit [flags] -- command ...\n\nAliases:\n  submit, create\n\nExamples:\n# Submit a job to run the command \"torchrun python train.py\"\nbaizectl job submit -- torchrun python train.py\n# Submit a job with 2 workers(each pod use 4 gpus) to run the command \"torchrun python train.py\" and use the image \"pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime\"\nbaizectl job submit --image pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime --workers 2 --resources nvidia.com/gpu=4 -- torchrun python train.py\n# Submit a tensorflow job to run the command \"python train.py\"\nbaizectl job submit --tensorflow -- python train.py\n\n\nFlags:\n      --annotations stringArray                       The annotations of the job, the format is key=value\n      --auto-load-env                                 It only takes effect when executed in Notebook, the environment variables of the current environment will be automatically read and set to the environment variables of the Job, the specific environment variables to be read can be specified using the BAIZE_MAPPING_ENVS environment variable, the default is PATH,CONDA_*,*PYTHON*,NCCL_*, if set to false, the environment variables of the current environment will not be read. (default true)\n      --commands stringArray                          The default command of the job\n  -d, --datasets stringArray                          The dataset bind to the job, the format is datasetName:mountPath, e.g. mnist:/data/mnist\n  -e, --envs stringArray                              The environment variables of the job, the format is key=value\n  -x, --from-notebook string                          Define whether to read the configuration of the current Notebook and directly create tasks, including images, resources, Dataset, etc.\n                                                      auto: Automatically determine the mode according to the current environment. If the current environment is a Notebook, it will be set to notebook mode.\n                                                      false: Do not read the configuration of the current Notebook.\n                                                      true: Read the configuration of the current Notebook. (default \"auto\")\n  -h, --help                                          help for submit\n      --image string                                  The image of the job, it must be specified if fromNotebook is false.\n  -t, --job-type string                               Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --labels stringArray                            The labels of the job, the format is key=value\n      --max-retries int32                             number of retries before marking this job failed\n      --max-run-duration int                          Specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it\n      --name string                                   The name of the job, if empty, the name will be generated automatically.\n      --paddle                                        PaddlePaddle Job, has higher priority than --job-type\n      --priority string                               The priority of the job, current support baize-medium-priority, baize-low-priority, baize-high-priority\n      --pvcs stringArray                              The pvcs bind to the job, the format is pvcName:mountPath, e.g. mnist:/data/mnist\n      --pytorch                                       Pytorch Job, has higher priority than --job-type\n      --queue string                                  The queue to used\n      --requests-resources stringArray                Similar to resources, but sets the resources of requests\n      --resources stringArray                         The resources of the job, it is a string in the format of cpu=1,memory=1Gi,nvidia.com/gpu=1, it will be set to the limits and requests of the container.\n      --restart-policy string                         The job restart policy (default \"on-failure\")\n      --runtime-envs baizectl data ls --runtime-env   The runtime environment to use for the job, you can use baizectl data ls --runtime-env to get the runtime environment\n      --shm-size int32                                The shared memory size of the job, default is 0, which means no shared memory, if set to more than 0, the job will use the shared memory, the unit is MiB\n      --tensorboard-log-dir string                    The tensorboard log directory, if set, the job will automatically start tensorboard, else not. The format is /path/to/log, you can use relative path in notebook.\n      --tensorflow                                    Tensorflow Job, has higher priority than --job-type\n      --workers int                                   The workers of the job, default is 1, which means single worker, if set to more than 1, the job will be distributed. (default 1)\n      --working-dir string                            The working directory of job container, if in notebook mode, the default is the directory of the current file\n

                Note

                \u63d0\u4ea4\u4efb\u52a1\u7684\u547d\u4ee4\u53c2\u6570\u8bf4\u660e\uff1a

                • --name: \u4efb\u52a1\u540d\u79f0\uff0c\u5982\u679c\u4e3a\u7a7a\uff0c\u5219\u4f1a\u81ea\u52a8\u751f\u6210
                • --image: \u955c\u50cf\u540d\u79f0\uff0c\u5fc5\u987b\u6307\u5b9a
                • --priority: \u4efb\u52a1\u4f18\u5148\u7ea7\uff0c\u652f\u6301 \u9ad8=baize-high-priority\u3001\u4e2d=baize-medium-priority\u3001\u4f4e=baize-low-priority
                • --resources: \u4efb\u52a1\u8d44\u6e90\uff0c\u683c\u5f0f\u4e3a cpu=1 memory=1Gi,nvidia.com/gpu=1
                • --workers: \u4efb\u52a1\u5de5\u4f5c\u8282\u70b9\u6570\uff0c\u9ed8\u8ba4\u4e3a 1\uff0c\u5f53\u8bbe\u7f6e\u5927\u4e8e 1 \u65f6\uff0c\u4efb\u52a1\u5c06\u4f1a\u5206\u5e03\u5f0f\u8fd0\u884c
                • --queue: \u4efb\u52a1\u961f\u5217\uff0c\u9700\u8981\u63d0\u524d\u521b\u5efa\u961f\u5217\u8d44\u6e90
                • --working-dir: \u5de5\u4f5c\u76ee\u5f55\uff0c\u5982\u679c\u5728 Notebook \u6a21\u5f0f\u4e0b\uff0c\u4f1a\u9ed8\u8ba4\u4f7f\u7528\u5f53\u524d\u6587\u4ef6\u76ee\u5f55
                • --datasets: \u6570\u636e\u96c6\uff0c\u683c\u5f0f\u4e3a datasetName:mountPath\uff0c\u4f8b\u5982 mnist:/data/mnist
                • --shm-size: \u5171\u4eab\u5185\u5b58\u5927\u5c0f\uff0c\u5728\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u542f\u7528\uff0c\u8868\u793a\u4f7f\u7528\u5171\u4eab\u5185\u5b58\uff0c\u5355\u4f4d\u4e3a MiB
                • --labels: \u4efb\u52a1\u6807\u7b7e\uff0c\u683c\u5f0f\u4e3a key=value
                • --max-retries: \u6700\u5927\u91cd\u8bd5\u6b21\u6570\uff0c\u4efb\u52a1\u5931\u8d25\u540e\u91cd\u8bd5\u6b21\u6570\uff0c\u5931\u8d25\u540e\u4f1a\u91cd\u542f\u4efb\u52a1\uff0c\u9ed8\u8ba4\u4e0d\u9650\u5236
                • --max-run-duration: \u6700\u5927\u8fd0\u884c\u65f6\u95f4\uff0c\u4efb\u52a1\u8fd0\u884c\u65f6\u95f4\u8d85\u8fc7\u6307\u5b9a\u65f6\u95f4\u540e\uff0c\u4f1a\u88ab\u7cfb\u7edf\u7ec8\u6b62\uff0c\u9ed8\u8ba4\u4e0d\u9650\u5236
                • --restart-policy: \u91cd\u542f\u7b56\u7565\uff0c\u652f\u6301 on-failure\u3001never\u3001always\uff0c\u9ed8\u8ba4\u4e3a on-failure
                • --from-notebook: \u662f\u5426\u4ece Notebook \u4e2d\u8bfb\u53d6\u914d\u7f6e\uff0c\u652f\u6301 auto\u3001true\u3001false\uff0c\u9ed8\u8ba4\u4e3a auto
                "},{"location":"baize/developer/notebooks/baizectl.html#pytorch","title":"PyTorch \u5355\u673a\u4efb\u52a1\u793a\u4f8b","text":"

                \u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u793a\u4f8b\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u6c42\u4fee\u6539\u53c2\u6570\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a PyTorch \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

                baizectl job submit --name demojob-v2 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=1,memory=1Gi \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
                "},{"location":"baize/developer/notebooks/baizectl.html#pytorch_1","title":"PyTorch \u5206\u5e03\u5f0f\u4efb\u52a1\u793a\u4f8b","text":"

                \u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u793a\u4f8b\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u6c42\u4fee\u6539\u53c2\u6570\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a PyTorch \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

                baizectl job submit --name demojob-v2 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=1,memory=1Gi \\\n    --workers 2 \\   # \u591a\u4efb\u52a1\u526f\u672c\u4f1a\u81ea\u52a8\u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\n    --shm-size 1024 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
                "},{"location":"baize/developer/notebooks/baizectl.html#tensorflow","title":"Tensorflow \u4efb\u52a1\u793a\u4f8b","text":"

                \u4f7f\u7528 -t \u53c2\u6570\u6307\u5b9a\u4efb\u52a1\u7c7b\u578b\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a Tensorflow \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

                baizectl job submit --name demojob-v2 -t TENSORFLOW \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --from-notebook auto \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n

                \u4e5f\u53ef\u4ee5\u4f7f\u7528 --job-type \u6216\u8005 --tensorflow \u53c2\u6570\u6307\u5b9a\u4efb\u52a1\u7c7b\u578b

                "},{"location":"baize/developer/notebooks/baizectl.html#paddle","title":"Paddle \u4efb\u52a1\u793a\u4f8b","text":"
                baizectl job submit --name demojob-v2 -t PADDLE \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_10","title":"\u67e5\u770b\u4efb\u52a1\u5217\u8868","text":"

                baizectl job \u652f\u6301\u901a\u8fc7 ls \u547d\u4ee4\u67e5\u770b\u4efb\u52a1\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a pytroch \u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -t \u6307\u5b9a\u4efb\u52a1\u7c7b\u578b\u3002

                (base) jovyan@den-0:~$ baizectl job ls  # \u9ed8\u8ba4\u67e5\u770b pytorch \u4efb\u52a1\n NAME        TYPE     PHASE      DURATION  COMMAND    \n demong      PYTORCH  SUCCEEDED  1m2s      sleep 60   \n demo-sleep  PYTORCH  RUNNING    1h25m28s  sleep 7200 \n(base) jovyan@den-0:~$ baizectl job ls demo-sleep  # \u67e5\u770b\u6307\u5b9a\u4efb\u52a1\n NAME        TYPE     PHASE      DURATION  COMMAND     \n demo-sleep  PYTORCH  RUNNING    1h25m28s  sleep 7200 \n(base) jovyan@den-0:~$ baizectl job ls -t TENSORFLOW   # \u67e5\u770b tensorflow \u4efb\u52a1\n NAME       TYPE        PHASE    DURATION  COMMAND    \n demotfjob  TENSORFLOW  CREATED  0s        sleep 1000 \n

                \u4efb\u52a1\u5217\u8868\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f7f\u7528 table \u4f5c\u4e3a\u5c55\u793a\u5f62\u5f0f\uff0c\u5982\u679c\u5e0c\u671b\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 json \u6216 yaml \u683c\u5f0f\u5c55\u793a\uff0c\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u3002

                (base) jovyan@den-0:~$ baizectl job ls -t TENSORFLOW -o yaml\n- baseConfig:\n    args:\n    - sleep\n    - \"1000\"\n    image: release.daocloud.io/baize/baize-notebook:v0.5.0\n    labels:\n      app: den\n    podConfig:\n      affinity: {}\n      kubeEnvs:\n      - name: CONDA_EXE\n        value: /opt/conda/bin/conda\n      - name: CONDA_PREFIX\n        value: /opt/conda\n      - name: CONDA_PROMPT_MODIFIER\n        value: '(base) '\n      - name: CONDA_SHLVL\n        value: \"1\"\n      - name: CONDA_DIR\n        value: /opt/conda\n      - name: CONDA_PYTHON_EXE\n        value: /opt/conda/bin/python\n      - name: CONDA_PYTHON_EXE\n        value: /opt/conda/bin/python\n      - name: CONDA_DEFAULT_ENV\n        value: base\n      - name: PATH\n        value: /opt/conda/bin:/opt/conda/condabin:/command:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n      priorityClass: baize-high-priority\n      queue: default\n  creationTimestamp: \"2024-06-16T07:47:27Z\"\n  jobSpec:\n    runPolicy:\n      suspend: true\n    tfReplicaSpecs:\n      Worker:\n        replicas: 1\n        restartPolicy: OnFailure\n        template:\n          metadata:\n            creationTimestamp: null\n          spec:\n            affinity: {}\n            containers:\n            - args:\n              - sleep\n              - \"1000\"\n              env:\n              - name: CONDA_EXE\n                value: /opt/conda/bin/conda\n              - name: CONDA_PREFIX\n                value: /opt/conda\n              - name: CONDA_PROMPT_MODIFIER\n                value: '(base) '\n              - name: CONDA_SHLVL\n                value: \"1\"\n              - name: CONDA_DIR\n                value: /opt/conda\n              - name: CONDA_PYTHON_EXE\n                value: /opt/conda/bin/python\n              - name: CONDA_PYTHON_EXE\n                value: /opt/conda/bin/python\n              - name: CONDA_DEFAULT_ENV\n                value: base\n              - name: PATH\n                value: /opt/conda/bin:/opt/conda/condabin:/command:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n              image: release.daocloud.io/baize/baize-notebook:v0.5.0\n              name: tensorflow\n              resources:\n                limits:\n                  memory: 1Gi\n                requests:\n                  cpu: \"1\"\n                  memory: 2Gi\n              workingDir: /home/jovyan\n            priorityClassName: baize-high-priority\n  name: demotfjob\n  namespace: ns-chuanjia-ndx\n  phase: CREATED\n  roleConfig:\n    TF_WORKER:\n      replicas: 1\n      resources:\n        limits:\n          memory: 1Gi\n        requests:\n          cpu: \"1\"\n          memory: 2Gi\n  totalResources:\n    limits:\n      memory: \"1073741824\"\n    requests:\n      cpu: \"1\"\n      memory: \"2147483648\"\n  trainingConfig:\n    restartPolicy: RESTART_POLICY_ON_FAILURE\n  trainingMode: SINGLE\n  type: TENSORFLOW\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_11","title":"\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7","text":"

                baizectl job \u652f\u6301\u4f7f\u7528 logs \u547d\u4ee4\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job logs --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                (base) jovyan@den-0:~$ baizectl job logs --help\nShow logs of a job\n\nUsage:\n  baizectl job logs <job-name> [pod-name] [flags]\n\nAliases:\n  logs, log\n\nFlags:\n  -f, --follow            Specify if the logs should be streamed.\n  -h, --help              help for logs\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tail int          Lines of recent log file to display.\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n      --timestamps        Show timestamps\n

                Note

                • --follow \u53c2\u6570\u5b9e\u65f6\u67e5\u770b\u65e5\u5fd7
                • --tail \u53c2\u6570\u6307\u5b9a\u67e5\u770b\u65e5\u5fd7\u7684\u884c\u6570\uff0c\u9ed8\u8ba4\u4e3a 50 \u884c
                • --timestamps \u53c2\u6570\u663e\u793a\u65f6\u95f4\u6233

                \u793a\u4f8b\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7\uff1a

                (base) jovyan@den-0:~$ baizectl job log -t TENSORFLOW tf-sample-job-v2-202406161632-evgrbrhn -f\n2024-06-16 08:33:06.083766: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n2024-06-16 08:33:06.086189: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.\n2024-06-16 08:33:06.132416: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.\n2024-06-16 08:33:06.132903: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\nTo enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n2024-06-16 08:33:07.223046: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\nModel: \"sequential\"\n_________________________________________________________________\n Layer (type)                Output Shape              Param #   \n=================================================================\n Conv1 (Conv2D)              (None, 13, 13, 8)         80        \n\n flatten (Flatten)           (None, 1352)              0         \n\n Softmax (Dense)             (None, 10)                13530     \n\n=================================================================\nTotal params: 13610 (53.16 KB)\nTrainable params: 13610 (53.16 KB)\nNon-trainable params: 0 (0.00 Byte)\n...\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_12","title":"\u5220\u9664\u4efb\u52a1","text":"

                baizectl job \u652f\u6301\u4f7f\u7528 delete \u547d\u4ee4\u5220\u9664\u4efb\u52a1\uff0c\u5e76\u4e14\u540c\u65f6\u652f\u6301\u5220\u9664\u591a\u4e2a\u4efb\u52a1\u3002

                (base) jovyan@den-0:~$ baizectl job delete --help\nDelete a job\n\nUsage:\n  baizectl job delete [flags]\n\nAliases:\n  delete, del, remove, rm\n\nFlags:\n  -h, --help              help for delete\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n

                \u793a\u4f8b\u5220\u9664\u4efb\u52a1\uff1a

                (base) jovyan@den-0:~$ baizectl job ls\n NAME        TYPE     PHASE      DURATION  COMMAND    \n demong      PYTORCH  SUCCEEDED  1m2s      sleep 60   \n demo-sleep  PYTORCH  RUNNING    1h20m51s  sleep 7200 \n demojob     PYTORCH  FAILED     16m46s    sleep 1000 \n demojob-v2  PYTORCH  RUNNING    3m13s     sleep 1000 \n demojob-v3  PYTORCH  CREATED    0s        sleep 1000 \n(base) jovyan@den-0:~$ baizectl job delete demojob      # \u5220\u9664\u5355\u4e2a\u4efb\u52a1\nDelete job demojob in ns-chuanjia-ndx successfully\n(base) jovyan@den-0:~$ baizectl job delete demojob-v2 demojob-v3     # \u5220\u9664\u591a\u4e2a\u4efb\u52a1\nDelete job demojob-v2 in ns-chuanjia-ndx successfully\nDelete job demojob-v3 in ns-chuanjia-ndx successfully\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_13","title":"\u91cd\u542f\u4efb\u52a1","text":"

                baizectl job \u652f\u6301\u4f7f\u7528 restart \u547d\u4ee4\u91cd\u542f\u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job restart --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                (base) jovyan@den-0:~$ baizectl job restart --help\nrestart a job\n\nUsage:\n  baizectl job restart [flags] job\n\nAliases:\n  restart, rerun\n\nFlags:\n  -h, --help              help for restart\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_14","title":"\u6570\u636e\u96c6\u7ba1\u7406","text":"

                baizectl \u652f\u6301\u7ba1\u7406\u6570\u636e\u96c6\uff0c\u76ee\u524d\u652f\u6301\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868\uff0c\u65b9\u4fbf\u5728\u4efb\u52a1\u8bad\u7ec3\u65f6\uff0c\u5feb\u901f\u7ed1\u5b9a\u6570\u636e\u96c6\u3002

                (base) jovyan@den-0:~$ baizectl data \nManagement datasets\n\nUsage:\n  baizectl data [flags]\n  baizectl data [command]\n\nAliases:\n  data, dataset, datasets, envs, runtime-envs\n\nAvailable Commands:\n  ls          List datasets\n\nFlags:\n  -h, --help            help for data\n  -o, --output string   Output format. One of: table, json, yaml (default \"table\")\n      --page int        Page number (default 1)\n      --page-size int   Page size (default -1)\n      --search string   Search query\n      --sort string     Sort order\n      --truncate int    Truncate output to the given length, 0 means no truncation (default 50)\n\nUse \"baizectl data [command] --help\" for more information about a command.\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_15","title":"\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868","text":"

                baizectl data \u652f\u6301\u901a\u8fc7 ls \u547d\u4ee4\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a table \u683c\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002

                (base) jovyan@den-0:~$ baizectl data ls\n NAME             TYPE  URI                                                    PHASE \n fashion-mnist    GIT   https://gitee.com/samzong_lu/fashion-mnist.git         READY \n sample-code      GIT   https://gitee.com/samzong_lu/training-sample-code....  READY \n training-output  PVC   pvc://training-output                                  READY \n

                \u5728\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 -d \u6216\u8005 --datasets \u53c2\u6570\u6307\u5b9a\u6570\u636e\u96c6\uff0c\u4f8b\u5982\uff1a

                baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --datasets sample-code:/home/jovyan/code \\\n    -- sleep 1000\n

                \u540c\u65f6\u6302\u8f7d\u591a\u4e2a\u6570\u636e\u96c6\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u683c\u5f0f\uff1a

                baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --datasets sample-code:/home/jovyan/code fashion-mnist:/home/jovyan/data \\\n    -- sleep 1000\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_16","title":"\u67e5\u770b\u4f9d\u8d56\u5e93\uff08\u73af\u5883\uff09","text":"

                \u73af\u5883 runtime-env \u662f DCE \u7684\u7279\u8272\u73af\u5883\u7ba1\u7406\u80fd\u529b\uff0c\u901a\u8fc7\u5c06\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4efb\u52a1\u4ee5\u53ca\u63a8\u7406\u4e2d\u6240\u9700\u7684\u4f9d\u8d56\u5e93\u89e3\u8026\uff0c \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u52a0\u7075\u6d3b\u7684\u4f9d\u8d56\u5e93\u7ba1\u7406\u65b9\u5f0f\uff0c\u65e0\u9700\u91cd\u590d\u6784\u5efa\u590d\u6742\u7684 Docker \u955c\u50cf\uff0c\u53ea\u9700\u9009\u62e9\u5408\u9002\u7684\u73af\u5883\u5373\u53ef\u3002

                \u540c\u65f6 runtime-env \u652f\u6301\u70ed\u66f4\u65b0\uff0c\u52a8\u6001\u5347\u7ea7\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\uff0c\u5373\u53ef\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5e93\u3002

                baizectl data \u652f\u6301\u901a\u8fc7 runtime-env \u547d\u4ee4\u67e5\u770b\u73af\u5883\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a table \u683c\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002

                (base) jovyan@den-0:~$ baizectl data ls --runtime-env \n NAME               TYPE   URI                                                    PHASE      \n fashion-mnist      GIT    https://gitee.com/samzong_lu/fashion-mnist.git         READY      \n sample-code        GIT    https://gitee.com/samzong_lu/training-sample-code....  READY      \n training-output    PVC    pvc://training-output                                  READY      \n tensorflow-sample  CONDA  conda://python?version=3.12.3                          PROCESSING \n

                \u5728\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 --runtime-env \u53c2\u6570\u6307\u5b9a\u73af\u5883\uff0c\u4f8b\u5982\uff1a

                baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --runtime-env tensorflow-sample \\\n    -- sleep 1000\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_17","title":"\u9ad8\u7ea7\u7528\u6cd5","text":"

                baizectl \u652f\u6301\u66f4\u591a\u9ad8\u7ea7\u7528\u6cd5\uff0c\u4f8b\u5982\u81ea\u52a8\u8865\u5168\u811a\u672c\u751f\u6210\u3001\u4f7f\u7528\u7279\u5b9a\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u3001\u4f7f\u7528\u7279\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u7b49\u3002

                "},{"location":"baize/developer/notebooks/baizectl.html#_18","title":"\u81ea\u52a8\u8865\u5168\u811a\u672c\u751f\u6210","text":"
                baizectl completion bash > /etc/bash_completion.d/baizectl\n

                \u4e0a\u8ff0\u547d\u4ee4\u751f\u6210 bash \u7684\u81ea\u52a8\u8865\u5168\u811a\u672c\uff0c\u5e76\u5c06\u5176\u4fdd\u5b58\u5230 /etc/bash_completion.d/baizectl \u76ee\u5f55\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 source /etc/bash_completion.d/baizectl \u52a0\u8f7d\u81ea\u52a8\u8865\u5168\u811a\u672c\u3002

                "},{"location":"baize/developer/notebooks/baizectl.html#_19","title":"\u4f7f\u7528\u7279\u5b9a\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4","text":"
                baizectl job ls --cluster my-cluster --namespace my-namespace\n

                \u8be5\u547d\u4ee4\u5c06\u5217\u51fa my-cluster \u96c6\u7fa4\u4e2d my-namespace \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u4f5c\u4e1a\u3002

                "},{"location":"baize/developer/notebooks/baizectl.html#_20","title":"\u4f7f\u7528\u7279\u5b9a\u5de5\u4f5c\u7a7a\u95f4","text":"
                baizectl job ls --workspace 123\n
                "},{"location":"baize/developer/notebooks/baizectl.html#_21","title":"\u5e38\u89c1\u95ee\u9898","text":"
                • \u95ee\u9898\uff1a\u4e3a\u4ec0\u4e48\u65e0\u6cd5\u8fde\u63a5\u5230\u670d\u52a1\u5668\uff1f

                  \u89e3\u51b3\u65b9\u6cd5\uff1a\u68c0\u67e5 --server \u53c2\u6570\u662f\u5426\u6b63\u786e\u8bbe\u7f6e\uff0c\u5e76\u786e\u4fdd\u7f51\u7edc\u8fde\u63a5\u6b63\u5e38\u3002 \u5982\u679c\u670d\u52a1\u5668\u4f7f\u7528\u81ea\u7b7e\u540d\u8bc1\u4e66\uff0c\u53ef\u4ee5\u4f7f\u7528 --skip-tls-verify \u8df3\u8fc7 TLS \u8bc1\u4e66\u9a8c\u8bc1\u3002

                • \u95ee\u9898\uff1a\u5982\u4f55\u89e3\u51b3\u6743\u9650\u4e0d\u8db3\u7684\u95ee\u9898\uff1f

                  \u89e3\u51b3\u65b9\u6cd5\uff1a\u786e\u4fdd\u4f7f\u7528\u6b63\u786e\u7684 --token \u53c2\u6570\u767b\u5f55\uff0c\u5e76\u68c0\u67e5\u5f53\u524d\u7528\u6237\u662f\u5426\u5177\u6709\u76f8\u5e94\u7684\u64cd\u4f5c\u6743\u9650\u3002

                • \u95ee\u9898\uff1a\u4e3a\u4ec0\u4e48\u65e0\u6cd5\u5217\u51fa\u6570\u636e\u96c6\uff1f

                  \u89e3\u51b3\u65b9\u6cd5\uff1a\u68c0\u67e5\u547d\u540d\u7a7a\u95f4\u548c\u5de5\u4f5c\u533a\u662f\u5426\u6b63\u786e\u8bbe\u7f6e\uff0c\u786e\u4fdd\u5f53\u524d\u7528\u6237\u6709\u6743\u9650\u8bbf\u95ee\u8fd9\u4e9b\u8d44\u6e90\u3002

                "},{"location":"baize/developer/notebooks/baizectl.html#_22","title":"\u7ed3\u8bed","text":"

                \u901a\u8fc7\u4ee5\u4e0a\u6307\u5357\uff0c\u7528\u6237\u53ef\u4ee5\u5feb\u901f\u4e0a\u624b baizectl \u547d\u4ee4\uff0c\u5e76\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u9ad8\u6548\u5730\u7ba1\u7406 AI \u5e73\u53f0\u8d44\u6e90\u3002 \u5982\u679c\u6709\u4efb\u4f55\u7591\u95ee\u6216\u95ee\u9898\uff0c\u5efa\u8bae\u53c2\u8003 baizectl [command] --help \u83b7\u53d6\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\u3002

                "},{"location":"baize/developer/notebooks/baizess.html","title":"baizess \u6362\u6e90\u5de5\u5177\u4f7f\u7528\u6307\u5357","text":"

                baizess \u662f DCE 5.0 AI Lab \u6a21\u5757\u4e2d Notebook \u5185\u7f6e\u7684\u5f00\u7bb1\u5373\u7528\u7684\u6362\u6e90\u5c0f\u5de5\u5177\u3002\u5b83\u63d0\u4f9b\u4e86\u7b80\u6d01\u7684\u547d\u4ee4\u884c\u754c\u9762\uff0c\u65b9\u4fbf\u7528\u6237\u7ba1\u7406\u5404\u79cd\u7f16\u7a0b\u73af\u5883\u7684\u5305\u7ba1\u7406\u5668\u6e90\u3002 \u901a\u8fc7 baizess\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u5207\u6362\u5e38\u7528\u5305\u7ba1\u7406\u5668\u7684\u6e90\uff0c\u786e\u4fdd\u987a\u5229\u8bbf\u95ee\u6700\u65b0\u7684\u5e93\u548c\u4f9d\u8d56\u9879\u3002\u8be5\u5de5\u5177\u901a\u8fc7\u7b80\u5316\u5305\u6e90\u7ba1\u7406\u6d41\u7a0b\uff0c\u63d0\u5347\u4e86\u5f00\u53d1\u8005\u548c\u6570\u636e\u79d1\u5b66\u5bb6\u7684\u5de5\u4f5c\u6548\u7387\u3002

                "},{"location":"baize/developer/notebooks/baizess.html#_1","title":"\u5b89\u88c5","text":"

                \u76ee\u524d\uff0cbaizess \u5df2\u7ecf\u96c6\u6210\u5728 DCE 5.0 AI Lab \u4e2d\u3002 \u4f60\u5728\u521b\u5efa Notebook \u540e\uff0c\u5373\u53ef\u5728 Notebook \u4e2d\u76f4\u63a5\u4f7f\u7528 baizess\u3002

                "},{"location":"baize/developer/notebooks/baizess.html#_2","title":"\u5feb\u901f\u4e0a\u624b","text":""},{"location":"baize/developer/notebooks/baizess.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                baizess \u547d\u4ee4\u7684\u57fa\u672c\u4fe1\u606f\u5982\u4e0b\uff1a

                jovyan@19d0197587cc:/$ baizess\nsource switch tool\n\nUsage:\n  baizess [command] [package-manager]\n\nAvailable Commands:\n  set     Switch the source of specified package manager to current fastest source\n  reset   Reset the source of specified package manager to default source\n\nAvailable Package-managers:\n  apt     (require root privilege)\n  conda\n  pip\n
                "},{"location":"baize/developer/notebooks/baizess.html#_4","title":"\u547d\u4ee4\u683c\u5f0f","text":"

                baizess \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

                baizess [command] [package-manager]\n

                \u5176\u4e2d\uff0c[command] \u662f\u5177\u4f53\u7684\u64cd\u4f5c\u547d\u4ee4\uff0c[package-manager] \u7528\u4e8e\u6307\u5b9a\u64cd\u4f5c\u5bf9\u5e94\u7684\u5305\u7ba1\u7406\u5668\u3002

                "},{"location":"baize/developer/notebooks/baizess.html#command","title":"command","text":"
                • set\uff1a\u5907\u4efd\u6e90\uff0c\u6d4b\u901f\uff0c\u5c06\u6240\u6307\u5b9a\u7684\u5305\u7ba1\u7406\u5668\u7684\u6e90\u5207\u6362\u4e3a\u6d4b\u901f\u7ed3\u679c\u6700\u5feb\u7684\u56fd\u5185\u6e90\u3002
                • reset\uff1a\u5c06\u6240\u6307\u5b9a\u7684\u5305\u7ba1\u7406\u5668\u91cd\u7f6e\u4e3a\u9ed8\u8ba4\u6e90\u3002
                "},{"location":"baize/developer/notebooks/baizess.html#package-manager","title":"\u76ee\u524d\u652f\u6301\u7684 package-manager","text":"
                • apt \uff08\u6e90\u7684\u5207\u6362\u4e0e\u91cd\u7f6e\u9700\u8981root\u6743\u9650\uff09
                • conda \uff08\u539f\u5148\u7684\u6e90\u5c06\u88ab\u5907\u4efd\u5728/etc/apt/backup/\uff09
                • pip \uff08\u66f4\u65b0\u540e\u6e90\u4fe1\u606f\u5c06\u88ab\u5199\u5165~/.condarc\uff09
                "},{"location":"baize/developer/notebooks/create.html","title":"\u521b\u5efa Notebook","text":"

                Notebook \u63d0\u4f9b\u4e86\u4e00\u4e2a\u5728\u7ebf\u7684 Web \u4ea4\u4e92\u5f0f\u7f16\u7a0b\u73af\u5883\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5feb\u901f\u8fdb\u884c\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u5b9e\u9a8c\u3002

                \u8fdb\u5165\u5f00\u53d1\u8005\u63a7\u5236\u53f0\u540e\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u5728\u4e0d\u540c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u4e2d\u521b\u5efa\u548c\u7ba1\u7406 Notebook\u3002

                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb Notebooks \uff0c\u8fdb\u5165 Notebook \u5217\u8868\u3002\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001Notebook \u955c\u50cf\u5730\u5740\u3001\u961f\u5217\u3001\u8d44\u6e90\u3001\u7528\u6237\u76ee\u5f55\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                3. \u521a\u521b\u5efa\u7684 Notebook \u72b6\u6001\u4e3a \u7b49\u5f85\u4e2d \uff0c\u7247\u523b\u540e\u5c06\u53d8\u4e3a \u8fd0\u884c\u4e2d \uff0c\u9ed8\u8ba4\u6700\u65b0\u7684\u4f4d\u4e8e\u5217\u8868\u9876\u90e8\u3002

                4. \u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u66f4\u591a\u64cd\u4f5c\uff1a\u66f4\u65b0\u53c2\u6570\u3001\u542f\u52a8/\u6682\u505c\u3001\u514b\u9686 Notebook \u3001\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u548c\u5220\u9664\u3002

                Note

                \u5982\u679c\u9009\u62e9\u7eaf CPU \u8d44\u6e90\u540e\uff0c\u53d1\u73b0\u6302\u8f7d\u4e86\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5361\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u6dfb\u52a0 container env \u6765\u89e3\u51b3\u6b64\u95ee\u9898\uff1a

                NVIDIA_VISIBLE_DEVICES=\"\"\n
                "},{"location":"baize/developer/notebooks/delete.html","title":"\u5220\u9664 Notebook","text":"

                \u5982\u679c\u53d1\u73b0 Notebook \u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece Notebook \u5217\u8868\u4e2d\u5220\u9664\u3002

                1. \u5728 Notebook \u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165 Notebook \u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5 Notebook \u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                Caution

                Notebook \u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                "},{"location":"baize/developer/notebooks/notebook-auto-close.html","title":"Notebook \u95f2\u7f6e\u8d85\u65f6\u81ea\u52a8\u5173\u673a","text":"

                \u5728\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4f18\u5316\u8d44\u6e90\u5229\u7528\u7387\uff0cAI Lab \u542f\u7528\u4e86 Notebook \u95f2\u7f6e\u8d85\u65f6\u81ea\u52a8\u5173\u673a\u529f\u80fd\uff1b \u5f53 Notebook \u957f\u65f6\u95f4\u65e0\u64cd\u4f5c\u65f6\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5173\u673a Notebook\uff0c\u91ca\u653e\u8d44\u6e90\u3002

                • \u4f18\u70b9\uff1a\u901a\u8fc7\u8fd9\u4e2a\u65b9\u5f0f\uff0c\u53ef\u4ee5\u6781\u5927\u51cf\u5c11\u56e0\u4e3a\u957f\u65f6\u95f4\u65e0\u64cd\u4f5c\u5bfc\u81f4\u7684\u8d44\u6e90\u6d6a\u8d39\uff0c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002
                • \u7f3a\u70b9\uff1a\u5982\u679c Notebook \u672a\u914d\u7f6e\u76f8\u5173\u5907\u4efd\u7b56\u7565\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e22\u5931\u3002

                Note

                \u5f53\u524d\uff0c\u6b64\u529f\u80fd\u4e3a\u96c6\u7fa4\u7ea7\u522b\u914d\u7f6e\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u5206\u949f\u3002

                "},{"location":"baize/developer/notebooks/notebook-auto-close.html#_1","title":"\u914d\u7f6e\u53d8\u66f4","text":"

                \u76ee\u524d\u914d\u7f6e\u4fee\u6539\u65b9\u5f0f\u4e3a\u624b\u52a8\u4fee\u6539\uff0c\u540e\u7eed\u4f1a\u63d0\u4f9b\u66f4\u52a0\u4fbf\u6377\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                \u4fee\u6539\u5de5\u4f5c\u96c6\u7fa4\u4e2d baize-agent \u7684\u90e8\u7f72\u53c2\u6570\uff0c\u6b63\u786e\u7684\u4fee\u6539\u65b9\u5f0f\u4e3a\u66f4\u65b0 Helm \u5e94\u7528\uff0c

                "},{"location":"baize/developer/notebooks/notebook-auto-close.html#_2","title":"\u754c\u9762\u5316\u4fee\u6539","text":"
                1. \u5728\u96c6\u7fa4\u7ba1\u7406\u754c\u9762\u627e\u5230\u5bf9\u5e94\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\uff0c\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u5728 baize-system \u547d\u540d\u7a7a\u95f4\u4e0b\u627e\u5230 baize-agent\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\uff1a

                2. \u5982\u56fe\u4fee\u6539 YAML \u4ee3\u7801\uff1a

                  ...\nnotebook-controller:\n  culling_enabled: false\n  cull_idle_time: 120\n  idleness_check_period: 1\n...\n
                3. \u786e\u8ba4\u53c2\u6570\u4fee\u6539\u6210\u529f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u548c \u786e\u5b9a \u3002

                "},{"location":"baize/developer/notebooks/notebook-auto-close.html#_3","title":"\u547d\u4ee4\u884c\u4fee\u6539","text":"

                \u8fdb\u5165\u63a7\u5236\u53f0\u4ee5\u540e\uff0c\u4f7f\u7528 helm upgrade \u547d\u4ee4\u66f4\u6539\u914d\u7f6e\uff1a

                # \u8bbe\u5b9a\u7248\u672c\u53f7\nexport VERSION=0.8.0\n\n# \u66f4\u65b0 Helm Chart \nhelm upgrade --install baize-agent baize/baize-agent \\\n    --namespace baize-system \\\n    --create-namespace \\\n    --set global.imageRegistry=release.daocloud.io \\\n    --set notebook-controller.culling_enabled=true \\    # \u5f00\u542f\u81ea\u52a8\u5173\u673a\uff0c\u9ed8\u8ba4\u4e3a true\n    --set notebook-controller.cull_idle_time=120 \\      # \u8bbe\u7f6e\u95f2\u7f6e\u8d85\u65f6\u65f6\u95f4\u4e3a 120 \u5206\u949f\uff0c\u9ed8\u8ba4\u4e3a 30 \u5206\u949f\n    --set notebook-controller.idleness_check_period=1 \\ # \u8bbe\u7f6e\u68c0\u67e5\u95f4\u9694\u4e3a 1 \u5206\u949f\uff0c\u9ed8\u8ba4\u4e3a 1 \u5206\u949f\n    --version=$VERSION\n

                Note

                \u4e3a\u4e86\u907f\u514d\u81ea\u52a8\u5173\u673a\u540e\u4e22\u5931\u6570\u636e\uff0c\u60a8\u53ef\u4ee5\u5c06 AI Lab \u5347\u7ea7\u5230 v0.8.0 \u53ca\u66f4\u9ad8\u7248\u672c\uff0c\u5728 Notebook \u914d\u7f6e\u4e2d\u542f\u7528\u5173\u673a\u81ea\u52a8\u4fdd\u5b58\u529f\u80fd\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-envs.html","title":"\u5728 Notebook \u4e2d\u4f7f\u7528\u73af\u5883","text":"

                \u73af\u5883\u7ba1\u7406\u662f AI Lab \u7684\u91cd\u8981\u529f\u80fd\u4e4b\u4e00\uff0c\u901a\u8fc7\u5728 Notebook \u4e2d\u5173\u8054\u5bf9\u5e94\u7684\u73af\u5883\uff0c\u53ef\u4ee5\u5feb\u901f\u5207\u6362\u4e0d\u540c\u7684\u73af\u5883\uff0c\u65b9\u4fbf\u7528\u6237\u8fdb\u884c\u5f00\u53d1\u548c\u8c03\u8bd5\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-envs.html#notebook_1","title":"\u521b\u5efa Notebook \u65f6\u9009\u62e9\u73af\u5883","text":"

                \u5728\u521b\u5efa Notebook \u65f6\uff0c\u53ef\u4ee5\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u7684\u73af\u5883 Envs \u3002\u5982\u679c\u6ca1\u6709\u5408\u9002\u7684\u73af\u5883\uff0c\u53ef\u4ee5\u53bb \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u73af\u5883\u3002

                \u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u7ba1\u7406\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-envs.html#notebook_2","title":"\u5728 Notebook \u4f7f\u7528\u73af\u5883","text":"

                Note

                \u5728 Notebook \u4e2d\uff0c\u6211\u4eec\u540c\u65f6\u63d0\u4f9b\u4e86 conda \u548c mamba \u4e24\u79cd\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u73af\u5883\u7ba1\u7406\u5de5\u5177\u3002

                AI Lab \u4e2d\uff0c\u6211\u4eec\u91c7\u7528\u4e86 conda \u73af\u5883\u7ba1\u7406\u5de5\u5177\uff0c\u7528\u6237\u53ef\u4ee5\u5728 Notebook \u4e2d\u901a\u8fc7 !conda env list \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u73af\u5883\u5217\u8868\u3002

                (base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list\n# conda environments:\n#\ndkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure\npython-3.10              /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10\ntorch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple\nbase                  *  /opt/conda     # \u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\nbaize-base               /opt/conda/envs/baize-base\n

                \u8fd9\u4e2a\u547d\u4ee4\u4f1a\u5217\u51fa\u6240\u6709\u7684 conda \u73af\u5883\uff0c\u5e76\u5728\u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\u524d\u9762\u52a0\u4e0a\u4e00\u4e2a\u661f\u53f7\uff08*\uff09\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-envs.html#jupyterlab-kernel","title":"JupyterLab \u7684 Kernel \u73af\u5883\u7ba1\u7406","text":"

                \u5728 Jupyterlab \u4e2d\uff0c\u6211\u4eec\u81ea\u52a8\u5c06 Notebook \u5173\u8054\u7684\u73af\u5883\u7ed1\u5b9a\u5230 Kernel \u5217\u8868\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 Kernel \u5feb\u901f\u5207\u6362\u73af\u5883\u3002

                \u901a\u8fc7\u4ee5\u4e0a\u529e\u6cd5\uff0c\u53ef\u4ee5\u540c\u65f6\u5728\u4e00\u4e2a Notebook \u4e2d\u4f7f\u7528\u4e0d\u540c\u7f16\u5199\u548c\u8c03\u8bd5\u7b97\u6cd5\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-envs.html#terminal","title":"Terminal \u5207\u6362\u73af\u5883","text":"

                AI Lab \u7684 Notebook \u76ee\u524d\u4e5f\u5df2\u7ecf\u652f\u6301\u4e86 VSCode\u3002

                \u5982\u679c\u60a8\u66f4\u559c\u6b22\u5728 Terminal \u4e2d\u7ba1\u7406\u548c\u5207\u6362\u73af\u5883\uff0c\u53ef\u4ee5\u5b89\u88c5\u5982\u4e0b\u6b65\u9aa4\uff1a

                \u5728\u9996\u6b21\u542f\u52a8\u5e76\u4f7f\u7528 Notebook \u65f6\uff0c\u9700\u8981\u5148\u6267\u884c conda init\uff0c\u7136\u540e\u518d\u6267\u884c conda activate <env_name> \u5207\u6362\u5230\u5bf9\u5e94\u7684\u73af\u5883\u3002

                (base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda init bash# \u521d\u59cb\u5316 bash \u73af\u5883, \u4ec5\u9996\u6b21\u4f7f\u7528\u9700\u8981\u6267\u884c\nno change     /opt/conda/condabin/conda\n change     /opt/conda/bin/conda\n change     /opt/conda/bin/conda-env\n change     /opt/conda/bin/activate\n change     /opt/conda/bin/deactivate\n change     /opt/conda/etc/profile.d/conda.sh\n change     /opt/conda/etc/fish/conf.d/conda.fish\n change     /opt/conda/shell/condabin/Conda.psm1\n change     /opt/conda/shell/condabin/conda-hook.ps1\n change     /opt/conda/lib/python3.11/site-packages/xontrib/conda.xsh\n change     /opt/conda/etc/profile.d/conda.csh\n change     /home/jovyan/.bashrc\n action taken.\nAdded mamba to /home/jovyan/.bashrc\n\n==> For changes to take effect, close and re-open your current shell. <==\n\n(base) jovyan@chuanjia-jupyter-0:~/yolov8$ source ~/.bashrc  # \u91cd\u65b0\u52a0\u8f7d bash \u73af\u5883\n(base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda activate python-3.10   # \u5207\u6362\u5230 python-3.10 \u73af\u5883\n(python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list\n\n              mamba version : 1.5.1\n# conda environments:\n#\ndkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure\npython-3.10           *  /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10    # \u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\ntorch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple\nbase                     /opt/conda\nbaize-base               /opt/conda/envs/baize-base\n

                \u5982\u679c\u60a8\u66f4\u559c\u6b22\u4f7f\u7528 mamba \uff0c\u8fd9\u91cc\u9700\u8981\u4f7f\u7528 mamaba init \u548c mamba activate <env_name>\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-envs.html#_1","title":"\u67e5\u770b\u73af\u5883\u4e2d\u7684\u5305","text":"

                \u901a\u8fc7\u4e0d\u540c\u73af\u5883\u7ba1\u7406\u7684\u4e00\u4e2a\u5f88\u91cd\u8981\u7684\u529f\u80fd\u662f\uff0c\u53ef\u4ee5\u5728\u4e00\u4e2a Notebook \u4e2d\u901a\u8fc7\u5feb\u901f\u5207\u6362\u73af\u5883\uff0c\u4f7f\u7528\u4e0d\u7528\u7684\u5305\u3002

                \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e0b\u65b9\u7684\u547d\u4ee4\u6765\u4f7f\u7528 conda \u67e5\u770b\u5f53\u524d\u73af\u5883\u4e2d\u7684\u6240\u6709\u5305\u3002

                (python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda list\n# packages in environment at /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10:\n#\n# Name                    Version                   Build  Channel\n_libgcc_mutex             0.1                        main    defaults\n_openmp_mutex             5.1                       1_gnu    defaults\n... # \u7701\u7565\u90e8\u5206\u8f93\u51fa\nidna                      3.7             py310h06a4308_0    defaults\nipykernel                 6.28.0          py310h06a4308_0    defaults\nipython                   8.20.0          py310h06a4308_0    defaults\nipython_genutils          0.2.0              pyhd3eb1b0_1    defaults\njedi                      0.18.1          py310h06a4308_1    defaults\njinja2                    3.1.4           py310h06a4308_0    defaults\njsonschema                4.19.2          py310h06a4308_0    defaults\njsonschema-specifications 2023.7.1        py310h06a4308_0    defaults\njupyter_client            7.4.9           py310h06a4308_0    defaults\njupyter_core              5.5.0           py310h06a4308_0    defaults\njupyter_events            0.8.0           py310h06a4308_0    defaults\njupyter_server            2.10.0          py310h06a4308_0    defaults\njupyter_server_terminals  0.4.4           py310h06a4308_1    defaults\njupyterlab_pygments       0.2.2           py310h06a4308_0    defaults\n... # \u7701\u7565\u90e8\u5206\u8f93\u51fa\nxz                        5.4.6                h5eee18b_1    defaults\nyaml                      0.2.5                h7b6447c_0    defaults\nzeromq                    4.3.5                h6a678d5_0    defaults\nzlib                      1.2.13               h5eee18b_1    defaults\n
                "},{"location":"baize/developer/notebooks/notebook-with-envs.html#_2","title":"\u66f4\u65b0\u73af\u5883\u7684\u5305","text":"

                \u76ee\u524d\uff0c\u53ef\u4ee5\u901a\u8fc7\u5728 AI Lab \u7684\u754c\u9762\u4e2d \u73af\u5883\u7ba1\u7406 \u6765\u66f4\u65b0\u73af\u5883\u4e2d\u7684\u5305\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-ssh.html","title":"Notebook SSH \u8bbf\u95ee\u6307\u5357","text":"

                AI Lab \u63d0\u4f9b\u7684 Notebook \u652f\u6301\u5728\u672c\u5730\u901a\u8fc7 SSH \u7684\u65b9\u5f0f\u8bbf\u95ee\uff1b

                \u901a\u8fc7\u7b80\u5355\u7684\u914d\u7f6e\uff0c\u5373\u53ef\u4f7f\u7528 SSH \u8bbf\u95ee Jupyter Notebook \u7684\u529f\u80fd\u3002 \u65e0\u8bba\u60a8\u662f\u4f7f\u7528 Windows\u3001Mac \u8fd8\u662f Linux \u64cd\u4f5c\u7cfb\u7edf\uff0c\u90fd\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u64cd\u4f5c\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ssh","title":"\u914d\u7f6e SSH \u8bbf\u95ee\u51ed\u8bc1","text":""},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ssh_1","title":"\u751f\u6210 SSH \u5bc6\u94a5\u5bf9","text":"

                \u9996\u5148\uff0c\u60a8\u9700\u8981\u5728\u60a8\u7684\u8ba1\u7b97\u673a\u4e0a\u751f\u6210 SSH \u516c\u94a5\u548c\u79c1\u94a5\u5bf9\u3002\u8fd9\u4e2a\u5bc6\u94a5\u5bf9\u5c06\u7528\u4e8e\u8ba4\u8bc1\u8fc7\u7a0b\uff0c\u786e\u4fdd\u5b89\u5168\u8bbf\u95ee\u3002

                Mac/LinuxWindows
                1. \u6253\u5f00\u7ec8\u7aef
                2. \u8f93\u5165\u547d\u4ee4\uff1a

                  ssh-keygen -t rsa -b 4096\n
                3. \u5f53\u7cfb\u7edf\u63d0\u793a\u60a8\u201cEnter a file in which to save the key\u201d\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u6572\u51fb Enter \u952e\u4f7f\u7528\u9ed8\u8ba4\u8def\u5f84\uff0c\u6216\u8005\u6307\u5b9a\u4e00\u4e2a\u65b0\u7684\u8def\u5f84\u3002

                4. \u63a5\u4e0b\u6765\uff0c\u7cfb\u7edf\u4f1a\u63d0\u793a\u60a8\u8f93\u5165\u5bc6\u7801\uff08\u53ef\u9009\uff09\uff0c\u8fd9\u5c06\u589e\u52a0\u4e00\u4e2a\u989d\u5916\u7684\u5b89\u5168\u5c42\u3002\u5982\u679c\u9009\u62e9\u8f93\u5165\u5bc6\u7801\uff0c\u8bf7\u8bb0\u4f4f\u8fd9\u4e2a\u5bc6\u7801\uff0c\u56e0\u4e3a\u6bcf\u6b21\u4f7f\u7528\u5bc6\u94a5\u65f6\u90fd\u4f1a\u9700\u8981\u5b83\u3002
                1. \u5b89\u88c5 Git Bash\uff08\u5982\u679c\u60a8\u5c1a\u672a\u5b89\u88c5\uff09
                2. \u6253\u5f00 Git Bash
                3. \u8f93\u5165\u547d\u4ee4\uff1a

                  ssh-keygen -t rsa -b 4096\n
                4. \u540c Mac/Linux \u6b65\u9aa4

                "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ssh_2","title":"\u6dfb\u52a0 SSH \u516c\u94a5\u5230\u4e2a\u4eba\u4e2d\u5fc3","text":"

                Note

                \u5177\u4f53\u64cd\u4f5c\u53ef\u4ee5\u53c2\u8003\uff1a\u914d\u7f6e SSH \u516c\u94a5

                1. \u6253\u5f00\u751f\u6210\u7684\u516c\u94a5\u6587\u4ef6\uff0c\u901a\u5e38\u4f4d\u4e8e ~/.ssh/id_rsa.pub\uff08\u5982\u679c\u60a8\u6ca1\u6709\u66f4\u6539\u9ed8\u8ba4\u8def\u5f84\uff09
                2. \u590d\u5236\u516c\u94a5\u5185\u5bb9
                3. \u767b\u5f55\u5230 DCE, \u7136\u540e\u53f3\u4e0a\u89d2\u5e10\u53f7\u70b9\u5f00\uff0c\u9009\u62e9\u4e2a\u4eba\u4e2d\u5fc3
                4. \u5728 SSH \u516c\u94a5\u914d\u7f6e\u9875\uff0c\u6dfb\u52a0\u4f60\u672c\u5730\u751f\u6210\u7684\u516c\u94a5\u6587\u4ef6
                5. \u4fdd\u5b58\u66f4\u6539
                "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#notebook-ssh_1","title":"\u5728 Notebook \u4e2d\u5f00\u542f SSH \u8bbf\u95ee","text":"
                1. \u767b\u5f55\u5230 Jupyter Notebook \u7684 Web \u754c\u9762\u3002
                2. \u5bfb\u627e\u60a8\u60f3\u8981\u542f\u7528 SSH \u8bbf\u95ee\u7684 Notebook\u3002
                3. \u5728 Notebook \u7684\u8bbe\u7f6e\u6216\u8be6\u60c5\u9875\u9762\uff0c\u627e\u5230 \u5f00\u542f SSH \u8bbf\u95ee \u7684\u9009\u9879\u5e76\u542f\u7528\u5b83\u3002
                4. \u8bb0\u5f55\u6216\u590d\u5236\u663e\u793a\u7684 SSH \u8bbf\u95ee\u547d\u4ee4\u3002\u8fd9\u4e2a\u547d\u4ee4\u5c06\u7528\u4e8e\u540e\u7eed\u6b65\u9aa4\u4e2d\u7684 SSH \u8fde\u63a5\u3002
                "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ssh_3","title":"\u4e0d\u540c\u73af\u5883\u4e0b\u7684 SSH \u8bbf\u95ee\u65b9\u5f0f","text":""},{"location":"baize/developer/notebooks/notebook-with-ssh.html#_1","title":"\u8bbf\u95ee\u793a\u4f8b","text":"

                \u5047\u8bbe\u60a8\u83b7\u5f97\u7684 SSH \u8bbf\u95ee\u547d\u4ee4\u5982\u4e0b\uff1a

                    # ssh {DCE5_USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{DCE5_UI_LOGIN_IP} -p {DCE5_UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n

                \u8bf7\u5c06 DCE5_USERNAME \u66ff\u6362\u4e3a\u60a8\u7684\u7528\u6237\u540d\uff0cDCE5_UI_LOGIN_IP \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u4e3b\u673a\u540d\uff0cDCE5_UI_LOGIN_IP \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7aef\u53e3\u53f7\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#windows","title":"Windows","text":"

                \u63a8\u8350\u4f7f\u7528 PuTTY \u6216 Git Bash \u8fdb\u884c SSH \u8fde\u63a5\u3002

                PuTTYGit Bash
                1. \u6253\u5f00 PuTTY
                2. \u5728 Host Name (or IP address) \u680f\u8f93\u5165 mockhost\uff08\u5b9e\u9645\u7684\u4e3b\u673a\u540d\uff09
                3. \u8f93\u5165\u7aef\u53e3\u53f7 2222\uff08\u5b9e\u9645\u7684\u7aef\u53e3\u53f7\uff09
                4. \u70b9\u51fb Open \u5f00\u59cb\u8fde\u63a5
                5. \u7b2c\u4e00\u6b21\u8fde\u63a5\u65f6\uff0c\u53ef\u80fd\u4f1a\u63d0\u793a\u9a8c\u8bc1\u670d\u52a1\u5668\u7684\u8eab\u4efd\uff0c\u70b9\u51fb Yes
                1. \u6253\u5f00 Git Bash
                2. \u8f93\u5165\u8bbf\u95ee\u547d\u4ee4\uff1a

                      # ssh {DCE5_USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{DCE5_UI_LOGIN_IP} -p {DCE5_UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
                3. \u6309 Enter \u952e

                "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#maclinux","title":"Mac/Linux","text":"
                1. \u6253\u5f00\u7ec8\u7aef\u3002
                2. \u8f93\u5165\u8bbf\u95ee\u547d\u4ee4\uff1a

                      # ssh {DCE5_USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{DCE5_UI_LOGIN_IP} -p {DCE5_UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
                3. \u5982\u679c\u7cfb\u7edf\u63d0\u793a\u60a8\u63a5\u53d7\u4e3b\u673a\u7684\u8eab\u4efd\uff0c\u8bf7\u8f93\u5165yes\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#ide","title":"\u914d\u5408 IDE \u5b9e\u73b0\u8fdc\u7a0b\u5f00\u53d1","text":"

                \u9664\u4e86\u4f7f\u7528\u547d\u4ee4\u884c\u5de5\u5177\u8fdb\u884c SSH \u8fde\u63a5\uff0c\u60a8\u8fd8\u53ef\u4ee5\u5229\u7528\u73b0\u4ee3 IDE \u5982 Visual Studio Code (VSCode) \u548c PyCharm \u7684 SSH \u8fdc\u7a0b\u8fde\u63a5\u529f\u80fd\uff0c \u76f4\u63a5\u5728\u672c\u5730 IDE \u4e2d\u5f00\u53d1\u5e76\u5229\u7528\u8fdc\u7a0b\u670d\u52a1\u5668\u7684\u8d44\u6e90\u3002

                \u5728 VSCode \u4e2d\u4f7f\u7528 SSH \u8fdc\u7a0b\u8fde\u63a5\u5728 PyCharm \u4e2d\u4f7f\u7528 SSH \u8fdc\u7a0b\u8fde\u63a5

                VSCode \u901a\u8fc7 Remote - SSH \u6269\u5c55\u652f\u6301 SSH \u8fdc\u7a0b\u8fde\u63a5\uff0c\u5141\u8bb8\u60a8\u76f4\u63a5\u5728\u672c\u5730 VSCode \u73af\u5883\u4e2d\u7f16\u8f91\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a\u7684\u6587\u4ef6\uff0c\u5e76\u8fd0\u884c\u547d\u4ee4\u3002

                \u64cd\u4f5c\u6b65\u9aa4\u4e3a\uff1a

                1. \u786e\u4fdd\u60a8\u5df2\u5b89\u88c5 VSCode \u548c Remote - SSH \u6269\u5c55\u3002
                2. \u6253\u5f00 VSCode\uff0c\u70b9\u51fb\u5de6\u4fa7\u6d3b\u52a8\u680f\u5e95\u90e8\u7684\u8fdc\u7a0b\u8d44\u6e90\u7ba1\u7406\u5668\u56fe\u6807\u3002
                3. \u9009\u62e9 Remote-SSH: Connect to Host... \u9009\u9879\uff0c\u7136\u540e\u70b9\u51fb + Add New SSH Host...
                4. \u8f93\u5165 SSH \u8fde\u63a5\u547d\u4ee4\uff0c\u4f8b\u5982\uff1a

                      # ssh {DCE5_USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{DCE5_UI_LOGIN_IP} -p {DCE5_UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
                5. \u6572\u51fb Enter \u952e\u3002\u8bf7\u5c06 username\u3001mockhost \u548c 2222 \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7528\u6237\u540d\u3001\u4e3b\u673a\u540d\u548c\u7aef\u53e3\u53f7\u3002

                6. \u9009\u62e9\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\u6765\u4fdd\u5b58\u6b64 SSH \u4e3b\u673a\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u5373\u53ef\u3002

                \u5b8c\u6210\u540e\uff0c\u60a8\u7684 SSH \u4e3b\u673a\u5c06\u6dfb\u52a0\u5230 SSH \u76ee\u6807\u5217\u8868\u4e2d\u3002\u70b9\u51fb\u60a8\u7684\u4e3b\u673a\u8fdb\u884c\u8fde\u63a5\u3002 \u5982\u679c\u662f\u7b2c\u4e00\u6b21\u8fde\u63a5\uff0c\u53ef\u80fd\u4f1a\u63d0\u793a\u60a8\u9a8c\u8bc1\u4e3b\u673a\u7684\u6307\u7eb9\u3002\u63a5\u53d7\u540e\uff0c\u60a8\u5c06\u88ab\u8981\u6c42\u8f93\u5165\u5bc6\u7801\uff08\u5982\u679c SSH \u5bc6\u94a5\u8bbe\u7f6e\u4e86\u5bc6\u7801\uff09\u3002 \u8fde\u63a5\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u50cf\u5728\u672c\u5730\u5f00\u53d1\u4e00\u6837\u5728 VSCode \u4e2d\u7f16\u8f91\u8fdc\u7a0b\u6587\u4ef6\uff0c\u5e76\u5229\u7528\u8fdc\u7a0b\u8d44\u6e90\u3002

                PyCharm Professional \u7248\u652f\u6301\u901a\u8fc7 SSH \u8fde\u63a5\u5230\u8fdc\u7a0b\u670d\u52a1\u5668\uff0c\u5e76\u5728\u672c\u5730 PyCharm \u4e2d\u76f4\u63a5\u5f00\u53d1\u3002

                \u64cd\u4f5c\u6b65\u9aa4\u4e3a\uff1a

                1. \u6253\u5f00 PyCharm\uff0c\u5e76\u6253\u5f00\u6216\u521b\u5efa\u4e00\u4e2a\u9879\u76ee
                2. \u9009\u62e9 File -> Settings \uff08\u5728 Mac \u4e0a\u662f PyCharm -> Preferences
                3. \u5728\u8bbe\u7f6e\u7a97\u53e3\u4e2d\uff0c\u5bfc\u822a\u5230 Project: YourProjectName -> Python Interpreter
                4. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u9f7f\u8f6e\u56fe\u6807\uff0c\u9009\u62e9 Add...

                  • \u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9 SSH Interpreter
                  • \u8f93\u5165\u8fdc\u7a0b\u4e3b\u673a\u7684\u4fe1\u606f\uff1a\u4e3b\u673a\u540d\uff08mockhost\uff09\u3001\u7aef\u53e3\u53f7\uff082222\uff09\u3001\u7528\u6237\u540d\uff08username\uff09\u3002 \u8bf7\u4f7f\u7528\u60a8\u7684\u5b9e\u9645\u4fe1\u606f\u66ff\u6362\u8fd9\u4e9b\u5360\u4f4d\u7b26\u3002
                  • \u70b9\u51fb Next \uff0cPyCharm \u5c06\u5c1d\u8bd5\u8fde\u63a5\u5230\u8fdc\u7a0b\u670d\u52a1\u5668\u3002\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u60a8\u5c06\u88ab\u8981\u6c42\u8f93\u5165\u5bc6\u7801\u6216\u9009\u62e9\u79c1\u94a5\u6587\u4ef6\u3002
                5. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb Finish \u3002\u73b0\u5728\uff0c\u60a8\u7684 PyCharm \u5c06\u4f7f\u7528\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a\u7684 Python \u89e3\u91ca\u5668\u3002

                "},{"location":"baize/developer/notebooks/notebook-with-ssh.html#_2","title":"\u5b89\u5168\u9650\u5236","text":"

                \u5728\u540c\u4e00\u4e2a Workspace \u5185\uff0c\u4efb\u610f\u7528\u6237\u90fd\u53ef\u4ee5\u901a\u8fc7\u81ea\u5df1\u7684 SSH \u8bbf\u95ee\u51ed\u8bc1\u6765\u767b\u5f55\u5230\u542f\u7528\u4e86 SSH \u7684 Notebook\u3002 \u8fd9\u610f\u5473\u7740\uff0c\u53ea\u8981\u7528\u6237\u914d\u7f6e\u4e86\u81ea\u5df1\u7684 SSH \u516c\u94a5\u5230\u4e2a\u4eba\u4e2d\u5fc3\uff0c\u5e76\u4e14 Notebook \u542f\u7528\u4e86 SSH \u8bbf\u95ee\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528 SSH \u8fdb\u884c\u5b89\u5168\u8fde\u63a5\u3002

                \u8bf7\u6ce8\u610f\uff0c\u4e0d\u540c\u7528\u6237\u7684\u8bbf\u95ee\u6743\u9650\u53ef\u80fd\u4f1a\u6839\u636e Workspace \u7684\u914d\u7f6e\u800c\u6709\u6240\u4e0d\u540c\u3002\u786e\u4fdd\u60a8\u4e86\u89e3\u5e76\u9075\u5b88\u60a8\u6240\u5728\u7ec4\u7ec7\u7684\u5b89\u5168\u548c\u8bbf\u95ee\u7b56\u7565\u3002

                \u901a\u8fc7\u9075\u5faa\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u5e94\u8be5\u80fd\u591f\u6210\u529f\u914d\u7f6e\u5e76\u4f7f\u7528 SSH \u8bbf\u95ee Jupyter Notebook\u3002\u5982\u679c\u9047\u5230\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u7cfb\u7edf\u5e2e\u52a9\u6587\u6863\u6216\u8054\u7cfb\u7cfb\u7edf\u7ba1\u7406\u5458\u3002

                "},{"location":"baize/developer/notebooks/start-pause.html","title":"\u542f\u52a8\u548c\u6682\u505c Notebook","text":"

                Notebook \u521b\u5efa\u6210\u529f\u540e\uff0c\u901a\u5e38\u4f1a\u6709\u51e0\u4e2a\u72b6\u6001\uff1a

                • \u7b49\u5f85\u4e2d
                • \u8fd0\u884c\u4e2d
                • \u5df2\u505c\u6b62

                \u5982\u679c\u67d0\u4e2a Notebook \u7684\u72b6\u6001\u4e3a \u5df2\u505c\u6b62 \uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u542f\u52a8 \u3002

                \u6b64 Notebook \u5c06\u8fdb\u5165\u8fd0\u884c\u961f\u5217\u4e2d\uff0c\u72b6\u6001\u53d8\u4e3a \u7b49\u5f85\u4e2d \uff0c\u5982\u679c\u4e00\u5207\u6b63\u5e38\uff0c\u7247\u523b\u540e\u5176\u72b6\u6001\u5c06\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

                \u5982\u679c\u4f7f\u7528\u7ed3\u675f\uff0c\u53ef\u4ee5\u4ece\u83dc\u5355\u4e2d\u9009\u62e9 \u6682\u505c \uff0c\u5c06\u5176\u72b6\u6001\u53d8\u4e3a \u5df2\u505c\u6b62 \u3002

                "},{"location":"baize/developer/notebooks/view.html","title":"Notebook \u5de5\u4f5c\u8d1f\u8f7d","text":"

                \u5982\u679c\u60f3\u8981\u67e5\u770b\u67d0\u4e2a Notebook \u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                1. \u5728 Notebook \u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u3002

                2. \u8df3\u8f6c\u5230\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08StatefulSet\uff09\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\uff1a

                  • \u5bb9\u5668\u7ec4 Pod \u7684\u8fd0\u884c\u72b6\u6001\u3001IP\u3001\u8d44\u6e90\u8bf7\u6c42\u548c\u4f7f\u7528\u60c5\u51b5
                  • \u5bb9\u5668\u914d\u7f6e\u4fe1\u606f
                  • \u8bbf\u95ee\u65b9\u5f0f\uff1aClusterIP\u3001NodePort
                  • \u8c03\u5ea6\u7b56\u7565\uff1a\u8282\u70b9\u548c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027
                  • \u6807\u7b7e\u4e0e\u6ce8\u89e3\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u3001Pod \u7684\u6807\u7b7e\u4e0e\u6ce8\u89e3\u952e\u503c\u5bf9
                  • \u5f39\u6027\u4f38\u7f29\uff1a\u652f\u6301 HPA\u3001CronHPA\u3001VPA \u7b49\u65b9\u5f0f
                  • \u4e8b\u4ef6\u5217\u8868\uff1a\u8b66\u544a\u3001\u901a\u77e5\u7b49\u6d88\u606f

                3. \u5728 StatefulSet \u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u9488\u5bf9 Pod \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

                "},{"location":"baize/oam/index.html","title":"\u8fd0\u7ef4\u7ba1\u7406","text":"

                \u8fd0\u7ef4\u7ba1\u7406\u662f IT \u8fd0\u7ef4\u4eba\u5458\u65e5\u5e38\u7ba1\u7406 IT \u8d44\u6e90\uff0c\u5904\u7406\u5de5\u4f5c\u7684\u7a7a\u95f4\u3002

                \u5728\u8fd9\u91cc\u53ef\u4ee5\u76f4\u89c2\u5730\u4e86\u89e3\u5f53\u524d\u96c6\u7fa4\u3001\u8282\u70b9\u3001CPU\u3001GPU\u3001vGPU \u7b49\u8d44\u6e90\u7684\u4f7f\u7528\u72b6\u51b5\u3002

                "},{"location":"baize/oam/index.html#_2","title":"\u5e38\u89c1\u672f\u8bed","text":"
                • GPU \u5206\u914d\u7387\uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u5185\u6240\u6709\u672a\u5b8c\u6210\u7684\u4efb\u52a1\u7684 GPU \u5206\u914d\u60c5\u51b5\uff0c\u7edf\u8ba1\u8bf7\u6c42\u7684 GPU\uff08Request\uff09\u4e0e\u603b\u8d44\u6e90\u91cf\uff08Total\uff09\u4e4b\u95f4\u7684\u6bd4\u4f8b\u3002
                • GPU \u5229\u7528\u7387\uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u8fd0\u884c\u4e2d\u7684\u4efb\u52a1\u7684\u5b9e\u9645\u8d44\u6e90\u5229\u7528\u60c5\u51b5\uff0c\u7edf\u8ba1\u5b9e\u9645\u4f7f\u7528\u7684 GPU\uff08Usage\uff09\u4e0e\u603b\u8d44\u6e90\u91cf\uff08Total\uff09\u4e4b\u95f4\u7684\u6bd4\u4f8b\u3002
                "},{"location":"baize/oam/resource.html","title":"GPU \u5217\u8868","text":"

                \u81ea\u52a8\u5316\u6c47\u603b\u6574\u4e2a\u5e73\u53f0\u4e2d\u7684 GPU \u8d44\u6e90\u4fe1\u606f\uff0c\u63d0\u4f9b\u8be6\u5c3d\u7684 GPU \u8bbe\u5907\u4fe1\u606f\u5c55\u793a\uff0c\u53ef\u67e5\u770b\u5404\u79cd GPU \u5361\u7684\u8d1f\u8f7d\u7edf\u8ba1\u548c\u4efb\u52a1\u8fd0\u884c\u4fe1\u606f\u3002

                \u8fdb\u5165 \u8fd0\u7ef4\u7ba1\u7406 \u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u8d44\u6e90\u7ba1\u7406 -> GPU \u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b GPU \u5361\u548c\u4efb\u52a1\u4fe1\u606f\u3002

                "},{"location":"baize/oam/queue/create.html","title":"\u521b\u5efa\u961f\u5217","text":"

                \u5728\u8fd0\u7ef4\u7ba1\u7406\u6a21\u5f0f\u4e2d\uff0c\u961f\u5217\u53ef\u7528\u4e8e\u8c03\u5ea6\u548c\u4f18\u5316\u6279\u5904\u7406\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5b83\u53ef\u4ee5\u6709\u6548\u5730\u7ba1\u7406\u5728\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u591a\u4e2a\u4efb\u52a1\uff0c\u901a\u8fc7\u961f\u5217\u7cfb\u7edf\u6765\u4f18\u5316\u8d44\u6e90\u5229\u7528\u7387\u3002

                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u961f\u5217\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u8bbe\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u6392\u961f\u7b56\u7565\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                3. \u5c4f\u5e55\u63d0\u793a\u521b\u5efa\uff0c\u8fd4\u56de\u961f\u5217\u7ba1\u7406\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

                "},{"location":"baize/oam/queue/delete.html","title":"\u5220\u9664\u961f\u5217","text":"

                \u5728\u8fd0\u7ef4\u7ba1\u7406\u6a21\u5f0f\u4e2d\uff0c\u5982\u679c\u53d1\u73b0\u961f\u5217\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u961f\u5217\u5217\u8868\u4e2d\u5220\u9664\u3002

                1. \u5728\u961f\u5217\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u961f\u5217\uff0c\u8f93\u5165\u961f\u5217\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u961f\u5217\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                Caution

                \u961f\u5217\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                "},{"location":"ghippo/permissions/amamba.html","title":"\u5e94\u7528\u5de5\u4f5c\u53f0\u6743\u9650\u8bf4\u660e","text":"

                \u5e94\u7528\u5de5\u4f5c\u53f0\u652f\u6301\u4e09\u79cd\u7528\u6237\u89d2\u8272\uff1a

                • Workspace Admin
                • Workspace Editor
                • Workspace Viewer

                \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

                \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u5e94\u7528 \u67e5\u770b\u5e94\u7528\u5217\u8868 \u2713 \u2713 \u2713 \u67e5\u770b\u8be6\u60c5\uff08\u8df3\u8f6c\u5230\u5bb9\u5668\u7ba1\u7406\uff09 \u2713 \u2713 \u2713 \u67e5\u770b\u5e94\u7528\u65e5\u5fd7\uff08\u8df3\u8f6c\u5230\u53ef\u89c2\u6d4b\uff09 \u2713 \u2713 \u2713 \u67e5\u770b\u5e94\u7528\u76d1\u63a7\uff08\u8df3\u8f6c\u5230\u53ef\u89c2\u6d4b\uff09 \u2713 \u2713 \u2713 \u67e5\u770b RabbitMQ \u8be6\u60c5 - \u57fa\u672c\u4fe1\u606f \u2713 \u2713 \u2713 \u67e5\u770b\u670d\u52a1\u7f51\u683c\uff08\u8df3\u8f6c\u5230\u670d\u52a1\u7f51\u683c\uff09 \u2713 \u2713 \u2713 \u67e5\u770b\u5fae\u670d\u52a1\u5f15\u64ce\uff08\u8df3\u8f6c\u5230\u5fae\u670d\u52a1\u5f15\u64ce\uff09 \u2713 \u2713 \u2713 \u521b\u5efa\u5e94\u7528 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2717 \u66f4\u65b0\u526f\u672c\u6570\u91cf \u2713 \u2713 \u2717 \u66f4\u65b0\u5bb9\u5668\u955c\u50cf \u2713 \u2713 \u2717 \u7f16\u8f91\u6d41\u6c34\u7ebf \u2713 \u2713 \u2717 \u5e94\u7528\u5206\u7ec4 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2717 \u2717 \u7f16\u8f91\u6807\u7b7e \u2713 \u2717 \u2717 \u7f16\u8f91\u8d44\u6e90\u914d\u989d \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u6d41\u6c34\u7ebf \u67e5\u770b\u6d41\u6c34\u7ebf \u2713 \u2713 \u2713 \u67e5\u770b\u8fd0\u884c\u8bb0\u5f55 \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u8fd0\u884c \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u590d\u5236 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u53d6\u6d88\u8fd0\u884c \u2713 \u2713 \u2717 \u51ed\u8bc1 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u6301\u7eed\u90e8\u7f72 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u540c\u6b65 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u4ee3\u7801\u4ed3\u5e93 \u67e5\u770b \u2713 \u2713 \u2717 \u5bfc\u5165 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u7070\u5ea6\u53d1\u5e03 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u53d1\u5e03 \u2713 \u2713 \u2717 \u7ee7\u7eed\u53d1\u5e03 \u2713 \u2713 \u2717 \u7ec8\u6b62\u53d1\u5e03 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2717 \u56de\u6eda \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717

                Note

                \u6709\u5173\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u7684\u5b8c\u6574\u4ecb\u7ecd\uff0c\u8bf7\u53c2\u8003\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u3002

                "},{"location":"ghippo/permissions/baize.html","title":"AI Lab \u6743\u9650\u8bf4\u660e","text":"

                AI Lab\u652f\u6301\u56db\u79cd\u7528\u6237\u89d2\u8272\uff1a

                • Admin / Baize Owner\uff1a\u62e5\u6709 \u5f00\u53d1\u63a7\u5236\u53f0 \u548c \u8fd0\u7ef4\u7ba1\u7406 \u5168\u90e8\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7684\u6743\u9650\u3002
                • Workspace Admin\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7684\u6743\u9650\u3002
                • Workspace Editor\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u66f4\u65b0\u3001\u67e5\u8be2\u7684\u6743\u9650\u3002
                • Workspace Viewer\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u67e5\u8be2\u7684\u6743\u9650\u3002

                \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

                \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Admin / Baize Owner Workspace Admin Workspace Editor Workspace Viewer \u5f00\u53d1\u63a7\u5236\u53f0 \u6982\u89c8 \u67e5\u770b\u6982\u89c8 \u2713 \u2713 \u2713 \u2713 Notebooks \u67e5\u770b Notebooks \u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b Notebooks \u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 \u521b\u5efa Notebooks \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0 Notebooks \u2713 \u2713 \u2713 \u2717 \u514b\u9686 Notebooks \u2713 \u2713 \u2717 \u2717 \u505c\u6b62 Notebooks \u2713 \u2713 \u2713 \u2717 \u542f\u52a8 Notebooks \u2713 \u2713 \u2713 \u2717 \u5220\u9664 Notebooks \u2713 \u2713 \u2717 \u2717 \u4efb\u52a1\u5217\u8868 \u67e5\u770b\u4efb\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4efb\u52a1\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u514b\u9686\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b\u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u4efb\u52a1\u5206\u6790 \u67e5\u770b\u4efb\u52a1\u5206\u6790 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4efb\u52a1\u5206\u6790\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u5220\u9664\u4efb\u52a1\u5206\u6790 \u2713 \u2713 \u2717 \u2717 \u6570\u636e\u96c6\u5217\u8868 \u67e5\u770b\u6570\u636e\u96c6\u5217\u8868 \u2713 \u2713 \u2713 \u2717 \u521b\u5efa\u6570\u636e\u96c6 \u2713 \u2713 \u2717 \u2717 \u91cd\u65b0\u540c\u6b65\u6570\u636e\u96c6 \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0\u51ed\u8bc1 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u6570\u636e\u96c6 \u2713 \u2713 \u2717 \u2717 \u73af\u5883\u7ba1\u7406 \u67e5\u770b\u73af\u5883\u7ba1\u7406\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u73af\u5883 \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0\u73af\u5883 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u73af\u5883 \u2713 \u2713 \u2717 \u2717 \u63a8\u7406\u670d\u52a1 \u67e5\u770b\u63a8\u7406\u670d\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u63a8\u7406\u670d\u52a1\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u505c\u6b62\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u542f\u52a8\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2717 \u2717 \u8fd0\u7ef4\u7ba1\u7406 \u6982\u89c8 \u67e5\u770b\u6982\u89c8 \u2713 \u2717 \u2717 \u2717 GPU \u7ba1\u7406 \u67e5\u770b GPU \u7ba1\u7406\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u961f\u5217\u7ba1\u7406 \u67e5\u770b\u961f\u5217\u7ba1\u7406\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u961f\u5217\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u961f\u5217 \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u961f\u5217 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u961f\u5217 \u2713 \u2717 \u2717 \u2717"},{"location":"ghippo/permissions/kpanda.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

                \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f7f\u7528\u4ee5\u4e0b\u89d2\u8272\uff1a

                • Admin / Kpanda Owner
                • Cluster Admin
                • NS Admin
                • NS Editor
                • NS Viewer

                Note

                • \u6709\u5173\u6743\u9650\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u4f53\u7cfb\u8bf4\u660e\u3002
                • \u6709\u5173\u89d2\u8272\u7684\u521b\u5efa\u3001\u7ba1\u7406\u548c\u5220\u9664\uff0c\u8bf7\u53c2\u9605\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u3002
                • Cluster Admin , NS Admin , NS Editor , NS Viewer \u7684\u6743\u9650\u4ec5\u5728\u5f53\u524d\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u5185\u751f\u6548\u3002

                \u5404\u89d2\u8272\u6240\u5177\u5907\u7684\u6743\u9650\u5982\u4e0b\uff1a

                \u4e00\u7ea7\u529f\u80fd \u4e8c\u7ea7\u529f\u80fd \u6743\u9650\u70b9 Cluster Admin Ns Admin Ns Editor NS Viewer \u96c6\u7fa4 \u96c6\u7fa4\u5217\u8868 \u67e5\u770b\u96c6\u7fa4\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u63a5\u5165\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u521b\u5efa\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u64cd\u4f5c \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713\uff08\u4ec5\u5217\u8868\u5185\u53ef\u4ee5\u8fdb\u5165\uff09 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91\u57fa\u7840\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u4e0b\u8f7d kubeconfig \u2713 \u2713\uff08\u4e0b\u8f7dns\u6743\u9650\u7684kubeconfig\uff09 \u2713\uff08\u4e0b\u8f7d ns \u6743\u9650\u7684 kubeconfig\uff09 \u2713\uff08\u4e0b\u8f7d ns \u6743\u9650\u7684 kubeconfig\uff09 \u89e3\u9664\u63a5\u5165 \u2717 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u91cd\u8bd5 \u2717 \u2717 \u2717 \u2717 \u5378\u8f7d\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u6982\u89c8 \u67e5\u770b\u96c6\u7fa4\u6982\u89c8 \u2713 \u2717 \u2717 \u2717 \u8282\u70b9\u7ba1\u7406 \u63a5\u5165\u8282\u70b9 \u2717 \u2717 \u2717 \u2717 \u67e5\u770b\u8282\u70b9\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u8282\u70b9\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u6682\u505c\u8c03\u5ea6 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6c61\u70b9 \u2713 \u2717 \u2717 \u2717 \u79fb\u9664\u8282\u70b9 \u2717 \u2717 \u2717 \u2717 \u65e0\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9 ns \u7ed1\u5b9a\u7684 ws \u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 IP \u6c60\u67e5\u770b \u2713 \u2713 \u2713 \u2717 \u7f51\u5361\u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u6682\u505c\u5347\u7ea7 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u6709\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b88\u62a4\u8fdb\u7a0b \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u5b9e\u4f8b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b9a\u65f6\u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4efb\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bb9\u5668\u7ec4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u4e0a\u4f20\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u4e0b\u8f7d\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u5bb9\u5668\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 ReplicaSet \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 Helm \u5e94\u7528 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 Helm \u6a21\u677f \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u5b89\u88c5\u6a21\u677f \u2713 \u2713\uff08ns\u7ea7\u522b\u7684\u53ef\u4ee5\uff09 \u2717 \u2717 \u4e0b\u8f7d\u6a21\u677f \u2713 \u2713 \u2713\uff08\u548c\u67e5\u770b\u63a5\u53e3\u4e00\u81f4\uff09 \u2713 Helm \u4ed3\u5e93 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u514b\u9686\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u5237\u65b0\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u670d\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u8def\u7531 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u7f51\u7edc\u7b56\u7565 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u7f51\u7edc\u914d\u7f6e \u914d\u7f6e\u7f51\u7edc \u2713 \u2713 \u2713 \u2717 \u81ea\u5b9a\u4e49\u8d44\u6e90 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91 YAML \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 PVC \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9sc \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u514b\u9686 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 PV \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91 YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0 \u2713 \u2717 \u2717 \u2717 \u514b\u9686 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 SC \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0 \u2713 \u2717 \u2717 \u2717 \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u2713 \u2717 \u2717 \u2717 \u89e3\u9664\u6388\u6743 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u914d\u7f6e\u9879 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u5bfc\u51fa\u914d\u7f6e\u9879 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bc6\u94a5 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u5bfc\u51fa\u5bc6\u94a5 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2713 \u2717 \u2717 \u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4 \u2717 \u2717 \u2717 \u2717 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u2717 \u2717 \u2717 \u2717 \u914d\u989d\u7ba1\u7406 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u64cd\u4f5c \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 helm \u64cd\u4f5c \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u96c6\u7fa4\u5347\u7ea7 \u67e5\u770b\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5347\u7ea7 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u8bbe\u7f6e addon \u63d2\u4ef6\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u9ad8\u7ea7\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2713 \u2717 \u2717 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u2713 \u2717 \u2717 \u2717 \u914d\u989d\u7ba1\u7406 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5de5\u4f5c\u8d1f\u8f7d \u65e0\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u6682\u505c\u5347\u7ea7 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u56de\u9000 \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e\u6ce8\u89e3 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u6709\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b88\u62a4\u8fdb\u7a0b \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b9a\u65f6\u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bb9\u5668\u7ec4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u4e0a\u4f20\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u4e0b\u8f7d\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u5bb9\u5668\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5907\u4efd\u6062\u590d \u5e94\u7528\u5907\u4efd \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u8ba1\u5212 \u2713 \u2717 \u2717 \u2717 \u6682\u505c \u2713 \u2717 \u2717 \u2717 \u7acb\u5373\u6267\u884c \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u6062\u590d\u5907\u4efd \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u6062\u590d\u5907\u4efd \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5907\u4efd\u70b9 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5bf9\u8c61\u5b58\u50a8 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 ETCD\u5907\u4efd \u67e5\u770b\u5907\u4efd\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u5907\u4efd\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u505c\u6b62/\u542f\u52a8 \u2713 \u2717 \u2717 \u2717 \u7acb\u5373\u6267\u884c \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u5907\u4efd\u8bb0\u5f55 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u5907\u4efd\u70b9\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u5de1\u68c0 \u96c6\u7fa4\u5de1\u68c0 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u5de1\u68c0 \u2713 \u2717 \u2717 \u2717 \u8bbe\u7f6e \u2713 \u2717 \u2717 \u2717 \u6743\u9650\u7ba1\u7406 \u96c6\u7fa4\u6743\u9650 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a cluster admin \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns admin \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns editor \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns viewer \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91\u6743\u9650 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u5b89\u5168\u7ba1\u7406 \u5408\u89c4\u6027\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u4e0b\u8f7d\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u914d\u7f6e\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u914d\u7f6e\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u6743\u9650\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u6f0f\u6d1e\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717"},{"location":"ghippo/permissions/mcamel.html","title":"\u4e2d\u95f4\u4ef6\u6570\u636e\u670d\u52a1\u6743\u9650\u8bf4\u660e","text":"

                \u4e2d\u95f4\u4ef6\u6570\u636e\u670d\u52a1\u5305\u62ec\u4e86\u8bb8\u591a\u7cbe\u9009\u7684\u4e2d\u95f4\u4ef6\uff1aMySQL\u3001Redis\u3001MongoDB\u3001PostgreSQL\u3001Elasticsearch\u3001Kafka\u3001RabbitMQ\u3001RocketMQ\u3001MinIO\u3002 \u4e2d\u95f4\u4ef6\u6570\u636e\u670d\u52a1\u652f\u6301\u4e09\u79cd\u7528\u6237\u89d2\u8272\uff1a

                • Workspace Admin
                • Workspace Editor
                • Workspace Viewer

                \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

                "},{"location":"ghippo/permissions/mcamel.html#_2","title":"\u4e2d\u95f4\u4ef6\u6570\u636e\u670d\u52a1\u6743\u9650\u8bf4\u660e","text":"\u4e2d\u95f4\u4ef6\u6a21\u5757 \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer MySQL MySQL \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 MySQL \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u5907\u4efd\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u521b\u5efa\u5907\u4efd \u2713 \u2713 \u2717 \u5b9e\u4f8b\u4fee\u6539\u81ea\u52a8\u5907\u4efd\u4efb\u52a1 \u2713 \u2713 \u2717 \u4f7f\u7528\u5907\u4efd\u521b\u5efa\u65b0\u5b9e\u4f8b \u2713 \u2713 \u2717 \u5907\u4efd\u914d\u7f6e\u7ba1\u7406 \u5907\u4efd\u914d\u7f6e\u5217\u8868 \u2713 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u914d\u7f6e \u2713 \u2717 \u2717 \u4fee\u6539\u5907\u4efd\u914d\u7f6e \u2713 \u2717 \u2717 \u5220\u9664\u5907\u4efd\u914d\u7f6e \u2713 \u2717 \u2717 RabbitMQ RabbitMQ \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 RabbitMQ \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 Elasticsearch Elasticsearch \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 Elasticsearch \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 Redis Redis \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 Redis \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 Kafka Kafka \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 Kafka \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717 MinIO MinIO \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u540d\u79f0\u641c\u7d22 \u2713 \u2713 \u2713 \u521b\u5efa\u5b9e\u4f8b \u2713 \u2713 \u2717 \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e \u2713 \u2713 \u2717 \u5220\u9664\u5b9e\u4f8b \u2713 \u2717 \u2717 MinIO \u5b9e\u4f8b\u8be6\u60c5 \u5b9e\u4f8b\u6982\u89c8 \u2713 \u2713 \u2713 \u5b9e\u4f8b\u76d1\u63a7 \u2713 \u2713 \u2713 \u67e5\u770b\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2713 \u4fee\u6539\u5b9e\u4f8b\u914d\u7f6e\u53c2\u6570 \u2713 \u2713 \u2717 \u67e5\u770b\u5b9e\u4f8b\u8bbf\u95ee\u5bc6\u7801 \u2713 \u2713 \u2717"},{"location":"ghippo/permissions/mspider.html","title":"\u670d\u52a1\u7f51\u683c\u6743\u9650\u8bf4\u660e","text":"

                \u670d\u52a1\u7f51\u683c\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u7528\u6237\u89d2\u8272\uff1a

                • Admin
                • Workspace Admin
                • Workspace Editor
                • Workspace Viewer

                Info

                \u81ea DCE 5.0 \u7684 v0.6.0 \u8d77\uff0c\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u652f\u6301\u4e3a\u670d\u52a1\u7f51\u683c\u914d\u7f6e\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c \u5373\u9664\u4e86\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u89d2\u8272\u5916\uff0c\u8fd8\u53ef\u4ee5\u5728\u670d\u52a1\u7f51\u683c\u4e2d\u81ea\u5b9a\u4e49\u89d2\u8272\u5e76\u6388\u4e88\u4e0d\u540c\u6743\u9650\u3002

                \u8fd9\u4e9b\u89d2\u8272\u7684\u5177\u4f53\u6743\u9650\u5982\u4e0b\u8868\u6240\u793a\u3002

                \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Admin Workspace Admin Workspace Editor Workspace Viewer \u670d\u52a1\u7f51\u683c\u5217\u8868 \u521b\u5efa\u7f51\u683c \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u7f51\u683c \u2713 \u2713 \u2717 \u2717 \u5220\u9664\u7f51\u683c \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u7f51\u683c\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u7f51\u683c\u6982\u89c8 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u670d\u52a1\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u670d\u52a1\u5217\u8868 \u521b\u5efa VM \u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u670d\u52a1\u5217\u8868 \u5220\u9664 VM \u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u670d\u52a1\u6761\u76ee \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u865a\u62df\u670d\u52a1 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u76ee\u6807\u89c4\u5219 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u7f51\u5173\u89c4\u5219 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u5bf9\u7b49\u8eab\u4efd\u8ba4\u8bc1 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u8bf7\u6c42\u8eab\u4efd\u8ba4\u8bc1 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u6388\u6743\u7b56\u7565 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u7ba1\u7406 \u542f\u7528\u6ce8\u5165 \u2713 \u2713 \u2713 \u2717 \u7981\u7528\u6ce8\u5165 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u8fb9\u8f66\u670d\u52a1\u53d1\u73b0\u8303\u56f4 \u2713 \u2713 \u2713 \u2717 \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u7ba1\u7406 \u542f\u7528\u6ce8\u5165 \u2713 \u2713 \u2713 \u2717 \u7981\u7528\u6ce8\u5165 \u2713 \u2713 \u2713 \u2717 \u8fb9\u8f66\u8d44\u6e90\u8bbe\u7f6e \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u5168\u5c40\u8fb9\u8f66\u6ce8\u5165 \u542f\u7528\u6ce8\u5165 \u2713 \u2713 \u2717 \u2717 \u7981\u7528\u6ce8\u5165 \u2713 \u2713 \u2717 \u2717 \u8fb9\u8f66\u8d44\u6e90\u8bbe\u7f6e \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u96c6\u7fa4\u7eb3\u7ba1 (\u4ec5\u6258\u7ba1\u7f51\u683c) \u96c6\u7fa4\u63a5\u5165 \u2713 \u2713 \u2717 \u2717 \u96c6\u7fa4\u79fb\u9664 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u7f51\u683c\u7f51\u5173 \u521b\u5efa \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 Istio \u8d44\u6e90\u7ba1\u7406 \u521b\u5efa \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 TLS \u8bc1\u4e66\u7ba1\u7406 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u591a\u4e91\u7f51\u7edc\u4e92\u8054 (\u6258\u7ba1\u3001\u4e13\u7528\u7f51\u683c) \u542f\u7528 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u5173\u95ed \u2713 \u2713 \u2717 \u2717 \u7cfb\u7edf\u5347\u7ea7 Istio \u5347\u7ea7 \u2713 \u2713 \u2717 \u2717 \u8fb9\u8f66\u5347\u7ea7 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u2713 \u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406 \u7ed1\u5b9a \u2713 \u2717 \u2717 \u2717 \u89e3\u7ed1 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b \u2713 \u2717 \u2717 \u2717"},{"location":"ghippo/permissions/skoala.html","title":"\u5fae\u670d\u52a1\u5f15\u64ce\u6743\u9650\u8bf4\u660e","text":"

                \u5fae\u670d\u52a1\u5f15\u64ce\u5305\u62ec\u5fae\u670d\u52a1\u6cbb\u7406\u4e2d\u5fc3\u548c\u5fae\u670d\u52a1\u7f51\u5173\u4e24\u90e8\u5206\u3002\u5fae\u670d\u52a1\u5f15\u64ce\u652f\u6301\u4e09\u79cd\u7528\u6237\u89d2\u8272\uff1a

                • Workspace Admin
                • Workspace Editor
                • Workspace Viewer

                \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

                "},{"location":"ghippo/permissions/skoala.html#_2","title":"\u5fae\u670d\u52a1\u6cbb\u7406\u4e2d\u5fc3\u6743\u9650\u8bf4\u660e","text":"\u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u6258\u7ba1\u6ce8\u518c\u4e2d\u5fc3\u5217\u8868 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u6258\u7ba1\u6ce8\u518c\u4e2d\u5fc3 \u67e5\u770b\u57fa\u7840\u4fe1\u606f \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u91cd\u542f \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u4e0a/\u4e0b\u7ebf \u2713 \u2713 \u2717 \u5fae\u670d\u52a1\u547d\u540d\u7a7a\u95f4 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u5fae\u670d\u52a1\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u7b5b\u9009\u547d\u540d\u7a7a\u95f4 \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u6cbb\u7406 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u89c4\u5219-Sentinel \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u89c4\u5219-Mesh \u6cbb\u7406 \u2713 \u2713 \u2717 \u5b9e\u4f8b\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u4e0a/\u4e0b\u7ebf \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u7b56\u7565-Sentinel \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u7b56\u7565-Mesh \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 YAML \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u5fae\u670d\u52a1\u914d\u7f6e\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u7b5b\u9009\u547d\u540d\u7a7a\u95f4 \u2713 \u2713 \u2713 \u6279\u91cf\u5220\u9664 \u2713 \u2713 \u2717 \u5bfc\u51fa/\u5bfc\u5165 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2717 \u514b\u9686 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5386\u53f2\u67e5\u8be2 \u2713 \u2713 \u2713 \u56de\u6eda \u2713 \u2713 \u2717 \u76d1\u542c\u67e5\u8be2 \u2713 \u2713 \u2713 \u4e1a\u52a1\u76d1\u63a7 \u67e5\u770b \u2713 \u2713 \u2713 \u8d44\u6e90\u76d1\u63a7 \u67e5\u770b \u2713 \u2713 \u2713 \u8bf7\u6c42\u65e5\u5fd7 \u67e5\u770b \u2713 \u2713 \u2713 \u5b9e\u4f8b\u65e5\u5fd7 \u67e5\u770b \u2713 \u2713 \u2713 \u63d2\u4ef6\u4e2d\u5fc3 \u67e5\u770b \u2713 \u2713 \u2713 \u5f00\u542f \u2713 \u2713 \u2717 \u5173\u95ed \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u67e5\u770b\u8be6\u60c5 \u2713 \u2713 \u2713 \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u63a5\u5165 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u79fb\u9664 \u2713 \u2717 \u2717 \u5fae\u670d\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u67e5\u770b\u8be6\u60c5 \u2713 \u2713 \u2713 \u6cbb\u7406 \u2713 \u2713 \u2717 \u670d\u52a1\u6cbb\u7406\u7b56\u7565-Mesh \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 YAML \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717"},{"location":"ghippo/permissions/skoala.html#_3","title":"\u5fae\u670d\u52a1\u7f51\u5173\u6743\u9650\u8bf4\u660e","text":"\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u7f51\u5173\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u7f51\u5173\u5b9e\u4f8b \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u8bca\u65ad\u6a21\u5f0f \u67e5\u770b \u2713 \u2713 \u2713 \u8c03\u8bd5 \u2713 \u2713 \u2717 \u670d\u52a1\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u6dfb\u52a0 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u670d\u52a1\u8be6\u60c5 \u67e5\u770b \u2713 \u2713 \u2713 \u670d\u52a1\u6765\u6e90\u7ba1\u7406 \u67e5\u770b \u2713 \u2713 \u2713 \u6dfb\u52a0 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 API \u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u8bf7\u6c42\u65e5\u5fd7 \u67e5\u770b \u2713 \u2713 \u2713 \u5b9e\u4f8b\u65e5\u5fd7 \u67e5\u770b \u2713 \u2713 \u2713 \u63d2\u4ef6\u4e2d\u5fc3 \u67e5\u770b \u2713 \u2713 \u2713 \u542f\u7528 \u2713 \u2713 \u2717 \u7981\u7528 \u2713 \u2713 \u2717 \u63d2\u4ef6\u914d\u7f6e \u67e5\u770b \u2713 \u2713 \u2713 \u542f\u7528 \u2713 \u2713 \u2717 \u57df\u540d\u5217\u8868 \u67e5\u770b \u2713 \u2713 \u2713 \u6dfb\u52a0 \u2713 \u2713 \u2717 \u7f16\u8f91 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u76d1\u63a7\u544a\u8b66 \u67e5\u770b \u2713 \u2713 \u2713

                Note

                \u6709\u5173\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u7684\u5b8c\u6574\u4ecb\u7ecd\uff0c\u8bf7\u53c2\u8003\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u3002

                "},{"location":"ghippo/user-guide/password.html","title":"\u5bc6\u7801\u91cd\u7f6e","text":"

                \u5982\u679c\u60a8\u5fd8\u8bb0\u5bc6\u7801\uff0c\u53ef\u4ee5\u6309\u672c\u9875\u9762\u8bf4\u660e\u91cd\u7f6e\u5bc6\u7801\u3002

                "},{"location":"ghippo/user-guide/password.html#_2","title":"\u91cd\u7f6e\u5bc6\u7801\u6b65\u9aa4","text":"

                \u7ba1\u7406\u5458\u6700\u521d\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u65f6\uff0c\u4f1a\u4e3a\u5176\u8bbe\u7f6e\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002 \u8be5\u7528\u6237\u767b\u5f55\u540e\uff0c\u5728 \u4e2a\u4eba\u4e2d\u5fc3 \u586b\u5199\u90ae\u7bb1\u5e76\u4fee\u6539\u5bc6\u7801\u3002 \u82e5\u8be5\u7528\u6237\u672a\u8bbe\u7f6e\u90ae\u7bb1\uff0c\u5219\u53ea\u80fd\u8054\u7cfb\u7ba1\u7406\u5458\u8fdb\u884c\u5bc6\u7801\u91cd\u7f6e\u3002

                1. \u5982\u679c\u7528\u6237\u5fd8\u8bb0\u4e86\u5bc6\u7801\uff0c\u53ef\u4ee5\u5728\u767b\u5f55\u754c\u9762\u70b9\u51fb \u5fd8\u8bb0\u5bc6\u7801 \u3002

                2. \u8f93\u5165\u767b\u5f55\u90ae\u7bb1\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002

                3. \u5728\u90ae\u7bb1\u4e2d\u627e\u5230\u5bc6\u7801\u91cd\u7f6e\u90ae\u4ef6\uff0c\u70b9\u51fb\u4e0b\u65b9\u94fe\u63a5\u8fdb\u884c\u5bc6\u7801\u91cd\u7f6e\uff0c\u94fe\u63a5\u65f6\u6548 5 \u5206\u949f\u3002

                4. \u5728\u624b\u673a\u7b49\u7ec8\u7aef\u8bbe\u5907\u5b89\u88c5\u652f\u6301 2FA \u52a8\u6001\u53e3\u4ee4\u751f\u6210\u7684\u5e94\u7528\uff08\u5982 Google Authenticator\uff09\uff0c\u6309\u7167\u9875\u9762\u63d0\u793a\u914d\u7f6e\u52a8\u6001\u53e3\u4ee4\u4ee5\u6fc0\u6d3b\u8d26\u6237\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002

                5. \u8bbe\u7f6e\u65b0\u5bc6\u7801\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002\u8bbe\u7f6e\u65b0\u5bc6\u7801\u7684\u8981\u6c42\u4e0e\u521b\u5efa\u7528\u6237\u65f6\u7684\u5bc6\u7801\u89c4\u5219\u4e00\u81f4\u3002

                6. \u4fee\u6539\u5bc6\u7801\u6210\u529f\uff0c\u76f4\u63a5\u8df3\u8f6c\u9996\u9875\u3002

                "},{"location":"ghippo/user-guide/password.html#_3","title":"\u91cd\u7f6e\u5bc6\u7801\u6d41\u7a0b","text":"

                \u6574\u4e2a\u5bc6\u7801\u91cd\u7f6e\u7684\u6d41\u7a0b\u793a\u610f\u56fe\u5982\u4e0b\u3002

                graph TB\n\npass[\u5fd8\u8bb0\u5bc6\u7801] --> usern[\u8f93\u5165\u7528\u6237\u540d]\n--> button[\u70b9\u51fb\u53d1\u9001\u9a8c\u8bc1\u90ae\u4ef6\u7684\u6309\u94ae] --> judge1[\u5224\u65ad\u7528\u6237\u540d\u662f\u5426\u6b63\u786e]\n\n    judge1 -.\u6b63\u786e.-> judge2[\u5224\u65ad\u662f\u5426\u7ed1\u5b9a\u90ae\u7bb1]\n    judge1 -.\u9519\u8bef.-> tip1[\u63d0\u793a\u7528\u6237\u540d\u4e0d\u6b63\u786e]\n\n        judge2 -.\u5df2\u7ed1\u5b9a\u90ae\u7bb1.-> send[\u53d1\u9001\u91cd\u7f6e\u90ae\u4ef6]\n        judge2 -.\u672a\u7ed1\u5b9a\u90ae\u7bb1.-> tip2[\u63d0\u793a\u672a\u7ed1\u5b9a\u90ae\u7bb1<br>\u8054\u7cfb\u7ba1\u7406\u5458\u91cd\u7f6e\u5bc6\u7801]\n\nsend --> click[\u70b9\u51fb\u90ae\u4ef6\u4e2d\u7684\u94fe\u63a5] --> config[\u914d\u7f6e\u52a8\u6001\u53e3\u4ee4] --> reset[\u91cd\u7f6e\u5bc6\u7801]\n--> success[\u6210\u529f\u91cd\u7f6e\u5bc6\u7801]\n\nclassDef plain fill:#ddd,stroke:#fff,stroke-width:1px,color:#000;\nclassDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff;\nclassDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;\n\nclass pass,usern,button,tip1,send,tip2,send,click,config,reset,success plain;\nclass judge1,judge2 k8s
                "},{"location":"ghippo/user-guide/access-control/custom-role.html","title":"\u81ea\u5b9a\u4e49\u89d2\u8272","text":"

                DCE 5.0 \u652f\u6301\u521b\u5efa\u4e09\u79cd\u8303\u56f4\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff1a

                • \u5e73\u53f0\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u5e73\u53f0\u6240\u6709\u76f8\u5173\u8d44\u6e90\u751f\u6548
                • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u8be5\u7528\u6237\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u751f\u6548
                • \u6587\u4ef6\u5939\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u8be5\u7528\u6237\u6240\u5728\u7684\u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u8d44\u6e90\u751f\u6548
                "},{"location":"ghippo/user-guide/access-control/custom-role.html#_2","title":"\u521b\u5efa\u5e73\u53f0\u89d2\u8272","text":"

                \u5e73\u53f0\u89d2\u8272\u662f\u7c97\u7c92\u5ea6\u89d2\u8272\uff0c\u80fd\u591f\u5bf9\u6240\u9009\u6743\u9650\u5185\u7684\u6240\u6709\u8d44\u6e90\u751f\u6548\u3002\u5982\u6388\u6743\u540e\u7528\u6237\u53ef\u4ee5\u62e5\u6709\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\u3001\u6240\u6709\u96c6\u7fa4\u7684\u7f16\u8f91\u6743\u9650\u7b49\uff0c\u800c\u4e0d\u80fd\u9488\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u67d0\u4e2a\u96c6\u7fa4\u751f\u6548\u3002\u5e73\u53f0\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\u53ef\u4ee5\u5728\u7528\u6237/\u7528\u6237\u7ec4\u5217\u8868\u4e2d\u8fdb\u884c\u6388\u6743\u3002

                1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

                2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u5e73\u53f0\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                4. \u5e73\u53f0\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\uff0c\u4e3a\u8fd9\u4e2a\u89d2\u8272\u6dfb\u52a0\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

                "},{"location":"ghippo/user-guide/access-control/custom-role.html#_3","title":"\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u662f\u7ec6\u7c92\u5ea6\u89d2\u8272\uff0c\u9488\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u751f\u6548\u3002\u5982\u5728\u8be5\u89d2\u8272\u4e2d\u9009\u62e9\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u5168\u90e8\u6743\u9650\uff0c\u7ed9\u7528\u6237\u5728\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u6388\u4e88\u8be5\u89d2\u8272\u540e\uff0c\u8be5\u7528\u6237\u5c06\u4ec5\u80fd\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u7684\u529f\u80fd\uff0c\u800c\u65e0\u6cd5\u4f7f\u7528\u5982\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u7b49\u5176\u4ed6\u6a21\u5757\u7684\u80fd\u529b\u3002\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u4e2d\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4\u540e\u8fdb\u884c\u6388\u6743\u3002

                1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

                2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                4. \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\uff0c\u8bbe\u5b9a\u8fd9\u4e2a\u89d2\u8272\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u5de5\u4f5c\u7a7a\u95f4\u3002

                "},{"location":"ghippo/user-guide/access-control/custom-role.html#_4","title":"\u521b\u5efa\u6587\u4ef6\u5939\u89d2\u8272","text":"

                \u6587\u4ef6\u5939\u89d2\u8272\u9488\u5bf9\u67d0\u4e2a\u6587\u4ef6\u5939\u548c\u8be5\u6587\u4ef6\u5939\u4e0b\u7684\u6240\u6709\u5b50\u6587\u4ef6\u5939\u53ca\u5de5\u4f5c\u7a7a\u95f4\u751f\u6548\u3002\u5982\u5728\u8be5\u89d2\u8272\u4e2d\u9009\u62e9\u5168\u5c40\u7ba1\u7406-\u5de5\u4f5c\u7a7a\u95f4\u548c\u5e94\u7528\u5de5\u4f5c\u53f0\uff0c\u7ed9\u7528\u6237\u5728\u67d0\u4e2a\u6587\u4ef6\u5939\u4e0b\u6388\u4e88\u8be5\u89d2\u8272\u540e\uff0c\u8be5\u7528\u6237\u5c06\u80fd\u591f\u5728\u5176\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u76f8\u5173\u529f\u80fd\uff0c\u800c\u65e0\u6cd5\u4f7f\u7528\u5982\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u7b49\u5176\u4ed6\u6a21\u5757\u7684\u80fd\u529b\u3002\u6587\u4ef6\u5939\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u4e2d\u9009\u62e9\u6587\u4ef6\u5939\u540e\u8fdb\u884c\u6388\u6743\u3002 \u8bf7\u6ce8\u610f\uff1a\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u591a\u4e91\u7f16\u6392\u3001\u955c\u50cf\u4ed3\u5e93\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u670d\u52a1\u7f51\u683c\u548c\u4e2d\u95f4\u4ef6\u5747\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u5728\u521b\u5efa\u6587\u4ef6\u5939\u89d2\u8272\u65f6\u5927\u90e8\u5206\u573a\u666f\u4e0b\u9700\u8981\u7528\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u8bf7\u6ce8\u610f\u5728\u5168\u5c40\u7ba1\u7406-\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u52fe\u9009\u3002

                1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

                2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u6587\u4ef6\u5939\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                4. \u6587\u4ef6\u5939\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u6587\u4ef6\u5939\u6388\u6743\uff0c\u8bbe\u5b9a\u8fd9\u4e2a\u89d2\u8272\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u6587\u4ef6\u5939\u3002

                "},{"location":"ghippo/user-guide/access-control/docking.html","title":"\u63a5\u5165\u7ba1\u7406","text":"

                \u5f53\u4e24\u4e2a\u6216\u4e24\u4e2a\u4ee5\u4e0a\u5e73\u53f0\u76f8\u4e92\u5bf9\u63a5\u6216\u5d4c\u5165\u65f6\uff0c\u901a\u5e38\u9700\u8981\u8fdb\u884c\u7528\u6237\u4f53\u7cfb\u6253\u901a\u3002 \u5728\u7528\u6237\u6253\u901a\u8fc7\u7a0b\u4e2d\uff0c \u63a5\u5165\u7ba1\u7406 \u4e3b\u8981\u63d0\u4f9b SSO \u63a5\u5165\u80fd\u529b\uff0c\u5f53\u60a8\u9700\u8981\u5c06 DCE 5.0 \u4f5c\u4e3a\u7528\u6237\u6e90\u63a5\u5165\u5ba2\u6237\u7cfb\u7edf\u65f6\uff0c \u60a8\u53ef\u4ee5\u901a\u8fc7 \u63a5\u5165\u7ba1\u7406 \u521b\u5efa SSO \u63a5\u5165\u6765\u5b9e\u73b0\u3002

                "},{"location":"ghippo/user-guide/access-control/docking.html#sso","title":"\u521b\u5efa SSO \u63a5\u5165","text":"

                \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u63a5\u5165\u7ba1\u7406 \uff0c\u8fdb\u5165\u63a5\u5165\u7ba1\u7406\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa SSO \u63a5\u5165 \u3002

                2. \u5728 \u521b\u5efa SSO \u63a5\u5165 \u9875\u9762\u586b\u5199\u5ba2\u6237\u7aef ID\u3002

                  • \u5ba2\u6237\u7aef ID\uff1a\u5bf9\u5e94 client \u540d\u79f0
                  • \u5ba2\u6237\u7aef\u8bbf\u95ee\u5730\u5740\uff1a\u7528\u6237\u5b8c\u6210\u767b\u5f55\u5e76\u901a\u8fc7\u8eab\u4efd\u9a8c\u8bc1\u540e\uff0c\u8ba4\u8bc1\u670d\u52a1\u5668\u7528\u6765\u91cd\u5b9a\u5411\u7528\u6237\u7684\u5730\u5740\uff0c\u5373 Callback URL

                3. \u521b\u5efa SSO \u63a5\u5165\u6210\u529f\u540e\uff0c\u5728 \u63a5\u5165\u7ba1\u7406 \u7ba1\u7406\u5217\u8868\uff0c\u70b9\u51fb\u521a\u521b\u5efa\u7684\u5ba2\u6237\u7aef ID \u8fdb\u5165\u8be6\u60c5\uff0c \u590d\u5236\u5ba2\u6237\u7aef ID\u3001\u5bc6\u94a5\u548c\u5355\u70b9\u767b\u5f55 URL \u4fe1\u606f\uff0c\u586b\u5199\u81f3\u5ba2\u6237\u7cfb\u7edf\u5b8c\u6210\u7528\u6237\u4f53\u7cfb\u6253\u901a\u3002

                  Note

                  realm \u540d\u79f0\u4e3a ghippo\u3002

                "},{"location":"ghippo/user-guide/access-control/global.html","title":"\u7cfb\u7edf\u89d2\u8272","text":""},{"location":"ghippo/user-guide/access-control/global.html#_2","title":"\u9002\u7528\u573a\u666f","text":"

                DCE 5.0 \u63d0\u4f9b\u4e86\u9884\u7f6e\u7684\u7cfb\u7edf\u89d2\u8272\uff0c\u5e2e\u52a9\u7528\u6237\u7b80\u5316\u89d2\u8272\u6743\u9650\u7684\u4f7f\u7528\u6b65\u9aa4\u3002

                Note

                DCE 5.0 \u63d0\u4f9b\u4e86\u4e09\u79cd\u7c7b\u578b\u7684\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u4e3a\u5e73\u53f0\u89d2\u8272\u3001\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u548c\u6587\u4ef6\u5939\u89d2\u8272\u3002

                • \u5e73\u53f0\u89d2\u8272\uff1a\u5bf9\u5e73\u53f0\u4e0a\u6240\u6709\u76f8\u5173\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u3002
                • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff1a\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u5177\u4f53\u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\u3002
                • \u6587\u4ef6\u5939\u89d2\u8272\uff1a\u5bf9\u67d0\u4e2a\u6587\u4ef6\u5939\u3001\u5b50\u6587\u4ef6\u5939\u53ca\u5176\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u5177\u4f53\u6587\u4ef6\u5939\u6388\u6743\u3002
                "},{"location":"ghippo/user-guide/access-control/global.html#_3","title":"\u5e73\u53f0\u89d2\u8272","text":"

                \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 5 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aAdmin\u3001IAM Owner\u3001Audit Owner\u3001 Kpanda Owner \u548c Workspace and Folder Owner \u3002\u8fd9 5 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

                \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Admin \u7cfb\u7edf\u89d2\u8272 \u5168\u90e8 \u5e73\u53f0\u7ba1\u7406\u5458\uff0c\u7ba1\u7406\u6240\u6709\u5e73\u53f0\u8d44\u6e90\uff0c\u4ee3\u8868\u5e73\u53f0\u7684\u6700\u9ad8\u6743\u9650 IAM Owner \u7cfb\u7edf\u89d2\u8272 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u7ba1\u7406\u7528\u6237/\u7528\u6237\u7ec4\u53ca\u6388\u6743 Audit Owner \u7cfb\u7edf\u89d2\u8272 \u5ba1\u8ba1\u65e5\u5fd7 \u5ba1\u8ba1\u65e5\u5fd7\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u8bbe\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u7b56\u7565\uff0c\u5bfc\u51fa\u5ba1\u8ba1\u65e5\u5fd7 Kpanda Owner \u7cfb\u7edf\u89d2\u8272 \u5bb9\u5668\u7ba1\u7406 \u5bb9\u5668\u7ba1\u7406\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u521b\u5efa/\u63a5\u5165\u96c6\u7fa4\uff0c\u90e8\u7f72\u5e94\u7528\uff0c\u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u4e88\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u76f8\u5173\u7684\u6743\u9650 Workspace and Folder Owner \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u521b\u5efa\u6587\u4ef6\u5939/\u5de5\u4f5c\u7a7a\u95f4\uff0c\u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u6587\u4ef6\u5939/\u5de5\u4f5c\u7a7a\u95f4\u7684\u76f8\u5173\u6743\u9650\uff0c\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u7b49\u529f\u80fd"},{"location":"ghippo/user-guide/access-control/global.html#_4","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

                \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 3 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aWorkspace Admin\u3001Workspace Editor\u3001Workspace Viewer\u3002\u8fd9 3 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

                \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Workspace Admin \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650 Workspace Editor \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u7f16\u8f91\u6743\u9650 Workspace Viewer \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u53ea\u8bfb\u6743\u9650"},{"location":"ghippo/user-guide/access-control/global.html#_5","title":"\u6587\u4ef6\u5939\u89d2\u8272","text":"

                \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 3 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aFolder Admin\u3001Folder Editor\u3001Folder Viewer\u3002\u8fd9 3 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

                \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Folder Admin \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650 Folder Editor \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u7f16\u8f91\u6743\u9650 Folder Viewer \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u53ea\u8bfb\u6743\u9650"},{"location":"ghippo/user-guide/access-control/group.html","title":"\u7528\u6237\u7ec4","text":"

                \u7528\u6237\u7ec4\u662f\u7528\u6237\u7684\u96c6\u5408\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u52a0\u5165\u7528\u6237\u7ec4\uff0c\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u89d2\u8272\u6743\u9650\u3002\u901a\u8fc7\u7528\u6237\u7ec4\u6279\u91cf\u5730\u7ed9\u7528\u6237\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u4ee5\u66f4\u597d\u5730\u7ba1\u7406\u7528\u6237\u53ca\u5176\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/group.html#_2","title":"\u9002\u7528\u573a\u666f","text":"

                \u5f53\u7528\u6237\u6743\u9650\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ea\u9700\u5c06\u5176\u79fb\u5230\u76f8\u5e94\u7684\u7528\u6237\u7ec4\u4e0b\uff0c\u4e0d\u4f1a\u5bf9\u5176\u4ed6\u7528\u6237\u4ea7\u751f\u5f71\u54cd\u3002

                \u5f53\u7528\u6237\u7ec4\u7684\u6743\u9650\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ea\u9700\u4fee\u6539\u7528\u6237\u7ec4\u7684\u89d2\u8272\u6743\u9650\uff0c\u5373\u53ef\u5e94\u7528\u5230\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u3002

                "},{"location":"ghippo/user-guide/access-control/group.html#_3","title":"\u521b\u5efa\u7528\u6237\u7ec4","text":"

                \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \uff0c\u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa\u7528\u6237\u7ec4 \u3002

                2. \u5728 \u521b\u5efa\u7528\u6237\u7ec4 \u9875\u9762\u586b\u5199\u7528\u6237\u7ec4\u4fe1\u606f\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u7528\u6237\u7ec4\u6210\u529f\uff0c\u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\u9875\u9762\u3002\u5217\u8868\u4e2d\u7684\u7b2c\u4e00\u884c\u662f\u65b0\u521b\u5efa\u7684\u7528\u6237\u7ec4\u3002

                "},{"location":"ghippo/user-guide/access-control/group.html#_4","title":"\u4e3a\u7528\u6237\u7ec4\u6388\u6743","text":"

                \u524d\u63d0\uff1a\u8be5\u7528\u6237\u7ec4\u5df2\u5b58\u5728\u3002

                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \uff0c\u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb ... -> \u6388\u6743 \u3002

                2. \u5728 \u6388\u6743 \u9875\u9762\u52fe\u9009\u9700\u8981\u7684\u89d2\u8272\u6743\u9650\uff08\u53ef\u591a\u9009\uff09\u3002

                3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u4e3a\u7528\u6237\u7ec4\u7684\u6388\u6743\u3002\u81ea\u52a8\u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb\u67d0\u4e2a\u7528\u6237\u7ec4\uff0c\u53ef\u4ee5\u67e5\u770b\u7528\u6237\u7ec4\u88ab\u6388\u4e88\u7684\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/group.html#_5","title":"\u7ed9\u7528\u6237\u7ec4\u6dfb\u52a0\u7528\u6237","text":"
                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5728\u67d0\u4e2a\u7528\u6237\u7ec4\u53f3\u4fa7\uff0c\u70b9\u51fb ... -> \u6dfb\u52a0\u7528\u6237 \u3002

                2. \u5728 \u6dfb\u52a0\u7528\u6237 \u9875\u9762\u70b9\u9009\u9700\u8981\u6dfb\u52a0\u7684\u7528\u6237\uff08\u53ef\u591a\u9009\uff09\u3002\u82e5\u6ca1\u6709\u53ef\u9009\u7684\u7528\u6237\uff0c\u70b9\u51fb \u524d\u5f80\u521b\u5efa\u65b0\u7528\u6237 \uff0c\u5148\u524d\u5f80\u521b\u5efa\u7528\u6237\uff0c\u518d\u8fd4\u56de\u8be5\u9875\u9762\u70b9\u51fb \u5237\u65b0 \u6309\u94ae\uff0c\u663e\u793a\u521a\u521b\u5efa\u7684\u7528\u6237\u3002

                3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u7ed9\u7528\u6237\u7ec4\u6dfb\u52a0\u7528\u6237\u3002

                Note

                \u7528\u6237\u7ec4\u4e2d\u7684\u7528\u6237\u4f1a\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u6743\u9650\uff1b\u53ef\u4ee5\u5728\u7528\u6237\u7ec4\u8be6\u60c5\u4e2d\u67e5\u770b\u52a0\u5165\u8be5\u7ec4\u7684\u7528\u6237\u3002

                "},{"location":"ghippo/user-guide/access-control/group.html#_6","title":"\u5220\u9664\u7528\u6237\u7ec4","text":"

                \u8bf4\u660e\uff1a\u5220\u9664\u7528\u6237\u7ec4\uff0c\u4e0d\u4f1a\u5220\u9664\u7ec4\u5185\u7684\u7528\u6237\uff0c\u4f46\u7ec4\u5185\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u7ee7\u627f\u8be5\u7ec4\u7684\u6743\u9650

                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5728\u67d0\u4e2a\u7528\u6237\u7ec4\u53f3\u4fa7\uff0c\u70b9\u51fb ... -> \u5220\u9664 \u3002

                2. \u70b9\u51fb \u79fb\u9664 \u5220\u9664\u7528\u6237\u7ec4\u3002

                3. \u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5c4f\u5e55\u4e0a\u65b9\u5c06\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

                Note

                \u8bf4\u660e\uff1a\u5220\u9664\u7528\u6237\u7ec4\uff0c\u4e0d\u4f1a\u5220\u9664\u7ec4\u5185\u7684\u7528\u6237\uff0c\u4f46\u7ec4\u5185\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u7ee7\u627f\u8be5\u7ec4\u7684\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/iam.html","title":"\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236","text":"

                IAM\uff08Identity and Access Management\uff0c\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\uff09\u662f\u5168\u5c40\u7ba1\u7406\u7684\u4e00\u4e2a\u91cd\u8981\u6a21\u5757\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u6a21\u5757\u521b\u5efa\u3001\u7ba1\u7406\u548c\u9500\u6bc1\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\uff0c\u5e76\u4f7f\u7528\u7cfb\u7edf\u89d2\u8272\u548c\u81ea\u5b9a\u4e49\u89d2\u8272\u63a7\u5236\u5176\u4ed6\u7528\u6237\u4f7f\u7528 DCE \u5e73\u53f0\u7684\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/iam.html#_2","title":"\u4f18\u52bf","text":"
                • \u7b80\u6d01\u6d41\u7545

                  \u4f01\u4e1a\u5185\u90e8\u7684\u7ed3\u6784\u548c\u89d2\u8272\u53ef\u80fd\u975e\u5e38\u590d\u6742\uff0c\u9879\u76ee\u3001\u5de5\u4f5c\u5c0f\u7ec4\u53ca\u6388\u6743\u7684\u7ba1\u7406\u90fd\u5728\u4e0d\u65ad\u5730\u53d8\u5316\u3002\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u91c7\u7528\u6e05\u6670\u6574\u6d01\u7684\u9875\u9762\uff0c\u6253\u901a\u7528\u6237\u3001\u7528\u6237\u7ec4\u3001\u89d2\u8272\u4e4b\u95f4\u7684\u6388\u6743\u5173\u7cfb\uff0c\u4ee5\u6700\u77ed\u94fe\u8def\u5b9e\u73b0\u5bf9\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u7684\u6388\u6743\u3002

                • \u9002\u5f53\u7684\u89d2\u8272

                  \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e3a\u6bcf\u4e2a\u5b50\u6a21\u5757\u9884\u5b9a\u4e49\u4e86\u4e00\u4e2a\u7ba1\u7406\u5458\u89d2\u8272\uff0c\u65e0\u9700\u7528\u6237\u7ef4\u62a4\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5c06\u5e73\u53f0\u9884\u5b9a\u4e49\u7684\u7cfb\u7edf\u89d2\u8272\u6388\u6743\u7ed9\u7528\u6237\uff0c\u5b9e\u73b0\u5e73\u53f0\u7684\u6a21\u5757\u5316\u7ba1\u7406\uff08\u7ec6\u7c92\u5ea6\u6743\u9650\u8bf7\u53c2\u9605\u6743\u9650\u7ba1\u7406\u3002

                • \u4f01\u4e1a\u7ea7\u8bbf\u95ee\u63a7\u5236

                  \u5f53\u60a8\u5e0c\u671b\u672c\u4f01\u4e1a\u5458\u5de5\u53ef\u4ee5\u4f7f\u7528\u4f01\u4e1a\u5185\u90e8\u7684\u8ba4\u8bc1\u7cfb\u7edf\u767b\u5f55 DCE \u5e73\u53f0\uff0c\u800c\u4e0d\u9700\u8981\u5728 DCE \u5e73\u53f0\u521b\u5efa\u5bf9\u5e94\u7684\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u5efa\u7acb\u60a8\u6240\u5728\u4f01\u4e1a\u4e0e DCE \u7684\u4fe1\u4efb\u5173\u7cfb\uff0c\u901a\u8fc7\u8054\u5408\u8ba4\u8bc1\u4f7f\u5458\u5de5\u4f7f\u7528\u4f01\u4e1a\u5df2\u6709\u8d26\u53f7\u76f4\u63a5\u767b\u5f55 DCE \u5e73\u53f0\uff0c\u5b9e\u73b0\u5355\u70b9\u767b\u5f55\u3002

                "},{"location":"ghippo/user-guide/access-control/iam.html#_3","title":"\u4f7f\u7528\u6d41\u7a0b","text":"

                \u6709\u5173\u8bbf\u95ee\u63a7\u5236\u7684\u5e38\u89c4\u6d41\u7a0b\u4e3a\uff1a

                graph TD\n    login[\u767b\u5f55] --> user[\u521b\u5efa\u7528\u6237]\n    user --> auth[\u4e3a\u7528\u6237\u6388\u6743]\n    auth --> group[\u521b\u5efa\u7528\u6237\u7ec4]\n    group --> role[\u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272]\n    role --> id[\u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546]\n\n classDef plain fill:#ddd,stroke:#fff,stroke-width:4px,color:#000;\n classDef k8s fill:#326ce5,stroke:#fff,stroke-width:4px,color:#fff;\n classDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;\n class login,user,auth,group,role,id cluster;\n\nclick login \"https://docs.daocloud.io/ghippo/install/login.html\"\nclick user \"https://docs.daocloud.io/ghippo/user-guide/access-control/user.html\"\nclick auth \"https://docs.daocloud.io/ghippo/user-guide/access-control/role.html\"\nclick group \"https://docs.daocloud.io/ghippo/user-guide/access-control/group.html\"\nclick role \"https://docs.daocloud.io/ghippo/user-guide/access-control/custom-role.html\"\nclick id \"https://docs.daocloud.io/ghippo/user-guide/access-control/idprovider.html\"
                "},{"location":"ghippo/user-guide/access-control/idprovider.html","title":"\u8eab\u4efd\u63d0\u4f9b\u5546","text":"

                \u5168\u5c40\u7ba1\u7406\u652f\u6301\u57fa\u4e8e LDAP \u548c OIDC \u534f\u8bae\u7684\u5355\u70b9\u767b\u5f55\uff0c\u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u5e0c\u671b\u7ba1\u7406\u7ec4\u7ec7\u5185\u7684\u6210\u5458\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728\u60a8\u7684 DCE 5.0 \u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002\u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\u7684\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/idprovider.html#_2","title":"\u57fa\u672c\u6982\u5ff5","text":"
                • \u8eab\u4efd\u63d0\u4f9b\u5546\uff08Identity Provider\uff0c\u7b80\u79f0 IdP\uff09

                  \u8d1f\u8d23\u6536\u96c6\u548c\u5b58\u50a8\u7528\u6237\u8eab\u4efd\u4fe1\u606f\u3001\u7528\u6237\u540d\u3001\u5bc6\u7801\u7b49\uff0c\u5728\u7528\u6237\u767b\u5f55\u65f6\u8d1f\u8d23\u8ba4\u8bc1\u7528\u6237\u7684\u670d\u52a1\u3002\u5728\u4f01\u4e1a\u4e0e DCE 5.0 \u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u8eab\u4efd\u63d0\u4f9b\u5546\u6307\u4f01\u4e1a\u81ea\u8eab\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u3002

                • \u670d\u52a1\u63d0\u4f9b\u5546\uff08Service Provider\uff0c\u7b80\u79f0 SP\uff09

                  \u670d\u52a1\u63d0\u4f9b\u5546\u901a\u8fc7\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546 IdP \u5efa\u7acb\u4fe1\u4efb\u5173\u7cfb\uff0c\u4f7f\u7528 IDP \u63d0\u4f9b\u7684\u7528\u6237\u4fe1\u606f\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u5177\u4f53\u7684\u670d\u52a1\u3002\u5728\u4f01\u4e1a\u4e0e DCE 5.0 \u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u670d\u52a1\u63d0\u4f9b\u5546\u6307 DCE 5.0\u3002

                • LDAP

                  LDAP \u6307\u8f7b\u578b\u76ee\u5f55\u8bbf\u95ee\u534f\u8bae\uff08Lightweight Directory Access Protocol\uff09\uff0c\u5e38\u7528\u4e8e\u5355\u70b9\u767b\u5f55\uff0c\u5373\u7528\u6237\u53ef\u4ee5\u5728\u591a\u4e2a\u670d\u52a1\u4e2d\u4f7f\u7528\u4e00\u4e2a\u8d26\u53f7\u5bc6\u7801\u8fdb\u884c\u767b\u5f55\u3002\u5168\u5c40\u7ba1\u7406\u652f\u6301 LDAP \u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\uff0c\u56e0\u6b64\u4e0e DCE 5.0 \u901a\u8fc7 LDAP \u534f\u8bae\u5efa\u7acb\u8eab\u4efd\u8ba4\u8bc1\u7684\u4f01\u4e1a IdP \u5fc5\u987b\u652f\u6301 LDAP \u534f\u8bae\u3002\u5173\u4e8e LDAP \u7684\u8be6\u7ec6\u63cf\u8ff0\u8bf7\u53c2\u89c1\uff1a\u6b22\u8fce\u4f7f\u7528 LDAP\u3002

                • OIDC

                  OIDC \u662f OpenID Connect \u7684\u7b80\u79f0\uff0c\u662f\u4e00\u4e2a\u57fa\u4e8e OAuth 2.0 \u534f\u8bae\u7684\u8eab\u4efd\u8ba4\u8bc1\u6807\u51c6\u534f\u8bae\u3002\u5168\u5c40\u7ba1\u7406\u652f\u6301\u4f7f\u7528 OIDC \u534f\u8bae\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\uff0c\u56e0\u6b64\u4e0e DCE 5.0 \u901a\u8fc7 OIDC \u534f\u8bae\u5efa\u7acb\u8eab\u4efd\u8ba4\u8bc1\u7684\u4f01\u4e1a IdP \u5fc5\u987b\u652f\u6301 OIDC \u534f\u8bae\u3002\u5173\u4e8e OIDC \u7684\u8be6\u7ec6\u63cf\u8ff0\u8bf7\u53c2\u89c1\uff1a\u6b22\u8fce\u4f7f\u7528 OpenID Connect\u3002

                • OAuth 2.0

                  OAuth 2.0 \u662f Open Authorization 2.0 \u7684\u7b80\u79f0\uff0c\u662f\u4e00\u79cd\u5f00\u653e\u6388\u6743\u534f\u8bae\uff0c\u6388\u6743\u6846\u67b6\u652f\u6301\u7b2c\u4e09\u65b9\u5e94\u7528\u7a0b\u5e8f\u4ee5\u81ea\u5df1\u7684\u540d\u4e49\u83b7\u53d6\u8bbf\u95ee\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/idprovider.html#_3","title":"\u529f\u80fd\u7279\u6027","text":"
                • \u7ba1\u7406\u5458\u65e0\u9700\u91cd\u65b0\u521b\u5efa DCE 5.0 \u7528\u6237

                  \u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u524d\uff0c\u7ba1\u7406\u5458\u9700\u8981\u5728\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u548c DCE 5.0 \u4e2d\u5206\u522b\u4e3a\u7528\u6237\u521b\u5efa\u8d26\u53f7\uff1b\u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u540e\uff0c\u4f01\u4e1a\u7ba1\u7406\u5458\u53ea\u9700\u8981\u5728\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u4e2d\u4e3a\u7528\u6237\u521b\u5efa\u8d26\u53f7\uff0c\u7528\u6237\u5373\u53ef\u540c\u65f6\u8bbf\u95ee\u4e24\u4e2a\u7cfb\u7edf\uff0c\u964d\u4f4e\u4e86\u4eba\u5458\u7ba1\u7406\u6210\u672c\u3002

                • \u7528\u6237\u65e0\u9700\u8bb0\u4f4f\u4e24\u5957\u5e73\u53f0\u8d26\u53f7

                  \u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u524d\uff0c\u7528\u6237\u8bbf\u95ee\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u548c DCE 5.0 \u9700\u8981\u4f7f\u7528\u4e24\u4e2a\u7cfb\u7edf\u7684\u8d26\u53f7\u767b\u5f55\uff1b\u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u540e\uff0c\u7528\u6237\u5728\u672c\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u4e2d\u767b\u5f55\u5373\u53ef\u8bbf\u95ee\u4e24\u4e2a\u7cfb\u7edf\u3002

                "},{"location":"ghippo/user-guide/access-control/ldap.html","title":"LDAP","text":"

                LDAP \u82f1\u6587\u5168\u79f0\u4e3a Lightweight Directory Access Protocol\uff0c\u5373\u8f7b\u578b\u76ee\u5f55\u8bbf\u95ee\u534f\u8bae\uff0c\u8fd9\u662f\u4e00\u4e2a\u5f00\u653e\u7684\u3001\u4e2d\u7acb\u7684\u5de5\u4e1a\u6807\u51c6\u5e94\u7528\u534f\u8bae\uff0c \u901a\u8fc7 IP \u534f\u8bae\u63d0\u4f9b\u8bbf\u95ee\u63a7\u5236\u548c\u7ef4\u62a4\u5206\u5e03\u5f0f\u4fe1\u606f\u7684\u76ee\u5f55\u4fe1\u606f\u3002

                \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u60a8\u7684\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u652f\u6301 LDAP \u534f\u8bae\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e LDAP \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728 DCE 5.0 \u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\u7684\u6743\u9650\u3002

                \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5176\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5de6\u4e0b\u89d2\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb \u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546 \u6309\u94ae\u3002

                3. \u5728 LDAP \u9875\u7b7e\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u540e\u70b9\u51fb \u4fdd\u5b58 \uff0c\u5efa\u7acb\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u4fe1\u4efb\u5173\u7cfb\u53ca\u7528\u6237\u7684\u6620\u5c04\u5173\u7cfb\u3002

                  \u5b57\u6bb5 \u63cf\u8ff0 \u7c7b\u578b\uff08Vendor\uff09 \u652f\u6301 LDAP (Lightweight Directory Access Protocol) \u548c AD (Active Directory) \u8eab\u4efd\u63d0\u4f9b\u5546\u540d\u79f0\uff08UI display name\uff09 \u7528\u4e8e\u533a\u5206\u4e0d\u540c\u7684\u8eab\u4efd\u63d0\u4f9b\u5546 \u670d\u52a1\u5668\uff08Connection URL\uff09 LDAP \u670d\u52a1\u7684\u5730\u5740\u548c\u7aef\u53e3\u53f7\uff0c\u5982 ldap://10.6.165.2:30061 \u7528\u6237\u540d\u79f0\uff08Bind DN\uff09 LDAP \u7ba1\u7406\u5458\u7684 DN\uff0cKeycloak \u5c06\u4f7f\u7528\u8be5 DN \u6765\u8bbf\u95ee LDAP \u670d\u52a1\u5668 \u5bc6\u7801\uff08Bind credentials\uff09 LDAP \u7ba1\u7406\u5458\u7684\u5bc6\u7801\u3002\u8be5\u5b57\u6bb5\u53ef\u4ee5\u4ece vault \u4e2d\u83b7\u53d6\u5176\u503c\uff0c\u4f7f\u7528 ${vault.ID} \u683c\u5f0f\u3002 \u7528\u6237 DN\uff08Users DN\uff09 \u60a8\u7684\u7528\u6237\u6240\u5728\u7684 LDAP \u6811\u7684\u5b8c\u6574 DN\u3002\u6b64 DN \u662f LDAP \u7528\u6237\u7684\u7236\u7ea7\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u60a8\u7684\u5178\u578b\u7528\u6237\u7684 DN \u7c7b\u4f3c\u4e8e\u201cuid='john',ou=users,dc=example,dc=com\u201d\uff0c\u5219\u53ef\u4ee5\u662f\u201cou=users,dc=example,dc=com\u201d\u3002 \u7528\u6237\u5bf9\u8c61\u7c7b\uff08User object classes\uff09 LDAP \u4e2d\u7528\u6237\u7684 LDAP objectClass \u5c5e\u6027\u7684\u6240\u6709\u503c\uff0c\u4ee5\u9017\u53f7\u5206\u9694\u3002\u4f8b\u5982\uff1a\u201cinetOrgPerson\uff0corganizationalPerson\u201d\u3002\u65b0\u521b\u5efa\u7684 Keycloak \u7528\u6237\u5c06\u4e0e\u6240\u6709\u8fd9\u4e9b\u5bf9\u8c61\u7c7b\u4e00\u8d77\u5199\u5165 L\u200b\u200bDAP\uff0c\u5e76\u4e14\u53ea\u8981\u73b0\u6709 LDAP \u7528\u6237\u8bb0\u5f55\u5305\u542b\u6240\u6709\u8fd9\u4e9b\u5bf9\u8c61\u7c7b\uff0c\u5c31\u4f1a\u627e\u5230\u5b83\u4eec\u3002 \u662f\u5426\u542f\u7528TLS\uff08Enable StartTLS\uff09 \u542f\u7528\u540e\u5c06\u52a0\u5bc6 DCE 5.0 \u4e0e LDAP \u7684\u8fde\u63a5 \u9884\u8bbe\u6743\u9650\uff08Default permission\uff09 \u540c\u6b65\u540e\u7684\u7528\u6237/\u7528\u6237\u7ec4\u9ed8\u8ba4\u6ca1\u6709\u4efb\u4f55\u6743\u9650 \u5168\u540d\u6620\u5c04\uff08First/Last name mapping\uff09 \u5bf9\u5e94 First name \u548c Last Name \u7528\u6237\u540d\u6620\u5c04\uff08User name mapping\uff09 \u7528\u6237\u552f\u4e00\u7684\u7528\u6237\u540d \u90ae\u7bb1\u6620\u5c04\uff08Mailbox mapping\uff09 \u7528\u6237\u7684\u90ae\u7bb1

                  \u9ad8\u7ea7\u914d\u7f6e

                  \u5b57\u6bb5 \u63cf\u8ff0 \u662f\u5426\u542f\u7528\uff08Enable or not\uff09 \u9ed8\u8ba4\u542f\u7528\uff0c\u5173\u95ed\u540e\u8be5 LDAP \u914d\u7f6e\u4e0d\u751f\u6548 \u81ea\u52a8\u540c\u6b65\u7528\u6237\uff08Periodic full sync\uff09 \u9ed8\u8ba4\u4e0d\u542f\u7528\uff0c\u542f\u7528\u540e\u53ef\u914d\u7f6e\u540c\u6b65\u5468\u671f\uff0c\u5982\u6bcf\u5c0f\u65f6\u540c\u6b65\u4e00\u6b21 \u6570\u636e\u540c\u6b65\u6a21\u5f0f\uff08Edit mode\uff09 \u53ea\u8bfb\u6a21\u5f0f\u4e0d\u4f1a\u4fee\u6539 LDAP \u7684\u6e90\u6570\u636e\uff1b\u5199\u5165\u6a21\u5f0f\u5728\u5e73\u53f0\u7f16\u8f91\u7528\u6237\u4fe1\u606f\u540e\uff0c\u6570\u636e\u5c06\u540c\u6b65\u56deLDAP \u8bfb\u53d6\u8d85\u65f6\uff08Read timeout\uff09 \u5f53LDAP\u6570\u636e\u91cf\u8f83\u5927\u65f6\uff0c\u8c03\u6574\u8be5\u6570\u503c\u53ef\u4ee5\u6709\u6548\u907f\u514d\u63a5\u53e3\u8d85\u65f6 \u7528\u6237\u5bf9\u8c61\u8fc7\u6ee4\u5668\uff08User LDAP filter\uff09 \u7528\u4e8e\u8fc7\u6ee4\u641c\u7d22\u7528\u6237\u7684\u9644\u52a0 LDAP \u8fc7\u6ee4\u5668\u3002\u5982\u679c\u60a8\u4e0d\u9700\u8981\u989d\u5916\u7684\u8fc7\u6ee4\u5668\uff0c\u8bf7\u5c06\u5176\u7559\u7a7a\u3002\u786e\u4fdd\u5b83\u4ee5\u201c(\u201d\u5f00\u5934\uff0c\u5e76\u4ee5\u201c)\u201d\u7ed3\u5c3e\u3002 \u7528\u6237\u540d\u5c5e\u6027\uff08Username LDAP attribute\uff09 LDAP \u5c5e\u6027\u7684\u540d\u79f0\uff0c\u6620\u5c04\u4e3a Keycloak \u7528\u6237\u540d\u3002\u5bf9\u4e8e\u8bb8\u591a LDAP \u670d\u52a1\u5668\u4f9b\u5e94\u5546\u6765\u8bf4\uff0c\u5b83\u53ef\u4ee5\u662f\u201cuid\u201d\u3002\u5bf9\u4e8e Active Directory\uff0c\u5b83\u53ef\u4ee5\u662f\u201csAMAccountName\u201d\u6216\u201ccn\u201d\u3002\u5e94\u4e3a\u60a8\u60f3\u8981\u4ece LDAP \u5bfc\u5165\u5230 Keycloak \u7684\u6240\u6709 LDAP \u7528\u6237\u8bb0\u5f55\u586b\u5199\u8be5\u5c5e\u6027\u3002 RDN\u5c5e\u6027\uff08RDN LDAP attribute\uff09 LDAP \u5c5e\u6027\u540d\u79f0\uff0c\u4f5c\u4e3a\u5178\u578b\u7528\u6237DN\u7684RDN\uff08\u9876\u7ea7\u5c5e\u6027\uff09\u3002\u901a\u5e38\u5b83\u4e0e\u7528\u6237\u540d LDAP \u5c5e\u6027\u76f8\u540c\uff0c\u4f46\u8fd9\u4e0d\u662f\u5fc5\u9700\u7684\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e Active Directory\uff0c\u5f53\u7528\u6237\u540d\u5c5e\u6027\u53ef\u80fd\u662f\u201csAMAccountName\u201d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u201ccn\u201d\u4f5c\u4e3a RDN \u5c5e\u6027\u3002 UUID\u5c5e\u6027\uff08UUID LDAP attribute\uff09 LDAP \u5c5e\u6027\u7684\u540d\u79f0\uff0c\u7528\u4f5c LDAP \u4e2d\u5bf9\u8c61\u7684\u552f\u4e00\u5bf9\u8c61\u6807\u8bc6\u7b26 (UUID)\u3002\u5bf9\u4e8e\u8bb8\u591a LDAP \u670d\u52a1\u5668\u4f9b\u5e94\u5546\u6765\u8bf4\uff0c\u5b83\u662f\u201centryUUID\u201d\uff1b\u7136\u800c\u6709\u4e9b\u662f\u4e0d\u540c\u7684\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e Active Directory\uff0c\u5b83\u5e94\u8be5\u662f\u201cobjectGUID\u201d\u3002\u5982\u679c\u60a8\u7684 LDAP \u670d\u52a1\u5668\u4e0d\u652f\u6301 UUID \u6982\u5ff5\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5728\u6811\u4e2d\u7684 LDAP \u7528\u6237\u4e4b\u95f4\u5e94\u8be5\u552f\u4e00\u7684\u4efb\u4f55\u5176\u4ed6\u5c5e\u6027\u3002\u4f8b\u5982\u201cuid\u201d\u6216\u201centryDN\u201d\u3002
                4. \u5728 \u540c\u6b65\u7528\u6237\u7ec4 \u9875\u7b7e\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u914d\u7f6e\u7528\u6237\u7ec4\u7684\u6620\u5c04\u5173\u7cfb\u540e\uff0c\u518d\u6b21\u70b9\u51fb \u4fdd\u5b58 \u3002

                  \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u57fa\u51c6 DN \u7528\u6237\u7ec4\u5728 LDAP \u6811\u72b6\u7ed3\u6784\u4e2d\u7684\u4f4d\u7f6e ou=groups,dc=example,dc=org \u7528\u6237\u7ec4\u5bf9\u8c61\u8fc7\u6ee4\u5668 \u7528\u6237\u7ec4\u7684\u5bf9\u8c61\u7c7b\uff0c\u5982\u679c\u9700\u8981\u66f4\u591a\u7c7b\uff0c\u5219\u7528\u9017\u53f7\u5206\u9694\u3002\u5728\u5178\u578b\u7684 LDAP \u90e8\u7f72\u4e2d\uff0c\u901a\u5e38\u662f \u201cgroupOfNames\u201d\uff0c\u7cfb\u7edf\u5df2\u81ea\u52a8\u586b\u5165\uff0c\u5982\u9700\u66f4\u6539\u8bf7\u76f4\u63a5\u7f16\u8f91\u3002* \u8868\u793a\u6240\u6709\u3002 * \u7528\u6237\u7ec4\u540d cn \u4e0d\u53ef\u66f4\u6539

                Note

                1. \u5f53\u60a8\u901a\u8fc7 LDAP \u534f\u8bae\u5c06\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e0e DCE 5.0 \u5efa\u7acb\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u53ef\u901a\u8fc7\u624b\u52a8\u540c\u6b65\u6216\u81ea\u52a8\u540c\u6b65\u7684\u65b9\u5f0f\uff0c\u5c06\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u7528\u6237\u6216\u7528\u6237\u7ec4\u4e00\u6b21\u6027\u540c\u6b65\u81f3 DCE 5.0\u3002
                2. \u540c\u6b65\u540e\u7ba1\u7406\u5458\u53ef\u5bf9\u7528\u6237\u7ec4/\u7528\u6237\u7ec4\u8fdb\u884c\u6279\u91cf\u6388\u6743\uff0c\u540c\u65f6\u7528\u6237\u53ef\u901a\u8fc7\u5728\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u8d26\u53f7/\u5bc6\u7801\u767b\u5f55 DCE 5.0\u3002
                3. \u6709\u5173\u5b9e\u9645\u64cd\u4f5c\u6559\u7a0b\uff0c\u8bf7\u53c2\u9605 LDAP \u64cd\u4f5c\u6f14\u793a\u89c6\u9891\u3002
                "},{"location":"ghippo/user-guide/access-control/oauth2.0.html","title":"OAuth 2.0 - \u4f01\u4e1a\u5fae\u4fe1","text":"

                \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u4e2d\u7684\u6210\u5458\u5747\u7ba1\u7406\u5728\u4f01\u4e1a\u5fae\u4fe1\u4e2d\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e OAuth 2.0 \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c \u800c\u4e0d\u5fc5\u5728 DCE 5.0 \u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\u7684\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/oauth2.0.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb OAuth2.0 \u9875\u7b7e\u3002\u586b\u5199\u8868\u5355\u5b57\u6bb5\uff0c\u5efa\u7acb\u4e0e\u4f01\u4e1a\u5fae\u4fe1\u7684\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

                "},{"location":"ghippo/user-guide/access-control/oauth2.0.html#_2","title":"\u4f01\u4e1a\u5fae\u4fe1\u4e2d\u5bf9\u5e94\u7684\u5b57\u6bb5","text":"

                Note

                \u5bf9\u63a5\u524d\u9700\u8981\u5728\u4f01\u4e1a\u5fae\u4fe1\u7ba1\u7406\u540e\u53f0\u4e2d\u521b\u5efa\u81ea\u5efa\u5e94\u7528\uff0c\u53c2\u9605\u5982\u4f55\u521b\u5efa\u81ea\u5efa\u5e94\u7528\u94fe\u63a5\u3002

                \u5b57\u6bb5 \u63cf\u8ff0 \u4f01\u4e1a ID \u4f01\u4e1a\u5fae\u4fe1\u7684 ID Agent ID \u81ea\u5efa\u5e94\u7528\u7684 ID ClientSecret \u81ea\u5efa\u5e94\u7528\u7684 Secret

                \u4f01\u4e1a\u5fae\u4fe1 ID\uff1a

                Agent ID \u548c ClientSecret\uff1a

                "},{"location":"ghippo/user-guide/access-control/oidc.html","title":"\u521b\u5efa\u548c\u7ba1\u7406 OIDC","text":"

                OIDC\uff08OpenID Connect\uff09\u662f\u5efa\u7acb\u5728 OAuth 2.0 \u57fa\u7840\u4e0a\u7684\u4e00\u4e2a\u8eab\u4efd\u5c42\uff0c\u662f\u57fa\u4e8e OAuth2 \u534f\u8bae\u7684\u8eab\u4efd\u8ba4\u8bc1\u6807\u51c6\u534f\u8bae\u3002

                \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u60a8\u7684\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u652f\u6301 OIDC \u534f\u8bae\uff0c \u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e OIDC \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728 DCE 5.0 \u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528 DCE 5.0 \u8d44\u6e90\u7684\u6743\u9650\u3002

                \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

                1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb OIDC \u9875\u7b7e -> \u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546 \u6309\u94ae\u3002

                3. \u586b\u5199\u8868\u5355\u5b57\u6bb5\uff0c\u5efa\u7acb\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  \u5b57\u6bb5 \u63cf\u8ff0 \u63d0\u4f9b\u5546\u540d\u79f0 \u663e\u793a\u5728\u767b\u5f55\u9875\u4e0a\uff0c\u662f\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u5165\u53e3 \u8ba4\u8bc1\u65b9\u5f0f \u5ba2\u6237\u7aef\u8eab\u4efd\u9a8c\u8bc1\u65b9\u6cd5\u3002\u5982\u679c JWT \u4f7f\u7528\u79c1\u94a5\u7b7e\u540d\uff0c\u8bf7\u4e0b\u62c9\u9009\u62e9 JWT signed with private key \u3002\u5177\u4f53\u53c2\u9605 Client Authentication\u3002 \u5ba2\u6237\u7aef ID \u5ba2\u6237\u7aef\u7684 ID \u5ba2\u6237\u7aef\u5bc6\u94a5 \u5ba2\u6237\u7aef\u5bc6\u7801 \u5ba2\u6237\u7aef URL \u53ef\u901a\u8fc7\u8eab\u4efd\u63d0\u4f9b\u5546 well-known \u63a5\u53e3\u4e00\u952e\u83b7\u53d6\u767b\u5f55 URL\u3001Token URL\u3001\u7528\u6237\u4fe1\u606f URL \u548c\u767b\u51fa URL \u81ea\u52a8\u5173\u8054 \u5f00\u542f\u540e\u5f53\u8eab\u4efd\u63d0\u4f9b\u5546\u7528\u6237\u540d/\u90ae\u7bb1\u4e0e DCE 5.0 \u7528\u6237\u540d/\u90ae\u7bb1\u91cd\u590d\u65f6\u5c06\u81ea\u52a8\u4f7f\u4e8c\u8005\u5173\u8054

                Note

                1. \u5f53\u7528\u6237\u901a\u8fc7\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u5b8c\u6210\u7b2c\u4e00\u6b21\u767b\u5f55 DCE 5.0 \u540e\uff0c\u7528\u6237\u4fe1\u606f\u624d\u4f1a\u88ab\u540c\u6b65\u81f3 DCE 5.0 \u7684 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237\u5217\u8868 \u3002
                2. \u521d\u6b21\u767b\u5f55\u7684\u7528\u6237\u4e0d\u4f1a\u88ab\u8d4b\u4e88\u4efb\u4f55\u9ed8\u8ba4\u6743\u9650\uff0c\u9700\u8981\u6709\u7ba1\u7406\u5458\u7ed9\u5176\u8d4b\u6743\uff08\u7ba1\u7406\u5458\u53ef\u4ee5\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u3001\u5b50\u6a21\u5757\u7ba1\u7406\u5458\u6216\u8d44\u6e90\u7ba1\u7406\u5458\uff09\u3002
                3. \u6709\u5173\u5b9e\u9645\u64cd\u4f5c\u6559\u7a0b\uff0c\u8bf7\u53c2\u9605 OIDC \u64cd\u4f5c\u6f14\u793a\u89c6\u9891\uff0c\u4e5f\u53ef\u53c2\u8003 Azure OpenID Connect (OIDC) \u63a5\u5165\u6d41\u7a0b\u3002
                "},{"location":"ghippo/user-guide/access-control/oidc.html#_1","title":"\u7528\u6237\u8eab\u4efd\u8ba4\u8bc1\u4ea4\u4e92\u6d41\u7a0b","text":"

                \u7528\u6237\u8eab\u4efd\u8ba4\u8bc1\u7684\u4ea4\u4e92\u6d41\u7a0b\u4e3a\uff1a

                1. \u4f7f\u7528\u6d4f\u89c8\u5668\u53d1\u8d77\u5355\u70b9\u767b\u5f55 DCE 5.0 \u7684\u8bf7\u6c42\u3002
                2. DCE 5.0 \u6839\u636e\u767b\u5f55\u94fe\u63a5\u4e2d\u643a\u5e26\u7684\u4fe1\u606f\uff0c\u67e5\u627e \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u8eab\u4efd\u63d0\u4f9b\u5546 \u4e2d\u5bf9\u5e94\u7684\u914d\u7f6e\u4fe1\u606f\uff0c \u6784\u5efa OIDC \u6388\u6743 Request\uff0c\u53d1\u9001\u7ed9\u6d4f\u89c8\u5668\u3002
                3. \u6d4f\u89c8\u5668\u6536\u5230\u8bf7\u6c42\u540e\uff0c\u8f6c\u53d1 OIDC \u6388\u6743 Request \u7ed9\u4f01\u4e1a IdP\u3002
                4. \u5728\u4f01\u4e1a IdP \u7684\u767b\u5f55\u9875\u9762\u4e2d\u8f93\u5165\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u4f01\u4e1a IdP \u5bf9\u63d0\u4f9b\u7684\u8eab\u4efd\u4fe1\u606f\u8fdb\u884c\u9a8c\u8bc1\uff0c\u5e76\u6784\u5efa\u643a\u5e26\u7528\u6237\u4fe1\u606f\u7684 ID Token\uff0c\u5411\u6d4f\u89c8\u5668\u53d1\u9001 OIDC \u6388\u6743 Response\u3002
                5. \u6d4f\u89c8\u5668\u54cd\u5e94\u540e\u8f6c\u53d1 OIDC \u6388\u6743 Response \u7ed9 DCE 5.0\u3002
                6. DCE 5.0 \u4ece OIDC \u6388\u6743 Response \u4e2d\u53d6\u51fa ID Token\uff0c\u5e76\u6839\u636e\u5df2\u914d\u7f6e\u7684\u8eab\u4efd\u8f6c\u6362\u89c4\u5219\u6620\u5c04\u5230\u5177\u4f53\u7684\u7528\u6237\u5217\u8868\uff0c\u9881\u53d1 Token\u3002
                7. \u5b8c\u6210\u5355\u70b9\u767b\u5f55\uff0c\u8bbf\u95ee DCE 5.0\u3002
                "},{"location":"ghippo/user-guide/access-control/role.html","title":"\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406","text":"

                \u4e00\u4e2a\u89d2\u8272\u5bf9\u5e94\u4e00\u7ec4\u6743\u9650\u3002\u6743\u9650\u51b3\u5b9a\u4e86\u53ef\u4ee5\u5bf9\u8d44\u6e90\u6267\u884c\u7684\u64cd\u4f5c\u3002\u5411\u7528\u6237\u6388\u4e88\u67d0\u89d2\u8272\uff0c\u5373\u6388\u4e88\u8be5\u89d2\u8272\u6240\u5305\u542b\u7684\u6240\u6709\u6743\u9650\u3002

                DCE 5.0 \u5e73\u53f0\u5b58\u5728\u4e09\u79cd\u89d2\u8272\u8303\u56f4\uff0c\u80fd\u591f\u7075\u6d3b\u3001\u6709\u6548\u5730\u89e3\u51b3\u60a8\u5728\u6743\u9650\u4e0a\u7684\u4f7f\u7528\u95ee\u9898\uff1a

                • \u5e73\u53f0\u89d2\u8272
                • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272
                • \u6587\u4ef6\u5939\u89d2\u8272
                "},{"location":"ghippo/user-guide/access-control/role.html#_2","title":"\u5e73\u53f0\u89d2\u8272","text":"

                \u5e73\u53f0\u89d2\u8272\u662f\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u5bf9\u5e73\u53f0\u4e0a\u6240\u6709\u76f8\u5173\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\u3002\u901a\u8fc7\u5e73\u53f0\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u5bf9\u6240\u6709\u96c6\u7fa4\u3001\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7b49\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\uff0c \u800c\u4e0d\u80fd\u5177\u4f53\u5230\u67d0\u4e00\u4e2a\u96c6\u7fa4\u6216\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002DCE 5.0 \u63d0\u4f9b\u4e86 5 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u7684\u5e73\u53f0\u89d2\u8272\uff1a

                • Admin
                • Kpanda Owner
                • Workspace and Folder Owner
                • IAM Owner
                • Audit Owner

                \u540c\u65f6\uff0cDCE 5.0 \u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u5e73\u53f0\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002 \u5982\u521b\u5efa\u4e00\u4e2a\u5e73\u53f0\u89d2\u8272\uff0c\u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\uff0c\u7531\u4e8e\u5e94\u7528\u5de5\u4f5c\u53f0\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c \u56e0\u6b64\u5e73\u53f0\u4f1a\u5e2e\u52a9\u7528\u6237\u9ed8\u8ba4\u52fe\u9009\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\uff0c\u8bf7\u4e0d\u8981\u624b\u52a8\u53d6\u6d88\u52fe\u9009\u3002 \u82e5\u7528\u6237 A \u88ab\u6388\u4e88\u8be5 Workbench\uff08\u5e94\u7528\u5de5\u4f5c\u53f0\uff09\u89d2\u8272\uff0c\u5c06\u81ea\u52a8\u62e5\u6709\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7b49\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/role.html#_3","title":"\u5e73\u53f0\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

                \u7ed9\u5e73\u53f0\u89d2\u8272\u6388\u6743\u5171\u6709\u4e09\u79cd\u65b9\u5f0f\uff1a

                • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237 \u7684\u7528\u6237\u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u7528\u6237\uff0c\u70b9\u51fb ... \uff0c\u9009\u62e9 \u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u5e73\u53f0\u89d2\u8272\u6743\u9650\u3002

                • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237\u7ec4 \u7684\u7528\u6237\u7ec4\u5217\u8868\u4e2d\u521b\u5efa\u7528\u6237\u7ec4\uff0c\u5c06\u8be5\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4\uff0c\u5e76\u7ed9\u7528\u6237\u7ec4\u6388\u6743 \uff08\u5177\u4f53\u64cd\u4f5c\u4e3a\uff1a\u5728\u7528\u6237\u7ec4\u5217\u8868\u627e\u5230\u8be5\u7528\u6237\u7ec4\uff0c\u70b9\u51fb ... \uff0c\u9009\u62e9 \u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u7ec4\u8d4b\u4e88\u5e73\u53f0\u89d2\u8272\uff09\u3002

                • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \u7684\u89d2\u8272\u5217\u8868\u4e2d\uff0c\u627e\u5230\u76f8\u5e94\u7684\u5e73\u53f0\u89d2\u8272\uff0c \u70b9\u51fb\u89d2\u8272\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb \u5173\u8054\u6210\u5458 \u6309\u94ae\uff0c\u9009\u4e2d\u8be5\u7528\u6237\u6216\u7528\u6237\u6240\u5728\u7684\u7528\u6237\u7ec4\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"ghippo/user-guide/access-control/role.html#_4","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u662f\u7ec6\u7c92\u5ea6\u89d2\u8272\uff0c\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650\u3001\u67e5\u770b\u6743\u9650\u6216\u8be5\u5de5\u4f5c\u7a7a\u95f4\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u7684\u6743\u9650\u7b49\u3002 \u83b7\u5f97\u8be5\u89d2\u8272\u6743\u9650\u7684\u7528\u6237\u53ea\u80fd\u7ba1\u7406\u8be5\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u65e0\u6cd5\u8bbf\u95ee\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u3002DCE 5.0 \u63d0\u4f9b\u4e86 3 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u7684\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff1a

                • Workspace Admin
                • Workspace Editor
                • Workspace Viewer

                \u540c\u65f6\uff0cDCE 5.0 \u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002\u5982\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff0c \u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\uff0c\u7531\u4e8e\u5e94\u7528\u5de5\u4f5c\u53f0\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u5e73\u53f0\u4f1a\u5e2e\u52a9\u7528\u6237\u9ed8\u8ba4\u52fe\u9009\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\uff0c \u8bf7\u4e0d\u8981\u624b\u52a8\u53d6\u6d88\u52fe\u9009\u3002\u82e5\u7528\u6237 A \u5728\u5de5\u4f5c\u7a7a\u95f4 01 \u4e2d\u88ab\u6388\u4e88\u8be5\u89d2\u8272\uff0c\u5c06\u62e5\u6709\u5de5\u4f5c\u7a7a\u95f4 01 \u4e0b\u7684\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\u3002

                Note

                \u4e0e\u5e73\u53f0\u89d2\u8272\u4e0d\u540c\uff0c\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u88ab\u521b\u5efa\u540e\u9700\u8981\u524d\u5f80\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u88ab\u6388\u6743\u540e\u7528\u6237\u4ec5\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u62e5\u6709\u8be5\u89d2\u8272\u4e2d\u7684\u529f\u80fd\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/role.html#_5","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

                \u5728 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u5de5\u4f5c\u7a7a\u95f4\uff0c\u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/role.html#_6","title":"\u6587\u4ef6\u5939\u89d2\u8272","text":"

                \u6587\u4ef6\u5939\u89d2\u8272\u7684\u6743\u9650\u7c92\u5ea6\u4ecb\u4e8e\u5e73\u53f0\u89d2\u8272\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u4e4b\u95f4\uff0c\u901a\u8fc7\u6587\u4ef6\u5939\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u67d0\u4e2a\u6587\u4ef6\u5939\u53ca\u5176\u5b50\u6587\u4ef6\u5939\u548c\u8be5\u6587\u4ef6\u5939\u4e0b\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650\u3001\u67e5\u770b\u6743\u9650\u7b49\uff0c \u5e38\u9002\u7528\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8\u573a\u666f\u3002\u6bd4\u5982\u7528\u6237 B \u662f\u4e00\u7ea7\u90e8\u95e8\u7684 Leader\uff0c\u901a\u5e38\u7528\u6237 B \u80fd\u591f\u7ba1\u7406\u8be5\u4e00\u7ea7\u90e8\u95e8\u3001\u5176\u4e0b\u7684\u6240\u6709\u4e8c\u7ea7\u90e8\u95e8\u548c\u90e8\u95e8\u4e2d\u7684\u9879\u76ee\u7b49\uff0c \u5728\u6b64\u573a\u666f\u4e2d\u7ed9\u7528\u6237 B \u6388\u4e88\u4e00\u7ea7\u6587\u4ef6\u5939\u7684\u7ba1\u7406\u5458\u6743\u9650\uff0c\u7528\u6237 B \u4e5f\u5c06\u62e5\u6709\u5176\u4e0b\u7684\u4e8c\u7ea7\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u7684\u76f8\u5e94\u6743\u9650\u3002 DCE 5.0 \u63d0\u4f9b\u4e86 3 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u6587\u4ef6\u5939\u89d2\u8272\uff1a

                • Folder Admin
                • Folder Editor
                • Folder Viewer

                \u540c\u65f6\uff0cDCE 5.0 \u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u6587\u4ef6\u5939\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002 \u5982\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u89d2\u8272\uff0c\u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\u3002\u82e5\u7528\u6237 A \u5728\u6587\u4ef6\u5939 01 \u4e2d\u88ab\u6388\u4e88\u8be5\u89d2\u8272\uff0c \u5c06\u62e5\u6709\u8be5\u6587\u4ef6\u5939\u4e0b\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\u3002

                Note

                \u529f\u80fd\u6a21\u5757\u672c\u8eab\u4f9d\u8d56\u7684\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u6587\u4ef6\u5939\u662f\u5de5\u4f5c\u7a7a\u95f4\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\u4e14\u5177\u6709\u6743\u9650\u7ee7\u627f\u80fd\u529b\uff0c \u56e0\u6b64\u6587\u4ef6\u5939\u6743\u9650\u4e0d\u5149\u5305\u542b\u6587\u4ef6\u5939\u672c\u8eab\uff0c\u8fd8\u5305\u62ec\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

                "},{"location":"ghippo/user-guide/access-control/role.html#_7","title":"\u6587\u4ef6\u5939\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

                \u5728 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u6587\u4ef6\u5939\uff0c\u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u6587\u4ef6\u5939\u89d2\u8272\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/access-control/user.html","title":"\u7528\u6237","text":"

                \u7528\u6237\u6307\u7684\u662f\u7531\u5e73\u53f0\u7ba1\u7406\u5458 admin \u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237 \u9875\u9762\u521b\u5efa\u7684\u7528\u6237\uff0c\u6216\u8005\u901a\u8fc7 LDAP / OIDC \u5bf9\u63a5\u8fc7\u6765\u7684\u7528\u6237\u3002 \u7528\u6237\u540d\u4ee3\u8868\u8d26\u53f7\uff0c\u7528\u6237\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55 DaoCloud Enterprise \u5e73\u53f0\u3002

                \u62e5\u6709\u4e00\u4e2a\u7528\u6237\u8d26\u53f7\u662f\u7528\u6237\u8bbf\u95ee\u5e73\u53f0\u7684\u524d\u63d0\u3002\u65b0\u5efa\u7684\u7528\u6237\u9ed8\u8ba4\u6ca1\u6709\u4efb\u4f55\u6743\u9650\uff0c\u4f8b\u5982\u60a8\u9700\u8981\u7ed9\u7528\u6237\u8d4b\u4e88\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\uff0c\u6bd4\u5982\u5728 \u7528\u6237\u5217\u8868 \u6216 \u7528\u6237\u8be6\u60c5 \u6388\u4e88\u5b50\u6a21\u5757\u7684\u7ba1\u7406\u5458\u6743\u9650\u3002 \u5b50\u6a21\u5757\u7ba1\u7406\u5458\u62e5\u6709\u8be5\u5b50\u6a21\u5757\u7684\u6700\u9ad8\u6743\u9650\uff0c\u80fd\u591f\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u8be5\u6a21\u5757\u7684\u6240\u6709\u8d44\u6e90\u3002 \u5982\u679c\u7528\u6237\u9700\u8981\u88ab\u6388\u4e88\u5177\u4f53\u8d44\u6e90\u7684\u6743\u9650\uff0c\u6bd4\u5982\u67d0\u4e2a\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8bf7\u67e5\u770b\u8d44\u6e90\u6388\u6743\u8bf4\u660e\u3002

                \u672c\u9875\u4ecb\u7ecd\u7528\u6237\u7684\u521b\u5efa\u3001\u6388\u6743\u3001\u7981\u7528\u3001\u542f\u7528\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                "},{"location":"ghippo/user-guide/access-control/user.html#_2","title":"\u521b\u5efa\u7528\u6237","text":"

                \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa\u7528\u6237 \u3002

                2. \u5728 \u521b\u5efa\u7528\u6237 \u9875\u9762\u586b\u5199\u7528\u6237\u540d\u548c\u767b\u5f55\u5bc6\u7801\u3002\u5982\u9700\u4e00\u6b21\u6027\u521b\u5efa\u591a\u4e2a\u7528\u6237\uff0c\u53ef\u4ee5\u70b9\u51fb \u521b\u5efa\u7528\u6237 \u540e\u8fdb\u884c\u6279\u91cf\u521b\u5efa\uff0c\u4e00\u6b21\u6027\u6700\u591a\u521b\u5efa 5 \u4e2a\u7528\u6237\u3002\u6839\u636e\u60a8\u7684\u5b9e\u9645\u60c5\u51b5\u786e\u5b9a\u662f\u5426\u8bbe\u7f6e\u7528\u6237\u5728\u9996\u6b21\u767b\u5f55\u65f6\u91cd\u7f6e\u5bc6\u7801\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u7528\u6237\u6210\u529f\uff0c\u8fd4\u56de\u7528\u6237\u5217\u8868\u9875\u3002

                Note

                \u6b64\u5904\u8bbe\u7f6e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u5c06\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u3002

                "},{"location":"ghippo/user-guide/access-control/user.html#grant-admin-permissions","title":"\u4e3a\u7528\u6237\u6388\u4e88\u5b50\u6a21\u5757\u7ba1\u7406\u5458\u6743\u9650","text":"

                \u524d\u63d0\uff1a\u8be5\u7528\u6237\u5df2\u5b58\u5728\u3002

                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u6388\u6743 \u3002

                2. \u5728 \u6388\u6743 \u9875\u9762\u52fe\u9009\u9700\u8981\u7684\u89d2\u8272\u6743\u9650\uff08\u53ef\u591a\u9009\uff09\u3002

                3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u4e3a\u7528\u6237\u7684\u6388\u6743\u3002

                Note

                \u5728\u7528\u6237\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u7528\u6237\uff0c\u53ef\u4ee5\u8fdb\u5165\u7528\u6237\u8be6\u60c5\u9875\u9762\u3002

                "},{"location":"ghippo/user-guide/access-control/user.html#_3","title":"\u5c06\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4","text":"
                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u52a0\u5165\u7528\u6237\u7ec4 \u3002

                2. \u5728 \u52a0\u5165\u7528\u6237\u7ec4 \u9875\u9762\u52fe\u9009\u9700\u8981\u52a0\u5165\u7684\u7528\u6237\u7ec4\uff08\u53ef\u591a\u9009\uff09\u3002\u82e5\u6ca1\u6709\u53ef\u9009\u7684\u7528\u6237\u7ec4\uff0c\u70b9\u51fb \u521b\u5efa\u7528\u6237\u7ec4 \u521b\u5efa\u7528\u6237\u7ec4\uff0c\u518d\u8fd4\u56de\u8be5\u9875\u9762\u70b9\u51fb \u5237\u65b0 \u6309\u94ae\uff0c\u663e\u793a\u521a\u521b\u5efa\u7684\u7528\u6237\u7ec4\u3002

                3. \u70b9\u51fb \u786e\u5b9a \u5c06\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4\u3002

                Note

                \u7528\u6237\u4f1a\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u6743\u9650\uff0c\u53ef\u4ee5\u5728 \u7528\u6237\u8be6\u60c5 \u4e2d\u67e5\u770b\u8be5\u7528\u6237\u5df2\u52a0\u5165\u7684\u7528\u6237\u7ec4\u3002

                "},{"location":"ghippo/user-guide/access-control/user.html#_4","title":"\u542f\u7528/\u7981\u7528\u7528\u6237","text":"

                \u7981\u7528\u7528\u6237\u540e\uff0c\u8be5\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u8bbf\u95ee\u5e73\u53f0\u3002\u4e0e\u5220\u9664\u7528\u6237\u4e0d\u540c\uff0c\u7981\u7528\u7684\u7528\u6237\u53ef\u4ee5\u6839\u636e\u9700\u8981\u518d\u6b21\u542f\u7528\uff0c\u5efa\u8bae\u5220\u9664\u7528\u6237\u524d\u5148\u7981\u7528\uff0c\u4ee5\u786e\u4fdd\u6ca1\u6709\u5173\u952e\u670d\u52a1\u5728\u4f7f\u7528\u8be5\u7528\u6237\u521b\u5efa\u7684\u5bc6\u94a5\u3002

                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb\u4e00\u4e2a\u7528\u6237\u540d\u8fdb\u5165\u7528\u6237\u8be6\u60c5\u3002

                2. \u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u7f16\u8f91 \uff0c\u5173\u95ed\u72b6\u6001\u6309\u94ae\uff0c\u4f7f\u6309\u94ae\u7f6e\u7070\u4e14\u5904\u4e8e\u672a\u542f\u7528\u72b6\u6001\u3002

                3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u7981\u7528\u7528\u6237\u7684\u64cd\u4f5c\u3002

                "},{"location":"ghippo/user-guide/access-control/user.html#_5","title":"\u5fd8\u8bb0\u5bc6\u7801","text":"

                \u524d\u63d0\uff1a\u9700\u8981\u8bbe\u7f6e\u7528\u6237\u90ae\u7bb1\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u4ee5\u8bbe\u7f6e\u7528\u6237\u90ae\u7bb1\u3002

                • \u7ba1\u7406\u5458\u5728\u8be5\u7528\u6237\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u7f16\u8f91 \uff0c\u5728\u5f39\u51fa\u6846\u8f93\u5165\u7528\u6237\u90ae\u7bb1\u5730\u5740\uff0c\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u90ae\u7bb1\u8bbe\u7f6e\u3002

                • \u7528\u6237\u8fd8\u53ef\u4ee5\u8fdb\u5165 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u5728 \u5b89\u5168\u8bbe\u7f6e \u9875\u9762\u8bbe\u7f6e\u90ae\u7bb1\u5730\u5740\u3002

                \u5982\u679c\u7528\u6237\u767b\u5f55\u65f6\u5fd8\u8bb0\u5bc6\u7801\uff0c\u8bf7\u53c2\u8003\u91cd\u7f6e\u5bc6\u7801\u3002

                "},{"location":"ghippo/user-guide/access-control/user.html#_6","title":"\u5220\u9664\u7528\u6237","text":"

                Warning

                \u5220\u9664\u7528\u6237\u540e\uff0c\u8be5\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u901a\u8fc7\u4efb\u4f55\u65b9\u5f0f\u8bbf\u95ee\u5e73\u53f0\u8d44\u6e90\uff0c\u8bf7\u8c28\u614e\u5220\u9664\u3002 \u5728\u5220\u9664\u7528\u6237\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5173\u952e\u7a0b\u5e8f\u4e0d\u518d\u4f7f\u7528\u8be5\u7528\u6237\u521b\u5efa\u7684\u5bc6\u94a5\u3002 \u5982\u679c\u60a8\u4e0d\u786e\u5b9a\uff0c\u5efa\u8bae\u5728\u5220\u9664\u524d\u5148\u7981\u7528\u8be5\u7528\u6237\u3002 \u5982\u679c\u60a8\u5220\u9664\u4e86\u4e00\u4e2a\u7528\u6237\uff0c\u7136\u540e\u518d\u521b\u5efa\u4e00\u4e2a\u540c\u540d\u7684\u65b0\u7528\u6237\uff0c\u5219\u65b0\u7528\u6237\u5c06\u88ab\u89c6\u4e3a\u4e00\u4e2a\u65b0\u7684\u72ec\u7acb\u8eab\u4efd\uff0c\u5b83\u4e0d\u4f1a\u7ee7\u627f\u5df2\u5220\u9664\u7528\u6237\u7684\u89d2\u8272\u3002

                1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u5220\u9664 \u3002

                2. \u70b9\u51fb \u79fb\u9664 \u5b8c\u6210\u5220\u9664\u7528\u6237\u7684\u64cd\u4f5c\u3002

                "},{"location":"ghippo/user-guide/access-control/webhook.html","title":"Webhook \u6d88\u606f\u901a\u77e5","text":"

                DCE 5.0 \u5728\u63a5\u5165\u5ba2\u6237\u7684\u7cfb\u7edf\u540e\uff0c\u53ef\u4ee5\u521b\u5efa Webhook\uff0c\u5728\u7528\u6237\u521b\u5efa/\u66f4\u65b0/\u5220\u9664/\u767b\u5f55/\u767b\u51fa\u4e4b\u65f6\u53d1\u9001\u6d88\u606f\u901a\u77e5\u3002

                Webhook \u662f\u4e00\u79cd\u7528\u4e8e\u5b9e\u73b0\u5b9e\u65f6\u4e8b\u4ef6\u901a\u77e5\u7684\u673a\u5236\u3002\u5b83\u5141\u8bb8\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u5c06\u6570\u636e\u6216\u4e8b\u4ef6\u63a8\u9001\u5230\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c \u800c\u65e0\u9700\u8f6e\u8be2\u6216\u6301\u7eed\u67e5\u8be2\u3002\u901a\u8fc7\u914d\u7f6e Webhook\uff0c\u60a8\u53ef\u4ee5\u6307\u5b9a\u5728\u67d0\u4e2a\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u7531\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u63a5\u6536\u5e76\u5904\u7406\u901a\u77e5\u3002

                Webhook \u7684\u5de5\u4f5c\u539f\u7406\u5982\u4e0b\uff1a

                1. \u6e90\u5e94\u7528\u7a0b\u5e8f\uff08DCE 5.0\uff09\u6267\u884c\u67d0\u4e2a\u7279\u5b9a\u64cd\u4f5c\u6216\u4e8b\u4ef6\u3002
                2. \u6e90\u5e94\u7528\u7a0b\u5e8f\u5c06\u76f8\u5173\u6570\u636e\u548c\u4fe1\u606f\u6253\u5305\u6210 HTTP \u8bf7\u6c42\uff0c\u5e76\u5c06\u5176\u53d1\u9001\u5230\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u6307\u5b9a\u7684 URL\uff08\u4f8b\u5982\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\uff09\u3002
                3. \u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u63a5\u6536\u5230\u8bf7\u6c42\u540e\uff0c\u6839\u636e\u5176\u4e2d\u7684\u6570\u636e\u548c\u4fe1\u606f\u8fdb\u884c\u76f8\u5e94\u7684\u5904\u7406\u3002

                \u901a\u8fc7\u4f7f\u7528 Webhook\uff0c\u60a8\u53ef\u4ee5\u5b9e\u73b0\u4ee5\u4e0b\u529f\u80fd\uff1a

                • \u5b9e\u65f6\u901a\u77e5\uff1a\u5f53\u67d0\u4e2a\u7279\u5b9a\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u901a\u8fc7 Webhook \u53ca\u65f6\u901a\u77e5\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002
                • \u81ea\u52a8\u5316\u5904\u7406\uff1a\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u6839\u636e\u6536\u5230\u7684 Webhook \u8bf7\u6c42\u81ea\u52a8\u89e6\u53d1\u4e8b\u5148\u5b9a\u4e49\u597d\u7684\u64cd\u4f5c\uff0c\u65e0\u9700\u624b\u52a8\u5e72\u9884\u3002
                • \u6570\u636e\u540c\u6b65\uff1a\u901a\u8fc7 Webhook \u5c06\u6570\u636e\u4ece\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u4f20\u9012\u5230\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u540c\u6b65\u66f4\u65b0\u3002

                \u5e38\u89c1\u7684\u5e94\u7528\u573a\u666f\u5305\u62ec\uff1a

                • \u7248\u672c\u63a7\u5236\u7cfb\u7edf\uff08\u4f8b\u5982 GitHub\u3001GitLab\uff09\u4e2d\uff0c\u5f53\u4ee3\u7801\u4ed3\u5e93\u53d1\u751f\u53d8\u52a8\u65f6\uff0c\u81ea\u52a8\u89e6\u53d1\u6784\u5efa\u548c\u90e8\u7f72\u64cd\u4f5c\u3002
                • \u7535\u5b50\u5546\u52a1\u5e73\u53f0\u4e2d\uff0c\u5f53\u8ba2\u5355\u72b6\u6001\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u5411\u7269\u6d41\u7cfb\u7edf\u53d1\u9001\u66f4\u65b0\u901a\u77e5\u3002
                • \u804a\u5929\u673a\u5668\u4eba\u5e73\u53f0\u4e2d\uff0c\u5f53\u63a5\u6536\u5230\u7528\u6237\u6d88\u606f\u65f6\uff0c\u901a\u8fc7 Webhook \u5c06\u6d88\u606f\u63a8\u9001\u5230\u76ee\u6807\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\u3002
                "},{"location":"ghippo/user-guide/access-control/webhook.html#_1","title":"\u914d\u7f6e\u6b65\u9aa4","text":"

                DCE 5.0 \u56fe\u5f62\u5316\u914d\u7f6e Webhook \u7684\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u63a5\u5165\u7ba1\u7406 \uff0c\u521b\u5efa\u4e00\u4e2a\u5ba2\u6237\u7aef ID\u3002

                2. \u70b9\u51fb\u67d0\u4e2a\u5ba2\u6237\u7aef ID\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u70b9\u51fb \u521b\u5efa Webhook \u6309\u94ae\u3002

                3. \u5728\u5f39\u7a97\u4e2d\u586b\u5165\u5b57\u6bb5\u4fe1\u606f\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                  • \u5bf9\u8c61\uff1a\u76ee\u524d\u4ec5\u652f\u6301 \u7528\u6237 \u5bf9\u8c61
                  • \u884c\u4e3a\uff1a\u7528\u6237\u521b\u5efa/\u66f4\u65b0/\u5220\u9664/\u767b\u5f55/\u767b\u5f55\u65f6\u53d1\u9001 Webhook \u6d88\u606f
                  • URL\uff1a\u63a5\u6536\u6d88\u606f\u7684\u5730\u5740
                  • Method\uff1a\u89c6\u60c5\u51b5\u9009\u62e9\u9002\u7528\u7684\u65b9\u6cd5\uff0c\u4f8b\u5982\u4f01\u4e1a\u5fae\u4fe1\u63a8\u8350\u4f7f\u7528 POST \u65b9\u6cd5
                  • \u9ad8\u7ea7\u914d\u7f6e\uff1a\u53ef\u4ee5\u7528 Json \u7f16\u5199\u6d88\u606f\u4f53\u3002\u5982\u679c\u662f\u4f01\u4e1a\u5fae\u4fe1\u7fa4\uff0c\u8bf7\u53c2\u9605\u7fa4\u673a\u5668\u4eba\u914d\u7f6e\u8bf4\u660e

                4. \u5c4f\u5e55\u63d0\u793a Webhook \u521b\u5efa\u6210\u529f\u3002

                5. \u73b0\u5728\u53bb\u8bd5\u7740\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u3002

                6. \u7528\u6237\u521b\u5efa\u6210\u529f\uff0c\u53ef\u4ee5\u770b\u5230\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u6536\u5230\u4e86\u4e00\u6761\u6d88\u606f\u3002

                "},{"location":"ghippo/user-guide/access-control/webhook.html#_2","title":"\u9ad8\u7ea7\u914d\u7f6e\u793a\u4f8b","text":"

                \u7cfb\u7edf\u9ed8\u8ba4\u7684\u6d88\u606f\u4f53

                DCE 5.0 \u9884\u5148\u5b9a\u4e49\u4e86\u4e00\u4e9b\u53d8\u91cf\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u60c5\u51b5\u5728\u6d88\u606f\u4f53\u4e2d\u4f7f\u7528\u8fd9\u4e9b\u53d8\u91cf\u3002

                {\n  \"id\": \"{{$$.ID$$}}\",\n  \"email\": \"{{$$.Email$$}}\",\n  \"username\": \"{{$$.Name$$}}\",\n  \"last_name\": \"{{$$.LastName$$}}\",\n  \"first_name\": \"{{$$.FirstName$$}}\",\n  \"created_at\": \"{{$$.CreatedAt$$}}\",\n  \"enabled\": \"{{$$.Enabled$$}}\"\n}\n

                \u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\u7684 Message Body

                {\n    \"msgtype\": \"text\",\n    \"text\": {\n      \"content\": \"{{$$.Name$$}} hello world\"\n    }\n}\n
                "},{"location":"ghippo/user-guide/access-control/webhook.html#_3","title":"\u53c2\u8003\u6587\u6863","text":"
                • OEM OUT \u6587\u6863
                • OEM IN \u6587\u6863
                "},{"location":"ghippo/user-guide/audit/audit-log.html","title":"\u5ba1\u8ba1\u65e5\u5fd7","text":"

                \u5ba1\u8ba1\u65e5\u5fd7\u5e2e\u52a9\u60a8\u76d1\u63a7\u5e76\u8bb0\u5f55\u6bcf\u4e2a\u7528\u6237\u7684\u6d3b\u52a8\uff0c\u63d0\u4f9b\u4e86\u4e0e\u5b89\u5168\u76f8\u5173\u7684\u3001\u6309\u65f6\u95f4\u987a\u5e8f\u6392\u5217\u7684\u8bb0\u5f55\u7684\u6536\u96c6\u3001\u5b58\u50a8\u548c\u67e5\u8be2\u529f\u80fd\u3002 \u501f\u52a9\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u6301\u7eed\u76d1\u63a7\u5e76\u4fdd\u7559\u7528\u6237\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u7684\u4f7f\u7528\u884c\u4e3a\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u521b\u5efa\u7528\u6237\u3001\u7528\u6237\u767b\u5f55/\u767b\u51fa\u3001\u7528\u6237\u6388\u6743\u4ee5\u53ca\u4e0e Kubernetes \u76f8\u5173\u7684\u7528\u6237\u64cd\u4f5c\u884c\u4e3a\u3002

                "},{"location":"ghippo/user-guide/audit/audit-log.html#_2","title":"\u529f\u80fd\u7279\u6027","text":"

                \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u5177\u6709\u4ee5\u4e0b\u7279\u70b9\uff1a

                • \u5f00\u7bb1\u5373\u7528\uff1a\u5728\u5b89\u88c5\u4f7f\u7528\u8be5\u5e73\u53f0\u65f6\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u5c06\u4f1a\u88ab\u9ed8\u8ba4\u542f\u7528\uff0c\u81ea\u52a8\u8bb0\u5f55\u4e0e\u7528\u6237\u76f8\u5173\u7684\u5404\u79cd\u884c\u4e3a\uff0c \u5982\u521b\u5efa\u7528\u6237\u3001\u6388\u6743\u3001\u767b\u5f55/\u767b\u51fa\u7b49\u3002\u9ed8\u8ba4\u53ef\u4ee5\u5728\u5e73\u53f0\u5185\u67e5\u770b 365 \u5929\u7684\u7528\u6237\u884c\u4e3a\u3002
                • \u5b89\u5168\u5206\u6790\uff1a\u5ba1\u8ba1\u65e5\u5fd7\u4f1a\u5bf9\u7528\u6237\u64cd\u4f5c\u8fdb\u884c\u8be6\u7ec6\u7684\u8bb0\u5f55\u5e76\u63d0\u4f9b\u5bfc\u51fa\u529f\u80fd\uff0c\u901a\u8fc7\u8fd9\u4e9b\u4e8b\u4ef6\u60a8\u53ef\u4ee5\u5224\u65ad\u8d26\u53f7\u662f\u5426\u5b58\u5728\u98ce\u9669\u3002
                • \u5b9e\u65f6\u8bb0\u5f55\uff1a\u8fc5\u901f\u6536\u96c6\u64cd\u4f5c\u4e8b\u4ef6\uff0c\u7528\u6237\u64cd\u4f5c\u540e\u53ef\u5728\u5ba1\u8ba1\u65e5\u5fd7\u5217\u8868\u8fdb\u884c\u8ffd\u6eaf\uff0c\u968f\u65f6\u53d1\u73b0\u53ef\u7591\u884c\u4e3a\u3002
                • \u65b9\u4fbf\u53ef\u9760\uff1a\u5ba1\u8ba1\u65e5\u5fd7\u652f\u6301\u624b\u52a8\u6e05\u7406\u548c\u81ea\u52a8\u6e05\u7406\u4e24\u79cd\u65b9\u5f0f\uff0c\u53ef\u6839\u636e\u60a8\u7684\u5b58\u50a8\u5927\u5c0f\u914d\u7f6e\u6e05\u7406\u7b56\u7565\u3002
                "},{"location":"ghippo/user-guide/audit/audit-log.html#_3","title":"\u67e5\u770b\u5ba1\u8ba1\u65e5\u5fd7","text":"
                1. \u4f7f\u7528\u5177\u6709 admin \u6216 Audit Owner \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\uff0c\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u5ba1\u8ba1\u65e5\u5fd7 \u3002

                "},{"location":"ghippo/user-guide/audit/audit-log.html#_4","title":"\u7528\u6237\u64cd\u4f5c","text":"

                \u5728 \u7528\u6237\u64cd\u4f5c \u9875\u7b7e\u4e2d\uff0c\u53ef\u4ee5\u6309\u65f6\u95f4\u8303\u56f4\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6a21\u7cca\u641c\u7d22\u3001\u7cbe\u786e\u641c\u7d22\u6765\u67e5\u627e\u7528\u6237\u64cd\u4f5c\u4e8b\u4ef6\u3002

                \u70b9\u51fb\u67d0\u4e2a\u4e8b\u4ef6\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u4e8b\u4ef6\u8be6\u60c5\u3002

                \u4e8b\u4ef6\u8be6\u60c5\u5982\u4e0b\u56fe\u6240\u793a\u3002

                \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u5bfc\u51fa \u6309\u94ae\uff0c\u53ef\u4ee5\u6309 CSV \u548c Excel \u683c\u5f0f\u5bfc\u51fa\u5f53\u524d\u6240\u9009\u65f6\u95f4\u8303\u56f4\u5185\u7684\u7528\u6237\u64cd\u4f5c\u65e5\u5fd7\u3002

                "},{"location":"ghippo/user-guide/audit/audit-log.html#_5","title":"\u7cfb\u7edf\u64cd\u4f5c","text":"

                \u5728 \u7cfb\u7edf\u64cd\u4f5c \u9875\u7b7e\u4e2d\uff0c\u53ef\u4ee5\u6309\u65f6\u95f4\u8303\u56f4\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6a21\u7cca\u641c\u7d22\u3001\u7cbe\u786e\u641c\u7d22\u6765\u67e5\u627e\u7cfb\u7edf\u64cd\u4f5c\u4e8b\u4ef6\u3002

                \u540c\u6837\u70b9\u51fb\u67d0\u4e2a\u4e8b\u4ef6\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u4e8b\u4ef6\u8be6\u60c5\u3002

                \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u5bfc\u51fa \u6309\u94ae\uff0c\u53ef\u4ee5\u6309 CSV \u548c Excel \u683c\u5f0f\u5bfc\u51fa\u5f53\u524d\u6240\u9009\u65f6\u95f4\u8303\u56f4\u5185\u7684\u7cfb\u7edf\u64cd\u4f5c\u65e5\u5fd7\u3002

                "},{"location":"ghippo/user-guide/audit/audit-log.html#_6","title":"\u8bbe\u7f6e","text":"

                \u5728 \u8bbe\u7f6e \u9875\u7b7e\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6e05\u7406\u7528\u6237\u64cd\u4f5c\u548c\u7cfb\u7edf\u64cd\u4f5c\u7684\u5ba1\u8ba1\u65e5\u5fd7\u3002

                \u53ef\u4ee5\u624b\u52a8\u6e05\u7406\uff0c\u5efa\u8bae\u6e05\u7406\u524d\u5148\u5bfc\u51fa\u5e76\u4fdd\u5b58\u3002\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u65e5\u5fd7\u7684\u6700\u957f\u4fdd\u5b58\u65f6\u95f4\u5b9e\u73b0\u81ea\u52a8\u6e05\u7406\u3002

                Note

                \u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u4e0e Kubernetes \u76f8\u5173\u7684\u65e5\u5fd7\u8bb0\u5f55\u7531\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u63d0\u4f9b\uff0c\u4e3a\u51cf\u8f7b\u5ba1\u8ba1\u65e5\u5fd7\u7684\u5b58\u50a8\u538b\u529b\uff0c\u5168\u5c40\u7ba1\u7406\u9ed8\u8ba4\u4e0d\u91c7\u96c6 Kubernetes \u76f8\u5173\u65e5\u5fd7\u3002 \u5982\u9700\u8bb0\u5f55\u8bf7\u53c2\u9605\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002\u5f00\u542f\u540e\u7684\u6e05\u7406\u529f\u80fd\u4e0e\u5168\u5c40\u7ba1\u7406\u7684\u6e05\u7406\u529f\u80fd\u4e00\u81f4\uff0c\u4f46\u4e92\u4e0d\u5f71\u54cd\u3002

                "},{"location":"ghippo/user-guide/audit/open-audit.html","title":"\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"
                • \u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\uff1aK8s \u672c\u8eab\u751f\u6210\u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u5f00\u542f\u8be5\u529f\u80fd\u540e\uff0c\u4f1a\u5728\u6307\u5b9a\u76ee\u5f55\u4e0b\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\u7684\u65e5\u5fd7\u6587\u4ef6
                • \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\uff1a\u901a\u8fc7 insight-agent \u91c7\u96c6\u4e0a\u8ff0 \u2018K8s \u5ba1\u8ba1\u65e5\u5fd7\u2019\u7684\u65e5\u5fd7\u6587\u4ef6\uff0c\u2019\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u2018 \u7684\u524d\u63d0\u6761\u4ef6\u662f\uff1a
                  • \u96c6\u7fa4\u751f\u6210\u4e86 \u2018K8s \u5ba1\u8ba1\u65e5\u5fd7\u2018
                  • \u65e5\u5fd7\u8f93\u51fa\u5f00\u5173\u5df2\u6253\u5f00
                  • \u65e5\u5fd7\u91c7\u96c6\u5f00\u5173\u5df2\u6253\u5f00
                "},{"location":"ghippo/user-guide/audit/open-audit.html#dce-50","title":"DCE 5.0 \u5b89\u88c5\u5b8c\u6210\u65f6\u72b6\u6001","text":"
                • \u793e\u533a\u7248\u5b89\u88c5\u7ba1\u7406\u96c6\u7fa4\u8fc7\u7a0b\u4e2d\u672a\u64cd\u4f5c K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173
                • \u5546\u4e1a\u7248\u7ba1\u7406\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173\u9ed8\u8ba4\u5f00\u542f
                  • \u5982\u9700\u8bbe\u7f6e\u6210\u9ed8\u8ba4\u5173\u95ed\uff0c\u53ef\u4fee\u6539\u5b89\u88c5\u5668 clusterConfig.yaml \u6765\u914d\u7f6e\uff08logPath \u8bbe\u7f6e\u4e3a\u7a7a \u201d\u201c\uff09
                • \u7ba1\u7406\u96c6\u7fa4\u7684\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173\u9ed8\u8ba4\u5173\u95ed
                  • \u9ed8\u8ba4\u8bbe\u7f6e\u4e0d\u652f\u6301\u914d\u7f6e
                "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_1","title":"\u7ba1\u7406\u96c6\u7fa4\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173","text":""},{"location":"ghippo/user-guide/audit/open-audit.html#_1","title":"\u5546\u4e1a\u7248\u5b89\u88c5\u73af\u5883","text":""},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_2","title":"\u786e\u8ba4\u662f\u5426\u5f00\u542f\u4e86 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\u3002 \u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

                ls /var/log/kubernetes/audit\n

                \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002

                "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_3","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6d41\u7a0b","text":"
                1. \u6dfb\u52a0 chartmuseum \u5230 helm repo \u4e2d

                  helm repo add chartmuseum http://10.5.14.30:8081\n

                  \u8fd9\u6761\u547d\u4ee4\u4e2d\u7684 IP \u9700\u8981\u4fee\u6539\u4e3a\u706b\u79cd\u8282\u70b9\u7684 IP \u5730\u5740\u3002

                  Note

                  \u4f7f\u7528\u81ea\u5efa Harbor \u4ed3\u5e93\u7684\u60c5\u51b5\u4e0b\uff0c\u8bf7\u4fee\u6539\u7b2c\u4e00\u6b65\u4e2d\u7684 chart repo \u5730\u5740\u4e3a\u81ea\u5efa\u4ed3\u5e93\u7684 insight-agent chart \u5730\u5740\u3002

                2. \u4fdd\u5b58\u5f53\u524d insight-agent helm value

                  helm get values insight-agent -n insight-system -o yaml > insight-agent-values-bak.yaml\n
                3. \u83b7\u53d6\u5f53\u524d\u7248\u672c\u53f7 ${insight_version_code}

                  insight_version_code=`helm list -n insight-system |grep insight-agent | awk {'print $10'}`\n
                4. \u66f4\u65b0 helm value \u914d\u7f6e

                  helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=true\n
                5. \u91cd\u542f insight-system \u4e0b\u7684\u6240\u6709 fluentBit pod

                  fluent_pod=`kubectl get pod -n insight-system | grep insight-agent-fluent-bit | awk {'print $1'} | xargs`\nkubectl delete pod ${fluent_pod} -n insight-system\n
                "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_4","title":"\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                \u5176\u4f59\u6b65\u9aa4\u548c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u4e00\u81f4\uff0c\u4ec5\u9700\u4fee\u6539\u4e0a\u4e00\u8282\u4e2d\u7b2c 4 \u6b65\uff1a\u66f4\u65b0 helm value \u914d\u7f6e\u3002

                helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=false\n
                "},{"location":"ghippo/user-guide/audit/open-audit.html#_2","title":"\u793e\u533a\u7248\u5728\u7ebf\u5b89\u88c5\u73af\u5883","text":"

                Note

                \u82e5\u5728 Kind \u96c6\u7fa4\u4e2d\u5b89\u88c5\u793e\u533a\u7248 DCE5.0 \u793e\u533a\u7248\uff0c\u9700\u8981\u5728 Kind \u5bb9\u5668\u5185\u8fdb\u884c\u4ee5\u4e0b\u64cd\u4f5c\u3002

                "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_5","title":"\u786e\u8ba4\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

                ls /var/log/kubernetes/audit\n

                \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u5f00\u542f\u5173\u95ed K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002

                "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_6","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6d41\u7a0b","text":"
                1. \u4fdd\u5b58\u5f53\u524d value

                  helm get values insight-agent -n insight-system -o yaml > insight-agent-values-bak.yaml\n
                2. \u83b7\u53d6\u5f53\u524d\u7248\u672c\u53f7 ${insight_version_code}\uff0c\u7136\u540e\u66f4\u65b0\u914d\u7f6e

                  insight_version_code=`helm list -n insight-system |grep insight-agent | awk {'print $10'}`\n
                3. \u66f4\u65b0 helm value \u914d\u7f6e

                  helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent insight-release/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=true\n

                  \u5982\u679c\u56e0\u4e3a\u7248\u672c\u672a\u627e\u5230\u800c\u5347\u7ea7\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u547d\u4ee4\u4e2d\u4f7f\u7528\u7684 helm repo \u662f\u5426\u6709\u8fd9\u4e2a\u7248\u672c\u3002 \u82e5\u6ca1\u6709\uff0c\u8bf7\u5c1d\u8bd5\u66f4\u65b0 helm repo \u540e\u91cd\u8bd5\u3002

                  helm repo update insight-release\n
                4. \u91cd\u542f insight-system \u4e0b\u7684\u6240\u6709 fluentBit pod

                  fluent_pod=`kubectl get pod -n insight-system | grep insight-agent-fluent-bit | awk {'print $1'} | xargs`\nkubectl delete pod ${fluent_pod} -n insight-system\n
                "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_7","title":"\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                \u5176\u4f59\u6b65\u9aa4\u548c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u4e00\u81f4\uff0c\u4ec5\u9700\u4fee\u6539\u4e0a\u4e00\u8282\u4e2d\u7b2c 3 \u6b65\uff1a \u66f4\u65b0 helm value \u914d\u7f6e

                helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent insight-release/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=false\n
                "},{"location":"ghippo/user-guide/audit/open-audit.html#_3","title":"\u5de5\u4f5c\u96c6\u7fa4\u5f00\u5173","text":"

                \u5404\u5de5\u4f5c\u96c6\u7fa4\u5f00\u5173\u72ec\u7acb\uff0c\u6309\u9700\u5f00\u542f\u3002

                "},{"location":"ghippo/user-guide/audit/open-audit.html#_4","title":"\u521b\u5efa\u96c6\u7fa4\u65f6\u6253\u5f00\u91c7\u96c6\u5ba1\u8ba1\u65e5\u5fd7\u6b65\u9aa4","text":"

                \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u9ed8\u8ba4\u4e3a\u5173\u95ed\u72b6\u6001\u3002\u82e5\u9700\u8981\u5f00\u542f\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\uff1a

                \u5c06\u8be5\u6309\u94ae\u8bbe\u7f6e\u4e3a\u542f\u7528\u72b6\u6001\uff0c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u3002

                \u901a\u8fc7 DCE 5.0 \u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u786e\u8ba4\u8be5\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u9009\u62e9 \u2018true'\uff0c\u8fd9\u6837\u521b\u5efa\u51fa\u6765\u7684\u5de5\u4f5c\u96c6\u7fa4 K8s \u5ba1\u8ba1\u65e5\u5fd7\u662f\u5f00\u542f\u7684\u3002

                \u7b49\u5f85\u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5c06\u88ab\u91c7\u96c6\u3002

                "},{"location":"ghippo/user-guide/audit/open-audit.html#_5","title":"\u63a5\u5165\u7684\u96c6\u7fa4\u548c\u521b\u5efa\u5b8c\u6210\u540e\u5f00\u5173\u6b65\u9aa4","text":""},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_8","title":"\u786e\u8ba4\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

                ls /var/log/kubernetes/audit\n

                \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u5f00\u542f\u5173\u95ed K8s \u5ba1\u8ba1\u65e5\u5fd7

                "},{"location":"ghippo/user-guide/audit/open-audit.html#k8s_9","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u9ed8\u8ba4\u4e3a\u5173\u95ed\u72b6\u6001\uff0c\u82e5\u9700\u8981\u5f00\u542f\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\uff1a

                1. \u9009\u4e2d\u5df2\u63a5\u5165\u5e76\u4e14\u9700\u8981\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u7684\u96c6\u7fa4

                2. \u8fdb\u5165 helm \u5e94\u7528\u7ba1\u7406\u9875\u9762\uff0c\u66f4\u65b0 insight-agent \u914d\u7f6e \uff08\u82e5\u672a\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u5b89\u88c5 insight-agent\uff09

                3. \u5f00\u542f/\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6309\u94ae

                4. \u63a5\u5165\u96c6\u7fa4\u7684\u60c5\u51b5\u4e0b\u5f00\u5173\u540e\u4ecd\u9700\u8981\u91cd\u542f fluent-bit pod \u624d\u80fd\u751f\u6548

                "},{"location":"ghippo/user-guide/audit/open-k8s-audit.html","title":"\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                \u9ed8\u8ba4 Kubernetes \u96c6\u7fa4\u4e0d\u4f1a\u751f\u6210\u5ba1\u8ba1\u65e5\u5fd7\u4fe1\u606f\u3002\u901a\u8fc7\u4ee5\u4e0b\u914d\u7f6e\uff0c\u53ef\u4ee5\u5f00\u542f Kubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u3002

                Note

                \u516c\u6709\u4e91\u73af\u5883\u4e2d\u53ef\u80fd\u65e0\u6cd5\u63a7\u5236 Kubernetes \u5ba1\u8ba1\u65e5\u5fd7\u8f93\u51fa\u53ca\u8f93\u51fa\u8def\u5f84\u3002

                1. \u51c6\u5907\u5ba1\u8ba1\u65e5\u5fd7\u7684 Policy \u6587\u4ef6
                2. \u914d\u7f6e API \u670d\u52a1\u5668\uff0c\u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7
                3. \u91cd\u542f\u5e76\u9a8c\u8bc1
                "},{"location":"ghippo/user-guide/audit/open-k8s-audit.html#policy","title":"\u51c6\u5907\u5ba1\u8ba1\u65e5\u5fd7 Policy \u6587\u4ef6","text":"\u70b9\u51fb\u67e5\u770b\u5ba1\u8ba1\u65e5\u5fd7 Policy YAML \u6587\u4ef6 policy.yaml
                apiVersion: audit.k8s.io/v1\nkind: Policy\nrules:\n# The following requests were manually identified as high-volume and low-risk,\n# so drop them.\n- level: None\n  users: [\"system:kube-proxy\"]\n  verbs: [\"watch\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"endpoints\", \"services\", \"services/status\"]\n- level: None\n  # Ingress controller reads `configmaps/ingress-uid` through the unsecured port.\n  # TODO(#46983): Change this to the ingress controller service account.\n  users: [\"system:unsecured\"]\n  namespaces: [\"kube-system\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"configmaps\"]\n- level: None\n  users: [\"kubelet\"] # legacy kubelet identity\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"nodes\", \"nodes/status\"]\n- level: None\n  userGroups: [\"system:nodes\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"nodes\", \"nodes/status\"]\n- level: None\n  users:\n   - system:kube-controller-manager\n   - system:kube-scheduler\n   - system:serviceaccount:kube-system:endpoint-controller\n     verbs: [\"get\", \"update\"]\n     namespaces: [\"kube-system\"]\n     resources:\n   - group: \"\" # core\n     resources: [\"endpoints\"]\n- level: None\n  users: [\"system:apiserver\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"namespaces\", \"namespaces/status\", \"namespaces/finalize\"]\n# Don't log HPA fetching metrics.\n- level: None\n  users:\n   - system:kube-controller-manager\n     verbs: [\"get\", \"list\"]\n     resources:\n   - group: \"metrics.k8s.io\"\n# Don't log these read-only URLs.\n- level: None\n  nonResourceURLs:\n   - /healthz*\n   - /version\n   - /swagger*\n# Don't log events requests.\n- level: None\n  resources:\n   - group: \"\" # core\n     resources: [\"events\"]\n# Secrets, ConfigMaps, TokenRequest and TokenReviews can contain sensitive & binary data,\n# so only log at the Metadata level.\n- level: Metadata\n  resources:\n   - group: \"\" # core\n     resources: [\"secrets\", \"configmaps\", \"serviceaccounts/token\"]\n   - group: authentication.k8s.io\n     resources: [\"tokenreviews\"]\n     omitStages:\n   - \"RequestReceived\"\n# Get responses can be large; skip them.\n- level: Request\n  verbs: [\"get\", \"list\", \"watch\"]\n  resources:\n   - group: \"\" # core\n   - group: \"admissionregistration.k8s.io\"\n   - group: \"apiextensions.k8s.io\"\n   - group: \"apiregistration.k8s.io\"\n   - group: \"apps\"\n   - group: \"authentication.k8s.io\"\n   - group: \"authorization.k8s.io\"\n   - group: \"autoscaling\"\n   - group: \"batch\"\n   - group: \"certificates.k8s.io\"\n   - group: \"extensions\"\n   - group: \"metrics.k8s.io\"\n   - group: \"networking.k8s.io\"\n   - group: \"policy\"\n   - group: \"rbac.authorization.k8s.io\"\n   - group: \"settings.k8s.io\"\n   - group: \"storage.k8s.io\"\n     omitStages:\n   - \"RequestReceived\"\n# Default level for known APIs\n- level: RequestResponse\n  resources:\n   - group: \"\" # core\n   - group: \"admissionregistration.k8s.io\"\n   - group: \"apiextensions.k8s.io\"\n   - group: \"apiregistration.k8s.io\"\n   - group: \"apps\"\n   - group: \"authentication.k8s.io\"\n   - group: \"authorization.k8s.io\"\n   - group: \"autoscaling\"\n   - group: \"batch\"\n   - group: \"certificates.k8s.io\"\n   - group: \"extensions\"\n   - group: \"metrics.k8s.io\"\n   - group: \"networking.k8s.io\"\n   - group: \"policy\"\n   - group: \"rbac.authorization.k8s.io\"\n   - group: \"settings.k8s.io\"\n   - group: \"storage.k8s.io\"\n     omitStages:\n   - \"RequestReceived\"\n# Default level for all other requests.\n- level: Metadata\n  omitStages:\n   - \"RequestReceived\"\n

                \u5c06\u4ee5\u4e0a\u5ba1\u8ba1\u65e5\u5fd7\u6587\u4ef6\u653e\u5230 /etc/kubernetes/audit-policy/ \u6587\u4ef6\u5939\u4e0b\uff0c\u5e76\u53d6\u540d\u4e3a apiserver-audit-policy.yaml \u3002

                "},{"location":"ghippo/user-guide/audit/open-k8s-audit.html#api","title":"\u914d\u7f6e API \u670d\u52a1\u5668","text":"

                \u6253\u5f00 API \u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6 kube-apiserver.yaml \uff0c\u4e00\u822c\u4f1a\u5728 /etc/kubernetes/manifests/ \u6587\u4ef6\u5939\u4e0b\uff0c\u5e76\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\u4fe1\u606f\uff1a

                \u8fd9\u4e00\u6b65\u64cd\u4f5c\u524d\u8bf7\u5907\u4efd kube-apiserver.yaml \uff0c\u5e76\u4e14\u5907\u4efd\u7684\u6587\u4ef6\u4e0d\u80fd\u653e\u5728 /etc/kubernetes/manifests/ \u4e0b\uff0c\u5efa\u8bae\u653e\u5728 /etc/kubernetes/tmp \u3002

                1. \u5728 spec.containers.command \u4e0b\u6dfb\u52a0\u547d\u4ee4\uff1a

                  --audit-log-maxage=30\n--audit-log-maxbackup=10\n--audit-log-maxsize=100\n--audit-log-path=/var/log/audit/kube-apiserver-audit.log\n--audit-policy-file=/etc/kubernetes/audit-policy/apiserver-audit-policy.yaml\n
                2. \u5728 spec.containers.volumeMounts \u4e0b\u6dfb\u52a0\uff1a

                  - mountPath: /var/log/audit\n  name: audit-logs\n- mountPath: /etc/kubernetes/audit-policy\n  name: audit-policy\n
                3. \u5728 spec.volumes \u4e0b\u6dfb\u52a0\uff1a

                  - hostPath:\n  path: /var/log/kubernetes/audit\n  type: \"\"\n  name: audit-logs\n- hostPath:\n  path: /etc/kubernetes/audit-policy\n  type: \"\"\n  name: audit-policy\n
                "},{"location":"ghippo/user-guide/audit/open-k8s-audit.html#_1","title":"\u6d4b\u8bd5\u5e76\u9a8c\u8bc1","text":"

                \u7a0d\u7b49\u4e00\u4f1a\uff0cAPI \u670d\u52a1\u5668\u4f1a\u81ea\u52a8\u91cd\u542f\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

                ls /var/log/kubernetes/audit\n

                \u5982\u679c\u60f3\u5173\u95ed\uff0c\u53bb\u6389 spec.containers.command \u4e2d\u7684\u76f8\u5173\u547d\u4ee4\u5373\u53ef\u3002

                "},{"location":"ghippo/user-guide/audit/source-ip.html","title":"\u5ba1\u8ba1\u65e5\u5fd7\u83b7\u53d6\u6e90 IP","text":"

                \u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u5728\u7cfb\u7edf\u548c\u7f51\u7edc\u7ba1\u7406\u4e2d\u626e\u6f14\u7740\u5173\u952e\u89d2\u8272\uff0c\u5b83\u6709\u52a9\u4e8e\u8ffd\u8e2a\u6d3b\u52a8\u3001\u7ef4\u62a4\u5b89\u5168\u3001\u89e3\u51b3\u95ee\u9898\u5e76\u786e\u4fdd\u7cfb\u7edf\u5408\u89c4\u6027\u3002 \u4f46\u662f\u83b7\u53d6\u6e90 IP \u4f1a\u5e26\u6765\u4e00\u5b9a\u7684\u6027\u80fd\u635f\u8017\uff0c\u6240\u4ee5\u5728 DCE 5.0 \u4e2d\u5ba1\u8ba1\u65e5\u5fd7\u5e76\u4e0d\u603b\u662f\u5f00\u542f\u7684\uff0c \u5728\u4e0d\u540c\u7684\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u7684\u9ed8\u8ba4\u5f00\u542f\u60c5\u51b5\u4e0d\u540c\uff0c\u5e76\u4e14\u5f00\u542f\u7684\u65b9\u5f0f\u4e0d\u540c\u3002 \u4e0b\u9762\u4f1a\u6839\u636e\u5b89\u88c5\u6a21\u5f0f\u5206\u522b\u4ecb\u7ecd\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u7684\u9ed8\u8ba4\u5f00\u542f\u60c5\u51b5\u4ee5\u53ca\u5982\u4f55\u5f00\u542f\u3002

                Note

                \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u4f1a\u4fee\u6539 istio-ingressgateway \u7684\u526f\u672c\u6570\uff0c\u5e26\u6765\u4e00\u5b9a\u7684\u6027\u80fd\u635f\u8017\u3002 \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u9700\u8981\u5173\u95ed kube-proxy \u7684\u8d1f\u8f7d\u5747\u8861\u4ee5\u53ca\u62d3\u6251\u611f\u77e5\u8def\u7531\uff0c\u4f1a\u5bf9\u96c6\u7fa4\u6027\u80fd\u4ea7\u751f\u4e00\u5b9a\u7684\u5f71\u54cd\u3002 \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u540e\uff0c\u8bbf\u95eeIP\u6240\u5bf9\u5e94\u7684\u8282\u70b9\u4e0a\u5fc5\u987b\u4fdd\u8bc1\u5b58\u5728 istio-ingressgateway \uff0c\u82e5\u56e0\u4e3a\u8282\u70b9\u5065\u5eb7\u6216\u5176\u4ed6\u95ee\u9898\u5bfc\u81f4 istio-ingressgateway \u53d1\u751f\u6f02\u79fb\uff0c\u9700\u8981\u624b\u52a8\u8c03\u5ea6\u56de\u8be5\u8282\u70b9\uff0c\u5426\u5219\u4f1a\u5f71\u54cd DCE 5.0 \u7684\u6b63\u5e38\u4f7f\u7528\u3002

                "},{"location":"ghippo/user-guide/audit/source-ip.html#_1","title":"\u5224\u65ad\u5b89\u88c5\u6a21\u5f0f\u7684\u65b9\u6cd5","text":"
                kubectl get pod -n metallb-system\n

                \u5728\u96c6\u7fa4\u4e2d\u6267\u884c\u4e0a\u9762\u7684\u547d\u4ee4\uff0c\u82e5\u8fd4\u56de\u7ed3\u679c\u5982\u4e0b\uff0c\u5219\u8868\u793a\u8be5\u96c6\u7fa4\u4e3a\u975e MetalLB \u5b89\u88c5\u6a21\u5f0f

                No resources found in metallbs-system namespace.\n
                "},{"location":"ghippo/user-guide/audit/source-ip.html#nodeport","title":"NodePort \u5b89\u88c5\u6a21\u5f0f","text":"

                \u8be5\u6a21\u5f0f\u5b89\u88c5\u4e0b\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u9ed8\u8ba4\u662f\u5173\u95ed\u7684\uff0c\u5f00\u542f\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u8bbe\u7f6e istio-ingressgateway \u7684 HPA \u7684\u6700\u5c0f\u526f\u672c\u6570\u4e3a\u63a7\u5236\u9762\u8282\u70b9\u6570

                  count=$(kubectl get nodes --selector=node-role.kubernetes.io/control-plane | wc -l)\ncount=$((count-1))\n\nkubectl patch hpa istio-ingressgateway -n istio-system -p '{\"spec\":{\"minReplicas\":'$count'}}'\n
                2. \u4fee\u6539 istio-ingressgateway \u7684 service \u7684 externalTrafficPolicy \u548c internalTrafficPolicy \u503c\u4e3a \"Local\"

                  kubectl patch svc istio-ingressgateway -n istio-system -p '{\"spec\":{\"externalTrafficPolicy\":\"Local\",\"internalTrafficPolicy\":\"Local\"}}'\n
                "},{"location":"ghippo/user-guide/audit/source-ip.html#metallb","title":"MetalLB \u5b89\u88c5\u6a21\u5f0f","text":"

                \u8be5\u6a21\u5f0f\u4e0b\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u4f1a\u9ed8\u8ba4\u83b7\u53d6\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP\uff0c\u82e5\u9700\u8981\u4e86\u89e3\u66f4\u591a\uff0c\u8bf7\u53c2\u8003 MetalLB \u6e90 IP\u3002

                "},{"location":"ghippo/user-guide/audit/gproduct-audit/amamba.html","title":"\u5e94\u7528\u5de5\u4f5c\u53f0\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u539f\u751f\u5e94\u7528\uff1aCreate-Application Application \u66f4\u65b0\u539f\u751f\u5e94\u7528\uff1aUpdate-Application Application \u7f16\u8f91yaml\u3001\u521b\u5efa\u7248\u672c\u5feb\u7167\u3001\u56de\u6eda \u5220\u9664\u539f\u751f\u5e94\u7528\uff1aDelete-Application Application \u521b\u5efa OAM \u5e94\u7528\uff1aCreate-OAMApplication OAMApplication \u66f4\u65b0 OAM \u5e94\u7528\uff1aUpdate-OAMApplication OAMApplication \u7f16\u8f91yaml \u6dfb\u52a0 OAM \u5e94\u7528\u7ec4\u4ef6\uff1aAdd-OAMApplicationComponent OAMApplicationComponent \u6dfb\u52a0\u7ec4\u4ef6 \u66f4\u65b0 OAM \u7ec4\u4ef6\u8fd0\u7ef4\u7279\u5f81\uff1aUpdate-OAMApplicationComponentTrait OAMApplicationComponentTrait \u66f4\u65b0\u5e94\u7528\u7ec4\u4ef6\u8fd0\u7ef4\u7279\u5f81 \u5220\u9664 OAM \u5e94\u7528\uff1aDelete-OAMApplication OAMApplication \u521b\u5efa HELM \u5e94\u7528\uff1aCreate-HelmApplication HelmApplication \u521b\u5efaOLM \u5e94\u7528\uff1aCreate-OLMApplication OLMApplication \u66f4\u65b0OLM \u5e94\u7528\uff1aUpdate-OLMApplication OLMApplication \u521b\u5efaOLM \u5e94\u7528\uff1aDelete-OLMApplication OLMApplication \u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff1aCreate-Namespace Namespace \u66f4\u65b0\u547d\u540d\u7a7a\u95f4\u914d\u989d\uff1aUpdate-NamespaceQuota NamespaceQuota \u5220\u9664\u547d\u540d\u7a7a\u95f4\uff1aDelete-Namespace Namespace \u521b\u5efa\u6d41\u6c34\u7ebf\uff1aCreate-Pipeline Pipeline \u66f4\u65b0\u6d41\u6c34\u7ebf\uff1aUpdate-Pipeline Pipeline \u5305\u542b\u6240\u6709\u7684\u66f4\u65b0\u64cd\u4f5c(\u7f16\u8f91jenkinsfile\u3001\u7f16\u8f91\u914d\u7f6e\u3001\u7f16\u8f91\u56fe\u5f62\u5316\u3001) \u8fd0\u884c\u6d41\u6c34\u7ebf\uff1aRun-Pipeline Pipeline \u7acb\u5373\u8fd0\u884cc\u5965\u505a \u91cd\u65b0\u8fd0\u884c\uff1aReRun-Pipeline Pipeline \u91cd\u65b0\u6267\u884c\u64cd\u4f5c \u7ec8\u6b62\u6d41\u6c34\u7ebf\uff1aAbort-Pipeline Pipeline \u7ec8\u6b62\u64cd\u4f5c+\u5ba1\u6279\u6b65\u9aa4\u7684\u7ec8\u6b62\u64cd\u4f5c \u5ba1\u6279\u6d41\u6c34\u7ebf\uff1aApproval-Pipeline Pipeline \u5ba1\u6279\u901a\u8fc7\u6d41\u6c34\u7ebf \u5220\u9664\u6d41\u6c34\u7ebf\uff1aDelete-Pipeline Pipeline \u521b\u5efa\u6d41\u6c34\u7ebf\u51ed\u8bc1\uff1aCreate-PipelineCredential PipelineCredential \u5220\u9664\u6d41\u6c34\u7ebf\u51ed\u8bc1\uff1aDelete-PipelineCredential PipelineCredential \u521b\u5efa\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aCreate-GrayscaleTask GrayscaleTask \u662f\u5426\u8981\u533a\u5206\u662f\u84dd\u7eff\u8fd8\u662f\u91d1\u4e1d\u96c0 \u66f4\u65b0\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aUpdate-GrayscaleTask GrayscaleTask \u66f4\u65b0\u53d1\u5e03\u4efb\u52a1\u3001\u66f4\u65b0\u7248\u672c\u3001\u7f16\u8f91 yaml\u3001\u66f4\u65b0\u5b9e\u4f8b\u6570 \u53d1\u5e03\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\u4efb\u52a1\uff1aUpgrade-GrayscaleTask GrayscaleTask \u7ec8\u6b62\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aAbort-GrayscaleTask GrayscaleTask \u56de\u6eda\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aUndo-GrayscaleTask GrayscaleTask \u5220\u9664\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aDelete-GrayscaleTask GrayscaleTask \u521b\u5efaGitOps\u5e94\u7528\uff1aCreate-GitOpsApplication GitOpsApplication \u66f4\u65b0GitOps\u5e94\u7528\uff1aUpdate-GitOpsApplication GitOpsApplication \u540c\u6b65GitOps\u5e94\u7528\uff1aSync-GitOpsApplication GitOpsApplication \u5220\u9664GitOps\u5e94\u7528\uff1aDelete-GitOpsApplication GitOpsApplication \u5bfc\u5165 GitOps \u4ed3\u5e93\uff1aImport-GitOpsRepository GitOpsRepository \u5220\u9664 GitOps \u4ed3\u5e93\uff1aDelete-GitOpsRepository GitOpsRepository \u5de5\u5177\u94fe\u96c6\u6210\uff1aIntegrated-Toolchain Toolchain \u89e3\u9664\u96c6\u6210\u5de5\u5177\u94fe\uff1aDelete-Toolchain Toolchain \u7ed1\u5b9a\u5de5\u5177\u94fe\u9879\u76ee\uff1aBind-ToolchainProject ToolchainProject jira\u3001gitlab \u652f\u6301\u7ba1\u7406\u5458\u89c6\u89d2\u4e0b sonarqube \u4e5f\u652f\u6301 \u89e3\u9664\u7ed1\u5b9a\u5de5\u5177\u94fe\u5de5\u5177\u94fe\u9879\u76ee\uff1aUnbind-ToolchainProject ToolchainProject jira\u3001gitlab \u652f\u6301\u7ba1\u7406\u5458\u89c6\u89d2\u4e0b sonarqube \u4e5f\u652f\u6301"},{"location":"ghippo/user-guide/audit/gproduct-audit/ghippo.html","title":"\u5168\u5c40\u7ba1\u7406\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u4fee\u6539\u7528\u6237email\uff1aUpdateEmail-Account Account \u4fee\u6539\u7528\u6237\u5bc6\u7801\uff1aUpdatePassword-Account Account \u521b\u5efask\uff1aCreateAccessKeys-Account Account \u4fee\u6539sk\uff1aUpdateAccessKeys-Account Account \u5220\u9664sk\uff1aDeleteAccessKeys-Account Account \u521b\u5efa\u7528\u6237\uff1aCreate-User User \u5220\u9664\u7528\u6237\uff1aDelete-User User \u66f4\u65b0\u7528\u6237\u4fe1\u606f\uff1aUpdate-User User \u66f4\u65b0\u7528\u6237\u89d2\u8272\uff1a UpdateRoles-User User \u8bbe\u7f6e\u7528\u6237\u5bc6\u7801\uff1a UpdatePassword-User User \u521b\u5efa\u7528\u6237\u5bc6\u94a5\uff1a CreateAccessKeys-User User \u66f4\u65b0\u7528\u6237\u5bc6\u94a5\uff1a UpdateAccessKeys-User User \u5220\u9664\u7528\u6237\u5bc6\u94a5\uff1aDeleteAccessKeys-User User \u521b\u5efa\u7528\u6237\u7ec4\uff1aCreate-Group Group \u5220\u9664\u7528\u6237\u7ec4\uff1aDelete-Group Group \u66f4\u65b0\u7528\u6237\u7ec4\uff1aUpdate-Group Group \u6dfb\u52a0\u7528\u6237\u81f3\u7528\u6237\u7ec4\uff1aAddUserTo-Group Group \u4ece\u7528\u6237\u7ec4\u5220\u9664\u7528\u6237\uff1a RemoveUserFrom-Group Group \u66f4\u65b0\u7528\u6237\u7ec4\u89d2\u8272\uff1a UpdateRoles-Group Group \u89d2\u8272\u5173\u8054\u7528\u6237\uff1aUpdateRoles-User User \u521b\u5efaLdap \uff1aCreate-LADP LADP \u66f4\u65b0Ldap\uff1aUpdate-LADP LADP \u5220\u9664Ldap \uff1a Delete-LADP LADP OIDC\u6ca1\u6709\u8d70APIserver\u5ba1\u8ba1\u4e0d\u5230 \u767b\u5f55\uff1aLogin-User User \u767b\u51fa\uff1aLogout-User User \u8bbe\u7f6e\u5bc6\u7801\u7b56\u7565\uff1aUpdatePassword-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u4f1a\u8bdd\u8d85\u65f6\uff1aUpdateSessionTimeout-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u8d26\u53f7\u9501\u5b9a\uff1aUpdateAccountLockout-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u81ea\u52a8\u767b\u51fa\uff1aUpdateLogout-SecurityPolicy SecurityPolicy \u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e MailServer-SecurityPolicy SecurityPolicy \u5916\u89c2\u5b9a\u5236 CustomAppearance-SecurityPolicy SecurityPolicy \u6b63\u7248\u6388\u6743 OfficialAuthz-SecurityPolicy SecurityPolicy \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\uff1aCreate-Workspace Workspace \u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\uff1aDelete-Workspace Workspace \u7ed1\u5b9a\u8d44\u6e90\uff1aBindResourceTo-Workspace Workspace \u89e3\u7ed1\u8d44\u6e90\uff1aUnBindResource-Workspace Workspace \u7ed1\u5b9a\u5171\u4eab\u8d44\u6e90\uff1aBindShared-Workspace Workspace \u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff1aSetQuota-Workspace Workspace \u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\uff1aAuthorize-Workspace Workspace \u5220\u9664\u6388\u6743 DeAuthorize-Workspace Workspace \u7f16\u8f91\u6388\u6743 UpdateDeAuthorize-Workspace Workspace \u66f4\u65b0\u5de5\u4f5c\u7a7a\u95f4 Update-Workspace Workspace \u521b\u5efa\u6587\u4ef6\u5939\uff1aCreate-Folder Folder \u5220\u9664\u6587\u4ef6\u5939\uff1aDelete-Folder Folder \u7f16\u8f91\u6587\u4ef6\u5939\u6388\u6743\uff1aUpdateAuthorize-Folder Folder \u66f4\u65b0\u6587\u4ef6\u5939\uff1aUpdate-Folder Folder \u65b0\u589e\u6587\u4ef6\u5939\u6388\u6743\uff1aAuthorize-Folder Folder \u5220\u9664\u6587\u4ef6\u5939\u6388\u6743\uff1aDeAuthorize-Folder Folder \u8bbe\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u81ea\u52a8\u6e05\u7406\uff1aAutoCleanup-Audit Audit \u624b\u52a8\u6e05\u7406\u5ba1\u8ba1\u65e5\u5fd7\uff1aManualCleanup-Audit Audit \u5bfc\u51fa\u5ba1\u8ba1\u65e5\u5fd7\uff1aExport-Audit Audit"},{"location":"ghippo/user-guide/audit/gproduct-audit/insight.html","title":"\u53ef\u89c2\u6d4b\u6027\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u62e8\u6d4b\u4efb\u52a1\uff1aCreate-ProbeJob ProbeJob \u7f16\u8f91\u62e8\u6d4b\u4efb\u52a1\uff1aUpdate-ProbeJob ProbeJob \u5220\u9664\u62e8\u6d4b\u4efb\u52a1\uff1aDelete-ProbeJob ProbeJob \u521b\u5efa\u544a\u8b66\u7b56\u7565\uff1aCreate-AlertPolicy AlertPolicy \u7f16\u8f91\u544a\u8b66\u7b56\u7565\uff1aUpdate-AlertPolicy AlertPolicy \u5220\u9664\u544a\u8b66\u7b56\u7565\uff1aDelete-AlertPolicy AlertPolicy \u5bfc\u5165\u544a\u8b66\u7b56\u7565\uff1aImport-AlertPolicy AlertPolicy \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u6dfb\u52a0\u89c4\u5219\uff1aCreate-AlertRule AlertRule \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u7f16\u8f91\u89c4\u5219\uff1aUpdate-AlertRule AlertRule \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u5220\u9664\u89c4\u5219\uff1aDelete-AlertRule AlertRule \u521b\u5efa\u544a\u8b66\u6a21\u677f\uff1aCreate-RuleTemplate RuleTemplate \u7f16\u8f91\u544a\u8b66\u6a21\u677f\uff1aUpdate-RuleTemplate RuleTemplate \u5220\u9664\u544a\u8b66\u6a21\u677f\uff1aDelete-RuleTemplate RuleTemplate \u521b\u5efa\u90ae\u7bb1\u7ec4\uff1aCreate-email email \u7f16\u8f91\u90ae\u7bb1\u7ec4\uff1aUpdate-email email \u5220\u9664\u90ae\u7bb1\u7ec4\uff1aDelete-Receiver Receiver \u521b\u5efa\u9489\u9489\u673a\u5668\u4eba\uff1aCreate-dingtalk dingtalk \u7f16\u8f91\u9489\u9489\u673a\u5668\u4eba\uff1aUpdate-dingtalk dingtalk \u5220\u9664\u9489\u9489\u673a\u5668\u4eba\uff1aDelete-Receiver Receiver \u521b\u5efa\u4f01\u5fae\u673a\u5668\u4eba\uff1aCreate-wecom wecom \u7f16\u8f91\u4f01\u5fae\u673a\u5668\u4eba\uff1aUpdate-wecom wecom \u5220\u9664\u4f01\u5fae\u673a\u5668\u4eba\uff1aDelete-Receiver Receiver \u521b\u5efa Webhook\uff1aCreate-webhook webhook \u7f16\u8f91 Webhook\uff1aUpdate-webhook webhook \u5220\u9664 Webhook\uff1aDelete-Receiver Receiver \u521b\u5efa SMS\uff1aCreate-sms sms \u7f16\u8f91 SMS\uff1aUpdate-sms sms \u5220\u9664 SMS\uff1aDelete-Receiver Receiver \u521b\u5efa SMS \u670d\u52a1\u5668\uff1aCreate-aliyun(\u6216\u8005\uff1atencent\uff0ccustom) aliyun, tencent, custom \u7f16\u8f91 SMS \u670d\u52a1\u5668\uff1aUpdate-aliyun(\u6216\u8005\uff1atencent\uff0ccustom) aliyun, tencent, custom \u5220\u9664 SMS \u670d\u52a1\u5668\uff1aDelete-SMSserver SMSserver \u521b\u5efa\u6d88\u606f\u6a21\u677f\uff1aCreate-MessageTemplate MessageTemplate \u7f16\u8f91\u6d88\u606f\u6a21\u677f\uff1aUpdate-MessageTemplate MessageTemplate \u5220\u9664\u6d88\u606f\u6a21\u677f\uff1aDelete-MessageTemplate MessageTemplate \u521b\u5efa\u544a\u8b66\u9759\u9ed8\uff1aCreate-AlertSilence AlertSilence \u7f16\u8f91\u544a\u8b66\u9759\u9ed8\uff1aUpdate-AlertSilence AlertSilence \u5220\u9664\u544a\u8b66\u9759\u9ed8\uff1aDelete-AlertSilence AlertSilence \u521b\u5efa\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aCreate-AlertInhibition AlertInhibition \u7f16\u8f91\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aUpdate-AlertInhibition AlertInhibition \u5220\u9664\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aDelete-AlertInhibition AlertInhibition \u66f4\u65b0\u7cfb\u7edf\u914d\u7f6e\uff1aUpdate-SystemSettings SystemSettings"},{"location":"ghippo/user-guide/audit/gproduct-audit/kairship.html","title":"\u591a\u4e91\u7f16\u6392\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u6dfb\u52a0\u591a\u4e91\u5b9e\u4f8b\uff1aCreate-Instance Instance \u5220\u9664\u591a\u4e91\u5b9e\u4f8b\uff1aDelete-Instance Instance \u63a5\u5165\u96c6\u7fa4\uff1aIntegrate-Cluster Cluster \u79fb\u9664\u96c6\u7fa4\uff1aRemove-Cluster Cluster \u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-Deployment Deployment \u66f4\u65b0\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aUpdate-Deployment Deployment \u5220\u9664\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-Deployment Deployment \u521b\u5efa\u4efb\u52a1\uff1aCreate-Job Job \u66f4\u65b0\u4efb\u52a1\uff1aUpdate-Job Job \u5220\u9664\u4efb\u52a1\uff1aDelete-Job Job \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff1aCreate-CronJob CronJob \u66f4\u65b0\u5b9a\u65f6\u4efb\u52a1\uff1aUpdate-CronJob CronJob \u5220\u9664\u5b9a\u65f6\u4efb\u52a1\uff1aDelete-CronJob CronJob \u521b\u5efa\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aCreate-CRD CRD \u66f4\u65b0\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aUpdate-CRD CRD \u5220\u9664\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aDelete-CRD CRD \u521b\u5efa\u591a\u4e91\u670d\u52a1\uff1aCreate-Multicloud Services Multicloud Services \u66f4\u65b0\u591a\u4e91\u670d\u52a1\uff1aUpdate-Multicloud Services Multicloud Services \u5220\u9664\u591a\u4e91\u670d\u52a1\uff1aDelete-Multicloud Services Multicloud Services \u521b\u5efa\u591a\u4e91\u8def\u7531\uff1aCreate-Multicloud Ingress Multicloud Ingress \u66f4\u65b0\u591a\u4e91\u8def\u7531\uff1aUpdate-Multicloud Ingress Multicloud Ingress \u5220\u9664\u591a\u4e91\u8def\u7531\uff1aDelete-Multicloud Ingress Multicloud Ingress \u521b\u5efa\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aCreate-Multicloud Namespace Multicloud Namespace \u66f4\u65b0\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aUpdate-Multicloud Namespace Multicloud Namespace \u5220\u9664\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aDelete-Multicloud Namespace Multicloud Namespace \u521b\u5efa\u591a\u4e91\u914d\u7f6e\u9879\uff1aCreate-Multicloud ConfigMaps Multicloud ConfigMaps \u66f4\u65b0\u591a\u4e91\u914d\u7f6e\u9879\uff1aUpdate-Multicloud ConfigMaps Multicloud ConfigMaps \u5220\u9664\u591a\u4e91\u914d\u7f6e\u9879\uff1aDelete-Multicloud ConfigMaps Multicloud ConfigMaps \u521b\u5efa\u591a\u4e91\u5bc6\u94a5\uff1aCreate-Multicloud Secret Multicloud Secret \u66f4\u65b0\u591a\u4e91\u5bc6\u94a5\uff1aUpdate-Multicloud Secret Multicloud Secret \u5220\u9664\u591a\u4e91\u5bc6\u94a5\uff1aDelete-Multicloud Secret Multicloud Secret \u521b\u5efa\u90e8\u7f72\u7b56\u7565\uff1aCreate-Propagation Policies Propagation Policies \u66f4\u65b0\u90e8\u7f72\u7b56\u7565\uff1aUpdate-Propagation Policies Propagation Policies \u5220\u9664\u90e8\u7f72\u7b56\u7565\uff1aDelete-Propagation Policies Propagation Policies \u521b\u5efa\u5dee\u5f02\u5316\u7b56\u7565\uff1aCreate-Override Policies Override Policies \u66f4\u65b0\u5dee\u5f02\u5316\u7b56\u7565\uff1aUpdate-Override Policies Override Policies \u5220\u9664\u5dee\u5f02\u5316\u7b56\u7565\uff1aDelete-Override Policies Override Policies"},{"location":"ghippo/user-guide/audit/gproduct-audit/kangaroo.html","title":"\u955c\u50cf\u4ed3\u5e93\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u955c\u50cf\u5220\u9664\uff1aDelete-Image Image artifact\u5220\u9664\uff1aDelete-Artifacts Artifacts \u521b\u5efa\u56de\u6536\u89c4\u5219\uff1aCreate-ReclaimRule ReclaimRule \u540c\u4e00\u4e2a\u63a5\u53e3\uff0c\u53ea\u80fd\u8bb0\u5f55\u4e00\u6761 \u5220\u9664\u56de\u6536\u89c4\u5219\uff1aDelete-ReclaimRule ReclaimRule \u5b9a\u65f6\u8fd0\u884c\u56de\u6536\u89c4\u5219\uff1aSheduled-ReclaimRule ReclaimRule \u624b\u52a8\u8fd0\u884c\u56de\u6536\u89c4\u5219\uff1aManual-ReclaimRule ReclaimRule \u5355\u72ec\u8bb0\u5f55 \u521b\u5efa\u4ed3\u5e93\u96c6\u6210\uff1aCreate-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u5220\u9664\u4ed3\u5e93\u96c6\u6210\uff1aDelete-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u66f4\u65b0\u4ed3\u5e93\u96c6\u6210\uff1aUpdate-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u521b\u5efa\u4ed3\u5e93\u96c6\u6210\uff1aCreate-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u5220\u9664\u4ed3\u5e93\u96c6\u6210\uff1aDelete-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u66f4\u65b0\u4ed3\u5e93\u96c6\u6210\uff1aUpdate-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u521b\u5efa\u6258\u7ba1harbor\uff1aCreate-Harbor Harbor \u5220\u9664\u6258\u7ba1Harbor\uff1aDelete-Harbor Harbor \u66f4\u65b0\u6258\u7ba1Harbor\uff1aUpdate-Harbor Harbor"},{"location":"ghippo/user-guide/audit/gproduct-audit/kpanda.html","title":"\u5bb9\u5668\u7ba1\u7406\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u521b\u5efa\u96c6\u7fa4\uff1aCreate-Cluster Cluster \u5378\u8f7d\u96c6\u7fa4\uff1aDelete-Cluster Cluster \u63a5\u5165\u96c6\u7fa4\uff1aIntegrate-Cluster Cluster \u89e3\u9664\u63a5\u5165\u7684\u96c6\u7fa4\uff1aRemove-Cluster Cluster \u96c6\u7fa4\u5347\u7ea7\uff1aUpgrade-Cluster Cluster \u96c6\u7fa4\u63a5\u5165\u8282\u70b9\uff1aIntegrate-Node Node \u96c6\u7fa4\u8282\u70b9\u79fb\u9664\uff1aRemove-Node Node \u96c6\u7fa4\u8282\u70b9 GPU \u6a21\u5f0f\u5207\u6362\uff1aUpdate-NodeGPUMode NodeGPUMode helm\u4ed3\u5e93\u521b\u5efa\uff1aCreate-HelmRepo HelmRepo helm\u5e94\u7528\u90e8\u7f72\uff1aCreate-HelmApp HelmApp helm\u5e94\u7528\u5220\u9664\uff1aDelete-HelmApp HelmApp \u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-Deployment Deployment \u5220\u9664\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-Deployment Deployment \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff1aCreate-DaemonSet DaemonSet \u5220\u9664\u5b88\u62a4\u8fdb\u7a0b\uff1aDelete-DaemonSet DaemonSet \u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-StatefulSet StatefulSet \u5220\u9664\u6709\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-StatefulSet StatefulSet \u521b\u5efa\u4efb\u52a1\uff1aCreate-Job Job \u5220\u9664\u4efb\u52a1\uff1aDelete-Job Job \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff1aCreate-CronJob CronJob \u5220\u9664\u5b9a\u65f6\u4efb\u52a1\uff1aDelete-CronJob CronJob \u5220\u9664\u5bb9\u5668\u7ec4\uff1aDelete-Pod Pod \u521b\u5efa\u670d\u52a1\uff1aCreate-Service Service \u5220\u9664\u670d\u52a1\uff1aDelete-Service Service \u521b\u5efa\u8def\u7531\uff1aCreate-Ingress Ingress \u5220\u9664\u8def\u7531\uff1aDelete-Ingress Ingress \u521b\u5efa\u5b58\u50a8\u6c60\uff1aCreate-StorageClass StorageClass \u5220\u9664\u5b58\u50a8\u6c60\uff1aDelete-StorageClass StorageClass \u521b\u5efa\u6570\u636e\u5377\uff1aCreate-PersistentVolume PersistentVolume \u5220\u9664\u6570\u636e\u5377\uff1aDelete-PersistentVolume PersistentVolume \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff1aCreate-PersistentVolumeClaim PersistentVolumeClaim \u5220\u9664\u6570\u636e\u5377\u58f0\u660e\uff1aDelete-PersistentVolumeClaim PersistentVolumeClaim \u5220\u9664\u526f\u672c\u96c6\uff1aDelete-ReplicaSet ReplicaSet ns\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\uff1aBindResourceTo-Workspace Workspace ns\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4 \uff1aUnBindResource-Workspace Workspace \u96c6\u7fa4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\uff1aBindResourceTo-Workspace Workspace \u96c6\u7fa4\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\uff1aUnBindResource-Workspace Workspace \u6253\u5f00\u63a7\u5236\u53f0\uff1aCreate-CloudShell CloudShell \u5173\u95ed\u63a7\u5236\u53f0\uff1aDelete-CloudShell CloudShell"},{"location":"ghippo/user-guide/audit/gproduct-audit/mcamel.html","title":"\u4e2d\u95f4\u4ef6\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa es\uff1acreate-ElasticsearchInstance ElasticsearchInstance \u521b\u5efa kafka\uff1acreate-KafkaInstance KafkaInstance \u521b\u5efa MinIO\uff1acreate-MinIOInstance MinIOInstance \u521b\u5efa PostgreSQL\uff1acreate-PostgreSQLInstance PostgreSQLInstance \u521b\u5efa RabbitMQ\uff1acreate-RabbitMQInstance RabbitMQInstance \u521b\u5efa\u6570\u636e\u5e93\uff1acreate-MySQLInstance MySQLInstance \u521b\u5efa\u6570\u636e\u5e93\uff1acreate-RedisInstance RedisInstance \u5220\u9664 es\uff1adelete-ElasticsearchInstance ElasticsearchInstance \u5220\u9664 kafka\uff1adelete-KafkaInstance KafkaInstance \u5220\u9664 MinIO\uff1adelete-MinIOInstance MinIOInstance \u5220\u9664 PostgreSQL\uff1adelete-PostgreSQLInstance PostgreSQLInstance \u5220\u9664 RabbitMQ\uff1adelete-RabbitMQInstance RabbitMQInstance \u5220\u9664\u6570\u636e\u5e93\uff1adelete-MySQLInstance MySQLInstance \u5220\u9664\u6570\u636e\u5e93\uff1adelete-RedisInstance RedisInstance \u66f4\u65b0\u5907\u4efd\u8bbe\u7f6e\uff1aupdate-MySQLBackup MySQLBackup \u66f4\u65b0\u5907\u4efd\u8bbe\u7f6e\uff1aupdate-RedisBackup RedisBackup \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-ElasticsearchInstance ElasticsearchInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-KafkaInstance KafkaInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-MinIOInstance MinIOInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-MySQLInstance MySQLInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-PostgreSQLInstance PostgreSQLInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-RabbitMQInstance RabbitMQInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-RedisInstance RedisInstance"},{"location":"ghippo/user-guide/audit/gproduct-audit/mspider.html","title":"\u670d\u52a1\u7f51\u683c\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u7f51\u683c\uff1acreate-MeshInstance MeshInstance \u5220\u9664\u7f51\u683c\uff1adelete-MeshInstance MeshInstance \u63a5\u5165\u96c6\u7fa4\uff1aAdd-Cluster cluster \u79fb\u9664\u96c6\u7fa4\uff1aRemove-Cluster cluster \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u6ce8\u5165\u542f\u7528\uff1aInjectSidecarTo-Namespace Namespace \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u6ce8\u5165\u7981\u7528\uff1aForbiddenInjectSidecarTo-Namespace Namespace \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u6ce8\u5165\u542f\u7528\uff1aInjectSidecarTo-Workload workload \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u6ce8\u5165\u7981\u7528\uff1aForbiddenInjectSidecarTo-Workload workload \u521b\u5efa\u7f51\u683c\u7f51\u5173\uff1acreate-MeshGateway MeshGateway \u5220\u9664\u7f51\u683c\u7f51\u5173\uff1adelete-MeshGateway MeshGateway \u542f\u7528\u591a\u4e91\uff1aEnable-Multicloud Multicloud \u5173\u95ed\u591a\u4e91\uff1aClose-Multicloud Multicloud \u542f\u7528\u4e92\u8054\uff1aEnableInterconnection MulticloudGroup \u79fb\u51fa\u4e92\u8054\uff1aDisableInterconnection MulticloudGroup"},{"location":"ghippo/user-guide/audit/gproduct-audit/skoala.html","title":"\u5fae\u670d\u52a1\u5f15\u64ce\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u7f51\u5173\uff1aCreate-Gateway Gateway \u66f4\u65b0\u7f51\u5173\uff1aUpdate-Gateway Gateway \u96c6\u7fa4\u4e2d\u7f51\u5173\u5217\u8868\uff1aListClusterGateway-Gateway Gateway \u5220\u9664\u7f51\u5173\uff1aDelete-Gateway Gateway API \u4e0a\u4e0b\u7ebf\uff1aUpdateAPIStatus-GatewayAPI GatewayAPI API \u8c03\u7528\u6d4b\u8bd5\uff1aDebugGatewayAPI-GatewayAPI GatewayAPI \u521b\u5efa API\uff1aCreateGatewayAPI-GatewayAPI GatewayAPI \u5bfc\u5165 API \u68c0\u67e5\uff1aImportAPICheck-GatewayAPI GatewayAPI \u5bfc\u5165 API\uff1aImportAPI-GatewayAPI GatewayAPI \u66f4\u65b0 API \u9ad8\u7ea7\u7b56\u7565\uff1aUpdateGatewayAPIAdvancedPolicy-GatewayAPI GatewayAPI \u66f4\u65b0 API\uff1aUpdateGatewayAPI-GatewayAPI GatewayAPI \u6279\u91cf\u66f4\u65b0 API \u72b6\u6001\uff1aBatchOperationAPI-GatewayAPI GatewayAPI \u5220\u9664 API\uff1aDeleteAPI-GatewayAPI GatewayAPI \u521b\u5efa\u7f51\u5173\u63a5\u5165\u670d\u52a1\uff1aCreateService-GatewayService GatewayService \u66f4\u65b0\u7f51\u5173\u670d\u52a1\u7b56\u7565\uff1aUpdateServicePolicy-GatewayService GatewayService \u66f4\u65b0\u7f51\u5173\u63a5\u5165\u670d\u52a1\uff1aUpdateService-GatewayService GatewayService \u5220\u9664\u7f51\u5173\u670d\u52a1\uff1aDeleteService-GatewayService GatewayService \u521b\u5efa\u6d41\u91cf\u6cf3\u9053\uff1aCreateLane-Lane Lane \u521b\u5efa\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aCreateLaneDrainageRule-Lane Lane \u66f4\u65b0\u6d41\u91cf\u6cf3\u9053\u72b6\u6001\uff1aActionLane-Lane Lane \u66f4\u65b0\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\u72b6\u6001\uff1aUpdateLaneDrainageRuleStatus-Lane Lane \u66f4\u65b0\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aUpdateLaneDrainageRule-Lane Lane \u5220\u9664\u6d41\u91cf\u6cf3\u9053\uff1aDeleteLane-Lane Lane \u5220\u9664\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aDeleteLaneDrainageRule-Lane Lane \u6dfb\u52a0\u6d41\u91cf\u6cf3\u9053\u670d\u52a1\uff1aAddLaneService-Lane Lane \u79fb\u9664\u6d41\u91cf\u6cf3\u9053\u670d\u52a1\uff1aDeleteLaneService-Lane Lane \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aCreateServiceIstioPlugin-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aCreateTimeout-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aCreateFault-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aCreateOutlierDetection-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aCreateConnectionPool-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aCreateRetry-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aCreateRewrite-Mesh Mesh \u5bf9\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\u6392\u5e8f\uff1aSortServiceIstioPlugin-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aUpdateServiceIstioPlugin-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aUpdateTimeout-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d1f\u8f7d\u5747\u8861\uff1aUpdateLb-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aUpdateFault-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aUpdateOutlierDetection-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aUpdateConnectionPool-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aUpdateRetry-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aUpdateRewrite-Mesh Mesh \u5c06\u7f51\u683c\u670d\u52a1\u5bfc\u5165\u5230\u4e91\u539f\u751f\u5fae\u670d\u52a1\u4e2d\uff1aExportService-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aDeleteServiceIstioPlugin-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aDeleteTimeout-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aDeleteFault-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aDeleteOutlierDetection-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aDeleteConnectionPool-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aDeleteRetry-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aDeleteRewrite-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u7ed1\u5b9a\u9650\u6d41\u89c4\u5219\uff1aCreateServiceIstioPluginRLSRules-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u66f4\u65b0\u9650\u6d41\u89c4\u5219\uff1aUpdateServiceIstioPluginRLSRules-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u5220\u9664\u9650\u6d41\u89c4\u5219\uff1aDeleteServiceIstioPluginRLSRules-Mesh Mesh \u79fb\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\uff1aRemoveService-Mesh Mesh \u6309metadata\u67e5\u8be2\u6258\u7ba1 Nacos\u670d\u52a1\u7684\u5b9e\u4f8b\u5217\u8868\uff1aQueryServiceInstance-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aCreateConfig-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684 API \u4fe1\u606f\uff1aCreateServiceAPI-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aCreateNamespace-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos\uff1aCreate-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u670d\u52a1\uff1aUpdateService-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aUpdateConfig-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684 API \u4fe1\u606f\uff1aUpdateServiceAPI-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684\u5b9e\u4f8b\u8be6\u60c5\uff1aUpdateServiceInstance-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aUpdateNamespace-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos\uff1aUpdate-Nacos Nacos \u56de\u6eda\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aRollbackConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aDeleteConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u914d\u7f6e\u7684\u7070\u5ea6\u914d\u7f6e\uff1aDeleteBetaConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aDeleteNamespace-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos\uff1aDelete-Nacos Nacos \u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u670d\u52a1\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetServiceInsight-Nacos Nacos \u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684\u5b9e\u4f8b\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetServiceInstanceInsight-Nacos Nacos \u4fee\u6539\u6258\u7ba1 Nacos \u7528\u6237\u5bc6\u7801\uff1aUpdateUserPassword-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u7684\u63d2\u4ef6\u8be6\u60c5\uff1aUpdate-Plugin Plugin \u521b\u5efa\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684 API \u6587\u6863\uff1aCreateServiceAPI-Registry Registry \u521b\u5efa\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aCreate-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684 API \u6587\u6863\uff1aUpdateServiceAPI-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u5b9e\u4f8b\uff1aUpdateInstance-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aUpdate-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u53ef\u89c2\u6d4b\u6570\u636e\uff1aGetServiceInsight-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u5b9e\u4f8b\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetInstanceInsight-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u53ef\u7528\u6027\u68c0\u6d4b\uff1aPing-Registry Registry \u79fb\u9664\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aDelete-Registry Registry \u521b\u5efa/\u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel Token \u670d\u52a1\u5668\uff1aCreateOrUpdateTokenServer-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aCreateFlowRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aCreateParamFlowRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aCreateDegradeRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aCreateAuthorityRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aCreateSystemRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aUpdateFlowRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aUpdateParamFlowRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aUpdateDegradeRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aUpdateAuthorityRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aUpdateSystemRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u96c6\u7fa4\u6d41\u63a7\uff1aDeleteClusterFlow-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aDeleteFlowRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aDeleteParamFlowRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aDeleteDegradeRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aDeleteAuthorityRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aDeleteSystemRule-Sentinel Sentinel \u79fb\u9664\u670d\u52a1\u5b9e\u4f8b\u4e2d\u7684 Sentinel \u6cbb\u7406\u8be6\u60c5\uff1aDeleteInsGovern-Sentinel Sentinel \u521b\u5efa\u63d2\u4ef6\uff1aCreatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\u72b6\u6001\uff1aUpdatePluginStatus-SkoalaPlugin SkoalaPlugin \u66f4\u65b0\u63d2\u4ef6\uff1aUpdatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\uff1aDeletePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u63d2\u4ef6\u6a21\u677f\uff1aCreatePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u63d2\u4ef6\uff1aCreatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\u6a21\u677f\uff1aUpdatePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\uff1aUpdatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\u6a21\u677f\uff1aDeletePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\uff1aDeletePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u57df\u540d\uff1aCreateVirtualhost-Virtualhost Virtualhost \u66f4\u65b0\u57df\u540d\uff1aUpdateVirtualhost-Virtualhost Virtualhost \u5220\u9664\u57df\u540d\uff1aDeleteVirtualhost-Virtualhost Virtualhost"},{"location":"ghippo/user-guide/audit/gproduct-audit/virtnest.html","title":"\u865a\u62df\u673a\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u91cd\u542f\u865a\u62df\u673a\uff1aRestart-VMs VM \u865a\u62df\u673a\u8f6c\u6362\u4e3a\u6a21\u677f\uff1aConvertToTemplate-VMs VM \u7f16\u8f91\u865a\u62df\u673a\uff1aEdit-VMs VM \u66f4\u65b0\u865a\u62df\u673a\uff1aUpdate-VMs VM \u5feb\u7167\u6062\u590d\uff1aRestore-VMs VM \u5f00\u673a\u865a\u62df\u673a\uff1aPower on-VMs VM \u5b9e\u65f6\u8fc1\u79fb\uff1aLiveMigrate-VMs VM \u5220\u9664\u865a\u62df\u673a\uff1aDelete-VMs VM \u5220\u9664\u865a\u62df\u673a\u6a21\u677f\uff1aDelete-VM Template VM Template \u521b\u5efa\u865a\u62df\u673a\uff1aCreate-VMs VM \u521b\u5efa\u5feb\u7167\uff1aCreateSnapshot-VMs VM \u5173\u673a\u865a\u62df\u673a\uff1aPower off-VMs VM \u514b\u9686\u865a\u62df\u673a\uff1aClone-VMs VM"},{"location":"ghippo/user-guide/personal-center/accesstoken.html","title":"\u8bbf\u95ee\u5bc6\u94a5","text":"

                \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee\u5f00\u653e API \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

                "},{"location":"ghippo/user-guide/personal-center/accesstoken.html#_2","title":"\u83b7\u53d6\u5bc6\u94a5","text":"

                \u767b\u5f55 DCE 5.0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                Info

                \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                "},{"location":"ghippo/user-guide/personal-center/accesstoken.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

                \u5728\u8bbf\u95ee DCE 5.0 openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\uff0c\u5177\u4f53\u63a5\u53e3\u4fe1\u606f\u53c2\u89c1 OpenAPI \u63a5\u53e3\u6587\u6863\u3002

                \u8bf7\u6c42\u793a\u4f8b

                curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

                \u8bf7\u6c42\u7ed3\u679c

                {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
                "},{"location":"ghippo/user-guide/personal-center/language.html","title":"\u8bed\u8a00\u8bbe\u7f6e","text":"

                \u672c\u8282\u8bf4\u660e\u5982\u4f55\u8bbe\u7f6e\u754c\u9762\u8bed\u8a00\u3002\u76ee\u524d\u652f\u6301\u4e2d\u6587\u3001English \u4e24\u4e2a\u8bed\u8a00\u3002

                \u8bed\u8a00\u8bbe\u7f6e\u662f\u5e73\u53f0\u63d0\u4f9b\u591a\u8bed\u8a00\u670d\u52a1\u7684\u5165\u53e3\uff0c\u5e73\u53f0\u9ed8\u8ba4\u663e\u793a\u4e3a\u4e2d\u6587\uff0c\u7528\u6237\u53ef\u6839\u636e\u9700\u8981\u9009\u62e9\u82f1\u8bed\u6216\u81ea\u52a8\u68c0\u6d4b\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u7684\u65b9\u5f0f\u6765\u5207\u6362\u5e73\u53f0\u8bed\u8a00\u3002 \u6bcf\u4e2a\u7528\u6237\u7684\u591a\u8bed\u8a00\u670d\u52a1\u662f\u76f8\u4e92\u72ec\u7acb\u7684\uff0c\u5207\u6362\u540e\u4e0d\u4f1a\u5f71\u54cd\u5176\u4ed6\u7528\u6237\u3002

                \u5e73\u53f0\u63d0\u4f9b\u4e09\u79cd\u5207\u6362\u8bed\u8a00\u65b9\u5f0f\uff1a\u4e2d\u6587\u3001\u82f1\u8bed-English\u3001\u81ea\u52a8\u68c0\u6d4b\u60a8\u7684\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u3002

                \u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

                1. \u4f7f\u7528\u60a8\u7684\u7528\u6237\u540d/\u5bc6\u7801\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

                3. \u70b9\u51fb \u8bed\u8a00\u8bbe\u7f6e \u9875\u7b7e\u3002

                4. \u5207\u6362\u8bed\u8a00\u9009\u9879\u3002

                "},{"location":"ghippo/user-guide/personal-center/security-setting.html","title":"\u5b89\u5168\u8bbe\u7f6e","text":"

                \u529f\u80fd\u8bf4\u660e\uff1a\u7528\u4e8e\u586b\u5199\u90ae\u7bb1\u5730\u5740\u548c\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

                • \u90ae\u7bb1\uff1a\u5f53\u7ba1\u7406\u5458\u914d\u7f6e\u90ae\u7bb1\u670d\u52a1\u5668\u5730\u5740\u4e4b\u540e\uff0c\u7528\u6237\u80fd\u591f\u901a\u8fc7\u767b\u5f55\u9875\u7684\u5fd8\u8bb0\u5bc6\u7801\u6309\u94ae\uff0c\u586b\u5199\u8be5\u5904\u7684\u90ae\u7bb1\u5730\u5740\u4ee5\u627e\u56de\u5bc6\u7801\u3002
                • \u5bc6\u7801\uff1a\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u7684\u5bc6\u7801\uff0c\u5efa\u8bae\u5b9a\u671f\u4fee\u6539\u5bc6\u7801\u3002

                \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

                2. \u70b9\u51fb \u5b89\u5168\u8bbe\u7f6e \u9875\u7b7e\u3002\u586b\u5199\u60a8\u7684\u90ae\u7bb1\u5730\u5740\u6216\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

                "},{"location":"ghippo/user-guide/personal-center/ssh-key.html","title":"\u914d\u7f6e SSH \u516c\u94a5","text":"

                \u672c\u6587\u8bf4\u660e\u5982\u4f55\u914d\u7f6e SSH \u516c\u94a5\u3002

                "},{"location":"ghippo/user-guide/personal-center/ssh-key.html#1-ssh","title":"\u6b65\u9aa4 1\uff1a\u67e5\u770b\u5df2\u5b58\u5728\u7684 SSH \u5bc6\u94a5","text":"

                \u5728\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\u524d\uff0c\u8bf7\u5148\u786e\u8ba4\u662f\u5426\u9700\u8981\u4f7f\u7528\u672c\u5730\u5df2\u751f\u6210\u7684 SSH \u5bc6\u94a5\uff0cSSH \u5bc6\u94a5\u5bf9\u4e00\u822c\u5b58\u653e\u5728\u672c\u5730\u7528\u6237\u7684\u6839\u76ee\u5f55\u4e0b\u3002 Linux\u3001Mac \u8bf7\u76f4\u63a5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u5b58\u5728\u7684\u516c\u94a5\uff0cWindows \u7528\u6237\u5728 WSL\uff08\u9700\u8981 Windows 10 \u6216\u4ee5\u4e0a\uff09\u6216 Git Bash \u4e0b\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u751f\u6210\u7684\u516c\u94a5\u3002

                • ED25519 \u7b97\u6cd5\uff1a

                  cat ~/.ssh/id_ed25519.pub\n
                • RSA \u7b97\u6cd5\uff1a

                  cat ~/.ssh/id_rsa.pub\n

                \u5982\u679c\u8fd4\u56de\u4e00\u957f\u4e32\u4ee5 ssh-ed25519 \u6216 ssh-rsa \u5f00\u5934\u7684\u5b57\u7b26\u4e32\uff0c\u8bf4\u660e\u5df2\u5b58\u5728\u672c\u5730\u516c\u94a5\uff0c \u60a8\u53ef\u4ee5\u8df3\u8fc7\u6b65\u9aa4 2 \u751f\u6210 SSH \u5bc6\u94a5\uff0c\u76f4\u63a5\u64cd\u4f5c\u6b65\u9aa4 3\u3002

                "},{"location":"ghippo/user-guide/personal-center/ssh-key.html#2-ssh","title":"\u6b65\u9aa4 2\uff1a\u751f\u6210 SSH \u5bc6\u94a5","text":"

                \u82e5\u6b65\u9aa4 1 \u672a\u8fd4\u56de\u6307\u5b9a\u7684\u5185\u5bb9\u5b57\u7b26\u4e32\uff0c\u8868\u793a\u672c\u5730\u6682\u65e0\u53ef\u7528 SSH \u5bc6\u94a5\uff0c\u9700\u8981\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\uff0c\u8bf7\u6309\u5982\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                1. \u8bbf\u95ee\u7ec8\u7aef\uff08Windows \u8bf7\u4f7f\u7528 WSL \u6216 Git Bash\uff09\uff0c \u8fd0\u884c ssh-keygen -t\u3002

                2. \u8f93\u5165\u5bc6\u94a5\u7b97\u6cd5\u7c7b\u578b\u548c\u53ef\u9009\u7684\u6ce8\u91ca\u3002

                  \u6ce8\u91ca\u4f1a\u51fa\u73b0\u5728 .pub \u6587\u4ef6\u4e2d\uff0c\u4e00\u822c\u53ef\u4f7f\u7528\u90ae\u7bb1\u4f5c\u4e3a\u6ce8\u91ca\u5185\u5bb9\u3002

                  • \u57fa\u4e8e ED25519 \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

                    ssh-keygen -t ed25519 -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
                  • \u57fa\u4e8e RSA \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

                    ssh-keygen -t rsa -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
                3. \u70b9\u51fb\u56de\u8f66\uff0c\u9009\u62e9 SSH \u5bc6\u94a5\u751f\u6210\u8def\u5f84\u3002

                  \u4ee5 ED25519 \u7b97\u6cd5\u4e3a\u4f8b\uff0c\u9ed8\u8ba4\u8def\u5f84\u5982\u4e0b\uff1a

                  Generating public/private ed25519 key pair.\nEnter file in which to save the key (/home/user/.ssh/id_ed25519):\n

                  \u5bc6\u94a5\u9ed8\u8ba4\u751f\u6210\u8def\u5f84\uff1a/home/user/.ssh/id_ed25519\uff0c\u516c\u94a5\u4e0e\u4e4b\u5bf9\u5e94\u4e3a\uff1a/home/user/.ssh/id_ed25519.pub\u3002

                4. \u8bbe\u7f6e\u4e00\u4e2a\u5bc6\u94a5\u53e3\u4ee4\u3002

                  Enter passphrase (empty for no passphrase):\nEnter same passphrase again:\n

                  \u53e3\u4ee4\u9ed8\u8ba4\u4e3a\u7a7a\uff0c\u60a8\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\u53e3\u4ee4\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u3002 \u5982\u679c\u60a8\u4e0d\u60f3\u5728\u6bcf\u6b21\u4f7f\u7528 SSH \u534f\u8bae\u8bbf\u95ee\u4ed3\u5e93\u65f6\uff0c\u90fd\u8981\u8f93\u5165\u7528\u4e8e\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u7684\u53e3\u4ee4\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u8f93\u5165\u7a7a\u53e3\u4ee4\u3002

                5. \u70b9\u51fb\u56de\u8f66\uff0c\u5b8c\u6210\u5bc6\u94a5\u5bf9\u521b\u5efa\u3002

                "},{"location":"ghippo/user-guide/personal-center/ssh-key.html#3","title":"\u6b65\u9aa4 3\uff1a\u62f7\u8d1d\u516c\u94a5","text":"

                \u9664\u4e86\u5728\u547d\u4ee4\u884c\u6253\u5370\u51fa\u5df2\u751f\u6210\u7684\u516c\u94a5\u4fe1\u606f\u624b\u52a8\u590d\u5236\u5916\uff0c\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u62f7\u8d1d\u516c\u94a5\u5230\u7c98\u8d34\u677f\u4e0b\uff0c\u8bf7\u53c2\u8003\u64cd\u4f5c\u7cfb\u7edf\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u62f7\u8d1d\u3002

                • Windows\uff08\u5728 WSL \u6216 Git Bash \u4e0b\uff09\uff1a

                  cat ~/.ssh/id_ed25519.pub | clip\n
                • Mac\uff1a

                  tr -d '\\n'< ~/.ssh/id_ed25519.pub | pbcopy\n
                • GNU/Linux (requires xclip):

                  xclip -sel clip < ~/.ssh/id_ed25519.pub\n
                "},{"location":"ghippo/user-guide/personal-center/ssh-key.html#4-dce-50","title":"\u6b65\u9aa4 4\uff1a\u5728 DCE 5.0 \u5e73\u53f0\u4e0a\u8bbe\u7f6e\u516c\u94a5","text":"
                1. \u767b\u5f55 DCE 5.0 UI \u9875\u9762\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 \u3002

                2. \u6dfb\u52a0\u751f\u6210\u7684 SSH \u516c\u94a5\u4fe1\u606f\u3002

                  1. SSH \u516c\u94a5\u5185\u5bb9\u3002

                  2. \u516c\u94a5\u6807\u9898\uff1a\u652f\u6301\u81ea\u5b9a\u4e49\u516c\u94a5\u540d\u79f0\uff0c\u7528\u4e8e\u533a\u5206\u7ba1\u7406\u3002

                  3. \u8fc7\u671f\u65f6\u95f4\uff1a\u8bbe\u7f6e\u516c\u94a5\u8fc7\u671f\u65f6\u95f4\uff0c\u5230\u671f\u540e\u516c\u94a5\u5c06\u81ea\u52a8\u5931\u6548\uff0c\u4e0d\u53ef\u4f7f\u7528\uff1b\u5982\u679c\u4e0d\u8bbe\u7f6e\uff0c\u5219\u6c38\u4e45\u6709\u6548\u3002

                "},{"location":"ghippo/user-guide/platform-setting/about.html","title":"\u5173\u4e8e\u5e73\u53f0","text":"

                \u5173\u4e8e\u5e73\u53f0 \u4e3b\u8981\u5448\u73b0\u5e73\u53f0\u5404\u4e2a\u5b50\u6a21\u5757\u5f53\u524d\u66f4\u65b0\u7684\u7248\u672c\uff0c\u58f0\u660e\u4e86\u5e73\u53f0\u4f7f\u7528\u7684\u5404\u4e2a\u5f00\u6e90\u8f6f\u4ef6\uff0c\u5e76\u4ee5\u52a8\u753b\u89c6\u9891\u7684\u65b9\u5f0f\u81f4\u8c22\u4e86\u5e73\u53f0\u7684\u6280\u672f\u56e2\u961f\u3002

                \u67e5\u770b\u6b65\u9aa4\uff1a

                1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

                2. \u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e \uff0c\u9009\u62e9 \u5173\u4e8e\u5e73\u53f0 \uff0c\u67e5\u770b\u4ea7\u54c1\u7248\u672c\u3001\u5f00\u6e90\u8f6f\u4ef6\u58f0\u660e\u548c\u6280\u672f\u56e2\u961f\u3002

                  License \u58f0\u660e

                  \u6280\u672f\u56e2\u961f

                "},{"location":"ghippo/user-guide/platform-setting/appearance.html","title":"\u5916\u89c2\u5b9a\u5236","text":"

                \u5728 DCE 5.0 \u4e2d\uff0c\u53ef\u901a\u8fc7 \u5916\u89c2\u5b9a\u5236 \u66f4\u6362\u767b\u5f55\u754c\u9762\u3001\u9876\u90e8\u5bfc\u822a\u680f\u4ee5\u53ca\u5e95\u90e8\u7248\u6743\u548c\u5907\u6848\u4fe1\u606f\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u8fa8\u8bc6\u4ea7\u54c1\u3002

                "},{"location":"ghippo/user-guide/platform-setting/appearance.html#_2","title":"\u5b9a\u5236\u8bf4\u660e","text":"
                1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5e73\u53f0\u8bbe\u7f6e \u3002

                2. \u9009\u62e9 \u5916\u89c2\u5b9a\u5236 ,\u5728 \u767b\u5f55\u9875\u5b9a\u5236 \u9875\u7b7e\u4e2d\uff0c\u4fee\u6539\u767b\u5f55\u9875\u7684\u56fe\u6807\u548c\u6587\u5b57\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

                3. \u9000\u51fa\u767b\u5f55\uff0c\u5728\u767b\u5f55\u9875\u5237\u65b0\u540e\u53ef\u770b\u5230\u914d\u7f6e\u540e\u7684\u6548\u679c

                4. \u70b9\u51fb \u9876\u90e8\u5bfc\u822a\u680f\u5b9a\u5236 \u9875\u7b7e\uff0c\u4fee\u6539\u5bfc\u822a\u680f\u7684\u56fe\u6807\u548c\u6587\u5b57\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

                5. \u70b9\u51fb \u9ad8\u7ea7\u5b9a\u5236 \uff0c\u53ef\u4ee5\u7528 CSS \u6837\u5f0f\u8bbe\u7f6e\u767b\u5f55\u9875\u3001\u5bfc\u822a\u680f\u3001\u5e95\u90e8\u7248\u6743\u53ca\u5907\u6848\u4fe1\u606f\u3002

                "},{"location":"ghippo/user-guide/platform-setting/appearance.html#_3","title":"\u9ad8\u7ea7\u5b9a\u5236","text":"

                \u9ad8\u7ea7\u5b9a\u5236\u80fd\u591f\u901a\u8fc7 CSS \u6837\u5f0f\u6765\u4fee\u6539\u6574\u4e2a\u5bb9\u5668\u5e73\u53f0\u7684\u989c\u8272\u3001\u5b57\u4f53\u95f4\u9694\u3001\u5b57\u53f7\u7b49\u3002 \u60a8\u9700\u8981\u719f\u6089 CSS \u8bed\u6cd5\u3002\u5220\u9664\u9ed1\u8272\u8f93\u5165\u6846\u7684\u5185\u5bb9\uff0c\u53ef\u6062\u590d\u5230\u9ed8\u8ba4\u72b6\u6001\uff0c\u5f53\u7136\u4e5f\u53ef\u4ee5\u70b9\u51fb \u4e00\u952e\u8fd8\u539f \u6309\u94ae\u3002

                \u767b\u5f55\u9875\u5b9a\u5236\u7684 CSS \u6837\u4f8b\uff1a

                .test {\n  width: 12px;\n}\n\n#kc-login {\n /* color: red!important; */\n}\n

                \u767b\u5f55\u540e\u9875\u9762\u5b9a\u5236\u7684 CSS \u6837\u4f8b\uff1a

                .dao-icon.dao-iconfont.icon-service-global.dao-nav__head-icon {\n   color: red!important;\n}\n.ghippo-header-logo {\n  background-color: green!important;\n}\n.ghippo-header {\n  background-color: rgb(128, 115, 0)!important;\n}\n.ghippo-header-nav-main {\n  background-color: rgb(0, 19, 128)!important;\n}\n.ghippo-header-sub-nav-main .dao-popper-inner {\n  background-color: rgb(231, 82, 13) !important;\n}\n

                Footer\uff08\u9875\u9762\u5e95\u90e8\u7684\u7248\u6743\u3001\u5907\u6848\u7b49\u4fe1\u606f\uff09\u5b9a\u5236\u793a\u4f8b

                <div class=\"footer-content\">\n  <span class=\"footer-item\">Copyright \u00a9 DaoCloud \u9053\u5ba2\u7f51\u7edc\u79d1\u6280\u6709\u9650\u516c\u53f8\u4fdd\u7559\u6240\u6709\u6743\u5229</span>\n  <a class=\"footer-item\" href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\">\u6caa ICP \u5907 14048409 \u53f7 - 1</a>\n  <a class=\"footer-item\" href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\">\u6caa ICP \u5907 14048409 \u53f7 - 2</a>\n</div>\n<div class=\"footer-content\">\n  <img class=\"gongan-icon\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAQjSURBVHjaVNNZbFRlGIDh95w525zpdGa6TVtbykBbyiICxQY0AhYTJUCiiYqGqEEiJhKQmBg0ESPeeCGRENEYb4jhBr0gNQrRlCBiSgyLaSlSaKEs3Wemy+xnzuqFYdD/6rt6ku/N9wue55EcPwWArCgIgkx5ZRuYVxsnJ801Z05f3jY1MRnb/HxHV+uSph9RKq4mhkdwbZVgdQ2SHkPTwgj/h1QUWWi8/tfg/hM/XN/Y2zfaZnkSnuRDtLMsXhBOvrJtya/LlrcdMs1Qb1lVRQmSAEDAsU1kxpgamXp3y+azu1esreK9dyRqs9PIjkW6OsLx7lTV1ld/237s8HRV57MbnvO8CA+e9GCQFTk6Mza+4/0P+t9a9VSEI3uyTH/eR27aB2Ed31Q/Hx1sI6BHOPT13c5Frd0HW9p3HPUQEwAigJW9RDp+bstrOy981nVGLN/7RpHUV70YfXnEAtjxFPasxPDBQXatjzNTdOQXtg983H/51AFFy1KCIg2bNIdC+8270NwmUmelsXqSqHkDK5PDl8iCW0QcnEW+lqCjvcjQuMZ4YnQRTkotQUZu4GkjcfZNv19G011kXw4vayNYNvqCCvSVTciOgABgeuhBGwhgz5zbkI2ff7HUqJiNR2QktbbSYnBYYqbMT/ilKI4SIbT/GcRylbnvLmJ2X8N7tJ7rR8OE/BbliqEYea81WIotmOs02WFpc55Lf0f5/mSI3dsamOgxSX7ZjaALuBmB6M6FnB+S+POCwmOLk1QFFAqZyQWl1YrpiRZJLvDkygyC5NJ1XCax7xYNiTQVEYVIuUulayIcGeLkpw6WK7GuPY/fb2CkhleXIFFe8XPGaKBj9QxLW1Ik0bg8EuT2zRCJYZvZIYepe0EGbvi4bQUJVZhs2phADFYj+df0lBqJUnaekS4SUHXe3jrOnoE2PhSewHfRpfZGgcryIvfHdQruQlLo7Ns6QizqkJ31CIUlqwQJXuWUpDXj6qOsW32HT3YNImll9FwJsb4jyaLmWQ4fa6a+2sQw0ry8YZSiHcPxxXBtMfCv4XkUCrfliWs/fTE31rtTVfv9vsIorvQIniMhqXM4popVcJFVMHMpfMEaLPdxR1Tnna1b1vl6tGntpAjgCTNWONZyIFBR8Ydtr6EgrCI3VySfzZPLBDHyIq5gkpmzcOUmTGMF+bh7M9LYulfWzMmHBzk7Fpq9deWEYxjrtaCMXjWfstp6BCGNXZzBdYqYhogWqkMum4+oBVD0YnP63u/fFqbv1D+M7VSlBbmmK5uYaLYLYwslfwFVAyXQiOfcx3XyyGIM8DDn0lgWyGokHogu/0UJxpL/+f2e569s/CZQZ53OpzJr0+NXludUfb5jVdf7VUGXJUPIZast1S9PeII6jFDT5xMjFwO1S4c8zwTgnwEAxufYSzA67PMAAAAASUVORK5CYII=\" >\n  <a class=\"footer-item\" href=\"http://www.beian.gov.cn/portal/registerSystemInfo\">\u6caa\u516c\u7f51\u5b89\u5907 12345678912345\u53f7</a>\n</div>\n<style>\n.footer-content {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: center;\n}\n.footer-content + .footer-content {\n  margin-top: 8px;\n}\n.login-pf .footer-item {\n  color: white;\n}\n.footer-item {\n  color: var(--dao-gray-010);\n  text-decoration: none;\n}\n.footer-item + .footer-item {\n  margin-left: 8px;\n}\n.gongan-icon {\n  width: 18px;\n  height: 18px;\n  margin-right: 4px;\n}\n</style>\n

                Note

                \u5982\u679c\u60f3\u8981\u6062\u590d\u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb \u4e00\u952e\u8fd8\u539f \u3002\u8bf7\u6ce8\u610f\uff0c\u4e00\u952e\u8fd8\u539f\u540e\u5c06\u4e22\u5f03\u6240\u6709\u81ea\u5b9a\u4e49\u8bbe\u7f6e\u3002

                "},{"location":"ghippo/user-guide/platform-setting/mail-server.html","title":"\u90ae\u4ef6\u670d\u52a1\u5668","text":"

                DCE 5.0 \u4f1a\u5728\u7528\u6237\u5fd8\u8bb0\u5bc6\u7801\u65f6\uff0c\u5411\u7528\u6237\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u4ee5\u9a8c\u8bc1\u7535\u5b50\u90ae\u4ef6\u5730\u5740\uff0c\u786e\u4fdd\u7528\u6237\u662f\u672c\u4eba\u64cd\u4f5c\u3002 \u8981\u4f7f DCE 5.0 \u80fd\u591f\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\uff0c\u9700\u8981\u5148\u63d0\u4f9b\u60a8\u7684\u90ae\u4ef6\u670d\u52a1\u5668\u5730\u5740\u3002

                \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

                2. \u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e \uff0c\u9009\u62e9 \u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e \u3002

                  \u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u914d\u7f6e\u90ae\u4ef6\u670d\u52a1\u5668\uff1a

                  \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c SMTP \u670d\u52a1\u5668\u5730\u5740 \u80fd\u591f\u63d0\u4f9b\u90ae\u4ef6\u670d\u52a1\u7684 SMTP \u670d\u52a1\u5668\u5730\u5740 smtp.163.com SMTP \u670d\u52a1\u5668\u7aef\u53e3 \u53d1\u9001\u90ae\u4ef6\u7684\u7aef\u53e3 25 \u7528\u6237\u540d SMTP \u7528\u6237\u7684\u540d\u79f0 test@163.com \u5bc6\u7801 SMTP \u8d26\u53f7\u7684\u5bc6\u7801 123456 \u53d1\u4ef6\u4eba\u90ae\u7bb1 \u53d1\u4ef6\u4eba\u7684\u90ae\u7bb1\u5730\u5740 test@163.com \u4f7f\u7528 SSL \u5b89\u5168\u8fde\u63a5 SSL \u53ef\u4ee5\u7528\u4e8e\u52a0\u5bc6\u90ae\u4ef6\uff0c\u4ece\u800c\u63d0\u9ad8\u901a\u8fc7\u90ae\u4ef6\u4f20\u8f93\u7684\u4fe1\u606f\u7684\u5b89\u5168\u6027\uff0c\u901a\u5e38\u9700\u4e3a\u90ae\u4ef6\u670d\u52a1\u5668\u914d\u7f6e\u8bc1\u4e66 \u4e0d\u5f00\u542f
                3. \u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4fdd\u5b58 \uff0c\u70b9\u51fb \u6d4b\u8bd5\u90ae\u4ef6\u670d\u52a1\u5668 \u3002

                4. \u5c4f\u5e55\u53f3\u4e0a\u89d2\u51fa\u73b0\u6210\u529f\u53d1\u9001\u90ae\u4ef6\u7684\u63d0\u793a\uff0c\u5219\u8868\u793a\u90ae\u4ef6\u670d\u52a1\u5668\u88ab\u6210\u529f\u8bbe\u7f6e\u3002

                "},{"location":"ghippo/user-guide/platform-setting/mail-server.html#_2","title":"\u5e38\u89c1\u95ee\u9898","text":"

                \u95ee\uff1a\u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e\u540e\u7528\u6237\u4ecd\u65e0\u6cd5\u627e\u56de\u5bc6\u7801\u662f\u4ec0\u4e48\u539f\u56e0\uff1f

                \u7b54\uff1a\u7528\u6237\u53ef\u80fd\u672a\u8bbe\u7f6e\u90ae\u7bb1\u6216\u8005\u8bbe\u7f6e\u4e86\u9519\u8bef\u7684\u90ae\u7bb1\u5730\u5740\uff1b\u6b64\u65f6\u53ef\u4ee5\u8ba9 admin \u89d2\u8272\u7684\u7528\u6237\u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u4e2d\u901a\u8fc7\u7528\u6237\u540d\u627e\u5230\u8be5\u7528\u6237\uff0c\u5e76\u5728\u7528\u6237\u8be6\u60c5\u4e2d\u4e3a\u8be5\u7528\u6237\u8bbe\u7f6e\u65b0\u7684\u767b\u5f55\u5bc6\u7801\u3002

                \u5982\u679c\u90ae\u4ef6\u670d\u52a1\u5668\u6ca1\u6709\u8fde\u901a\uff0c\u8bf7\u68c0\u67e5\u90ae\u4ef6\u670d\u52a1\u5668\u5730\u5740\u3001\u7528\u6237\u540d\u53ca\u5bc6\u7801\u662f\u5426\u6b63\u786e\u3002

                "},{"location":"ghippo/user-guide/platform-setting/security.html","title":"\u5b89\u5168\u7b56\u7565","text":"

                DCE 5.0 \u5728\u56fe\u5f62\u754c\u9762\u4e0a\u63d0\u4f9b\u4e86\u57fa\u4e8e\u5bc6\u7801\u548c\u8bbf\u95ee\u63a7\u5236\u7684\u5b89\u5168\u7b56\u7565\u3002

                \u5bc6\u7801\u7b56\u7565

                • \u65b0\u5bc6\u7801\u4e0d\u80fd\u4e0e\u6700\u8fd1\u7684\u5386\u53f2\u5bc6\u7801\u76f8\u540c\u3002
                • \u5bc6\u7801\u8fc7\u671f\u540e\uff0c\u7cfb\u7edf\u5f3a\u5236\u8981\u6c42\u4fee\u6539\u5bc6\u7801\u3002
                • \u5bc6\u7801\u4e0d\u80fd\u4e0e\u7528\u6237\u540d\u76f8\u540c\u3002
                • \u5bc6\u7801\u4e0d\u80fd\u548c\u7528\u6237\u7684\u90ae\u7bb1\u5730\u5740\u76f8\u540c\u3002
                • \u81ea\u5b9a\u4e49\u5bc6\u7801\u89c4\u5219\u3002
                • \u81ea\u5b9a\u4e49\u5bc6\u7801\u6700\u5c0f\u957f\u5ea6\u3002

                \u8bbf\u95ee\u63a7\u5236\u7b56\u7565

                • \u4f1a\u8bdd\u8d85\u65f6\u7b56\u7565\uff1a\u7528\u6237\u5728 x \u5c0f\u65f6\u5185\u6ca1\u6709\u64cd\u4f5c\uff0c\u9000\u51fa\u5f53\u524d\u8d26\u53f7\u3002
                • \u8d26\u53f7\u9501\u5b9a\u7b56\u7565\uff1a\u9650\u5236\u65f6\u95f4\u5185\u591a\u6b21\u767b\u5f55\u5931\u8d25\uff0c\u8d26\u53f7\u5c06\u88ab\u9501\u5b9a\u3002
                • \u767b\u5f55/\u9000\u51fa\u7b56\u7565\uff1a\u5173\u95ed\u6d4f\u89c8\u5668\u7684\u540c\u65f6\u9000\u51fa\u767b\u5f55\u3002

                \u8fdb\u5165\u5168\u5c40\u7ba1\u7406\u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e -> \u5b89\u5168\u7b56\u7565 \uff0c\u5373\u53ef\u8bbe\u7f6e\u5bc6\u7801\u7b56\u7565\u548c\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u3002

                "},{"location":"ghippo/user-guide/report-billing/index.html","title":"\u8fd0\u8425\u7ba1\u7406","text":"

                \u8fd0\u8425\u7ba1\u7406\u901a\u8fc7\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\uff0c\u4e3a\u60a8\u5c55\u793a\u5e73\u53f0\u4e0a\u7edf\u8ba1\u65f6\u95f4\u8303\u56f4\u5185\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u3001\u5de5\u4f5c\u7a7a\u95f4\u7b49\u7ef4\u5ea6\u7684 CPU/\u5185\u5b58/\u5b58\u50a8/GPU \u7684\u4f7f\u7528\u603b\u91cf\u548c\u4f7f\u7528\u7387\u7b49\u4fe1\u606f\u3002\u4ee5\u53ca\u901a\u8fc7\u4f7f\u7528\u91cf\u3001\u4f7f\u7528\u65f6\u95f4\u53ca\u5355\u4ef7\u7b49\u4fe1\u606f\uff0c\u81ea\u52a8\u8ba1\u7b97\u51fa\u7684\u5e73\u53f0\u6d88\u8d39\u4fe1\u606f\u3002\u8be5\u6a21\u5757\u9ed8\u8ba4\u5f00\u542f\u6240\u6709\u62a5\u8868\u7edf\u8ba1\uff0c\u540c\u65f6\u4e5f\u652f\u6301\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u5355\u4e2a\u62a5\u8868\u8fdb\u884c\u624b\u52a8\u5f00\u542f\u6216\u5173\u95ed\uff0c\u5f00\u542f/\u5173\u95ed\u540e\u5c06\u5728\u6700\u957f 20 \u5206\u949f\u5185\uff0c\u5e73\u53f0\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u62a5\u8868\u6570\u636e\uff0c\u5f80\u671f\u5df2\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u5c55\u793a\u3002\u8fd0\u8425\u7ba1\u7406\u6570\u636e\u6700\u591a\u53ef\u5728\u5e73\u53f0\u4e0a\u4fdd\u7559 365 \u5929\uff0c\u8d85\u8fc7\u4fdd\u7559\u65f6\u95f4\u7684\u7edf\u8ba1\u6570\u636e\u5c06\u88ab\u81ea\u52a8\u5220\u9664\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7 CSV \u6216 Excel \u65b9\u5f0f\u4e0b\u8f7d\u62a5\u8868\u540e\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u7edf\u8ba1\u548c\u5206\u6790\u3002

                \u8fd0\u8425\u7ba1\u7406\u4ec5\u5bf9\u6807\u51c6\u7248\u53ca\u4ee5\u4e0a\u7248\u672c\u5f00\u653e\uff0c\u793e\u533a\u7248\u6682\u4e0d\u652f\u6301\u3002

                \u4f60\u9700\u8981\u5148\u5b89\u88c5\u6216\u5347\u7ea7\u8fd0\u8425\u7ba1\u7406\u6a21\u5757\uff0c\u7136\u540e\u5c31\u53ef\u4ee5\u4f53\u9a8c\u62a5\u8868\u7ba1\u7406\u548c\u8ba1\u8d39\u8ba1\u91cf\u3002

                "},{"location":"ghippo/user-guide/report-billing/index.html#_2","title":"\u62a5\u8868\u7ba1\u7406","text":"

                \u62a5\u8868\u7ba1\u7406\u901a\u8fc7 CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u5229\u7528\u7387\u3001\u5b58\u50a8\u5229\u7528\u7387\u3001GPU \u7b97\u529b\u5229\u7528\u7387\u3001GPU \u663e\u5b58\u5229\u7528\u7387 5 \u4e2a\u7ef4\u5ea6\uff0c\u5bf9\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4 5 \u79cd\u8d44\u6e90\u8fdb\u884c\u6570\u636e\u7edf\u8ba1\u3002\u540c\u65f6\u8054\u52a8\u5ba1\u8ba1\u548c\u544a\u8b66\u6a21\u5757\uff0c\u652f\u6301\u5bf9\u5ba1\u8ba1\u6570\u636e\u548c\u544a\u8b66\u6570\u636e\u8fdb\u884c\u7edf\u8ba1\u7ba1\u7406\u3002\u5171\u8ba1\u652f\u6301 7 \u79cd\u7c7b\u578b\u62a5\u8868\u3002

                "},{"location":"ghippo/user-guide/report-billing/index.html#_3","title":"\u8ba1\u91cf\u8ba1\u8d39","text":"

                \u8ba1\u91cf\u8ba1\u8d39\u9488\u5bf9\u5e73\u53f0\u4e0a\u7684\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u547d\u540d\u7a7a\u95f4\u548c\u5de5\u4f5c\u7a7a\u95f4 5 \u79cd\u8d44\u6e90\u8fdb\u884c\u8ba1\u8d39\u7edf\u8ba1\u3002\u6839\u636e\u4e0d\u540c\u8d44\u6e90\u4e2d CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u548c GPU \u7684\u4f7f\u7528\u91cf\uff0c\u4ee5\u53ca\u7528\u6237\u624b\u52a8\u914d\u7f6e\u7684\u4ef7\u683c\u548c\u8d27\u5e01\u5355\u4f4d\u81ea\u52a8\u8ba1\u7b97\u51fa\u6bcf\u79cd\u8d44\u6e90\u5728\u7edf\u8ba1\u65f6\u95f4\u7684\u6d88\u8d39\u60c5\u51b5\uff0c\u6839\u636e\u6240\u9009\u65f6\u95f4\u8de8\u5ea6\u4e0d\u540c\uff0c\u53ef\u5feb\u901f\u8ba1\u7b97\u51fa\u8be5\u8de8\u5ea6\u5185\u7684\u5b9e\u9645\u6d88\u8d39\u60c5\u51b5\uff0c\u5982\u6708\u5ea6\u3001\u5b63\u5ea6\u3001\u5e74\u5ea6\u7b49\u3002

                "},{"location":"ghippo/user-guide/report-billing/billing.html","title":"\u8ba1\u91cf\u8ba1\u8d39","text":"

                \u8ba1\u91cf\u8ba1\u8d39\u5728\u62a5\u8868\u7684\u57fa\u7840\u4e0a\uff0c\u5bf9\u8d44\u6e90\u7684\u4f7f\u7528\u6570\u636e\u505a\u4e86\u8fdb\u4e00\u6b65\u7684\u8ba1\u8d39\u5904\u7406\u3002\u652f\u6301\u7528\u6237\u624b\u52a8\u8bbe\u7f6e CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u3001GPU \u7684\u5355\u4ef7\u4ee5\u53ca\u8d27\u5e01\u5355\u4f4d\u7b49\uff0c\u8bbe\u7f6e\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u7edf\u8ba1\u51fa\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5de5\u4f5c\u7a7a\u95f4\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u82b1\u8d39\u60c5\u51b5\uff0c\u65f6\u95f4\u6bb5\u7528\u6237\u53ef\u81ea\u7531\u8c03\u6574\uff0c\u53ef\u6309\u7167\u5468\u3001\u6708\u3001\u5b63\u5ea6\u3001\u5e74\u7b5b\u9009\u8c03\u6574\u540e\u5bfc\u51fa Excel \u6216 Csv \u683c\u5f0f\u7684\u8ba1\u8d39\u62a5\u8868\u3002

                "},{"location":"ghippo/user-guide/report-billing/billing.html#_2","title":"\u8ba1\u8d39\u89c4\u5219\u53ca\u751f\u6548\u65f6\u95f4","text":"
                • \u8ba1\u8d39\u89c4\u5219\uff1a\u9ed8\u8ba4\u6309\u7167\u8bf7\u6c42\u503c\u548c\u4f7f\u7528\u91cf\u7684\u6700\u5927\u503c\u8ba1\u8d39\u3002
                • \u751f\u6548\u65f6\u95f4\uff1a\u6b21\u65e5\u751f\u6548\uff0c\u4ee5\u6b21\u65e5\u51cc\u6668\u65f6\u83b7\u53d6\u7684\u5355\u4ef7\u548c\u6570\u91cf\u8ba1\u7b97\u5f53\u5929\u4ea7\u751f\u7684\u8d39\u7528\u3002
                "},{"location":"ghippo/user-guide/report-billing/billing.html#_3","title":"\u529f\u80fd\u7279\u6027","text":"
                • \u652f\u6301\u81ea\u5b9a\u4e49\u8bbe\u7f6e CPU \u3001\u5185\u5b58\u3001\u5b58\u50a8\u4ee5\u53ca GPU \u7684\u8ba1\u8d39\u5355\u4f4d\uff0c\u4ee5\u53ca\u8d27\u5e01\u5355\u4f4d\u3002
                • \u652f\u6301\u67e5\u8be2\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u7684\u7edf\u8ba1\u6570\u636e\uff0c\u6839\u636e\u6240\u9009\u65f6\u95f4\u6bb5\u81ea\u52a8\u8ba1\u7b97\u51fa\u8be5\u65f6\u95f4\u6bb5\u5185\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
                • \u652f\u6301\u4ee5 CSV \u548c Excel \u4e24\u79cd\u683c\u5f0f\u5bfc\u51fa\u8ba1\u8d39\u62a5\u8868\u3002
                • \u652f\u6301\u5f00\u542f/\u5173\u95ed\u5355\u4e2a\u8ba1\u8d39\u62a5\u8868\uff0c\u5f00\u542f/\u5173\u95ed\u540e\uff0c\u5e73\u53f0\u5c06\u5728 20 \u5206\u949f\u5185\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u6570\u636e\uff0c\u5f80\u671f\u5df2\u7ecf\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u663e\u793a\u3002
                • \u652f\u6301\u5bf9 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u6570\u636e\u7684\u9009\u62e9\u6027\u5c55\u793a\u3002
                "},{"location":"ghippo/user-guide/report-billing/billing.html#_4","title":"\u62a5\u8868\u7ef4\u5ea6","text":"

                \u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u62a5\u8868\uff1a

                • \u96c6\u7fa4\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u6570\u91cf\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u8282\u70b9\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u8282\u70b9\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u8ba1\u8d39\u60c5\u51b5\u3002
                • \u8282\u70b9\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u8282\u70b9\u7684 IP\u3001\u7c7b\u578b\u548c\u6240\u5c5e\u96c6\u7fa4\u3002
                • \u5bb9\u5668\u7ec4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u5bb9\u5668\u7ec4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u7684\u6240\u5c5e\u547d\u540d\u7a7a\u95f4\u3001\u6240\u5c5e\u96c6\u7fa4\u548c\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\u3002
                • \u5de5\u4f5c\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u5de5\u4f5c\u7a7a\u95f4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u548c\u5bb9\u5668\u7ec4\u6570\u91cf\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u547d\u540d\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u547d\u540d\u7a7a\u95f4\u7684\u8ba1\u8d39\u60c5\u51b5\uff1b\u540c\u6837\u7684\u65b9\u5f0f\u53ef\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
                • \u547d\u540d\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff1a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u547d\u540d\u7a7a\u95f4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u6570\u91cf\u3001\u6240\u5c5e\u96c6\u7fa4\u3001\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u5bb9\u5668\u7ec4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u5bb9\u5668\u7ec4\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
                "},{"location":"ghippo/user-guide/report-billing/billing.html#_5","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u8fd0\u8425\u7ba1\u7406 \u3002

                2. \u8fdb\u5165 \u8fd0\u8425\u7ba1\u7406 \u540e\u5207\u6362\u4e0d\u540c\u83dc\u5355\u53ef\u67e5\u770b\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u7b49\u8ba1\u8d39\u62a5\u8868\u3002

                "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html","title":"\u79bb\u7ebf\u5347\u7ea7\u8fd0\u8425\u7ba1\u7406\u6a21\u5757","text":"

                \u672c\u9875\u8bf4\u660e\u4e0b\u8f7d\u8fd0\u8425\u7ba1\u7406\u6a21\u5757\u540e\uff0c\u5e94\u8be5\u5982\u4f55\u5b89\u88c5\u6216\u5347\u7ea7\u3002

                Info

                \u4e0b\u8ff0\u547d\u4ee4\u6216\u811a\u672c\u5185\u51fa\u73b0\u7684 gmagpie \u5b57\u6837\u662f\u8fd0\u8425\u7ba1\u7406\u6a21\u5757\u7684\u5185\u90e8\u5f00\u53d1\u4ee3\u53f7\u3002

                "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html#_2","title":"\u4ece\u5b89\u88c5\u5305\u4e2d\u52a0\u8f7d\u955c\u50cf","text":"

                \u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u9762\u4e24\u79cd\u65b9\u5f0f\u4e4b\u4e00\u52a0\u8f7d\u955c\u50cf\uff0c\u5f53\u73af\u5883\u4e2d\u5b58\u5728\u955c\u50cf\u4ed3\u5e93\u65f6\uff0c\u5efa\u8bae\u9009\u62e9 chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93\uff0c\u8be5\u65b9\u6cd5\u66f4\u52a0\u9ad8\u6548\u4fbf\u6377\u3002

                "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html#chart-syncer","title":"chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93","text":"
                1. \u521b\u5efa load-image.yaml

                  Note

                  \u8be5 YAML \u6587\u4ef6\u4e2d\u7684\u5404\u9879\u53c2\u6570\u5747\u4e3a\u5fc5\u586b\u9879\u3002\u60a8\u9700\u8981\u4e00\u4e2a\u79c1\u6709\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u5e76\u4fee\u6539\u76f8\u5173\u914d\u7f6e\u3002

                  \u5df2\u5b89\u88c5 chart repo\u672a\u5b89\u88c5 chart repo load-image.yaml
                  source:\n  intermediateBundlesPath: gmagpie-offline # (1)!\ntarget:\n  containerRegistry: 10.16.10.111 # (2)!\n  containerRepository: release.daocloud.io/gmagpie # (3)!\n  repo:\n    kind: HARBOR # (4)!\n    url: http://10.16.10.111/chartrepo/release.daocloud.io # (5)!\n    auth:\n      username: \"admin\" # (6)!\n      password: \"Harbor12345\" # (7)! \n  containers:\n    auth:\n      username: \"admin\" # (8)!\n      password: \"Harbor12345\" # (9)!\n
                  1. \u5230\u6267\u884c charts-syncer \u547d\u4ee4\u7684\u76f8\u5bf9\u8def\u5f84\uff0c\u800c\u4e0d\u662f\u6b64 YAML \u6587\u4ef6\u548c\u79bb\u7ebf\u5305\u4e4b\u95f4\u7684\u76f8\u5bf9\u8def\u5f84
                  2. \u9700\u66f4\u6539\u4e3a\u4f60\u7684\u955c\u50cf\u4ed3\u5e93 url
                  3. \u9700\u66f4\u6539\u4e3a\u4f60\u7684\u955c\u50cf\u4ed3\u5e93
                  4. \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b
                  5. \u9700\u66f4\u6539\u4e3a chart repo url
                  6. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
                  7. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u5bc6\u7801
                  8. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
                  9. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u5bc6\u7801

                  \u82e5\u5f53\u524d\u73af\u5883\u672a\u5b89\u88c5 chart repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\uff0c\u5e76\u5b58\u653e\u5728\u6307\u5b9a\u8def\u5f84\u3002

                  load-image.yaml
                  source:\n  intermediateBundlesPath: gmagpie-offline # (1)!\ntarget:\n  containerRegistry: 10.16.10.111 # (2)!\n  containerRepository: release.daocloud.io/gmagpie # (3)!\n  repo:\n    kind: LOCAL\n    path: ./local-repo # (4)!\n  containers:\n    auth:\n      username: \"admin\" # (5)!\n      password: \"Harbor12345\" # (6)!\n
                  1. \u5230\u6267\u884c charts-syncer \u547d\u4ee4\u7684\u76f8\u5bf9\u8def\u5f84\uff0c\u800c\u4e0d\u662f\u6b64 YAML \u6587\u4ef6\u548c\u79bb\u7ebf\u5305\u4e4b\u95f4\u7684\u76f8\u5bf9\u8def\u5f84
                  2. \u9700\u66f4\u6539\u4e3a\u4f60\u7684\u955c\u50cf\u4ed3\u5e93 url
                  3. \u9700\u66f4\u6539\u4e3a\u4f60\u7684\u955c\u50cf\u4ed3\u5e93
                  4. chart \u672c\u5730\u8def\u5f84
                  5. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
                  6. \u4f60\u7684\u955c\u50cf\u4ed3\u5e93\u5bc6\u7801
                2. \u6267\u884c\u540c\u6b65\u955c\u50cf\u547d\u4ee4\u3002

                  charts-syncer sync --config load-image.yaml\n

                  \u82e5\u6709 x509 \u8ba4\u8bc1\u5931\u8d25\uff0c\u53ef\u4f7f\u7528\u53c2\u6570 --insecure

                  charts-syncer sync --config load-image.yaml --insecure\n
                "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html#docker-containerd","title":"Docker \u6216 containerd \u76f4\u63a5\u52a0\u8f7d","text":"

                \u89e3\u538b\u5e76\u52a0\u8f7d\u955c\u50cf\u6587\u4ef6\u3002

                1. \u89e3\u538b tar \u538b\u7f29\u5305\u3002

                  tar xvf gmagpie.bundle.tar\n

                  \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 3 \u4e2a\u6587\u4ef6\uff1a

                  • hints.yaml
                  • images.tar
                  • original-chart
                2. \u4ece\u672c\u5730\u52a0\u8f7d\u955c\u50cf\u5230 Docker \u6216 containerd\u3002

                  Dockercontainerd
                  docker load -i images.tar\n
                  ctr -n k8s.io image import images.tar\n

                Note

                \u6bcf\u4e2a\u8282\u70b9\u90fd\u9700\u8981\u6267\u884c Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf\u64cd\u4f5c\uff0c \u52a0\u8f7d\u5b8c\u6210\u540e\u9700\u8981 tag \u955c\u50cf\uff0c\u4fdd\u6301 Registry\u3001Repository \u4e0e\u5b89\u88c5\u65f6\u4e00\u81f4\u3002

                "},{"location":"ghippo/user-guide/report-billing/gmagpie-offline-install.html#_3","title":"\u5347\u7ea7","text":"

                \u6709\u4e24\u79cd\u5347\u7ea7\u65b9\u5f0f\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u524d\u7f6e\u64cd\u4f5c\uff0c\u9009\u62e9\u5bf9\u5e94\u7684\u5347\u7ea7\u65b9\u6848\uff1a

                Note

                \u5f53\u4ece v0.1.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.2.0\uff08\u6216\u66f4\u9ad8\u7248\u672c\uff09\u65f6\uff0c\u9700\u8981\u4fee\u6539\u6570\u636e\u5e93\u8fde\u63a5\u53c2\u6570\u3002

                \u6570\u636e\u5e93\u8fde\u63a5\u53c2\u6570\u7684\u4fee\u6539\u793a\u4f8b\uff1a

                bak.yaml
                USER-SUPPLIED VALUES:\nglobal:\n  database:\n    host: 127.0.0.1\n    port: 3306\n    dbname: gmagpie\n    password: passowrd\n    user: gmagpie\n

                \u4fee\u6539\u4e3a\uff1a

                bak.yaml
                USER-SUPPLIED VALUES:\nglobal:\n  storage:\n    gmagpie:\n    - driver: mysql\n      accessType: readwrite\n      dsn: {global.database.apiserver.user}:{global.database.apiserver.password}@tcp({global.database.host}:{global.database.port})/{global.database.apiserver.dbname}?charset=utf8mb4&multiStatements=true&parseTime=true\n
                \u901a\u8fc7 helm repo \u5347\u7ea7\u901a\u8fc7 Chart \u5305\u5347\u7ea7
                1. \u68c0\u67e5\u8fd0\u8425\u7ba1\u7406 Helm \u4ed3\u5e93\u662f\u5426\u5b58\u5728\u3002

                  helm repo list | grep gmagpie\n

                  \u82e5\u8fd4\u56de\u7ed3\u679c\u4e3a\u7a7a\u6216\u5982\u4e0b\u63d0\u793a\uff0c\u5219\u8fdb\u884c\u4e0b\u4e00\u6b65\uff1b\u53cd\u4e4b\u5219\u8df3\u8fc7\u4e0b\u4e00\u6b65\u3002

                  Error: no repositories to show\n
                2. \u6dfb\u52a0\u8fd0\u8425\u7ba1\u7406\u7684 Helm \u4ed3\u5e93\u3002

                  helm repo add gmagpie http://{harbor url}/chartrepo/{project}\n
                3. \u66f4\u65b0\u8fd0\u8425\u7ba1\u7406\u7684 Helm \u4ed3\u5e93\u3002

                  helm repo update gmagpie # (1)!\n
                  1. Helm \u7248\u672c\u8fc7\u4f4e\u4f1a\u5bfc\u81f4\u5931\u8d25\uff0c\u82e5\u5931\u8d25\uff0c\u8bf7\u5c1d\u8bd5\u6267\u884c helm update repo
                4. \u9009\u62e9\u60a8\u60f3\u5b89\u88c5\u7684\u8fd0\u8425\u7ba1\u7406\u7248\u672c\uff08\u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\uff09\u3002

                  helm search repo gmagpie/gmagpie --versions\n
                  [root@master ~]# helm search repo gmagpie/gmagpie --versions\nNAME                   CHART VERSION  APP VERSION  DESCRIPTION\ngmagpie/gmagpie  0.3.0          v0.3.0       A Helm chart for GHippo\n...\n
                5. \u5907\u4efd --set \u53c2\u6570\u3002

                  \u5728\u5347\u7ea7\u8fd0\u8425\u7ba1\u7406\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                  helm get values gmagpie -n gmagpie-system -o yaml > bak.yaml\n
                6. \u6267\u884c helm upgrade \u3002

                  \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u5b57\u6bb5\u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                  export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                  helm upgrade gmagpie gmagpie/gmagpie \\\n  -n gmagpie-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry \\\n  --version 0.3.0\n
                1. \u5907\u4efd --set \u53c2\u6570\u3002

                  \u5728\u5347\u7ea7\u8fd0\u8425\u7ba1\u7406\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                  helm get values gmagpie -n gmagpie-system -o yaml > bak.yaml\n
                2. \u6267\u884c helm upgrade \u3002

                  \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                  export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                  helm upgrade gmagpie . \\\n  -n gmagpie-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry\n
                "},{"location":"ghippo/user-guide/report-billing/report.html","title":"\u62a5\u8868\u7ba1\u7406","text":"

                \u62a5\u8868\u7ba1\u7406\u4ee5\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4e86\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5ba1\u8ba1\u53ca\u544a\u8b66\u7ef4\u5ea6\u7684\u7edf\u8ba1\u6570\u636e\uff0c\u4e3a\u5e73\u53f0\u7684\u8ba1\u8d39\u53ca\u4f7f\u7528\u60c5\u51b5\u7684\u8c03\u4f18\u63d0\u4f9b\u4e86\u53ef\u9760\u7684\u57fa\u7840\u6570\u636e\u3002

                "},{"location":"ghippo/user-guide/report-billing/report.html#_2","title":"\u529f\u80fd\u7279\u6027","text":"
                • \u652f\u6301\u67e5\u8be2\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u7684\u7edf\u8ba1\u6570\u636e
                • \u652f\u6301\u4ee5 CSV \u548c Excel \u4e24\u79cd\u683c\u5f0f\u5bfc\u51fa\u62a5\u8868
                • \u652f\u6301\u5f00\u542f/\u5173\u95ed\u5355\u4e2a\u62a5\u8868\uff0c\u5f00\u542f/\u5173\u95ed\u540e\uff0c\u5e73\u53f0\u5c06\u5728 20 \u5206\u949f\u5185\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u6570\u636e\uff0c\u5f80\u671f\u5df2\u7ecf\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u663e\u793a
                • \u652f\u6301\u5c55\u793a CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c
                "},{"location":"ghippo/user-guide/report-billing/report.html#_3","title":"\u62a5\u8868\u7ef4\u5ea6","text":"

                \u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u62a5\u8868\uff1a

                • \u96c6\u7fa4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u96c6\u7fa4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u8be5\u6bb5\u65f6\u95f4\u5185\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u6570\u91cf\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u8282\u70b9\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u8282\u70b9\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4f7f\u7528\u60c5\u51b5\u3002
                • \u8282\u70b9\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u8282\u70b9\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u8282\u70b9\u7684 IP\u3001\u7c7b\u578b\u548c\u6240\u5c5e\u96c6\u7fa4\u3002
                • \u5bb9\u5668\u7ec4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u7684\u6240\u5c5e\u547d\u540d\u7a7a\u95f4\u3001\u6240\u5c5e\u96c6\u7fa4\u548c\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\u3002
                • \u5de5\u4f5c\u7a7a\u95f4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u548c\u5bb9\u5668\u7ec4\u6570\u91cf\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u547d\u540d\u7a7a\u95f4\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u547d\u540d\u7a7a\u95f4\u7684\u4f7f\u7528\u60c5\u51b5\uff1b\u540c\u6837\u7684\u65b9\u5f0f\u53ef\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u4e0b\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u4f7f\u7528\u60c5\u51b5\u3002
                • \u547d\u540d\u7a7a\u95f4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u547d\u540d\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u6570\u91cf\u3001\u6240\u5c5e\u96c6\u7fa4\u3001\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u5bb9\u5668\u7ec4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u5bb9\u5668\u7ec4\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u4f7f\u7528\u60c5\u51b5\u3002
                • \u5ba1\u8ba1\u62a5\u8868\uff1a\u5206\u4e3a\u7528\u6237\u64cd\u4f5c\u548c\u8d44\u6e90\u64cd\u4f5c\u4e24\u4e2a\u62a5\u8868\u3002\u7528\u6237\u64cd\u4f5c\u62a5\u8868\u4e3b\u8981\u7edf\u8ba1\u5355\u4e2a\u7528\u6237\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u64cd\u4f5c\u6b21\u6570\uff0c\u4ee5\u53ca\u6210\u529f\u548c\u5931\u8d25\u7684\u6b21\u6570\uff1b \u8d44\u6e90\u64cd\u4f5c\u62a5\u8868\u4e3b\u8981\u7edf\u8ba1\u6240\u6709\u7528\u6237\u5bf9\u67d0\u79cd\u7c7b\u578b\u8d44\u6e90\u7684\u64cd\u4f5c\u6b21\u6570\u3002
                • \u544a\u8b66\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u8282\u70b9\u7684\u544a\u8b66\u6570\u91cf\uff0c\u4ee5\u53ca\u81f4\u547d\u3001\u4e25\u91cd\u3001\u544a\u8b66\u5206\u522b\u4ea7\u751f\u7684\u6b21\u6570\u3002
                "},{"location":"ghippo/user-guide/report-billing/report.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u8fd0\u8425\u7ba1\u7406 \u3002

                2. \u8fdb\u5165\u8fd0\u8425\u7ba1\u7406\u540e\u5207\u6362\u4e0d\u540c\u83dc\u5355\u53ef\u67e5\u770b\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u7b49\u62a5\u8868\u3002

                "},{"location":"ghippo/user-guide/workspace/folder-permission.html","title":"\u6587\u4ef6\u5939\u6743\u9650\u8bf4\u660e","text":"

                \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

                \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u662f Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5b50\u6587\u4ef6\u5939\u4ecd\u4e3a Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4\u5219\u4e3a Workspace Admin\uff1b \u82e5\u5728 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 -> \u8d44\u6e90\u7ec4 \u4e2d\u7ed1\u5b9a\u4e86 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fd8\u662f Namespace Admin\u3002

                Note

                \u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

                "},{"location":"ghippo/user-guide/workspace/folder-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

                \u6587\u4ef6\u5939\u5177\u6709\u5c42\u7ea7\u80fd\u529b\uff0c\u56e0\u6b64\u5c06\u6587\u4ef6\u5939\u5bf9\u5e94\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8/\u4f9b\u5e94\u5546/\u9879\u76ee\u7b49\u5c42\u7ea7\u65f6\uff0c

                • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u7ba1\u7406\u6743\u9650\uff08Admin\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u7ba1\u7406\u6743\u9650\uff1b
                • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u4f7f\u7528\u6743\u9650\uff08Editor\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u4f7f\u7528\u6743\u9650\uff1b
                • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u53ea\u8bfb\u6743\u9650\uff08Viewer\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u53ea\u8bfb\u6743\u9650\u3002
                \u5bf9\u8c61 \u64cd\u4f5c Folder Admin Folder Editor Folder Viewer \u5bf9\u6587\u4ef6\u5939\u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5b50\u6587\u4ef6\u5939 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717"},{"location":"ghippo/user-guide/workspace/folders.html","title":"\u521b\u5efa/\u5220\u9664\u6587\u4ef6\u5939","text":"

                \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u3002

                1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u6587\u4ef6\u5939 \u6309\u94ae\u3002

                3. \u586b\u5199\u6587\u4ef6\u5939\u540d\u79f0\u3001\u4e0a\u4e00\u7ea7\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u6587\u4ef6\u5939\u3002

                Tip

                \u521b\u5efa\u6210\u529f\u540e\u6587\u4ef6\u5939\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

                Note

                \u9009\u4e2d\u67d0\u4e00\u4e2a\u6587\u4ef6\u5939\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

                • \u5f53\u8be5\u6587\u4ef6\u5939\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002

                • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u6587\u4ef6\u5939\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u6587\u4ef6\u5939\u3002

                "},{"location":"ghippo/user-guide/workspace/quota.html","title":"\u8d44\u6e90\u914d\u989d\uff08Quota\uff09","text":"

                \u5171\u4eab\u8d44\u6e90\u5e76\u975e\u610f\u5473\u7740\u88ab\u5171\u4eab\u8005\u53ef\u4ee5\u65e0\u9650\u5236\u5730\u4f7f\u7528\u88ab\u5171\u4eab\u7684\u8d44\u6e90\u3002 Admin\u3001Kpanda Owner \u548c Workspace Admin \u53ef\u4ee5\u901a\u8fc7\u5171\u4eab\u8d44\u6e90\u4e2d\u7684 \u8d44\u6e90\u914d\u989d \u529f\u80fd\u9650\u5236\u67d0\u4e2a\u7528\u6237\u7684\u6700\u5927\u4f7f\u7528\u989d\u5ea6\u3002 \u82e5\u4e0d\u9650\u5236\uff0c\u5219\u8868\u793a\u53ef\u4ee5\u65e0\u9650\u5236\u4f7f\u7528\u3002

                • CPU \u8bf7\u6c42\uff08Core\uff09
                • CPU \u9650\u5236\uff08Core\uff09
                • \u5185\u5b58\u8bf7\u6c42\uff08MB\uff09
                • \u5185\u5b58\u9650\u5236\uff08MB\uff09
                • \u5b58\u50a8\u8bf7\u6c42\u603b\u91cf\uff08GB\uff09
                • \u5b58\u50a8\u5377\u58f0\u660e\uff08\u4e2a\uff09
                • GPU \u7c7b\u578b\u3001\u89c4\u683c\u3001\u6570\u91cf\uff08\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e Nvidia\u3001Ascend\u3001lluvatar\u7b49GPU\u5361\u7c7b\u578b\uff09

                \u4e00\u4e2a\u8d44\u6e90\uff08\u96c6\u7fa4\uff09\u53ef\u4ee5\u88ab\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5171\u4eab\uff0c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u5171\u4eab\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u3002

                "},{"location":"ghippo/user-guide/workspace/quota.html#_1","title":"\u8d44\u6e90\u7ec4\u548c\u5171\u4eab\u8d44\u6e90","text":"

                \u5171\u4eab\u8d44\u6e90\u548c\u8d44\u6e90\u7ec4\u4e2d\u7684\u96c6\u7fa4\u8d44\u6e90\u5747\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\uff0c\u4f46\u662f\u96c6\u7fa4\u7ed1\u5b9a\u548c\u5171\u4eab\u7ed9\u540c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5c06\u4f1a\u4ea7\u751f\u4e24\u79cd\u622a\u7136\u4e0d\u540c\u7684\u6548\u679c\u3002

                1. \u7ed1\u5b9a\u8d44\u6e90

                  \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u7684\u5168\u90e8\u7ba1\u7406\u548c\u4f7f\u7528\u6743\u9650\uff0cWorkspace Admin \u5c06\u88ab\u6620\u5c04\u4e3a Cluster Admin\u3002 Workspace Admin \u80fd\u591f\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7ba1\u7406\u8be5\u96c6\u7fa4\u3002

                  Note

                  \u5f53\u524d\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u6682\u65e0 Cluster Editor \u548c Cluster Viewer \u89d2\u8272\uff0c\u56e0\u6b64 Workspace Editor\u3001Workspace Viewer \u8fd8\u65e0\u6cd5\u6620\u5c04\u3002

                2. \u65b0\u589e\u5171\u4eab\u8d44\u6e90

                  \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff08Namespace\uff09\u65f6\u4f7f\u7528\u3002

                  \u4e0e\u8d44\u6e90\u7ec4\u4e0d\u540c\uff0c\u5c06\u96c6\u7fa4\u5171\u4eab\u5230\u5de5\u4f5c\u7a7a\u95f4\u65f6\uff0c\u7528\u6237\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u89d2\u8272\u4e0d\u4f1a\u6620\u5c04\u5230\u8d44\u6e90\u4e0a\uff0c\u56e0\u6b64 Workspace Admin \u4e0d\u4f1a\u88ab\u6620\u5c04\u4e3a Cluster admin\u3002

                \u672c\u8282\u5c55\u793a 3 \u4e2a\u4e0e\u8d44\u6e90\u914d\u989d\u6709\u5173\u7684\u573a\u666f\u3002

                "},{"location":"ghippo/user-guide/workspace/quota.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u4f1a\u6d89\u53ca\u5230\u8d44\u6e90\u914d\u989d\u3002

                1. \u5728\u5de5\u4f5c\u7a7a\u95f4 ws01 \u65b0\u589e\u4e00\u4e2a\u5171\u4eab\u96c6\u7fa4\u3002

                2. \u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4 ws01 \u548c\u5171\u4eab\u96c6\u7fa4\uff0c\u521b\u5efa\u547d\u540d\u7a7a\u95f4 ns01\u3002

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4e0d\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff08\u4f8b\u5982 CPU \u8bf7\u6c42 = 100 core\uff09\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6 CPU \u8bf7\u6c42 \u2264 100 core \u3002
                "},{"location":"ghippo/user-guide/workspace/quota.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

                \u524d\u63d0\uff1a\u5de5\u4f5c\u7a7a\u95f4 ws01 \u5df2\u65b0\u589e\u5171\u4eab\u96c6\u7fa4\uff0c\u64cd\u4f5c\u8005\u4e3a Workspace Admin + Kpanda Owner \u6216 Admin \u89d2\u8272\u3002

                \u4ee5\u4e0b\u4e24\u79cd\u7ed1\u5b9a\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

                • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u521b\u5efa\u7684\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
                • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
                "},{"location":"ghippo/user-guide/workspace/quota.html#_4","title":"\u4ece\u5de5\u4f5c\u7a7a\u95f4\u89e3\u7ed1\u547d\u540d\u7a7a\u95f4","text":"

                \u4ee5\u4e0b\u4e24\u79cd\u89e3\u7ed1\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

                • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
                • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
                "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u533a\u522b","text":"

                \u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u5747\u652f\u6301\u7ed1\u5b9a\u96c6\u7fa4\uff0c\u4f46\u4f7f\u7528\u4e0a\u5b58\u5728\u5f88\u5927\u533a\u522b\u3002

                "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html#_2","title":"\u4f7f\u7528\u573a\u666f\u533a\u522b","text":"
                • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u6279\u91cf\u6388\u6743\u3002\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u540e\uff0c \u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u96c6\u7fa4\u7ba1\u7406\u5458\uff0c\u80fd\u591f\u7ba1\u7406\u5e76\u4f7f\u7528\u96c6\u7fa4\u8d44\u6e90\u3002
                • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u5171\u4eab\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u505a\u8d44\u6e90\u9650\u989d\u3002 \u5178\u578b\u7684\u573a\u666f\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u5c06\u96c6\u7fa4\u5206\u914d\u7ed9\u4e00\u7ea7\u4f9b\u5e94\u5546\u540e\uff0c\u518d\u7531\u4e00\u7ea7\u4f9b\u5e94\u5546\u5206\u914d\u7ed9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u5e76\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u989d\u3002

                \u8bf4\u660e\uff1a\u5728\u8be5\u573a\u666f\u4e2d\uff0c\u9700\u8981\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u5236\uff0c\u6682\u65f6\u8fd8\u4e0d\u652f\u6301\u4e00\u7ea7\u4f9b\u5e94\u5546\u9650\u5236\u4e8c\u7ea7\u4f9b\u5e94\u5546\u7684\u96c6\u7fa4\u989d\u5ea6\u3002

                "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html#_3","title":"\u96c6\u7fa4\u989d\u5ea6\u7684\u4f7f\u7528\u533a\u522b","text":"
                • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u8be5\u96c6\u7fa4\u7684\u7ba1\u7406\u5458\uff0c\u76f8\u5f53\u4e8e\u5728\u5bb9\u5668\u7ba1\u7406-\u6743\u9650\u7ba1\u7406\u4e2d\u88ab\u6388\u4e88 Cluster Admin \u89d2\u8272\uff0c \u80fd\u591f\u65e0\u9650\u5236\u652f\u914d\u8be5\u96c6\u7fa4\u8d44\u6e90\uff0c\u7ba1\u7406\u8282\u70b9\u7b49\u91cd\u8981\u5185\u5bb9\uff0c\u4e14\u8d44\u6e90\u7ec4\u4e0d\u80fd\u591f\u88ab\u8d44\u6e90\u9650\u989d\u3002
                • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u8d44\u6e90\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u4ec5\u80fd\u591f\u4f7f\u7528\u96c6\u7fa4\u4e2d\u7684\u989d\u5ea6\u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\u3002 \u82e5\u5bf9\u8be5\u5de5\u4f5c\u7a7a\u95f4\u9650\u5236\u989d\u5ea6\uff0c\u5219\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u4ec5\u80fd\u591f\u5728\u989d\u5ea6\u8303\u56f4\u5185\u521b\u5efa\u5e76\u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u3002
                "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html#_4","title":"\u8d44\u6e90\u7c7b\u578b\u7684\u533a\u522b","text":"
                • \u8d44\u6e90\u7ec4\uff1a\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4\u3001\u96c6\u7fa4-\u547d\u540d\u7a7a\u95f4\u3001\u591a\u4e91\u3001\u591a\u4e91-\u547d\u540d\u7a7a\u95f4\u3001\u7f51\u683c\u3001\u7f51\u683c-\u547d\u540d\u7a7a\u95f4
                • \u5171\u4eab\u8d44\u6e90\uff1a\u4ec5\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4
                "},{"location":"ghippo/user-guide/workspace/res-gp-and-shared-res.html#_5","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u76f8\u540c\u70b9","text":"

                \u5728\u8d44\u6e90\u7ec4/\u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\u540e\u90fd\u53ef\u4ee5\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u521b\u5efa\u540e\u547d\u540d\u7a7a\u95f4\u5c06\u81ea\u52a8\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u3002

                "},{"location":"ghippo/user-guide/workspace/workspace.html","title":"\u521b\u5efa/\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u662f\u4e00\u79cd\u8d44\u6e90\u8303\u7574\uff0c\u4ee3\u8868\u4e00\u79cd\u8d44\u6e90\u5c42\u7ea7\u5173\u7cfb\u3002 \u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5305\u542b\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6ce8\u518c\u4e2d\u5fc3\u7b49\u8d44\u6e90\u3002 \u901a\u5e38\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5bf9\u5e94\u4e00\u4e2a\u9879\u76ee\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e0d\u540c\u7684\u8d44\u6e90\uff0c\u6307\u6d3e\u4e0d\u540c\u7684\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002

                1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 DCE 5.0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4 \u6309\u94ae\u3002

                3. \u586b\u5199\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u3001\u6240\u5c5e\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u3002

                Tip

                \u521b\u5efa\u6210\u529f\u540e\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

                Note

                \u9009\u4e2d\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 ... \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

                • \u5f53\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002
                • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
                • \u5f53\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u955c\u50cf\u7a7a\u95f4\u6216\u96c6\u6210\u4ed3\u5e93\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u955c\u50cf\u7a7a\u95f4\u89e3\u7ed1\uff0c\u5c06\u4ed3\u5e93\u96c6\u6210\u5220\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
                "},{"location":"ghippo/user-guide/workspace/ws-folder.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u662f\u4e00\u4e2a\u5177\u6709\u5c42\u7ea7\u7684\u8d44\u6e90\u9694\u79bb\u548c\u8d44\u6e90\u5206\u7ec4\u7279\u6027\uff0c\u4e3b\u8981\u89e3\u51b3\u8d44\u6e90\u7edf\u4e00\u6388\u6743\u3001\u8d44\u6e90\u5206\u7ec4\u4ee5\u53ca\u8d44\u6e90\u9650\u989d\u95ee\u9898\u3002

                \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u6709\u4e24\u4e2a\u6982\u5ff5\uff1a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

                "},{"location":"ghippo/user-guide/workspace/ws-folder.html#_2","title":"\u5de5\u4f5c\u7a7a\u95f4","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u53ef\u901a\u8fc7 \u6388\u6743 \u3001 \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u6765\u7ba1\u7406\u8d44\u6e90\uff0c\u4f7f\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u4e4b\u95f4\u80fd\u591f\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002

                • \u8d44\u6e90

                  \u8d44\u6e90\u5904\u4e8e\u8d44\u6e90\u7ba1\u7406\u6a21\u5757\u5c42\u7ea7\u7ed3\u6784\u7684\u6700\u4f4e\u5c42\u7ea7\uff0c\u8d44\u6e90\u5305\u62ec Cluster\u3001Namespace\u3001Pipeline\u3001\u7f51\u5173\u7b49\u3002 \u6240\u6709\u8fd9\u4e9b\u8d44\u6e90\u7684\u7236\u7ea7\u53ea\u80fd\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4f5c\u4e3a\u8d44\u6e90\u5bb9\u5668\u662f\u4e00\u79cd\u8d44\u6e90\u5206\u7ec4\u5355\u4f4d\u3002

                • \u5de5\u4f5c\u7a7a\u95f4

                  \u5de5\u4f5c\u7a7a\u95f4\u901a\u5e38\u4ee3\u6307\u4e00\u4e2a\u9879\u76ee\u6216\u73af\u5883\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u76f8\u5bf9\u4e8e\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u65f6\u903b\u8f91\u9694\u79bb\u7684\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u6388\u6743\uff0c\u6388\u4e88\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u540c\u4e00\u7ec4\u8d44\u6e90\u7684\u4e0d\u540c\u8bbf\u95ee\u6743\u9650\u3002

                  \u4ece\u5c42\u6b21\u7ed3\u6784\u7684\u5e95\u5c42\u7b97\u8d77\uff0c\u5de5\u4f5c\u7a7a\u95f4\u4f4d\u4e8e\u7b2c\u4e00\u5c42\uff0c\u4e14\u5305\u542b\u8d44\u6e90\u3002 \u9664\u5171\u4eab\u8d44\u6e90\u5916\uff0c\u6240\u6709\u8d44\u6e90\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u9879\u3002\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\u3002

                  \u8d44\u6e90\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5b58\u5728\u4e24\u79cd\u5206\u7ec4\u6a21\u5f0f\uff0c\u5206\u522b\u662f \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u3002

                • \u8d44\u6e90\u7ec4

                  \u4e00\u4e2a\u8d44\u6e90\u53ea\u80fd\u52a0\u5165\u4e00\u4e2a\u8d44\u6e90\u7ec4\uff0c\u8d44\u6e90\u7ec4\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u4e00\u4e00\u5bf9\u5e94\u3002 \u8d44\u6e90\u88ab\u52a0\u5165\u5230\u8d44\u6e90\u7ec4\u540e\uff0cWorkspace Admin \u5c06\u83b7\u5f97\u8d44\u6e90\u7684\u7ba1\u7406\u6743\u9650\uff0c\u76f8\u5f53\u4e8e\u8be5\u8d44\u6e90\u7684\u6240\u6709\u8005\u3002

                • \u5171\u4eab\u8d44\u6e90

                  \u800c\u5bf9\u4e8e\u5171\u4eab\u8d44\u6e90\u6765\u8bf4\uff0c\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u8d44\u6e90\u3002 \u8d44\u6e90\u7684\u6240\u6709\u8005\uff0c\u53ef\u4ee5\u9009\u62e9\u5c06\u81ea\u5df1\u62e5\u6709\u7684\u8d44\u6e90\u5171\u4eab\u7ed9\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u4e00\u822c\u5171\u4eab\u65f6\u8d44\u6e90\u6240\u6709\u8005\u4f1a\u9650\u5236\u88ab\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u989d\u5ea6\u3002 \u8d44\u6e90\u88ab\u5171\u4eab\u540e\uff0cWorkspace Admin \u4ec5\u5177\u6709\u8d44\u6e90\u9650\u989d\u4e0b\u7684\u8d44\u6e90\u4f7f\u7528\u6743\u9650\uff0c\u65e0\u6cd5\u7ba1\u7406\u8d44\u6e90\u6216\u8005\u8c03\u6574\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u91cf\u3002

                  \u540c\u65f6\u5171\u4eab\u8d44\u6e90\u5bf9\u4e8e\u8d44\u6e90\u672c\u8eab\u4e5f\u5177\u6709\u4e00\u5b9a\u7684\u8981\u6c42\uff0c\u53ea\u6709 Cluster\uff08\u96c6\u7fa4\uff09\u8d44\u6e90\u53ef\u4ee5\u88ab\u5171\u4eab\u3002 Cluster Admin \u80fd\u591f\u5c06 Cluster \u8d44\u6e90\u5206\u4eab\u7ed9\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u5e76\u4e14\u9650\u5236\u5de5\u4f5c\u7a7a\u95f4\u5728\u6b64 Cluster \u4e0a\u7684\u4f7f\u7528\u989d\u5ea6\u3002

                  Workspace Admin \u5728\u8d44\u6e90\u9650\u989d\u5185\u80fd\u591f\u521b\u5efa\u591a\u4e2a Namespace\uff0c\u4f46\u662f Namespace \u7684\u8d44\u6e90\u989d\u5ea6\u603b\u548c\u4e0d\u80fd\u8d85\u8fc7 Cluster \u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u9650\u989d\u3002 \u5bf9\u4e8e Kubernetes \u8d44\u6e90\uff0c\u5f53\u524d\u80fd\u591f\u5206\u4eab\u7684\u8d44\u6e90\u7c7b\u578b\u4ec5\u6709 Cluster\u3002

                "},{"location":"ghippo/user-guide/workspace/ws-folder.html#_3","title":"\u6587\u4ef6\u5939","text":"

                \u6587\u4ef6\u5939\u53ef\u7528\u4e8e\u6784\u5efa\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\u3002

                • \u6587\u4ef6\u5939\u662f\u5728\u5de5\u4f5c\u7a7a\u95f4\u57fa\u7840\u4e4b\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\uff0c\u5177\u6709\u5c42\u7ea7\u7ed3\u6784\u3002 \u4e00\u4e2a\u6587\u4ef6\u5939\u53ef\u4ee5\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u3001\u5176\u4ed6\u6587\u4ef6\u5939\u6216\u4e24\u8005\u7684\u7ec4\u5408\uff0c\u80fd\u591f\u5f62\u6210\u6811\u72b6\u7684\u7ec4\u7ec7\u5173\u7cfb\u3002

                • \u501f\u52a9\u6587\u4ef6\u5939\u60a8\u53ef\u4ee5\u6620\u5c04\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\uff0c\u6309\u7167\u90e8\u95e8\u5bf9\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\u3002 \u6587\u4ef6\u5939\u4e0d\u76f4\u63a5\u4e0e\u8d44\u6e90\u6302\u94a9\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u95f4\u63a5\u5b9e\u73b0\u8d44\u6e90\u5206\u7ec4\u3002

                • \u6587\u4ef6\u5939\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\uff0c\u800c\u6839\u6587\u4ef6\u5939\u662f\u5c42\u6b21\u7ed3\u6784\u7684\u6700\u9ad8\u5c42\u7ea7\u3002 \u6839\u6587\u4ef6\u5939\u6ca1\u6709\u7236\u7ea7\uff0c\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u5747\u6302\u9760\u5230\u6839\u6587\u4ef6\u5939\u4e0b\u3002

                \u53e6\u5916\uff0c\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u5728\u6587\u4ef6\u5939\u4e2d\u80fd\u591f\u901a\u8fc7\u5c42\u7ea7\u7ed3\u6784\u7ee7\u627f\u6765\u81ea\u7236\u9879\u7684\u6743\u9650\u3002 \u7528\u6237\u5728\u5c42\u6b21\u7ed3\u6784\u4e2d\u7684\u6743\u9650\u6765\u81ea\u5f53\u524d\u5c42\u7ea7\u7684\u6743\u9650\u4ee5\u53ca\u7ee7\u627f\u5176\u7236\u9879\u6743\u9650\u7684\u7ec4\u5408\u7ed3\u679c\uff0c\u6743\u9650\u4e4b\u95f4\u662f\u52a0\u5408\u5173\u7cfb\u4e0d\u5b58\u5728\u4e92\u65a5\u3002

                "},{"location":"ghippo/user-guide/workspace/ws-permission.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u6743\u9650\u8bf4\u660e","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u6743\u9650\u6620\u5c04\u548c\u8d44\u6e90\u9694\u79bb\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u8d44\u6e90\u4e0a\u3002 \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u662f Workspace Admin \u89d2\u8272\uff0c\u540c\u65f6\u5de5\u4f5c\u7a7a\u95f4-\u8d44\u6e90\u7ec4\u4e2d\u7ed1\u5b9a\u4e86\u8d44\u6e90 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u5c06\u6210\u4e3a Namespace Admin\u3002

                Note

                \u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

                "},{"location":"ghippo/user-guide/workspace/ws-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

                \u901a\u8fc7\u5c06\u8d44\u6e90\u7ed1\u5b9a\u5230\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u5b9e\u73b0\u8d44\u6e90\u9694\u79bb\u3002 \u56e0\u6b64\u501f\u52a9\u6743\u9650\u6620\u5c04\u3001\u8d44\u6e90\u9694\u79bb\u548c\u5171\u4eab\u8d44\u6e90\u80fd\u529b\u80fd\u591f\u5c06\u8d44\u6e90\u7075\u6d3b\u5206\u914d\u7ed9\u5404\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff08\u79df\u6237\uff09\u3002

                \u901a\u5e38\u9002\u7528\u4e8e\u4ee5\u4e0b\u4e24\u4e2a\u573a\u666f\uff1a

                • \u96c6\u7fa4\u4e00\u5bf9\u4e00

                  \u666e\u901a\u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u7528\u9014 \u96c6\u7fa4 01 A \u7ba1\u7406\u548c\u4f7f\u7528 \u96c6\u7fa4 02 B \u7ba1\u7406\u548c\u4f7f\u7528
                • \u96c6\u7fa4\u4e00\u5bf9\u591a

                  \u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u8d44\u6e90\u9650\u989d \u96c6\u7fa4 01 A 100 \u6838 CPU B 50 \u6838 CPU
                "},{"location":"ghippo/user-guide/workspace/ws-permission.html#_3","title":"\u6743\u9650\u8bf4\u660e","text":"\u64cd\u4f5c\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 - \u6388\u6743 \u2713 \u2717 \u2717 - \u4fee\u6539\u522b\u540d \u2713 \u2713 \u2717 \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 - \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 - \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 - \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 - \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 - \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717 - \u4f7f\u7528\u5171\u4eab\u8d44\u6e90 1 \u2713 \u2717 \u2717
                1. \u6388\u6743\u7528\u6237\u53ef\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u3001\u591a\u4e91\u7f16\u6392\u3001\u670d\u52a1\u7f51\u683c\u7b49\u6a21\u5757\u4f7f\u7528\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002 \u6709\u5173 Workspace Admin\u3001Workspace Editor\u3001Workspace Viewer \u89d2\u8272\u5728\u5404\u4ea7\u54c1\u6a21\u5757\u7684\u64cd\u4f5c\u8303\u56f4\uff0c\u8bf7\u67e5\u9605\u5404\u6a21\u5757\u7684\u6743\u9650\u8bf4\u660e\uff1a

                  • \u5e94\u7528\u5de5\u4f5c\u53f0\u6743\u9650\u8bf4\u660e
                  • \u670d\u52a1\u7f51\u683c\u6743\u9650\u8bf4\u660e
                  • \u4e2d\u95f4\u4ef6\u6743\u9650\u8bf4\u660e
                  • \u5fae\u670d\u52a1\u5f15\u64ce\u6743\u9650\u8bf4\u660e
                  • \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e

                  \u21a9

                "},{"location":"ghippo/user-guide/workspace/wsbind-permission.html","title":"\u8d44\u6e90\u7ed1\u5b9a\u6743\u9650\u8bf4\u660e","text":"

                \u5047\u5982\u7528\u6237\u5c0f\u660e\uff08\u201c\u5c0f\u660e\u201d\u4ee3\u8868\u4efb\u4f55\u6709\u8d44\u6e90\u7ed1\u5b9a\u9700\u6c42\u7684\u7528\u6237\uff09\u5df2\u7ecf\u5177\u5907\u4e86 Workspace Admin \u89d2\u8272\u6216\u5df2\u901a\u8fc7\u81ea\u5b9a\u4e49\u89d2\u8272\u6388\u6743\uff0c \u540c\u65f6\u81ea\u5b9a\u4e49\u89d2\u8272\u4e2d\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u5e0c\u671b\u5c06\u67d0\u4e2a\u96c6\u7fa4\u6216\u8005\u67d0\u4e2a\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5176\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

                \u8981\u5c06\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u8d44\u6e90\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u4e0d\u4ec5\u9700\u8981\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u8fd8\u9700\u8981 Cluster Admin \u7684\u8d44\u6e90\u6743\u9650\u3002

                "},{"location":"ghippo/user-guide/workspace/wsbind-permission.html#_2","title":"\u7ed9\u5c0f\u660e\u6388\u6743","text":"
                1. \u4f7f\u7528\u5e73\u53f0 Admin \u89d2\u8272\uff0c \u5728 \u5de5\u4f5c\u7a7a\u95f4 -> \u6388\u6743 \u9875\u9762\u7ed9\u5c0f\u660e\u6388\u4e88 Workspace Admin \u89d2\u8272\u3002

                2. \u7136\u540e\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u6743\u9650\u7ba1\u7406 \u9875\u9762\uff0c\u901a\u8fc7 \u6dfb\u52a0\u6388\u6743 \u5c06\u5c0f\u660e\u6388\u6743\u4e3a Cluster Admin\u3002

                "},{"location":"ghippo/user-guide/workspace/wsbind-permission.html#_3","title":"\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

                \u4f7f\u7528\u5c0f\u660e\u7684\u8d26\u53f7\u767b\u5f55 DCE 5.0\uff0c\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u901a\u8fc7 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u529f\u80fd\uff0c \u5c0f\u660e\u53ef\u4ee5\u5c06\u6307\u5b9a\u96c6\u7fa4\u7ed1\u5b9a\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

                Note

                \u5c0f\u660e\u80fd\u4e14\u53ea\u80fd\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5c06\u96c6\u7fa4\u6216\u8005\u8be5\u96c6\u7fa4\u4e0b\u7684\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u65e0\u6cd5\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u5b8c\u6210\u6b64\u64cd\u4f5c\u3002

                \u7ed1\u5b9a\u547d\u540d\u7a7a\u95f4\u5230\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u81f3\u5c11\u9700\u8981 Workspace Admin + Cluster Admin \u6743\u9650\u3002

                "},{"location":"kpanda/user-guide/backup/index.html","title":"\u5907\u4efd\u6062\u590d","text":"

                \u5907\u4efd\u6062\u590d\u5206\u4e3a\u5907\u4efd\u548c\u6062\u590d\u4e24\u65b9\u9762\uff0c\u5b9e\u9645\u5e94\u7528\u65f6\u9700\u8981\u5148\u5907\u4efd\u7cfb\u7edf\u5728\u67d0\u4e00\u65f6\u70b9\u7684\u6570\u636e\uff0c\u7136\u540e\u5b89\u5168\u5b58\u50a8\u5730\u5907\u4efd\u6570\u636e\u3002\u540e\u7eed\u5982\u679c\u51fa\u73b0\u6570\u636e\u635f\u574f\u3001\u4e22\u5931\u3001\u8bef\u5220\u7b49\u4e8b\u6545\uff0c\u5c31\u53ef\u4ee5\u57fa\u4e8e\u4e4b\u524d\u7684\u6570\u636e\u5907\u4efd\u5feb\u901f\u8fd8\u539f\u7cfb\u7edf\uff0c\u7f29\u77ed\u6545\u969c\u65f6\u95f4\uff0c\u51cf\u5c11\u635f\u5931\u3002

                • \u5728\u771f\u5b9e\u7684\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u670d\u52a1\u53ef\u80fd\u5206\u5e03\u5f0f\u5730\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u4e91\u3001\u4e0d\u540c\u533a\u57df\u6216\u53ef\u7528\u533a\uff0c\u5982\u679c\u67d0\u4e00\u4e2a\u57fa\u7840\u8bbe\u65bd\u81ea\u8eab\u51fa\u73b0\u6545\u969c\uff0c\u4f01\u4e1a\u9700\u8981\u5728\u5176\u4ed6\u53ef\u7528\u73af\u5883\u4e2d\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u8de8\u4e91/\u8de8\u96c6\u7fa4\u7684\u5907\u4efd\u6062\u590d\u663e\u5f97\u975e\u5e38\u91cd\u8981\u3002
                • \u5728\u5927\u89c4\u6a21\u7cfb\u7edf\u4e2d\u5f80\u5f80\u6709\u5f88\u591a\u89d2\u8272\u548c\u7528\u6237\uff0c\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u590d\u6742\uff0c\u64cd\u4f5c\u8005\u4f17\u591a\uff0c\u96be\u514d\u6709\u4eba\u8bef\u64cd\u4f5c\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4e5f\u9700\u8981\u80fd\u591f\u901a\u8fc7\u4e4b\u524d\u5907\u4efd\u7684\u6570\u636e\u5feb\u901f\u56de\u6eda\u7cfb\u7edf\uff0c\u5426\u5219\u5982\u679c\u4f9d\u8d56\u4eba\u4e3a\u6392\u67e5\u6545\u969c\u3001\u4fee\u590d\u6545\u969c\u3001\u6062\u590d\u7cfb\u7edf\u5c31\u4f1a\u8017\u8d39\u5927\u91cf\u65f6\u95f4\uff0c\u7cfb\u7edf\u4e0d\u53ef\u7528\u65f6\u95f4\u8d8a\u957f\uff0c\u4f01\u4e1a\u7684\u635f\u5931\u8d8a\u5927\u3002
                • \u6b64\u5916\uff0c\u8fd8\u6709\u7f51\u7edc\u653b\u51fb\u3001\u81ea\u7136\u707e\u5bb3\u3001\u8bbe\u5907\u6545\u969c\u7b49\u5404\u79cd\u56e0\u7d20\u4e5f\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e8b\u6545

                \u56e0\u6b64\uff0c\u5907\u4efd\u6062\u590d\u975e\u5e38\u91cd\u8981\uff0c\u53ef\u4ee5\u89c6\u4e4b\u4e3a\u7ef4\u62a4\u7cfb\u7edf\u7a33\u5b9a\u548c\u6570\u636e\u5b89\u5168\u7684\u6700\u540e\u4e00\u9053\u4fdd\u9669\u3002

                \u5907\u4efd\u901a\u5e38\u5206\u4e3a\u5168\u91cf\u5907\u4efd\u3001\u589e\u91cf\u5907\u4efd\u3001\u5dee\u5f02\u5907\u4efd\u4e09\u79cd\u3002DCE 5.0 \u76ee\u524d\u652f\u6301\u5168\u91cf\u5907\u4efd\u548c\u589e\u91cf\u5907\u4efd\u3002

                DCE 5.0 \u63d0\u4f9b\u7684\u5907\u4efd\u6062\u590d\u53ef\u4ee5\u5206\u4e3a \u5e94\u7528\u5907\u4efd \u548c ETCD \u5907\u4efd \u4e24\u79cd\uff0c\u652f\u6301\u624b\u52a8\u5907\u4efd\uff0c\u6216\u57fa\u4e8e CronJob \u5b9a\u65f6\u81ea\u52a8\u5907\u4efd\u3002

                • \u5e94\u7528\u5907\u4efd

                  \u5e94\u7528\u5907\u4efd\u6307\uff0c\u5907\u4efd\u96c6\u7fa4\u4e2d\u7684\u67d0\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\uff0c\u7136\u540e\u5c06\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6062\u590d\u5230\u672c\u96c6\u7fa4\u6216\u8005\u5176\u4ed6\u96c6\u7fa4\u3002\u652f\u6301\u5907\u4efd\u6574\u4e2a\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u8d44\u6e90\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u8fc7\u6ee4\uff0c\u4ec5\u5907\u4efd\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8d44\u6e90\u3002

                  \u5e94\u7528\u5907\u4efd\u652f\u6301\u8de8\u96c6\u7fa4\u5907\u4efd\u6709\u72b6\u6001\u5e94\u7528\uff0c\u5177\u4f53\u6b65\u9aa4\u53ef\u53c2\u8003MySQL \u5e94\u7528\u53ca\u6570\u636e\u7684\u8de8\u96c6\u7fa4\u5907\u4efd\u6062\u590d\u3002

                • ETCD \u5907\u4efd

                  etcd \u662f Kubernetes \u7684\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\uff0cKubernetes \u5c06\u81ea\u8eab\u7684\u7ec4\u4ef6\u6570\u636e\u548c\u5176\u4e2d\u7684\u5e94\u7528\u6570\u636e\u90fd\u5b58\u50a8\u5728 etcd \u4e2d\u3002\u56e0\u6b64\uff0c\u5907\u4efd etcd \u5c31\u76f8\u5f53\u4e8e\u5907\u4efd\u6574\u4e2a\u96c6\u7fa4\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u5728\u6545\u969c\u65f6\u5feb\u901f\u5c06\u96c6\u7fa4\u6062\u590d\u5230\u4e4b\u524d\u67d0\u4e00\u65f6\u70b9\u7684\u72b6\u6001\u3002

                  \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u76ee\u524d\u4ec5\u652f\u6301\u5c06 etcd \u5907\u4efd\u6570\u636e\u6062\u590d\u5230\u540c\u4e00\u96c6\u7fa4\uff08\u539f\u96c6\u7fa4\uff09\u3002\u5982\u9700\u4e86\u89e3\u4e0e\u6b64\u76f8\u5173\u7684\u6700\u4f73\u5b9e\u8df5\uff0c\u53ef\u53c2\u8003 ETCD \u5907\u4efd\u8fd8\u539f\u3002

                "},{"location":"kpanda/user-guide/backup/deployment.html","title":"\u5e94\u7528\u5907\u4efd","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u4e2d\u4e3a\u5e94\u7528\u505a\u5907\u4efd\uff0c\u672c\u6559\u7a0b\u4e2d\u4f7f\u7528\u7684\u6f14\u793a\u5e94\u7528\u540d\u4e3a dao-2048 \uff0c\u5c5e\u4e8e\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                "},{"location":"kpanda/user-guide/backup/deployment.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u5bf9\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u5907\u4efd\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5b89\u88c5 velero \u7ec4\u4ef6\uff0c\u4e14 velero \u7ec4\u4ef6\u8fd0\u884c\u6b63\u5e38\u3002

                • \u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08\u672c\u6559\u7a0b\u4e2d\u7684\u8d1f\u8f7d\u540d\u4e3a dao-2048 \uff09\uff0c\u5e76\u4e3a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6253\u4e0a app: dao-2048 \u7684\u6807\u7b7e\u3002

                "},{"location":"kpanda/user-guide/backup/deployment.html#_3","title":"\u5907\u4efd\u5de5\u4f5c\u8d1f\u8f7d","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u5907\u4efd\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d dao-2048 \u3002

                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c \u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d \u3002

                2. \u8fdb\u5165 \u5e94\u7528\u5907\u4efd \u5217\u8868\u9875\u9762\uff0c\u4ece\u96c6\u7fa4\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u5df2\u5b89\u88c5\u4e86 velero \u548c dao-2048 \u7684\u96c6\u7fa4\u3002 \u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u6309\u94ae\u3002

                3. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u586b\u5199\u5907\u4efd\u914d\u7f6e\u3002

                4. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u8bbe\u7f6e\u5907\u4efd\u6267\u884c\u9891\u7387\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                  • \u5907\u4efd\u9891\u7387\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002
                  • \u7559\u5b58\u65f6\u957f\uff08\u5929\uff09\uff1a\u8bbe\u7f6e\u5907\u4efd\u8d44\u6e90\u4fdd\u5b58\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 30 \u5929\uff0c\u8fc7\u671f\u540e\u5c06\u4f1a\u88ab\u5220\u9664\u3002
                  • \u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\uff1a\u662f\u5426\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\uff0c\u652f\u6301\u76f4\u63a5\u590d\u5236\u548c\u4f7f\u7528 CSI \u5feb\u7167\u4e24\u79cd\u65b9\u5f0f\u3002
                    • \u76f4\u63a5\u590d\u5236\uff1a\u76f4\u63a5\u590d\u5236\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\u7528\u4e8e\u5907\u4efd\uff1b
                    • \u4f7f\u7528 CSI \u5feb\u7167\uff1a\u4f7f\u7528 CSI \u5feb\u7167\u6765\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u3002\u9700\u8981\u96c6\u7fa4\u4e2d\u6709\u53ef\u7528\u4e8e\u5907\u4efd\u7684 CSI \u5feb\u7167\u7c7b\u578b\u3002

                5. \u70b9\u51fb \u786e\u5b9a \uff0c\u9875\u9762\u4f1a\u81ea\u52a8\u8fd4\u56de\u5e94\u7528\u5907\u4efd\u8ba1\u5212\u5217\u8868\u3002\u60a8\u53ef\u4ee5\u627e\u5230\u65b0\u5efa\u7684 dao-2048 \u5907\u4efd\u8ba1\u5212\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u9009\u62e9 \u7acb\u5373\u6267\u884c \u5f00\u59cb\u5907\u4efd\u3002

                6. \u6b64\u65f6\u96c6\u7fa4\u7684 \u4e0a\u4e00\u6b21\u6267\u884c\u72b6\u6001 \u5c06\u8f6c\u53d8\u4e3a \u5907\u4efd\u4e2d \u3002\u7b49\u5f85\u5907\u4efd\u5b8c\u6210\u540e\u53ef\u4ee5\u70b9\u51fb\u5907\u4efd\u8ba1\u5212\u7684\u540d\u79f0\uff0c\u67e5\u770b\u5907\u4efd\u8ba1\u5212\u8be6\u60c5\u3002

                Note

                \u5982\u679c Job \u7c7b\u578b\u7684\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u4e3a \u6267\u884c\u5b8c\u6210 \uff0c\u5219\u4e0d\u652f\u6301\u5907\u4efd\u3002

                "},{"location":"kpanda/user-guide/backup/etcd-backup.html","title":"etcd \u5907\u4efd","text":"

                etcd \u5907\u4efd\u662f\u4ee5\u96c6\u7fa4\u6570\u636e\u4e3a\u6838\u5fc3\u7684\u5907\u4efd\u3002\u5728\u786c\u4ef6\u8bbe\u5907\u635f\u574f\uff0c\u5f00\u53d1\u6d4b\u8bd5\u914d\u7f6e\u9519\u8bef\u7b49\u573a\u666f\u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7 etcd \u5907\u4efd\u6062\u590d\u96c6\u7fa4\u6570\u636e\u3002

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e3a\u96c6\u7fa4\u5236\u4f5c etcd \u5907\u4efd\u3002\u53e6\u8bf7\u53c2\u9605 etcd \u5907\u4efd\u8fd8\u539f\u6700\u4f73\u5b9e\u8df5\u3002

                "},{"location":"kpanda/user-guide/backup/etcd-backup.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u63a5\u5165\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u51c6\u5907\u4e00\u4e2a MinIO \u5b9e\u4f8b\u3002\u5efa\u8bae\u901a\u8fc7 DCE 5.0 \u7684 MinIO \u4e2d\u95f4\u4ef6\u8fdb\u884c\u521b\u5efa\uff0c\u5177\u4f53\u6b65\u9aa4\u53ef\u53c2\u8003 MinIO \u5bf9\u8c61\u5b58\u50a8\u3002

                "},{"location":"kpanda/user-guide/backup/etcd-backup.html#etcd_1","title":"\u521b\u5efa etcd \u5907\u4efd","text":"

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa etcd \u5907\u4efd\u3002

                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u3002

                2. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199 \u57fa\u672c\u4fe1\u606f \u3002\u586b\u5199\u5b8c\u6bd5\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u6821\u9a8c etcd \u7684\u8054\u901a\u6027\uff0c\u6821\u9a8c\u901a\u8fc7\u4e4b\u540e\u53ef\u4ee5\u8fdb\u884c\u4e0b\u4e00\u6b65\u3002

                  • \u5907\u4efd\u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u5907\u4efd\u54ea\u4e2a\u96c6\u7fa4\u7684 etcd \u6570\u636e\uff0c\u5e76\u5728\u7ec8\u7aef\u767b\u5f55
                  • etcd \u5730\u5740\uff1a\u683c\u5f0f\u4e3a https://${\u8282\u70b9IP}:${\u7aef\u53e3\u53f7}

                    • \u5728\u6807\u51c6 Kubernetes \u96c6\u7fa4\u4e2d\uff0cetcd \u7684\u9ed8\u8ba4\u7aef\u53e3\u53f7\u4e3a 2379
                    • \u5728 DCE 4.0 \u96c6\u7fa4\u4e2d\uff0cetcd \u7684\u9ed8\u8ba4\u7aef\u53e3\u53f7\u4e3a 12379
                    • \u5728\u516c\u6709\u4e91\u6258\u7ba1\u96c6\u7fa4\u4e2d\uff0c\u9700\u8981\u8054\u7cfb\u76f8\u5173\u5f00\u53d1\u4eba\u5458\u83b7\u53d6 etcd \u7684\u7aef\u53e3\u53f7\u3002 \u8fd9\u662f\u56e0\u4e3a\u516c\u6709\u4e91\u96c6\u7fa4\u7684\u63a7\u5236\u9762\u7ec4\u4ef6\u7531\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u7ef4\u62a4\u548c\u7ba1\u7406\uff0c\u7528\u6237\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee\u6216\u67e5\u770b\u8fd9\u4e9b\u7ec4\u4ef6\uff0c \u4e5f\u65e0\u6cd5\u901a\u8fc7\u5e38\u89c4\u547d\u4ee4\uff08\u5982 kubectl\uff09\u65e0\u6cd5\u83b7\u53d6\u5230\u63a7\u5236\u9762\u7684\u7aef\u53e3\u7b49\u4fe1\u606f\u3002
                    \u83b7\u53d6\u7aef\u53e3\u53f7\u7684\u65b9\u5f0f
                    1. \u5728 kube-system \u547d\u540d\u7a7a\u95f4\u4e0b\u67e5\u627e etcd Pod

                      kubectl get po -n kube-system | grep etcd\n
                    2. \u83b7\u53d6 etcd Pod \u7684 listen-client-urls \u4e2d\u7684\u7aef\u53e3\u53f7

                      kubectl get po -n kube-system ${etcd_pod_name} -oyaml | grep listen-client-urls # (1)!\n
                      1. \u5c06 etcd_pod_name \u66ff\u6362\u4e3a\u5b9e\u9645\u7684 Pod \u540d\u79f0

                      \u9884\u671f\u8f93\u51fa\u7ed3\u679c\u5982\u4e0b\uff0c\u8282\u70b9 IP \u540e\u7684\u6570\u5b57\u5373\u4e3a\u7aef\u53e3\u53f7:

                      - --listen-client-urls=https://127.0.0.1:2379,https://10.6.229.191:2379\n
                  • CA \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                    \u6807\u51c6\u7684 Kubernetes \u96c6\u7fa4DCE 4.0 \u96c6\u7fa4
                    cat /etc/kubernetes/ssl/etcd/ca.crt\n
                    cat /etc/daocloud/dce/certs/ca.crt\n
                  • Cert \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                    \u6807\u51c6\u7684 Kubernetes \u96c6\u7fa4DCE 4.0 \u96c6\u7fa4
                    cat /etc/kubernetes/ssl/apiserver-etcd-client.crt\n
                    cat /etc/daocloud/dce/certs/etcd/server.crt\n
                  • Key\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                    \u6807\u51c6\u7684 Kubernetes \u96c6\u7fa4DCE 4.0 \u96c6\u7fa4
                    cat /etc/kubernetes/ssl/apiserver-etcd-client.key\n
                    cat /etc/daocloud/dce/certs/etcd/server.key\n

                  Note

                  \u70b9\u51fb\u8f93\u5165\u6846\u4e0b\u65b9\u7684 \u5982\u4f55\u83b7\u53d6 \u53ef\u4ee5\u5728 UI \u9875\u9762\u67e5\u770b\u83b7\u53d6\u5bf9\u5e94\u4fe1\u606f\u7684\u65b9\u5f0f\u3002

                3. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5907\u4efd\u7b56\u7565 \u3002

                  • \u5907\u4efd\u65b9\u5f0f\uff1a\u9009\u62e9\u624b\u52a8\u5907\u4efd\u6216\u5b9a\u65f6\u5907\u4efd

                    • \u624b\u52a8\u5907\u4efd\uff1a\u57fa\u4e8e\u5907\u4efd\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21 etcd \u5168\u91cf\u6570\u636e\u7684\u5907\u4efd\u3002
                    • \u5b9a\u65f6\u5907\u4efd\uff1a\u6309\u7167\u8bbe\u7f6e\u7684\u5907\u4efd\u9891\u7387\u5bf9 etcd \u6570\u636e\u8fdb\u884c\u5468\u671f\u6027\u5168\u91cf\u5907\u4efd\u3002
                  • \u5907\u4efd\u94fe\u957f\u5ea6\uff1a\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5907\u4efd\u6570\u636e\u3002\u9ed8\u8ba4\u4e3a 30 \u6761\u3002

                  • \u5907\u4efd\u9891\u7387\uff1a\u652f\u6301\u5c0f\u65f6\u3001\u65e5\u3001\u5468\u3001\u6708\u7ea7\u522b\u548c\u81ea\u5b9a\u4e49\u65b9\u5f0f\u3002

                4. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5b58\u50a8\u4f4d\u7f6e \u3002

                  • \u5b58\u50a8\u4f9b\u5e94\u5546\uff1a\u9ed8\u8ba4\u9009\u62e9 S3 \u5b58\u50a8
                  • \u5bf9\u8c61\u5b58\u50a8\u8bbf\u95ee\u5730\u5740\uff1aMinIO \u7684\u8bbf\u95ee\u5730\u5740
                  • \u5b58\u50a8\u6876\uff1a\u5728 MinIO \u4e2d\u521b\u5efa\u4e00\u4e2a Bucket\uff0c\u586b\u5199 Bucket \u7684\u540d\u79f0
                  • \u7528\u6237\u540d\uff1aMinIO \u7684\u767b\u5f55\u7528\u6237\u540d
                  • \u5bc6\u7801\uff1aMinIO \u7684\u767b\u5f55\u5bc6\u7801

                5. \u70b9\u51fb \u786e\u5b9a \u540e\u9875\u9762\u81ea\u52a8\u8df3\u8f6c\u5230\u5907\u4efd\u7b56\u7565\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\u76ee\u524d\u521b\u5efa\u597d\u7684\u6240\u6709\u7b56\u7565\u3002

                  • \u5728\u7b56\u7565\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u3001\u67e5\u770b YAML\u3001\u66f4\u65b0\u7b56\u7565\u3001\u505c\u6b62\u7b56\u7565\u3001\u7acb\u5373\u6267\u884c\u7b56\u7565\u7b49\u3002
                  • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u624b\u52a8\u65f6\uff0c\u53ef\u4ee5\u70b9\u51fb \u7acb\u5373\u6267\u884c \u8fdb\u884c\u5907\u4efd\u3002
                  • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u5b9a\u65f6\u5907\u4efd\u65f6\uff0c\u5219\u4f1a\u6839\u636e\u914d\u7f6e\u7684\u65f6\u95f4\u8fdb\u884c\u5907\u4efd\u3002

                "},{"location":"kpanda/user-guide/backup/etcd-backup.html#_2","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u65e5\u5fd7","text":"

                \u70b9\u51fb \u65e5\u5fd7 \u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u5185\u5bb9\uff0c\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u3002\u82e5\u60f3\u67e5\u770b\u66f4\u591a\u65e5\u5fd7\u4fe1\u606f\u6216\u8005\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u53ef\u5728\u65e5\u5fd7\u4e0a\u65b9\u6839\u636e\u63d0\u793a\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u3002

                "},{"location":"kpanda/user-guide/backup/etcd-backup.html#_3","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u8be6\u60c5","text":"

                \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u63a5\u7740\u70b9\u51fb\u7b56\u7565\u540d\u79f0\u53ef\u4ee5\u67e5\u770b\u7b56\u7565\u8be6\u60c5\u3002

                "},{"location":"kpanda/user-guide/backup/etcd-backup.html#_4","title":"\u67e5\u770b\u5907\u4efd\u70b9","text":"
                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u70b9 \u9875\u7b7e\u3002
                2. \u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u96c6\u7fa4\u4e0b\u6240\u6709\u5907\u4efd\u4fe1\u606f\u3002

                  \u6bcf\u6267\u884c\u4e00\u6b21\u5907\u4efd\uff0c\u5bf9\u5e94\u751f\u6210\u4e00\u4e2a\u5907\u4efd\u70b9\uff0c\u53ef\u901a\u8fc7\u6210\u529f\u72b6\u6001\u7684\u5907\u4efd\u70b9\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002

                "},{"location":"kpanda/user-guide/backup/install-velero.html","title":"\u5b89\u88c5 velero \u63d2\u4ef6","text":"

                velero \u662f\u4e00\u4e2a\u5907\u4efd\u548c\u6062\u590d Kubernetes \u96c6\u7fa4\u8d44\u6e90\u7684\u5f00\u6e90\u5de5\u5177\u3002\u5b83\u53ef\u4ee5\u5c06 Kubernetes \u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u5907\u4efd\u5230\u4e91\u5b58\u50a8\u670d\u52a1\u3001\u672c\u5730\u5b58\u50a8\u6216\u5176\u4ed6\u4f4d\u7f6e\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728\u9700\u8981\u65f6\u5c06\u8fd9\u4e9b\u8d44\u6e90\u6062\u590d\u5230\u540c\u4e00\u6216\u4e0d\u540c\u7684\u96c6\u7fa4\u4e2d\u3002

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u4e2d\u4f7f\u7528 Helm \u5e94\u7528 \u90e8\u7f72 velero \u63d2\u4ef6\u3002

                "},{"location":"kpanda/user-guide/backup/install-velero.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b89\u88c5 velero \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa velero \u547d\u540d\u7a7a\u95f4\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"kpanda/user-guide/backup/install-velero.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 velero \u63d2\u4ef6\u3002

                1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5 velero \u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u680f\u8f93\u5165 velero \u8fdb\u884c\u641c\u7d22\u3002

                2. \u9605\u8bfb velero \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u5b89\u88c5 4.0.2 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                3. \u586b\u5199\u548c\u914d\u7f6e\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                  \u57fa\u672c\u53c2\u6570\u53c2\u6570\u914d\u7f6e

                  • \u540d\u79f0\uff1a\u5fc5\u586b\u53c2\u6570\uff0c\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09,\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a velero \u547d\u540d\u7a7a\u95f4\u3002
                  • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u3002
                  • \u5c31\u7eea\u7b49\u5f85\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                  • \u5931\u8d25\u5220\u9664\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                  • \u8be6\u60c5\u65e5\u5fd7\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\u5c06\u8f93\u51fa\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                  Note

                  \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                  • S3 Credentials\uff1a

                    • Use secret \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true \u3002
                    • Secret name \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e velero-s3-credential \u3002
                    • SecretContents.aws_access_key_id = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u7528\u6237\u540d\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002
                    • SecretContents.aws_secret_access_key = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u5bc6\u7801\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002

                      config \"SecretContents \u6837\u4f8b\" [default] aws_access_key_id = minio aws_secret_access_key = minio123

                    • Velero Configuration\uff1a

                      • Backupstoragelocation \uff1avelero \u5907\u4efd\u6570\u636e\u5b58\u50a8\u7684\u4f4d\u7f6e
                      • S3 bucket \uff1a\u7528\u4e8e\u4fdd\u5b58\u5907\u4efd\u6570\u636e\u7684\u5b58\u50a8\u6876\u540d\u79f0(\u9700\u4e3a minio \u5df2\u7ecf\u5b58\u5728\u7684\u771f\u5b9e\u5b58\u50a8\u6876)
                      • Is default BackupStorage \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
                      • S3 access mode \uff1avelero \u5bf9\u6570\u636e\u7684\u8bbf\u95ee\u6a21\u5f0f\uff0c\u53ef\u4ee5\u9009\u62e9
                        • ReadWrite \uff1a\u5141\u8bb8 velero \u8bfb\u5199\u5907\u4efd\u6570\u636e
                        • ReadOnly \uff1a\u5141\u8bb8 velero \u8bfb\u53d6\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u4fee\u6539\u5907\u4efd\u6570\u636e
                        • WriteOnly \uff1a\u53ea\u5141\u8bb8 velero \u5199\u5165\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u8bfb\u53d6\u5907\u4efd\u6570\u636e
                      • S3 Configs \uff1aS3 \u5b58\u50a8\uff08minio\uff09\u7684\u8be6\u7ec6\u914d\u7f6e
                      • S3 region \uff1a\u4e91\u5b58\u50a8\u7684\u5730\u7406\u533a\u57df\u3002\u9ed8\u8ba4\u4f7f\u7528 us-east-1 \u53c2\u6570\uff0c\u7531\u7cfb\u7edf\u7ba1\u7406\u5458\u63d0\u4f9b
                      • S3 force path style \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
                      • S3 server URL \uff1a\u5bf9\u8c61\u5b58\u50a8\uff08minio\uff09\u7684\u63a7\u5236\u53f0\u8bbf\u95ee\u5730\u5740\uff0cminio \u4e00\u822c\u63d0\u4f9b\u4e86 UI \u8bbf\u95ee\u548c\u63a7\u5236\u53f0\u8bbf\u95ee\u4e24\u4e2a\u670d\u52a1\uff0c\u6b64\u5904\u8bf7\u4f7f\u7528\u63a7\u5236\u53f0\u8bbf\u95ee\u7684\u5730\u5740

                      Note

                      \u8bf7\u786e\u4fdd s3 \u5b58\u50a8\u670d\u52a1\u65f6\u95f4\u8ddf\u5907\u4efd\u8fd8\u539f\u96c6\u7fa4\u65f6\u95f4\u5dee\u572810\u5206\u949f\u4ee5\u5185\uff0c\u6700\u597d\u662f\u65f6\u95f4\u4fdd\u6301\u540c\u6b65\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u6267\u884c\u5907\u4efd\u64cd\u4f5c\u3002

                    • migration plugin configuration\uff1a\u542f\u7528\u4e4b\u540e\uff0c\u5c06\u5728\u4e0b\u4e00\u6b65\u7684 YAML \u4ee3\u7801\u6bb5\u4e2d\u65b0\u589e\uff1a

                      ...\ninitContainers:\n  - image: 'release.daocloud.io/kcoral/velero-plugin-for-migration:v0.3.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-migration\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-csi:v0.7.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-csi\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-aws:v1.9.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-aws\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n...\n
                    • \u786e\u8ba4 YAML \u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 velero \u63d2\u4ef6\u7684\u5b89\u88c5\u3002 \u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c\u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                    • "},{"location":"kpanda/user-guide/backup/offline-upgrade.html","title":"\u79bb\u7ebf\u5347\u7ea7\u5907\u4efd\u6062\u590d\u6a21\u5757","text":"

                      \u672c\u9875\u8bf4\u660e\u4e0b\u8f7d\u5907\u4efd\u6062\u590d\u6a21\u5757\u540e\uff0c\u5e94\u8be5\u5982\u4f55\u5b89\u88c5\u6216\u5347\u7ea7\u3002

                      Info

                      \u4e0b\u8ff0\u547d\u4ee4\u6216\u811a\u672c\u5185\u51fa\u73b0\u7684 kcoral \u5b57\u6837\u662f\u5907\u4efd\u6062\u590d\u6a21\u5757\u7684\u5185\u90e8\u5f00\u53d1\u4ee3\u53f7\u3002

                      "},{"location":"kpanda/user-guide/backup/offline-upgrade.html#_2","title":"\u4ece\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u52a0\u8f7d\u955c\u50cf","text":"

                      \u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u9762\u4e24\u79cd\u65b9\u5f0f\u4e4b\u4e00\u52a0\u8f7d\u955c\u50cf\uff0c\u5f53\u73af\u5883\u4e2d\u5b58\u5728\u955c\u50cf\u4ed3\u5e93\u65f6\uff0c\u5efa\u8bae\u9009\u62e9 chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93\uff0c\u8be5\u65b9\u6cd5\u66f4\u52a0\u9ad8\u6548\u4fbf\u6377\u3002

                      "},{"location":"kpanda/user-guide/backup/offline-upgrade.html#chart-syncer","title":"\u65b9\u5f0f\u4e00\uff1a\u4f7f\u7528 chart-syncer \u540c\u6b65\u955c\u50cf","text":"

                      \u4f7f\u7528 chart-syncer \u53ef\u4ee5\u5c06\u60a8\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u7684 chart \u53ca\u5176\u4f9d\u8d56\u7684\u955c\u50cf\u5305\u4e0a\u4f20\u81f3\u5b89\u88c5\u5668\u90e8\u7f72 DCE \u65f6\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u3002

                      \u9996\u5148\u627e\u5230\u4e00\u53f0\u80fd\u591f\u8fde\u63a5\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7684\u8282\u70b9\uff08\u5982\u706b\u79cd\u8282\u70b9\uff09\uff0c\u5728\u8282\u70b9\u4e0a\u521b\u5efa load-image.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u586b\u5165\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7b49\u914d\u7f6e\u4fe1\u606f\u3002

                      1. \u521b\u5efa load-image.yaml

                        Note

                        \u8be5 YAML \u6587\u4ef6\u4e2d\u7684\u5404\u9879\u53c2\u6570\u5747\u4e3a\u5fc5\u586b\u9879\u3002

                        \u5df2\u6dfb\u52a0 Helm repo\u672a\u6dfb\u52a0 Helm repo

                        \u82e5\u5f53\u524d\u73af\u5883\u5df2\u5b89\u88c5 chart repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\u3002

                        load-image.yaml
                        source:\n  intermediateBundlesPath: kcoral # (1)!\ntarget:\n  containerRegistry: 10.16.10.111 # (2)!\n  containerRepository: release.daocloud.io/kcoral # (3)!\n  repo:\n    kind: HARBOR # (4)!\n    url: http://10.16.10.111/chartrepo/release.daocloud.io # (5)!\n    auth:\n      username: \"admin\" # (6)!\n      password: \"Harbor12345\" # (7)!\n  containers:\n    auth:\n      username: \"admin\" # (8)!\n      password: \"Harbor12345\" # (9)!\n
                        1. \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84
                        2. \u955c\u50cf\u4ed3\u5e93\u5730\u5740
                        3. \u955c\u50cf\u4ed3\u5e93\u8def\u5f84
                        4. Helm Chart \u4ed3\u5e93\u7c7b\u522b
                        5. Helm \u4ed3\u5e93\u5730\u5740
                        6. \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
                        7. \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801
                        8. Helm \u4ed3\u5e93\u7528\u6237\u540d
                        9. Helm \u4ed3\u5e93\u5bc6\u7801

                        \u82e5\u5f53\u524d\u8282\u70b9\u4e0a\u672a\u6dfb\u52a0 helm repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\uff0c\u5e76\u5b58\u653e\u5728\u6307\u5b9a\u8def\u5f84\u3002

                        load-image.yaml
                        source:\n  intermediateBundlesPath: kcoral # (1)!\ntarget:\n  containerRegistry: 10.16.10.111 # (2)!\n  containerRepository: release.daocloud.io/kcoral # (3)!\n  repo:\n    kind: LOCAL\n    path: ./local-repo # (4)!\n  containers:\n    auth:\n      username: \"admin\" # (5)!\n      password: \"Harbor12345\" # (6)!\n
                        1. \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84
                        2. \u955c\u50cf\u4ed3\u5e93 url
                        3. \u955c\u50cf\u4ed3\u5e93\u8def\u5f84
                        4. chart \u672c\u5730\u8def\u5f84
                        5. \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d
                        6. \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801
                      2. \u6267\u884c\u540c\u6b65\u955c\u50cf\u547d\u4ee4\u3002

                        charts-syncer sync --config load-image.yaml\n
                      "},{"location":"kpanda/user-guide/backup/offline-upgrade.html#docker-containerd","title":"\u65b9\u5f0f\u4e8c\uff1a\u4f7f\u7528 Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf","text":"

                      \u89e3\u538b\u5e76\u52a0\u8f7d\u955c\u50cf\u6587\u4ef6\u3002

                      1. \u89e3\u538b\u7b2c\u4e00\u5c42\u538b\u7f29\u5305\u3002

                        tar xvf kcoral.amd64.tar\n

                        \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 1 \u4e2a\u65b0\u7684\u538b\u7f29\u5305\uff1a

                        • kcoral.bundle.tar
                      2. \u89e3\u538b\u65b0\u7684\u538b\u7f29\u5305\u3002

                        tar xvf kcoral.bundle.tar\n

                        \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 3 \u4e2a\u6587\u4ef6\uff1a

                        • hints.yaml
                        • images.tar
                        • original-chart
                      3. \u4ece\u672c\u5730\u52a0\u8f7d\u955c\u50cf\u5230 Docker \u6216 containerd\u3002

                        Dockercontainerd
                        docker load -i images.tar\n
                        ctr -n k8s.io image import images.tar\n

                      Note

                      \u6bcf\u4e2a node \u90fd\u9700\u8981\u505a Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf\u64cd\u4f5c\uff0c \u52a0\u8f7d\u5b8c\u6210\u540e\u9700\u8981 tag \u955c\u50cf\uff0c\u4fdd\u6301 Registry\u3001Repository \u4e0e\u5b89\u88c5\u65f6\u4e00\u81f4\u3002

                      "},{"location":"kpanda/user-guide/backup/offline-upgrade.html#_3","title":"\u5347\u7ea7","text":"

                      \u6709\u4e24\u79cd\u5347\u7ea7\u65b9\u5f0f\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u524d\u7f6e\u64cd\u4f5c\uff0c\u9009\u62e9\u5bf9\u5e94\u7684\u5347\u7ea7\u65b9\u6848\uff1a

                      \u901a\u8fc7 helm repo \u5347\u7ea7\u901a\u8fc7 chart \u5305\u5347\u7ea7
                      1. \u68c0\u67e5\u5907\u4efd\u6062\u590d helm \u4ed3\u5e93\u662f\u5426\u5b58\u5728\u3002

                        helm repo list | grep kcoral\n

                        \u82e5\u8fd4\u56de\u7ed3\u679c\u4e3a\u7a7a\u6216\u5982\u4e0b\u63d0\u793a\uff0c\u5219\u8fdb\u884c\u4e0b\u4e00\u6b65\uff1b\u53cd\u4e4b\u5219\u8df3\u8fc7\u4e0b\u4e00\u6b65\u3002

                        Error: no repositories to show\n
                      2. \u6dfb\u52a0\u5907\u4efd\u6062\u590d\u7684 helm \u4ed3\u5e93\u3002

                        helm repo add kcoral http://{harbor url}/chartrepo/{project}\n
                      3. \u66f4\u65b0\u5907\u4efd\u6062\u590d\u7684 helm \u4ed3\u5e93\u3002

                        helm repo update kcoral\n
                      4. \u9009\u62e9\u60a8\u60f3\u5b89\u88c5\u7684\u5907\u4efd\u6062\u590d\u7248\u672c\uff08\u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\uff09\u3002

                        helm search repo kcoral/kcoral --versions\n
                        [root@master ~]# helm search repo kcoral/kcoral --versions\nNAME                   CHART VERSION  APP VERSION  DESCRIPTION\nkcoral/kcoral  0.20.0          v0.20.0       A Helm chart for kcoral\n...\n
                      5. \u5907\u4efd --set \u53c2\u6570\u3002

                        \u5728\u5347\u7ea7\u5907\u4efd\u6062\u590d\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                        helm get values kcoral -n kcoral-system -o yaml > bak.yaml\n
                      6. \u6267\u884c helm upgrade \u3002

                        \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u5b57\u6bb5\u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                        export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                        helm upgrade kcoral kcoral/kcoral \\\n  -n kcoral-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry \\\n  --version 0.5.0\n
                      1. \u5907\u4efd --set \u53c2\u6570\u3002

                        \u5728\u5347\u7ea7\u5907\u4efd\u6062\u590d\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                        helm get values kcoral -n kcoral-system -o yaml > bak.yaml\n
                      2. \u6267\u884c helm upgrade \u3002

                        \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                        export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                        helm upgrade kcoral . \\\n  -n kcoral-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry\n
                      "},{"location":"kpanda/user-guide/clusterops/cluster-oversold.html","title":"\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356","text":"

                      \u76ee\u524d\uff0c\u8bb8\u591a\u4e1a\u52a1\u5b58\u5728\u5cf0\u503c\u548c\u4f4e\u8c37\u7684\u73b0\u8c61\u3002\u4e3a\u4e86\u786e\u4fdd\u670d\u52a1\u7684\u6027\u80fd\u548c\u7a33\u5b9a\u6027\uff0c\u5728\u90e8\u7f72\u670d\u52a1\u65f6\uff0c\u901a\u5e38\u4f1a\u6839\u636e\u5cf0\u503c\u9700\u6c42\u6765\u7533\u8bf7\u8d44\u6e90\u3002 \u7136\u800c\uff0c\u5cf0\u503c\u671f\u53ef\u80fd\u975e\u5e38\u77ed\u6682\uff0c\u5bfc\u81f4\u5728\u975e\u5cf0\u503c\u671f\u65f6\u8d44\u6e90\u88ab\u6d6a\u8d39\u3002 \u96c6\u7fa4\u8d44\u6e90\u8d85\u5356 \u5c31\u662f\u5c06\u8fd9\u4e9b\u7533\u8bf7\u4e86\u800c\u672a\u4f7f\u7528\u7684\u8d44\u6e90\uff08\u5373\u7533\u8bf7\u91cf\u4e0e\u4f7f\u7528\u91cf\u7684\u5dee\u503c\uff09\u5229\u7528\u8d77\u6765\uff0c\u4ece\u800c\u63d0\u5347\u96c6\u7fa4\u8d44\u6e90\u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u6d6a\u8d39\u3002

                      \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u529f\u80fd\u3002

                      "},{"location":"kpanda/user-guide/clusterops/cluster-oversold.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                      • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 Cluster Admin \uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u6388\u6743\u3002
                      • \u82e5\u4e3a\u79bb\u7ebf\u73af\u5883\uff0c\u5219\u9700\u5b8c\u6210 Addon \u79bb\u7ebf\u5305\u5bfc\u5165\uff0c\u4e14\u5728 Helm \u6a21\u677f\u754c\u9762\u53ef\u627e\u5230 cro-operator \u6a21\u677f\u3002
                      "},{"location":"kpanda/user-guide/clusterops/cluster-oversold.html#_3","title":"\u5f00\u542f\u96c6\u7fa4\u8d85\u5356","text":"
                      1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762

                      2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e \uff0c\u7136\u540e\u9009\u62e9 \u9ad8\u7ea7\u914d\u7f6e \u9875\u7b7e

                      3. \u6253\u5f00\u96c6\u7fa4\u8d85\u5356\uff0c\u8bbe\u7f6e\u8d85\u5356\u6bd4

                        • \u82e5\u672a\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u70b9\u51fb \u7acb\u5373\u5b89\u88c5 \u6309\u94ae\uff0c\u5b89\u88c5\u6d41\u7a0b\u53c2\u8003\u7ba1\u7406 Helm \u5e94\u7528
                        • \u82e5\u5df2\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u6253\u5f00\u96c6\u7fa4\u8d85\u5356\u5f00\u5173\uff0c\u5219\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356\u529f\u80fd\u3002

                        Note

                        \u9700\u8981\u5728\u96c6\u7fa4\u4e0b\u5bf9\u5e94\u7684 namespace \u6253\u4e0a\u5982\u4e0b\u6807\u7b7e\uff0c\u96c6\u7fa4\u8d85\u5356\u7b56\u7565\u624d\u80fd\u751f\u6548\u3002

                        clusterresourceoverrides.admission.autoscaling.openshift.io/enabled: \"true\"\n

                      "},{"location":"kpanda/user-guide/clusterops/cluster-oversold.html#_4","title":"\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356","text":"

                      \u8bbe\u7f6e\u597d\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u6bd4\u540e\uff0c\u4f1a\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u65f6\u751f\u6548\u3002\u4e0b\u6587\u4ee5 niginx \u4e3a\u4f8b\uff0c\u9a8c\u8bc1\u4f7f\u7528\u8d44\u6e90\u8d85\u5356\u80fd\u529b\u3002

                      1. \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d nginx \u5e76\u8bbe\u7f6e\u5bf9\u5e94\u7684\u8d44\u6e90\u9650\u5236\u503c\uff0c\u521b\u5efa\u6d41\u7a0b\u53c2\u8003\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09

                      2. \u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u8d44\u6e90\u7533\u8bf7\u503c\u4e0e\u9650\u5236\u503c\u7684\u6bd4\u503c\u662f\u5426\u7b26\u5408\u8d85\u552e\u6bd4

                      "},{"location":"kpanda/user-guide/clusterops/cluster-settings.html","title":"\u96c6\u7fa4\u8bbe\u7f6e","text":"

                      \u96c6\u7fa4\u8bbe\u7f6e\u7528\u4e8e\u4e3a\u60a8\u7684\u96c6\u7fa4\u81ea\u5b9a\u4e49\u9ad8\u7ea7\u7279\u6027\u8bbe\u7f6e\uff0c\u5305\u62ec\u662f\u5426\u542f\u7528 GPU\u3001Helm \u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001Helm \u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u7b49\u3002

                      • \u542f\u7528 GPU\uff1a\u9700\u8981\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU \u5361\u53ca\u5bf9\u5e94\u9a71\u52a8\u63d2\u4ef6\u3002

                        \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \u3002

                      • Helm \u64cd\u4f5c\u57fa\u7840\u955c\u50cf\u3001\u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001\u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\u3001\u662f\u5426\u5f00\u542f\u96c6\u7fa4\u5220\u9664\u4fdd\u62a4\uff08\u5f00\u542f\u540e\u96c6\u7fa4\u5c06\u4e0d\u80fd\u76f4\u63a5\u5378\u8f7d\uff09

                      "},{"location":"kpanda/user-guide/clusterops/latest-operations.html","title":"\u6700\u8fd1\u64cd\u4f5c","text":"

                      \u5728\u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u6700\u8fd1\u7684\u96c6\u7fa4\u64cd\u4f5c\u8bb0\u5f55\u548c Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u4ee5\u53ca\u5404\u9879\u64cd\u4f5c\u7684 YAML \u6587\u4ef6\u548c\u65e5\u5fd7\uff0c\u4e5f\u53ef\u4ee5\u5220\u9664\u67d0\u4e00\u6761\u8bb0\u5f55\u3002

                      \u8bbe\u7f6e Helm \u64cd\u4f5c\u7684\u4fdd\u7559\u6761\u6570\uff1a

                      \u7cfb\u7edf\u9ed8\u8ba4\u4fdd\u7559\u6700\u8fd1 100 \u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\u3002\u82e5\u4fdd\u7559\u6761\u6570\u592a\u591a\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u6570\u636e\u5197\u4f59\uff0c\u4fdd\u7559\u6761\u6570\u592a\u5c11\u53ef\u80fd\u4f1a\u9020\u6210\u60a8\u6240\u9700\u8981\u7684\u5173\u952e\u64cd\u4f5c\u8bb0\u5f55\u7684\u7f3a\u5931\u3002\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8bbe\u7f6e\u5408\u7406\u7684\u4fdd\u7559\u6570\u91cf\u3002\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a

                      1. \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> Helm \u64cd\u4f5c -> \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u3002

                      2. \u8bbe\u7f6e\u9700\u8981\u4fdd\u7559\u591a\u5c11\u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                      "},{"location":"kpanda/user-guide/clusters/access-cluster.html","title":"\u8bbf\u95ee\u96c6\u7fa4","text":"

                      \u4f7f\u7528 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u76f4\u63a5\u8bbf\u95ee\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5176\u4ed6\u4e24\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bbf\u95ee\u63a7\u5236\uff1a

                      • \u901a\u8fc7 CloudShell \u5728\u7ebf\u8bbf\u95ee
                      • \u4e0b\u8f7d\u96c6\u7fa4\u8bc1\u4e66\u540e\u901a\u8fc7 kubectl \u8fdb\u884c\u8bbf\u95ee

                      Note

                      \u8bbf\u95ee\u96c6\u7fa4\u65f6\uff0c\u7528\u6237\u5e94\u5177\u6709 Cluster Admin \u6743\u9650\u6216\u66f4\u9ad8\u6743\u9650\u3002

                      "},{"location":"kpanda/user-guide/clusters/access-cluster.html#cloudshell","title":"\u901a\u8fc7 CloudShell \u8bbf\u95ee","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u901a\u8fc7 CloudShell \u8bbf\u95ee\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u63a7\u5236\u53f0 \u3002

                      2. \u5728 CloudShell \u63a7\u5236\u53f0\u6267\u884c kubectl get node \u547d\u4ee4\uff0c\u9a8c\u8bc1 CloudShell \u4e0e\u96c6\u7fa4\u7684\u8fde\u901a\u6027\u3002\u5982\u56fe\uff0c\u63a7\u5236\u53f0\u5c06\u8fd4\u56de\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4fe1\u606f\u3002

                      \u73b0\u5728\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 CloudShell \u6765\u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

                      "},{"location":"kpanda/user-guide/clusters/access-cluster.html#kubectl","title":"\u901a\u8fc7 kubectl \u8bbf\u95ee","text":"

                      \u901a\u8fc7\u672c\u5730\u8282\u70b9\u8bbf\u95ee\u5e76\u7ba1\u7406\u4e91\u7aef\u96c6\u7fa4\u65f6\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\uff1a

                      • \u672c\u5730\u8282\u70b9\u548c\u4e91\u7aef\u96c6\u7fa4\u7684\u7f51\u7edc\u4e92\u8054\u4e92\u901a\u3002
                      • \u5df2\u7ecf\u5c06\u96c6\u7fa4\u8bc1\u4e66\u4e0b\u8f7d\u5230\u4e86\u672c\u5730\u8282\u70b9\u3002
                      • \u672c\u5730\u8282\u70b9\u5df2\u7ecf\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002\u5173\u4e8e\u8be6\u7ec6\u7684\u5b89\u88c5\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605\u5b89\u88c5 kubectl\u3002

                      \u6ee1\u8db3\u4e0a\u8ff0\u6761\u4ef6\u540e\uff0c\u6309\u7167\u4e0b\u65b9\u6b65\u9aa4\u4ece\u672c\u5730\u8bbf\u95ee\u4e91\u7aef\u96c6\u7fa4\uff1a

                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u4e0b\u8f7d\u8bc1\u4e66\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u5e76\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u8bc1\u4e66\u83b7\u53d6 \u3002

                      2. \u9009\u62e9\u8bc1\u4e66\u6709\u6548\u671f\u5e76\u70b9\u51fb \u4e0b\u8f7d\u8bc1\u4e66 \u3002

                      3. \u6253\u5f00\u4e0b\u8f7d\u597d\u7684\u96c6\u7fa4\u8bc1\u4e66\uff0c\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u81f3\u672c\u5730\u8282\u70b9\u7684 config \u6587\u4ef6\u3002

                        kubectl \u5de5\u5177\u9ed8\u8ba4\u4f1a\u4ece\u672c\u5730\u8282\u70b9\u7684 $HOME/.kube \u76ee\u5f55\u4e0b\u67e5\u627e\u540d\u4e3a config \u7684\u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u5b58\u50a8\u4e86\u76f8\u5173\u96c6\u7fa4\u7684\u8bbf\u95ee\u51ed\u8bc1\uff0ckubectl \u53ef\u4ee5\u51ed\u8be5\u914d\u7f6e\u6587\u4ef6\u8fde\u63a5\u81f3\u96c6\u7fa4\u3002

                      4. \u5728\u672c\u5730\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u96c6\u7fa4\u7684\u8fde\u901a\u6027\uff1a

                        kubectl get pod -n default\n

                        \u9884\u671f\u7684\u8f93\u51fa\u7c7b\u4f3c\u4e8e:

                        NAME                            READY   STATUS      RESTARTS    AGE\ndao-2048-2048-58c7f7fc5-mq7h4   1/1     Running     0           30h\n

                      \u73b0\u5728\u60a8\u53ef\u4ee5\u5728\u672c\u5730\u901a\u8fc7 kubectl \u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

                      "},{"location":"kpanda/user-guide/clusters/cluster-role.html","title":"\u96c6\u7fa4\u89d2\u8272","text":"

                      DaoCloud Enterprise 5.0 \u57fa\u4e8e\u96c6\u7fa4\u7684\u4e0d\u540c\u529f\u80fd\u5b9a\u4f4d\u5bf9\u96c6\u7fa4\u8fdb\u884c\u4e86\u89d2\u8272\u5206\u7c7b\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u7ba1\u7406 IT \u57fa\u7840\u8bbe\u65bd\u3002

                      "},{"location":"kpanda/user-guide/clusters/cluster-role.html#_2","title":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4","text":"

                      \u6b64\u96c6\u7fa4\u7528\u4e8e\u8fd0\u884c DCE 5.0 \u7ec4\u4ef6\uff0c\u4f8b\u5982\u5bb9\u5668\u7ba1\u7406\u3001\u5168\u5c40\u7ba1\u7406\u3001\u53ef\u89c2\u6d4b\u6027\u3001\u955c\u50cf\u4ed3\u5e93\u7b49\u3002 \u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

                      \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"kpanda/user-guide/clusters/cluster-role.html#_3","title":"\u7ba1\u7406\u96c6\u7fa4","text":"

                      \u6b64\u96c6\u7fa4\u7528\u4e8e\u7ba1\u7406\u5de5\u4f5c\u96c6\u7fa4\uff0c\u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

                      • \u7ecf\u5178\u6a21\u5f0f\u5c06\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u548c\u7ba1\u7406\u96c6\u7fa4\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u96c6\u7fa4\uff0c\u9002\u7528\u4e8e\u4f01\u4e1a\u591a\u6570\u636e\u4e2d\u5fc3\u3001\u591a\u67b6\u6784\u7684\u573a\u666f\u3002
                      • \u7b80\u7ea6\u6a21\u5f0f\u5c06\u7ba1\u7406\u96c6\u7fa4\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u90e8\u7f72\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u3002
                      \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"kpanda/user-guide/clusters/cluster-role.html#_4","title":"\u5de5\u4f5c\u96c6\u7fa4","text":"

                      \u8fd9\u662f\u4f7f\u7528\u5bb9\u5668\u7ba1\u7406\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e3b\u8981\u7528\u4e8e\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002\u8be5\u96c6\u7fa4\u7531\u7ba1\u7406\u96c6\u7fa4\u8fdb\u884c\u7ba1\u7406\u3002

                      \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c \u652f\u6301 K8s 1.22 \u53ca\u4ee5\u4e0a\u7248\u672c \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"kpanda/user-guide/clusters/cluster-role.html#_5","title":"\u63a5\u5165\u96c6\u7fa4","text":"

                      \u6b64\u96c6\u7fa4\u7528\u4e8e\u63a5\u5165\u5df2\u6709\u7684\u6807\u51c6 K8s \u96c6\u7fa4\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u672c\u5730\u6570\u636e\u4e2d\u5fc3\u81ea\u5efa\u96c6\u7fa4\u3001\u516c\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u79c1\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u8fb9\u7f18\u96c6\u7fa4\u3001\u4fe1\u521b\u96c6\u7fa4\u3001\u5f02\u6784\u96c6\u7fa4\u3001Daocloud \u4e0d\u540c\u53d1\u884c\u7248\u96c6\u7fa4\u3002 \u4e3b\u8981\u7528\u4e8e\u627f\u62c5\u4e1a\u52a1\u8d1f\u8f7d\u3002

                      \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.18+ \u652f\u6301\u53cb\u5546 Vmware Tanzu\u3001Amazon EKS\u3001Redhat Openshift\u3001SUSE Rancher\u3001\u963f\u91cc ACK\u3001\u534e\u4e3a CCE\u3001\u817e\u8baf TKE\u3001\u6807\u51c6 K8s \u96c6\u7fa4\u3001Daocloud DCE \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u4e0d\u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc \u4f9d\u8d56\u4e8e\u63a5\u5165\u96c6\u7fa4\u53d1\u884c\u7248\u7f51\u7edc\u6a21\u5f0f \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565

                      Note

                      \u4e00\u4e2a\u96c6\u7fa4\u53ef\u4ee5\u6709\u591a\u4e2a\u96c6\u7fa4\u89d2\u8272\uff0c\u4f8b\u5982\u4e00\u4e2a\u96c6\u7fa4\u65e2\u53ef\u4ee5\u662f\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\uff0c\u4e5f\u53ef\u4ee5\u662f\u7ba1\u7406\u96c6\u7fa4\u6216\u5de5\u4f5c\u96c6\u7fa4\u3002

                      "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html","title":"\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668 scheduler-plugins","text":"

                      \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u4e2a\u8c03\u5ea6\u5668 scheduler-plugins\u3002

                      "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#scheduler-plugins_1","title":"\u4e3a\u4ec0\u4e48\u9700\u8981 scheduler-plugins\uff1f","text":"

                      \u901a\u8fc7\u5e73\u53f0\u521b\u5efa\u7684\u96c6\u7fa4\u4e2d\u4f1a\u5b89\u88c5 K8s \u539f\u751f\u7684\u8c03\u5ea6\u5668\uff0c\u4f46\u662f\u539f\u751f\u7684\u8c03\u5ea6\u5668\u5b58\u5728\u5f88\u591a\u7684\u5c40\u9650\u6027\uff1a

                      • \u539f\u751f\u7684\u8c03\u5ea6\u5668\u65e0\u6cd5\u6ee1\u8db3\u8c03\u5ea6\u9700\u6c42\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528 CoScheduling\u3001 CapacityScheduling \u7b49 scheduler-plugins \u63d2\u4ef6\u3002
                      • \u5728\u7279\u6b8a\u7684\u573a\u666f\uff0c\u9700\u8981\u65b0\u7684\u8c03\u5ea6\u5668\u6765\u5b8c\u6210\u8c03\u5ea6\u4efb\u52a1\u800c\u4e0d\u5f71\u54cd\u539f\u751f\u8c03\u5ea6\u5668\u7684\u6d41\u7a0b\u3002
                      • \u533a\u5206\u4e0d\u540c\u529f\u80fd\u7684\u8c03\u5ea6\u5668\uff0c\u901a\u8fc7\u5207\u6362\u8c03\u5ea6\u5668\u540d\u79f0\u6765\u5b9e\u73b0\u4e0d\u540c\u7684\u8c03\u5ea6\u573a\u666f\u3002

                      \u672c\u6587\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u7684\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u5e76\u4f7f\u7528 scheduler-plugins\u3002

                      "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#scheduler-plugins_2","title":"\u5b89\u88c5 scheduler-plugins","text":""},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                      • kubean \u662f\u5728 v0.13.0 \u7248\u672c\u63a8\u51fa\u7684\u65b0\u529f\u80fd\uff0c\u9009\u62e9\u7ba1\u7406\u96c6\u7fa4\u65f6\u8bf7\u786e\u4fdd\u7248\u672c\u4e0d\u4f4e\u4e8e\u6b64\u7248\u672c\u3002
                      • \u5b89\u88c5 scheduler-plugins \u7248\u672c\u4e3a v0.27.8\uff0c\u8bf7\u786e\u4fdd\u96c6\u7fa4\u7248\u672c\u662f\u5426\u4e0e\u5b83\u517c\u5bb9\u3002 \u53c2\u8003\u6587\u6863 Compatibility Matrix\u3002
                      "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#_2","title":"\u5b89\u88c5\u6d41\u7a0b","text":"
                      1. \u5728 \u521b\u5efa\u96c6\u7fa4 -> \u9ad8\u7ea7\u914d\u7f6e -> \u81ea\u5b9a\u4e49\u53c2\u6570 \u4e2d\u6dfb\u52a0 scheduler-plugins \u53c2\u6570

                        scheduler_plugins_enabled:true\nscheduler_plugins_plugin_config:\n  - name: Coscheduling\n    args:\n      permitWaitingTimeSeconds: 10 # default is 60\n

                        \u53c2\u6570\u8bf4\u660e\uff1a

                        • scheduler_plugins_enabled \u8bbe\u7f6e\u4e3a true \u65f6\uff0c\u5f00\u542f scheduler-plugins \u63d2\u4ef6\u80fd\u529b\u3002
                        • \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e scheduler_plugins_enabled_plugins \u6216 scheduler_plugins_disabled_plugins \u9009\u9879\u6765\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u63d2\u4ef6\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u540d\u79f0\u3002
                        • \u5982\u679c\u9700\u8981\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u63d2\u4ef6\u7684\u53c2\u6570\u8bf7\u914d\u7f6e scheduler_plugins_plugin_config\uff0c\u4f8b\u5982\uff1a\u8bbe\u7f6e coscheduling \u7684 permitWaitingTimeoutSeconds \u53c2\u6570\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u914d\u7f6e\u9879

                      2. \u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5b89\u88c5 scheduler-plugins \u548c controller \u7ec4\u4ef6\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u96c6\u7fa4\u7684\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e2d\u67e5\u770b\u8d1f\u8f7d\u72b6\u6001\u3002

                      "},{"location":"kpanda/user-guide/clusters/cluster-scheduler-plugin.html#scheduler-plugins_3","title":"\u4f7f\u7528 scheduler-plugins","text":"

                      \u4ee5\u4e0b\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 scheduler-plugins\u3002

                      1. \u5728 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 vgpu\uff0c\u8bbe\u7f6e values.yaml \u53c2\u6570\u3002

                        • schedulerName: scheduler-plugins-scheduler\uff0c\u8fd9\u662f kubean \u9ed8\u8ba4\u5b89\u88c5\u7684 scheduler-plugins \u7684 scheduler \u540d\u79f0\uff0c\u76ee\u524d\u4e0d\u80fd\u4fee\u6539\u3002
                        • scheduler.kubeScheduler.enabled: false\uff0c\u4e0d\u5b89\u88c5 kube-scheduler\uff0c\u5c06 vgpu-scheduler \u4f5c\u4e3a\u5355\u72ec\u7684 extender\u3002

                      2. \u5728 scheduler-plugins \u4e0a\u6269\u5c55 vgpu-scheduler\u3002

                        [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
                        apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\n

                        \u4fee\u6539 scheduler-plugins \u7684 scheduler-config \u7684 configmap \u53c2\u6570\uff0c\u5982\u4e0b\uff1a

                        [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
                        apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\nextenders:\n  - urlPrefix: \"${urlPrefix}\"\n    filterVerb: filter\n    bindVerb: bind\n    nodeCacheCapable: true\n    ignorable: true\n    httpTimeout: 30s\n    weight: 1\n    enableHTTPS: true\n    tlsConfig:\n      insecure: true\n    managedResources:\n      - name: nvidia.com/vgpu\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem\n        ignoredByScheduler: true\n      - name: nvidia.com/gpucores\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem-percentage\n        ignoredByScheduler: true\n      - name: nvidia.com/priority\n        ignoredByScheduler: true\n      - name: cambricon.com/mlunum\n        ignoredByScheduler: true\n
                      3. \u5b89\u88c5\u5b8c vgpu-scheduler \u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa svc\uff0curlPrefix \u6307\u5b9a svc \u7684 URL\u3002

                        Note

                        • svc \u6307 pod \u670d\u52a1\u8d1f\u8f7d\uff0c\u60a8\u53ef\u4ee5\u5230\u5b89\u88c5\u4e86 nvidia-vgpu \u63d2\u4ef6\u7684\u547d\u540d\u7a7a\u95f4\u4e0b\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u62ff\u5230 443 \u7aef\u53e3\u5bf9\u5e94\u7684\u5916\u90e8\u8bbf\u95ee\u4fe1\u606f\u3002

                          kubectl get svc -n ${namespace} \n
                        • urlprifix \u683c\u5f0f\u4e3a https://${ip \u5730\u5740}:${\u7aef\u53e3}

                      4. \u5c06 scheduler-plugins \u7684 scheduler Pod \u91cd\u542f\uff0c\u52a0\u8f7d\u65b0\u7684\u914d\u7f6e\u6587\u4ef6\u3002

                        Note

                        \u5728\u521b\u5efa vgpu \u5e94\u7528\u65f6\u4e0d\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u540d\u79f0\uff0cvgpu-scheduler \u7684 Webhook \u4f1a\u81ea\u52a8\u5c06 Scheduler \u7684\u540d\u79f0\u4fee\u6539\u4e3a scheduler-plugins-scheduler\uff0c\u4e0d\u7528\u624b\u52a8\u6307\u5b9a\u3002

                      "},{"location":"kpanda/user-guide/clusters/cluster-status.html","title":"\u96c6\u7fa4\u72b6\u6001","text":"

                      \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u7eb3\u7ba1\u4e24\u79cd\u7c7b\u578b\u7684\u96c6\u7fa4\uff1a\u63a5\u5165\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u3002 \u5173\u4e8e\u96c6\u7fa4\u7eb3\u7ba1\u7c7b\u578b\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1\u96c6\u7fa4\u89d2\u8272\u3002

                      \u8fd9\u4e24\u79cd\u96c6\u7fa4\u7684\u72b6\u6001\u5982\u4e0b\u6240\u8ff0\u3002

                      "},{"location":"kpanda/user-guide/clusters/cluster-status.html#_2","title":"\u63a5\u5165\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u63a5\u5165\u4e2d\uff08Joining\uff09 \u96c6\u7fa4\u6b63\u5728\u63a5\u5165 \u89e3\u9664\u63a5\u5165\u4e2d\uff08Removing\uff09 \u96c6\u7fa4\u6b63\u5728\u89e3\u9664\u63a5\u5165 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002"},{"location":"kpanda/user-guide/clusters/cluster-status.html#_3","title":"\u81ea\u5efa\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u521b\u5efa\u4e2d\uff08Creating\uff09 \u96c6\u7fa4\u6b63\u5728\u521b\u5efa \u66f4\u65b0\u4e2d\uff08Updating\uff09 \u66f4\u65b0\u96c6\u7fa4 Kubernetes \u7248\u672c \u5220\u9664\u4e2d\uff08Deleting\uff09 \u96c6\u7fa4\u6b63\u5728\u5220\u9664 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002 \u521b\u5efa\u5931\u8d25\uff08Failed\uff09 \u96c6\u7fa4\u521b\u5efa\u5931\u8d25\uff0c\u8bf7\u67e5\u770b\u65e5\u5fd7\u4ee5\u83b7\u53d6\u8be6\u7ec6\u5931\u8d25\u539f\u56e0"},{"location":"kpanda/user-guide/clusters/cluster-version.html","title":"\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4","text":"

                      \u5728 DCE 5.0 \u5e73\u53f0\u4e2d\uff0c\u63a5\u5165\u578b\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u91c7\u53d6\u4e0d\u540c\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

                      \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u81ea\u5efa\u96c6\u7fa4\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

                      Kubernetes \u793e\u533a\u652f\u6301 3 \u4e2a\u7248\u672c\u8303\u56f4\uff0c\u5982 1.26\u30011.27\u30011.28\u3002\u5f53\u793e\u533a\u65b0\u7248\u672c\u53d1\u5e03\u4e4b\u540e\uff0c\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u5c06\u4f1a\u8fdb\u884c\u9012\u589e\u3002 \u5982\u793e\u533a\u6700\u65b0\u7684 1.29 \u7248\u672c\u5df2\u7ecf\u53d1\u5e03\uff0c\u6b64\u65f6\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.27\u30011.28\u30011.29\u3002

                      \u4e3a\u4e86\u4fdd\u969c\u96c6\u7fa4\u7684\u5b89\u5168\u548c\u7a33\u5b9a\u6027\uff0c\u5728 DCE 5.0 \u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u96c6\u7fa4\u65f6\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u5c06\u59cb\u7ec8\u6bd4\u793e\u533a\u7248\u672c \u4f4e\u4e00\u4e2a\u7248\u672c\u3002

                      \u4f8b\u5982\uff0c\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.25\u30011.26\u30011.27\uff0c\u5219\u5728 DCE 5.0 \u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u662f 1.24\u30011.25\u30011.26\uff0c\u5e76\u4e14\u4f1a\u4e3a\u7528\u6237\u63a8\u8350\u4e00\u4e2a\u7a33\u5b9a\u7684\u7248\u672c\uff0c\u5982 1.24.7\u3002

                      \u9664\u6b64\u4e4b\u5916\uff0c DCE 5.0 \u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e0e\u793e\u533a\u4fdd\u6301\u9ad8\u5ea6\u540c\u6b65\uff0c\u5f53\u793e\u533a\u7248\u672c\u8fdb\u884c\u9012\u589e\u540e\uff0cDCE 5.0 \u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e5f\u4f1a\u540c\u6b65\u9012\u589e\u4e00\u4e2a\u7248\u672c\u3002

                      "},{"location":"kpanda/user-guide/clusters/cluster-version.html#kubernetes","title":"Kubernetes \u7248\u672c\u652f\u6301\u8303\u56f4","text":"Kubernetes \u793e\u533a\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u63a8\u8350\u7248\u672c DCE 5.0 \u5b89\u88c5\u5668 \u53d1\u5e03\u65f6\u95f4
                      • 1.26
                      • 1.27
                      • 1.28
                      • 1.25
                      • 1.26
                      • 1.27
                      1.27.5 v0.13.0 2023.11.30"},{"location":"kpanda/user-guide/clusters/create-cluster.html","title":"\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4","text":"

                      \u5728 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u96c6\u7fa4\u89d2\u8272\u5206\u56db\u7c7b\uff1a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3001\u7ba1\u7406\u96c6\u7fa4\u3001\u5de5\u4f5c\u96c6\u7fa4\u3001\u63a5\u5165\u96c6\u7fa4\u3002 \u5176\u4e2d\uff0c\u63a5\u5165\u96c6\u7fa4\u53ea\u80fd\u4ece\u7b2c\u4e09\u65b9\u5382\u5546\u63a5\u5165\uff0c\u53c2\u89c1\u63a5\u5165\u96c6\u7fa4\u3002

                      \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u65b0\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u9700\u8981\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4fdd\u6301\u4e00\u81f4\u3002 \u5982\u9700\u4f7f\u7528\u533a\u522b\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 OS \u6216\u67b6\u6784\u7684\u8282\u70b9\u521b\u5efa\u96c6\u7fa4\uff0c\u53c2\u9605\u5728 centos \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa ubuntu \u5de5\u4f5c\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

                      \u63a8\u8350\u4f7f\u7528 DCE 5.0 \u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf\u6765\u521b\u5efa\u96c6\u7fa4\u3002 \u5982\u60a8\u672c\u5730\u8282\u70b9\u4e0d\u5728\u4e0a\u8ff0\u652f\u6301\u8303\u56f4\uff0c\u53ef\u53c2\u8003\u5728\u975e\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u521b\u5efa\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

                      "},{"location":"kpanda/user-guide/clusters/create-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                      \u521b\u5efa\u96c6\u7fa4\u4e4b\u524d\u9700\u8981\u6ee1\u8db3\u4e00\u5b9a\u7684\u524d\u63d0\u6761\u4ef6\uff1a

                      • \u6839\u636e\u4e1a\u52a1\u9700\u6c42\u51c6\u5907\u4e00\u5b9a\u6570\u91cf\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u4e00\u81f4\u3002
                      • \u63a8\u8350 Kubernetes \u7248\u672c 1.29.5\uff0c\u5177\u4f53\u7248\u672c\u8303\u56f4\uff0c\u53c2\u9605 DCE 5.0 \u96c6\u7fa4\u7248\u672c\u652f\u6301\u4f53\u7cfb\uff0c \u76ee\u524d\u6700\u65b0\u7248 DCE5.0 \u652f\u6301\u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4\u5728 v1.28.0-v1.30.2\u3002\u5982\u9700\u521b\u5efa\u4f4e\u7248\u672c\u7684\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4\u3001\u90e8\u7f72\u4e0e\u5347\u7ea7 Kubean \u5411\u4e0b\u517c\u5bb9\u7248\u672c\u3002
                      • \u76ee\u6807\u4e3b\u673a\u9700\u8981\u5141\u8bb8 IPv4 \u8f6c\u53d1\u3002\u5982\u679c Pod \u548c Service \u4f7f\u7528\u7684\u662f IPv6\uff0c\u5219\u76ee\u6807\u670d\u52a1\u5668\u9700\u8981\u5141\u8bb8 IPv6 \u8f6c\u53d1\u3002
                      • DCE \u6682\u4e0d\u63d0\u4f9b\u5bf9\u9632\u706b\u5899\u7684\u7ba1\u7406\u529f\u80fd\uff0c\u60a8\u9700\u8981\u9884\u5148\u81ea\u884c\u5b9a\u4e49\u76ee\u6807\u4e3b\u673a\u9632\u706b\u5899\u89c4\u5219\u3002\u4e3a\u4e86\u907f\u514d\u521b\u5efa\u96c6\u7fa4\u7684\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u95ee\u9898\uff0c\u5efa\u8bae\u7981\u7528\u76ee\u6807\u4e3b\u673a\u7684\u9632\u706b\u5899\u3002
                      • \u53c2\u9605\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5\u3002
                      "},{"location":"kpanda/user-guide/clusters/create-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u4e2d\uff0c\u70b9\u51fb \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae\u3002

                      2. \u53c2\u8003\u4e0b\u5217\u8981\u6c42\u586b\u5199\u96c6\u7fa4\u57fa\u672c\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                        • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u53ea\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08\"-\"\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u8005\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
                        • \u88ab\u7eb3\u7ba1\uff1a\u9009\u62e9\u7531\u54ea\u4e2a\u96c6\u7fa4\u6765\u7ba1\u7406\u6b64\u96c6\u7fa4\uff0c\u4f8b\u5982\u5728\u96c6\u7fa4\u751f\u547d\u5468\u671f\u4e2d\u521b\u5efa\u3001\u5347\u7ea7\u3001\u8282\u70b9\u6269\u7f29\u5bb9\u3001\u5220\u9664\u96c6\u7fa4\u7b49\u3002
                        • \u8fd0\u884c\u65f6\uff1a\u9009\u62e9\u96c6\u7fa4\u7684\u8fd0\u884c\u65f6\u73af\u5883\uff0c\u76ee\u524d\u652f\u6301 containerd \u548c docker\uff0c\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6\u3002
                        • Kubernetes \u7248\u672c\uff1a\u652f\u6301 3 \u4e2a\u7248\u672c\u8de8\u5ea6\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u88ab\u7eb3\u7ba1\u96c6\u7fa4\u6240\u652f\u6301\u7684\u7248\u672c\u3002

                      3. \u586b\u5199\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                        • \u9ad8\u53ef\u7528\uff1a\u5f00\u542f\u540e\u9700\u8981\u63d0\u4f9b\u81f3\u5c11 3 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u3002\u5173\u95ed\u540e\uff0c\u53ea\u63d0\u4f9b 1 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u5373\u53ef\u3002

                          \u751f\u4ea7\u73af\u5883\u4e2d\u5efa\u8bae\u4f7f\u7528\u9ad8\u53ef\u7528\u6a21\u5f0f\u3002

                        • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u9009\u62e9\u901a\u8fc7\u7528\u6237\u540d/\u5bc6\u7801\u8fd8\u662f\u516c\u79c1\u94a5\u8bbf\u95ee\u8282\u70b9\u3002

                          \u5982\u679c\u4f7f\u7528\u516c\u79c1\u94a5\u65b9\u5f0f\u8bbf\u95ee\u8282\u70b9\uff0c\u9700\u8981\u9884\u5148\u914d\u7f6e\u8282\u70b9\u7684 SSH \u5bc6\u94a5\u3002\u53c2\u9605\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9\u3002

                        • \u4f7f\u7528\u7edf\u4e00\u7684\u5bc6\u7801\uff1a\u5f00\u542f\u540e\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u7684\u8bbf\u95ee\u5bc6\u7801\u90fd\u76f8\u540c\uff0c\u9700\u8981\u5728\u4e0b\u65b9\u8f93\u5165\u8bbf\u95ee\u6240\u6709\u8282\u70b9\u7684\u7edf\u4e00\u5bc6\u7801\u3002\u5982\u679c\u5173\u95ed\uff0c\u5219\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u8282\u70b9\u8bbe\u7f6e\u5355\u72ec\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002

                        • \u8282\u70b9\u4fe1\u606f\uff1a\u586b\u5199\u8282\u70b9\u540d\u79f0\u548c IP \u5730\u5740\u3002

                        • \u81ea\u5b9a\u4e49\u53c2\u6570\uff1a\u8bbe\u7f6e\u53d8\u91cf\u63a7\u5236 Ansible \u4e0e\u8fdc\u7a0b\u4e3b\u673a\u4ea4\u4e92\u3002\u53ef\u8bbe\u7f6e\u53d8\u91cf\u53c2\u8003\u8fde\u63a5\u5230\u4e3b\u673a\uff1a\u884c\u4e3a\u6e05\u5355\u53c2\u6570
                        • NTP \u65f6\u95f4\u540c\u6b65\uff1a\u5f00\u542f\u540e\u4f1a\u81ea\u52a8\u540c\u6b65\u5404\u4e2a\u8282\u70b9\u4e0a\u7684\u65f6\u95f4\uff0c\u9700\u8981\u63d0\u4f9b NTP \u670d\u52a1\u5668\u5730\u5740\u3002

                      4. \u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb\u8282\u70b9\u68c0\u67e5\u3002\u5982\u679c\u68c0\u67e5\u901a\u8fc7\u5219\u7ee7\u7eed\u4e0b\u4e00\u6b65\u64cd\u4f5c\u3002\u5982\u679c\u68c0\u67e5\u672a\u901a\u8fc7\uff0c\u5219\u66f4\u65b0 \u8282\u70b9\u4fe1\u606f \u5e76\u518d\u6b21\u6267\u884c\u68c0\u67e5\u3002

                      5. \u586b\u5199\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                        • \u7f51\u7edc\u63d2\u4ef6\uff1a\u8d1f\u8d23\u4e3a\u96c6\u7fa4\u5185\u7684 Pod \u63d0\u4f9b\u7f51\u7edc\u670d\u52a1\uff0c\u521b\u5efa\u96c6\u7fa4\u540e\u4e0d\u53ef\u66f4\u6539\u7f51\u7edc\u63d2\u4ef6\u3002\u652f\u6301 cilium \u548c calico\u3002\u9009\u62e9 none \u8868\u793a\u6682\u4e0d\u5b89\u88c5\u7f51\u7edc\u63d2\u4ef6\u3002

                          \u6709\u5173\u7f51\u7edc\u63d2\u4ef6\u7684\u53c2\u6570\u914d\u7f6e\uff0c\u53ef\u53c2\u8003 cilium \u5b89\u88c5\u53c2\u6570\u914d\u7f6e\u6216 calico \u5b89\u88c5\u53c2\u6570\u914d\u7f6e\u3002

                        • \u5bb9\u5668\u7f51\u6bb5\uff1a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4f7f\u7528\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u7684\u6570\u91cf\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

                        • \u670d\u52a1\u7f51\u6bb5\uff1a\u540c\u4e00\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4e92\u76f8\u8bbf\u95ee\u65f6\u4f7f\u7528\u7684 Service \u8d44\u6e90\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a Service \u8d44\u6e90\u7684\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

                      6. \u586b\u5199\u63d2\u4ef6\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                      7. \u586b\u5199\u9ad8\u7ea7\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                        • kubelet_max_pods \uff1a\u8bbe\u7f6e\u6bcf\u4e2a\u8282\u70b9\u7684\u6700\u5927 Pod \u6570\u91cf\uff0c\u9ed8\u8ba4\u4e3a 110 \u4e2a\u3002
                        • hostname_overide \uff1a\u91cd\u7f6e\u4e3b\u673a\u540d\uff0c\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u503c\uff0c\u91c7\u7528\u7cfb\u7edf\u9ed8\u8ba4\u751f\u6210\u7684\u540d\u79f0\u4f5c\u4e3a\u4e3b\u673a\u540d\u79f0\u3002
                        • kubernetes_audit \uff1aKubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                        • auto_renew_certificate \uff1a\u5728\u6bcf\u6708\u7b2c\u4e00\u4e2a\u661f\u671f\u4e00\u81ea\u52a8\u66f4\u65b0 Kubernetes \u63a7\u5236\u5e73\u9762\u8bc1\u4e66\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                        • disable_firewalld&ufw \uff1a\u7981\u7528\u9632\u706b\u5899\uff0c\u907f\u514d\u8282\u70b9\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u8bbf\u95ee\u3002
                        • Insecure_registries \uff1a\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u914d\u7f6e\u3002\u4f7f\u7528\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u521b\u5efa\u96c6\u7fa4\u65f6\uff0c\u4e3a\u4e86\u907f\u514d\u8bc1\u4e66\u95ee\u9898\u5bfc\u81f4\u5bb9\u5668\u5f15\u64ce\u62d2\u7edd\u8bbf\u95ee\uff0c\u9700\u8981\u5728\u8fd9\u91cc\u586b\u5199\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u5730\u5740\uff0c\u4ee5\u7ed5\u8fc7\u5bb9\u5668\u5f15\u64ce\u7684\u8bc1\u4e66\u8ba4\u8bc1\u800c\u83b7\u53d6\u955c\u50cf\u3002
                        • yum_repos \uff1a\u586b\u5199 Yum \u6e90\u4ed3\u5e93\u5730\u5740\u3002\u79bb\u7ebf\u73af\u5883\u4e0b\uff0c\u9ed8\u8ba4\u7ed9\u51fa\u7684\u5730\u5740\u9009\u9879\u4ec5\u4f9b\u53c2\u8003\uff0c\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u586b\u5199\u3002

                      Success

                      • \u586b\u5199\u6b63\u786e\u4fe1\u606f\u5e76\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u9875\u9762\u4f1a\u63d0\u793a\u96c6\u7fa4\u6b63\u5728\u521b\u5efa\u4e2d\u3002
                      • \u521b\u5efa\u96c6\u7fa4\u8017\u65f6\u8f83\u957f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u5f85\u3002\u5176\u95f4\uff0c\u53ef\u4ee5\u70b9\u51fb \u8fd4\u56de\u96c6\u7fa4\u5217\u8868 \u6309\u94ae\u8ba9\u5b89\u88c5\u8fc7\u7a0b\u540e\u53f0\u8fd0\u884c\u3002
                      • \u5982\u9700\u67e5\u770b\u5f53\u524d\u72b6\u6001\uff0c\u53ef\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u3002

                      Note

                      • \u5f53\u96c6\u7fa4\u51fa\u73b0\u672a\u77e5\u72b6\u6001\u65f6\uff0c\u8868\u793a\u5f53\u524d\u96c6\u7fa4\u5df2\u5931\u8054\u3002
                      • \u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\u3002
                      • \u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002

                      "},{"location":"kpanda/user-guide/clusters/create-cluster.html#_4","title":"\u53c2\u8003\u6587\u6863","text":"
                      • \u5728 CentOS \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa Ubuntu \u5de5\u4f5c\u96c6\u7fa4
                      • \u5728 CentOS \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa RedHat 9.2 \u5de5\u4f5c\u96c6\u7fa4
                      • \u5728\u975e\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u521b\u5efa\u96c6\u7fa4
                      "},{"location":"kpanda/user-guide/clusters/delete-cluster.html","title":"\u5378\u8f7d/\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

                      \u901a\u8fc7 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0 \u521b\u5efa\u7684\u96c6\u7fa4 \u652f\u6301 \u5378\u8f7d\u96c6\u7fa4 \u6216 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\uff0c\u4ece\u5176\u4ed6\u73af\u5883\u76f4\u63a5 \u63a5\u5165\u7684\u96c6\u7fa4 \u4ec5\u652f\u6301 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u3002

                      Info

                      \u5982\u679c\u60f3\u5f7b\u5e95\u5220\u9664\u4e00\u4e2a\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u9700\u8981\u524d\u5f80\u521b\u5efa\u8be5\u96c6\u7fa4\u7684\u539f\u59cb\u5e73\u53f0\u64cd\u4f5c\u3002DCE 5.0 \u4e0d\u652f\u6301\u5220\u9664\u63a5\u5165\u7684\u96c6\u7fa4\u3002

                      \u5728 DCE 5.0 \u5e73\u53f0\u4e2d\uff0c \u5378\u8f7d\u96c6\u7fa4 \u548c \u89e3\u9664\u63a5\u5165 \u7684\u533a\u522b\u5728\u4e8e\uff1a

                      • \u5378\u8f7d\u96c6\u7fa4 \u64cd\u4f5c\u4f1a\u9500\u6bc1\u8be5\u96c6\u7fa4\uff0c\u5e76\u91cd\u7f6e\u96c6\u7fa4\u4e0b\u6240\u6709\u8282\u70b9\u7684\u6570\u636e\u3002\u6240\u6709\u6570\u636e\u90fd\u5c06\u88ab\u9500\u6bc1\uff0c\u5efa\u8bae\u505a\u597d\u5907\u4efd\u3002\u540e\u671f\u9700\u8981\u65f6\u5fc5\u987b\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u96c6\u7fa4\u3002
                      • \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u4f1a\u5c06\u5f53\u524d\u96c6\u7fa4\u4ece\u5e73\u53f0\u4e2d\u79fb\u9664\uff0c\u4e0d\u4f1a\u6467\u6bc1\u96c6\u7fa4\uff0c\u4e5f\u4e0d\u4f1a\u9500\u6bc1\u6570\u636e\u3002
                      "},{"location":"kpanda/user-guide/clusters/delete-cluster.html#_2","title":"\u5378\u8f7d\u96c6\u7fa4","text":"

                      Note

                      • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u5378\u8f7d\u96c6\u7fa4\u7684\u64cd\u4f5c\u3002
                      • \u5378\u8f7d\u96c6\u7fa4\u4e4b\u524d\uff0c\u5e94\u8be5\u5148\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u5728 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \u4e2d\u5173\u95ed \u96c6\u7fa4\u5220\u9664\u4fdd\u62a4 \uff0c \u5426\u5219\u4e0d\u663e\u793a \u5378\u8f7d\u96c6\u7fa4 \u7684\u9009\u9879\u3002
                      • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u5378\u8f7d\u6216\u79fb\u9664\u64cd\u4f5c\u3002
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u5378\u8f7d\u96c6\u7fa4 \u3002

                      2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u3002

                        \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u6267\u884c\u5378\u8f7d\u64cd\u4f5c\u3002

                      3. \u8fd4\u56de \u96c6\u7fa4\u5217\u8868 \u9875\u53ef\u4ee5\u770b\u5230\u8be5\u96c6\u7fa4\u7684\u72b6\u6001\u5df2\u7ecf\u53d8\u6210 \u5220\u9664\u4e2d \u3002\u5378\u8f7d\u96c6\u7fa4\u53ef\u80fd\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5019\u3002

                      "},{"location":"kpanda/user-guide/clusters/delete-cluster.html#_3","title":"\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

                      Note

                      • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u89e3\u9664\u63a5\u5165\u7684\u64cd\u4f5c\u3002
                      • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u89e3\u9664\u63a5\u5165\u3002
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

                      2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

                        \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u89e3\u9664\u63a5\u5165\u3002

                      "},{"location":"kpanda/user-guide/clusters/delete-cluster.html#_4","title":"\u6e05\u7406\u89e3\u9664\u63a5\u5165\u96c6\u7fa4\u914d\u7f6e\u6570\u636e","text":"

                      \u96c6\u7fa4\u88ab\u79fb\u9664\u540e\uff0c\u96c6\u7fa4\u4e2d\u539f\u6709\u7684\u7ba1\u7406\u5e73\u53f0\u6570\u636e\u4e0d\u4f1a\u88ab\u81ea\u52a8\u6e05\u9664\uff0c\u5982\u9700\u5c06\u96c6\u7fa4\u63a5\u5165\u81f3\u65b0\u7ba1\u7406\u5e73\u53f0\u5219\u9700\u8981\u624b\u52a8\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

                      1. \u5220\u9664 kpanda-system\u3001insight-system \u547d\u540d\u7a7a\u95f4

                        kubectl delete ns kpanda-system insight-system\n
                      2. \u5982\u679c\u4e3a\u5f53\u524d\u96c6\u7fa4\u542f\u7528\u4e86\u670d\u52a1\u7f51\u683c\u80fd\u529b\uff0c\u8bf7\u53c2\u8003\u5220\u9664\u7f51\u683c\u6587\u6863\u5220\u9664\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u7f51\u683c\u5b9e\u4f8b\u3002

                      "},{"location":"kpanda/user-guide/clusters/integrate-cluster.html","title":"\u63a5\u5165\u96c6\u7fa4","text":"

                      \u901a\u8fc7\u63a5\u5165\u96c6\u7fa4\u64cd\u4f5c\uff0c\u80fd\u591f\u5bf9\u4f17\u591a\u4e91\u670d\u52a1\u5e73\u53f0\u96c6\u7fa4\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u7eb3\u7ba1\uff0c\u5f62\u6210\u7edf\u4e00\u6cbb\u7406\u5e73\u53f0\uff0c\u6709\u6548\u907f\u514d\u4e86\u88ab\u5382\u5546\u9501\u5b9a\u98ce\u9669\uff0c\u52a9\u529b\u4f01\u4e1a\u4e1a\u52a1\u5b89\u5168\u4e0a\u4e91\u3002

                      \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u63a5\u5165\u591a\u79cd\u4e3b\u6d41\u7684\u5bb9\u5668\u96c6\u7fa4\uff0c\u4f8b\u5982 DaoCloud KubeSpray, DaoCloud ClusterAPI, DaoCloud Enterprise 4.0\u3001Redhat Openshift, SUSE Rancher, VMware Tanzu, Amazon EKS, Aliyun ACK, Huawei CCE, Tencent TKE,\u6807\u51c6 Kubernetes \u96c6\u7fa4\u3002

                      "},{"location":"kpanda/user-guide/clusters/integrate-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u51c6\u5907\u4e00\u4e2a\u5f85\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\uff0c\u5e76\u4e14\u96c6\u7fa4\u7684 Kubernetes \u7248\u672c 1.22+\u3002
                      • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
                      "},{"location":"kpanda/user-guide/clusters/integrate-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u63a5\u5165\u96c6\u7fa4 \u6309\u94ae\u3002

                      2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                        • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u5e94\u5177\u6709\u552f\u4e00\u6027\uff0c\u8bbe\u7f6e\u540e\u4e0d\u53ef\u66f4\u6539\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26(\"-\")\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002
                        • \u96c6\u7fa4\u522b\u540d\uff1a\u53ef\u8f93\u5165\u4efb\u610f\u5b57\u7b26\uff0c\u4e0d\u8d85\u8fc7 60 \u4e2a\u5b57\u7b26\u3002
                        • \u53d1\u884c\u7248\uff1a\u96c6\u7fa4\u7684\u53d1\u884c\u5382\u5546\uff0c\u5305\u62ec\u5e02\u573a\u4e3b\u6d41\u4e91\u5382\u5546\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u3002
                      3. \u586b\u5199\u76ee\u6807\u96c6\u7fa4\u7684 KubeConfig\uff0c\u70b9\u51fb \u9a8c\u8bc1 Config \uff0c\u9a8c\u8bc1\u901a\u8fc7\u540e\u624d\u80fd\u6210\u529f\u63a5\u5165\u96c6\u7fa4\u3002

                        \u5982\u679c\u4e0d\u77e5\u9053\u5982\u4f55\u83b7\u53d6\u96c6\u7fa4\u7684 KubeConfig \u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u53f3\u4e0a\u89d2\u70b9\u51fb \u5982\u4f55\u83b7\u53d6 kubeConfig \u67e5\u770b\u5bf9\u5e94\u6b65\u9aa4\u3002

                      4. \u786e\u8ba4\u6240\u6709\u53c2\u6570\u586b\u5199\u6b63\u786e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

                      Note

                      • \u65b0\u63a5\u5165\u7684\u96c6\u7fa4\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u63a5\u5165\u6210\u529f\u540e\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002
                      • \u5982\u679c\u96c6\u7fa4\u72b6\u6001\u4e00\u76f4\u5904\u4e8e \u63a5\u5165\u4e2d \uff0c\u8bf7\u786e\u8ba4\u63a5\u5165\u811a\u672c\u662f\u5426\u5728\u5bf9\u5e94\u96c6\u7fa4\u4e0a\u6267\u884c\u6210\u529f\u3002\u6709\u5173\u96c6\u7fa4\u72b6\u6001\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u72b6\u6001\u3002
                      "},{"location":"kpanda/user-guide/clusters/integrate-cluster.html#_4","title":"\u53c2\u8003\u6587\u6863","text":"
                      • \u4e3a\u5de5\u4f5c\u96c6\u7fa4\u6dfb\u52a0\u5f02\u6784\u8282\u70b9
                      • DCE 4.0 -> DCE 5.0 \u6709\u9650\u573a\u666f\u8fc1\u79fb
                      "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html","title":"\u63a5\u5165 rancher \u96c6\u7fa4","text":"

                      \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u63a5\u5165 rancher \u96c6\u7fa4\u3002

                      "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u51c6\u5907\u4e00\u4e2a\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u5f85\u63a5\u5165 ranhcer \u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\u3002
                      • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
                      "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#rancher-serviceaccount","title":"\u6b65\u9aa4\u4e00\uff1a\u5728 rancher \u96c6\u7fa4\u521b\u5efa\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684 ServiceAccount \u7528\u6237","text":"
                      1. \u4f7f\u7528\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u89d2\u8272\u8fdb\u5165 rancher \u96c6\u7fa4\uff0c\u5e76\u4f7f\u7528\u7ec8\u7aef\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a sa.yaml \u7684\u6587\u4ef6\u3002

                        vi sa.yaml\n

                        \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                        sa.yaml
                        apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: rancher-rke\nrules:\n  - apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n  - nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: rancher-rke\nroleRef:\n    apiGroup: rbac.authorization.k8s.io\n    kind: ClusterRole\n    name: rancher-rke\n  subjects:\n  - kind: ServiceAccount\n    name: rancher-rke\n    namespace: kube-system\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: rancher-rke\n  namespace: kube-system\n

                        \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                      2. \u5728\u5f53\u524d\u8def\u5f84\u4e0b\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u65b0\u5efa\u540d\u4e3a rancher-rke \u7684 ServiceAccount\uff08\u4ee5\u4e0b\u7b80\u79f0\u4e3a SA \uff09\uff1a

                        kubectl apply -f sa.yaml\n

                        \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                        clusterrole.rbac.authorization.k8s.io/rancher-rke created\nclusterrolebinding.rbac.authorization.k8s.io/rancher-rke created\nserviceaccount/rancher-rke created\n
                      3. \u521b\u5efa\u540d\u4e3a rancher-rke-secret \u7684\u5bc6\u94a5\uff0c\u5e76\u5c06\u5bc6\u94a5\u548c rancher-rke SA \u7ed1\u5b9a\u3002

                        kubectl apply -f - <<EOF\napiVersion: v1\nkind: Secret\nmetadata:\n  name: rancher-rke-secret\n  namespace: kube-system\n  annotations:\n    kubernetes.io/service-account.name: rancher-rke\n  type: kubernetes.io/service-account-token\nEOF\n

                        \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                        secret/rancher-rke-secret created\n

                        Note

                        \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u7248\u672c\u4f4e\u4e8e 1.24\uff0c\u8bf7\u5ffd\u7565\u6b64\u6b65\u9aa4\uff0c\u76f4\u63a5\u524d\u5f80\u4e0b\u4e00\u6b65\u3002

                      4. \u67e5\u627e rancher-rke SA \u7684\u5bc6\u94a5\uff1a

                        kubectl -n kube-system get secret | grep rancher-rke | awk '{print $1}'\n

                        \u9884\u671f\u8f93\u51fa\uff1a

                        rancher-rke-secret\n

                        \u67e5\u770b\u5bc6\u94a5 rancher-rke-secret \u7684\u8be6\u60c5\uff1a

                        kubectl -n kube-system describe secret rancher-rke-secret\n

                        \u9884\u671f\u8f93\u51fa\uff1a

                        Name:         rancher-rke-secret\nNamespace:    kube-system\nLabels:       <none>\nAnnotations:  kubernetes.io/service-account.name: rancher-rke\n            kubernetes.io/service-account.uid: d83df5d9-bd7d-488d-a046-b740618a0174\n\nType:  kubernetes.io/service-account-token\n\nData\n====\nca.crt:     570 bytes\nnamespace:  11 bytes\ntoken:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
                      "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#rancher-rke-sa-kubeconfig","title":"\u6b65\u9aa4\u4e8c\uff1a\u5728\u672c\u5730\u4f7f\u7528 rancher-rke SA \u7684\u8ba4\u8bc1\u4fe1\u606f\u66f4\u65b0 kubeconfig \u6587\u4ef6","text":"

                      \u5728\u4efb\u610f\u4e00\u53f0\u5b89\u88c5\u4e86 kubelet \u7684\u672c\u5730\u8282\u70b9\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

                      1. \u914d\u7f6e kubelet token\uff1a

                        kubectl config set-credentials rancher-rke --token=`rancher-rke-secret` \u91cc\u9762\u7684 token \u4fe1\u606f\n

                        \u4f8b\u5982\uff1a

                        kubectl config set-credentials eks-admin --token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
                      2. \u914d\u7f6e kubelet APIServer \u4fe1\u606f\uff1a

                        kubectl config set-cluster {\u96c6\u7fa4\u540d} --insecure-skip-tls-verify=true --server={APIServer}\n
                        • {\u96c6\u7fa4\u540d} \uff1a\u6307 rancher \u96c6\u7fa4\u7684\u540d\u79f0\u3002
                        • {APIServer} \uff1a\u6307\u96c6\u7fa4\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u4e00\u822c\u4e3a\u96c6\u7fa4\u63a7\u5236\u8282\u70b9 IP + 6443 \u7aef\u53e3\uff0c\u5982 https://10.X.X.X:6443

                        \u4f8b\u5982\uff1a

                        kubectl config set-cluster rancher-rke --insecure-skip-tls-verify=true --server=https://10.X.X.X:6443\n
                      3. \u914d\u7f6e kubelet \u4e0a\u4e0b\u6587\u4fe1\u606f\uff1a

                        kubectl config set-context {\u4e0a\u4e0b\u6587\u540d\u79f0} --cluster={\u96c6\u7fa4\u540d} --user={SA \u7528\u6237\u540d}\n

                        \u4f8b\u5982\uff1a

                        kubectl config set-context rancher-rke-context --cluster=rancher-rke --user=rancher-rke\n
                      4. \u5728 kubelet \u4e2d\u6307\u5b9a\u6211\u4eec\u521a\u521a\u65b0\u5efa\u7684\u4e0a\u4e0b\u6587 rancher-rke-context \uff1a

                        kubectl config use-context rancher-rke-context\n
                      5. \u83b7\u53d6\u4e0a\u4e0b\u6587 rancher-rke-context \u4e2d\u7684 kubeconfig \u4fe1\u606f\u3002

                        kubectl config view --minify --flatten --raw\n

                        \u9884\u671f\u8f93\u51fa\uff1a

                        apiVersion: v1\n  clusters:\n  - cluster:\n    insecure-skip-tls-verify: true\n    server: https://77C321BCF072682C70C8665ED4BFA10D.gr7.ap-southeast-1.eks.amazonaws.com\n  name: joincluster\n  contexts:\n  - context:\n    cluster: joincluster\n    user: eks-admin\n  name: ekscontext\n  current-context: ekscontext\n  kind: Config\n  preferences: {}\n  users:\n  - name: eks-admin\n  user:\n    token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImcxTjJwNkktWm5IbmRJU1RFRExvdWY1TGFWVUtGQ3VIejFtNlFQcUNFalEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2V\n
                      "},{"location":"kpanda/user-guide/clusters/integrate-rancher-cluster.html#dce","title":"\u6b65\u9aa4\u4e09\uff1a\u5728 DCE \u754c\u9762\u63a5\u5165\u96c6\u7fa4","text":"

                      \u4f7f\u7528\u521a\u521a\u83b7\u53d6\u7684 kubeconfig \u6587\u4ef6\uff0c\u53c2\u8003\u63a5\u5165\u96c6\u7fa4\u6587\u6863\uff0c\u5c06 rancher \u96c6\u7fa4\u63a5\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3002

                      "},{"location":"kpanda/user-guide/clusters/k8s-cert.html","title":"Kubernetes \u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0","text":"

                      \u4e3a\u4fdd\u8bc1 Kubernetes \u5404\u7ec4\u4ef6\u4e4b\u95f4\u7684\u901a\u4fe1\u5b89\u5168\uff0c\u7ec4\u4ef6\u4e4b\u95f4\u7684\u8c03\u7528\u4f1a\u8fdb\u884c TLS \u8eab\u4efd\u9a8c\u8bc1\uff0c\u6267\u884c\u9a8c\u8bc1\u64cd\u4f5c\u9700\u8981\u914d\u7f6e\u96c6\u7fa4 PKI \u8bc1\u4e66\u3002

                      \u96c6\u7fa4\u8bc1\u4e66\u6709\u6548\u671f\u4e3a1\u5e74\uff0c\u4e3a\u907f\u514d\u8bc1\u4e66\u8fc7\u671f\u5bfc\u81f4\u4e1a\u52a1\u65e0\u6cd5\u4f7f\u7528\uff0c\u8bf7\u53ca\u65f6\u66f4\u65b0\u8bc1\u4e66\u3002

                      \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u8fdb\u884c\u8bc1\u4e66\u66f4\u65b0\u3002

                      "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#_1","title":"\u68c0\u67e5\u8bc1\u4e66\u662f\u5426\u8fc7\u671f","text":"

                      \u60a8\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\u662f\u5426\u8fc7\u671f\uff1a

                      kubeadm certs check-expiration\n

                      \u8f93\u51fa\u7c7b\u4f3c\u4e8e\u4ee5\u4e0b\u5185\u5bb9\uff1a

                      CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED\nadmin.conf                 Dec 14, 2024 07:26 UTC   204d                                    no      \napiserver                  Dec 14, 2024 07:26 UTC   204d            ca                      no      \napiserver-etcd-client      Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \napiserver-kubelet-client   Dec 14, 2024 07:26 UTC   204d            ca                      no      \ncontroller-manager.conf    Dec 14, 2024 07:26 UTC   204d                                    no      \netcd-healthcheck-client    Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-peer                  Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-server                Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \nfront-proxy-client         Dec 14, 2024 07:26 UTC   204d            front-proxy-ca          no      \nscheduler.conf             Dec 14, 2024 07:26 UTC   204d                                    no      \n\nCERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED\nca                      Dec 12, 2033 07:26 UTC   9y              no      \netcd-ca                 Dec 12, 2033 07:26 UTC   9y              no      \nfront-proxy-ca          Dec 12, 2033 07:26 UTC   9y              no      \n
                      "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#_2","title":"\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66\uff0c\u53ea\u9700\u5e26\u4e0a\u5408\u9002\u7684\u547d\u4ee4\u884c\u9009\u9879\u3002\u66f4\u65b0\u8bc1\u4e66\u524d\u8bf7\u5148\u5907\u4efd\u5f53\u524d\u8bc1\u4e66\u3002

                      \u66f4\u65b0\u6307\u5b9a\u8bc1\u4e66\uff1a

                      kubeadm certs renew\n

                      \u66f4\u65b0\u5168\u90e8\u8bc1\u4e66\uff1a

                      kubeadm certs renew all\n

                      \u66f4\u65b0\u540e\u7684\u8bc1\u4e66\u53ef\u4ee5\u5728 /etc/kubernetes/pki \u76ee\u5f55\u4e0b\u67e5\u770b\uff0c\u6709\u6548\u671f\u5ef6\u7eed 1 \u5e74\u3002 \u4ee5\u4e0b\u5bf9\u5e94\u7684\u51e0\u4e2a\u914d\u7f6e\u6587\u4ef6\u4e5f\u4f1a\u540c\u6b65\u66f4\u65b0\uff1a

                      • /etc/kubernetes/admin.conf
                      • /etc/kubernetes/controller-manager.conf
                      • /etc/kubernetes/scheduler.conf

                      Note

                      • \u5982\u679c\u60a8\u90e8\u7f72\u7684\u662f\u4e00\u4e2a\u9ad8\u53ef\u7528\u96c6\u7fa4\uff0c\u8fd9\u4e2a\u547d\u4ee4\u9700\u8981\u5728\u6240\u6709\u63a7\u5236\u8282\u70b9\u4e0a\u6267\u884c\u3002
                      • \u6b64\u547d\u4ee4\u7528 CA\uff08\u6216\u8005 front-proxy-CA \uff09\u8bc1\u4e66\u548c\u5b58\u50a8\u5728 /etc/kubernetes/pki \u4e2d\u7684\u5bc6\u94a5\u6267\u884c\u66f4\u65b0\u3002
                      "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#_3","title":"\u91cd\u542f\u670d\u52a1","text":"

                      \u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u4e4b\u540e\uff0c\u4f60\u9700\u8981\u91cd\u542f\u63a7\u5236\u9762 Pod\u3002\u56e0\u4e3a\u52a8\u6001\u8bc1\u4e66\u91cd\u8f7d\u76ee\u524d\u8fd8\u4e0d\u88ab\u6240\u6709\u7ec4\u4ef6\u548c\u8bc1\u4e66\u652f\u6301\uff0c\u6240\u6709\u8fd9\u9879\u64cd\u4f5c\u662f\u5fc5\u987b\u7684\u3002

                      \u9759\u6001 Pod \u662f\u88ab\u672c\u5730 kubelet \u800c\u4e0d\u662f API \u670d\u52a1\u5668\u7ba1\u7406\uff0c\u6240\u4ee5 kubectl \u4e0d\u80fd\u7528\u6765\u5220\u9664\u6216\u91cd\u542f\u4ed6\u4eec\u3002

                      \u8981\u91cd\u542f\u9759\u6001 Pod\uff0c\u4f60\u53ef\u4ee5\u4e34\u65f6\u5c06\u6e05\u5355\u6587\u4ef6\u4ece /etc/kubernetes/manifests/ \u79fb\u9664\u5e76\u7b49\u5f85 20 \u79d2\u3002 \u53c2\u8003 KubeletConfiguration \u7ed3\u6784\u4e2d\u7684 fileCheckFrequency \u503c\u3002

                      \u5982\u679c Pod \u4e0d\u5728\u6e05\u5355\u76ee\u5f55\u91cc\uff0ckubelet \u5c06\u4f1a\u7ec8\u6b62\u5b83\u3002 \u5728\u53e6\u4e00\u4e2a fileCheckFrequency \u5468\u671f\u4e4b\u540e\u4f60\u53ef\u4ee5\u5c06\u6587\u4ef6\u79fb\u56de\u53bb\uff0ckubelet \u53ef\u4ee5\u5b8c\u6210 Pod \u7684\u91cd\u5efa\uff0c\u800c\u7ec4\u4ef6\u7684\u8bc1\u4e66\u66f4\u65b0\u64cd\u4f5c\u4e5f\u5f97\u4ee5\u5b8c\u6210\u3002

                      mv ./manifests/* ./temp/\nmv ./temp/* ./manifests/\n

                      Note

                      \u5982\u679c\u5bb9\u5668\u670d\u52a1\u4f7f\u7528\u7684\u662f Docker\uff0c\u4e3a\u4e86\u8ba9\u8bc1\u4e66\u751f\u6548\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bf9\u6d89\u53ca\u5230\u8bc1\u4e66\u4f7f\u7528\u7684\u51e0\u4e2a\u670d\u52a1\u8fdb\u884c\u91cd\u542f\uff1a

                      docker ps | grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' | xargs docker restart\n
                      "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#kubeconfig","title":"\u66f4\u65b0 KubeConfig","text":"

                      \u6784\u5efa\u96c6\u7fa4\u65f6\u901a\u5e38\u4f1a\u5c06 admin.conf \u8bc1\u4e66\u590d\u5236\u5230 $HOME/.kube/config \u4e2d\uff0c\u4e3a\u4e86\u5728\u66f4\u65b0 admin.conf \u540e\u66f4\u65b0 $HOME/.kube/config \u7684\u5185\u5bb9\uff0c \u5fc5\u987b\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n
                      "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#kubelet","title":"\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362","text":"

                      \u5b8c\u6210\u4ee5\u4e0a\u64cd\u4f5c\u540e\uff0c\u57fa\u672c\u5b8c\u6210\u4e86\u96c6\u7fa4\u6240\u6709\u8bc1\u4e66\u7684\u66f4\u65b0\uff0c\u4f46\u4e0d\u5305\u62ec kubelet\u3002

                      \u56e0\u4e3a kubernetes \u5305\u542b\u7279\u6027 kubelet \u8bc1\u4e66\u8f6e\u6362\uff0c \u5728\u5f53\u524d\u8bc1\u4e66\u5373\u5c06\u8fc7\u671f\u65f6\uff0c \u5c06\u81ea\u52a8\u751f\u6210\u65b0\u7684\u79d8\u94a5\uff0c\u5e76\u4ece Kubernetes API \u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002 \u4e00\u65e6\u65b0\u7684\u8bc1\u4e66\u53ef\u7528\uff0c\u5b83\u5c06\u88ab\u7528\u4e8e\u4e0e Kubernetes API \u95f4\u7684\u8fde\u63a5\u8ba4\u8bc1\u3002

                      Note

                      \u6b64\u7279\u6027\u9002\u7528\u4e8e Kubernetes 1.8.0 \u6216\u66f4\u9ad8\u7684\u7248\u672c\u3002

                      \u542f\u7528\u5ba2\u6237\u7aef\u8bc1\u4e66\u8f6e\u6362\uff0c\u914d\u7f6e\u53c2\u6570\u5982\u4e0b\uff1a

                      • kubelet \u8fdb\u7a0b\u63a5\u6536 --rotate-certificates \u53c2\u6570\uff0c\u8be5\u53c2\u6570\u51b3\u5b9a kubelet \u5728\u5f53\u524d\u4f7f\u7528\u7684 \u8bc1\u4e66\u5373\u5c06\u5230\u671f\u65f6\uff0c\u662f\u5426\u4f1a\u81ea\u52a8\u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002

                      • kube-controller-manager \u8fdb\u7a0b\u63a5\u6536 --cluster-signing-duration \u53c2\u6570 \uff08\u5728 1.19 \u7248\u672c\u4e4b\u524d\u4e3a --experimental-cluster-signing-duration\uff09\uff0c\u7528\u6765\u63a7\u5236\u7b7e\u53d1\u8bc1\u4e66\u7684\u6709\u6548\u671f\u9650\u3002

                      \u66f4\u591a\u8be6\u60c5\u53c2\u8003\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362\u3002

                      "},{"location":"kpanda/user-guide/clusters/k8s-cert.html#_4","title":"\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

                      \u4e3a\u4e86\u66f4\u9ad8\u6548\u4fbf\u6377\u5904\u7406\u5df2\u8fc7\u671f\u6216\u8005\u5373\u5c06\u8fc7\u671f\u7684 kubernetes \u96c6\u7fa4\u8bc1\u4e66\uff0c\u53ef\u53c2\u8003 k8s \u7248\u672c\u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0\u3002

                      "},{"location":"kpanda/user-guide/clusters/runtime.html","title":"\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6","text":"

                      \u5bb9\u5668\u8fd0\u884c\u65f6\u662f kubernetes \u4e2d\u5bf9\u5bb9\u5668\u548c\u5bb9\u5668\u955c\u50cf\u751f\u547d\u5468\u671f\u8fdb\u884c\u7ba1\u7406\u7684\u91cd\u8981\u7ec4\u4ef6\u3002 kubernetes \u5728 1.19 \u7248\u672c\u4e2d\u5c06 containerd \u8bbe\u4e3a\u9ed8\u8ba4\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u5e76\u5728 1.24 \u7248\u672c\u4e2d\u79fb\u9664\u4e86 Dockershim \u7ec4\u4ef6\u7684\u652f\u6301\u3002

                      \u56e0\u6b64\u76f8\u8f83\u4e8e Docker \u8fd0\u884c\u65f6\uff0c\u6211\u4eec\u66f4\u52a0 \u63a8\u8350\u60a8\u4f7f\u7528\u8f7b\u91cf\u7684 containerd \u4f5c\u4e3a\u60a8\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u56e0\u4e3a\u8fd9\u5df2\u7ecf\u6210\u4e3a\u5f53\u524d\u4e3b\u6d41\u7684\u8fd0\u884c\u65f6\u9009\u62e9\u3002

                      \u9664\u6b64\u4e4b\u5916\uff0c\u4e00\u4e9b\u64cd\u4f5c\u7cfb\u7edf\u53d1\u884c\u5382\u5546\u5bf9 Docker \u8fd0\u884c\u65f6\u7684\u517c\u5bb9\u4e5f\u4e0d\u591f\u53cb\u597d\uff0c\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u8fd0\u884c\u65f6\u7684\u652f\u6301\u5982\u4e0b\u8868\uff1a

                      "},{"location":"kpanda/user-guide/clusters/runtime.html#_2","title":"\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u548c\u63a8\u8350\u7684\u8fd0\u884c\u65f6\u7248\u672c\u5bf9\u5e94\u5173\u7cfb","text":"\u64cd\u4f5c\u7cfb\u7edf \u63a8\u8350\u7684 containerd \u7248\u672c \u63a8\u8350\u7684 Docker \u7248\u672c CentOS 1.7.5 20.10 RedHatOS 1.7.5 20.10 KylinOS 1.7.5 19.03\uff08\u4ec5 ARM \u67b6\u6784\u652f\u6301 \uff0c\u5728 x86 \u67b6\u6784\u4e0b\u4e0d\u652f\u6301\u4f7f\u7528 Docker \u4f5c\u4e3a\u8fd0\u884c\u65f6\uff09

                      \u66f4\u591a\u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 RedHatOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c \u548c KylinOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c

                      Note

                      \u5728\u79bb\u7ebf\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u9700\u8981\u63d0\u524d\u51c6\u5907\u76f8\u5173\u64cd\u4f5c\u7cfb\u7edf\u7684\u8fd0\u884c\u65f6\u79bb\u7ebf\u5305\u3002

                      "},{"location":"kpanda/user-guide/clusters/upgrade-cluster.html","title":"\u96c6\u7fa4\u5347\u7ea7","text":"

                      Kubernetes \u793e\u533a\u6bcf\u4e2a\u5b63\u5ea6\u90fd\u4f1a\u53d1\u5e03\u4e00\u6b21\u5c0f\u7248\u672c\uff0c\u6bcf\u4e2a\u7248\u672c\u7684\u7ef4\u62a4\u5468\u671f\u5927\u6982\u53ea\u6709 9 \u4e2a\u6708\u3002 \u7248\u672c\u505c\u6b62\u7ef4\u62a4\u540e\u5c31\u4e0d\u4f1a\u518d\u66f4\u65b0\u4e00\u4e9b\u91cd\u5927\u6f0f\u6d1e\u6216\u5b89\u5168\u6f0f\u6d1e\u3002\u624b\u52a8\u5347\u7ea7\u96c6\u7fa4\u64cd\u4f5c\u8f83\u4e3a\u7e41\u7410\uff0c\u7ed9\u7ba1\u7406\u4eba\u5458\u5e26\u6765\u4e86\u6781\u5927\u7684\u5de5\u4f5c\u8d1f\u62c5\u3002

                      \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u901a\u8fc7 Web UI \u754c\u9762\u4e00\u952e\u5f0f\u5728\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4 Kubernetes \u7248\u672c\uff0c \u5982\u9700\u79bb\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u7684 kubernetes \u7248\u672c\uff0c\u8bf7\u53c2\u9605\u5de5\u4f5c\u96c6\u7fa4\u79bb\u7ebf\u5347\u7ea7\u6307\u5357\u8fdb\u884c\u5347\u7ea7\u3002

                      Danger

                      \u7248\u672c\u5347\u7ea7\u540e\u5c06\u65e0\u6cd5\u56de\u9000\u5230\u4e4b\u524d\u7684\u7248\u672c\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                      Note

                      • Kubernetes \u7248\u672c\u4ee5 x.y.z \u8868\u793a\uff0c\u5176\u4e2d x \u662f\u4e3b\u8981\u7248\u672c\uff0c y \u662f\u6b21\u8981\u7248\u672c\uff0c z \u662f\u8865\u4e01\u7248\u672c\u3002
                      • \u4e0d\u5141\u8bb8\u8de8\u6b21\u8981\u7248\u672c\u5bf9\u96c6\u7fa4\u8fdb\u884c\u5347\u7ea7\uff0c\u4f8b\u5982\u4e0d\u80fd\u4ece 1.23 \u76f4\u63a5\u5347\u7ea7\u5230 1.25\u3002
                      • \u63a5\u5165\u96c6\u7fa4 \u4e0d\u652f\u6301\u7248\u672c\u5347\u7ea7\u3002\u5982\u679c\u5de6\u4fa7\u5bfc\u822a\u680f\u6ca1\u6709 \u96c6\u7fa4\u5347\u7ea7 \uff0c\u8bf7\u68c0\u67e5\u8be5\u96c6\u7fa4\u662f\u5426\u4e3a \u63a5\u5165\u96c6\u7fa4 \u3002
                      • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u53ea\u80fd\u901a\u8fc7\u7ec8\u7aef\u8fdb\u884c\u5347\u7ea7\u3002
                      • \u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u5e94\u8be5\u5df2\u7ecf\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u5e76\u4e14\u5904\u4e8e\u6b63\u5e38\u8fd0\u884c\u4e2d\u3002
                      • \u5982\u679c\u9700\u8981\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u5347\u7ea7\u76f8\u540c\u7248\u672c\u7684\u65b9\u5f0f\u5b9e\u73b0\uff0c\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u3002
                      1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                      2. \u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u5347\u7ea7 \uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u7248\u672c\u5347\u7ea7 \u3002

                      3. \u9009\u62e9\u53ef\u5347\u7ea7\u7684\u7248\u672c\uff0c\u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\u3002

                        Note

                        \u5982\u679c\u60a8\u662f\u60f3\u901a\u8fc7\u5347\u7ea7\u65b9\u5f0f\u6765\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff1a

                        1. \u627e\u5230\u96c6\u7fa4\u5bf9\u5e94\u7684 ConfigMap\uff0c\u60a8\u53ef\u4ee5\u767b\u5f55\u63a7\u5236\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u627e\u5230 varsConfRef \u4e2d\u7684 ConfigMap \u540d\u79f0\u3002

                          kubectl get cluster.kubean.io <clustername> -o yaml\n
                        2. \u6839\u636e\u9700\u8981\uff0c\u4fee\u6539 ConfigMap \u4e2d\u7684\u53c2\u6570\u4fe1\u606f\u3002

                        3. \u5728\u6b64\u5904\u9009\u62e9\u76f8\u540c\u7248\u672c\u8fdb\u884c\u5347\u7ea7\u64cd\u4f5c\uff0c\u5347\u7ea7\u5b8c\u6210\u5373\u53ef\u6210\u529f\u66f4\u65b0\u5bf9\u5e94\u7684\u96c6\u7fa4\u53c2\u6570\u3002

                      4. \u70b9\u51fb \u786e\u5b9a \u540e\uff0c\u53ef\u4ee5\u770b\u5230\u96c6\u7fa4\u7684\u5347\u7ea7\u8fdb\u5ea6\u3002

                      5. \u96c6\u7fa4\u5347\u7ea7\u9884\u8ba1\u9700\u8981 30 \u5206\u949f\uff0c\u53ef\u4ee5\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u6309\u94ae\u67e5\u770b\u96c6\u7fa4\u5347\u7ea7\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/configmap-hot-loading.html","title":"configmap/secret \u70ed\u52a0\u8f7d","text":"

                      configmap/secret \u70ed\u52a0\u8f7d\u662f\u6307\u5c06 configmap/secret \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u5728\u5bb9\u5668\u4e2d\u6302\u8f7d\u65f6\uff0c\u5f53\u914d\u7f6e\u53d1\u751f\u6539\u53d8\u65f6\uff0c\u5bb9\u5668\u5c06\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u800c\u65e0\u9700\u91cd\u542f Pod\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/configmap-hot-loading.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u53c2\u8003\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d - \u5bb9\u5668\u914d\u7f6e\uff0c\u914d\u7f6e\u5bb9\u5668\u6570\u636e\u5b58\u50a8\uff0c\u9009\u62e9 Configmap \u3001 Configmap Key \u3001 Secret \u3001 Secret Key \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u81f3\u5bb9\u5668\u3002

                        Note

                        \u4f7f\u7528\u5b50\u8def\u5f84\uff08SubPath\uff09\u65b9\u5f0f\u6302\u8f7d\u7684\u914d\u7f6e\u6587\u4ef6\u4e0d\u652f\u6301\u70ed\u52a0\u8f7d\u3002

                      2. \u8fdb\u5165\u3010\u914d\u7f6e\u4e0e\u5bc6\u94a5\u3011\u9875\u9762\uff0c\u8fdb\u5165\u914d\u7f6e\u9879\u8be6\u60c5\u9875\u9762\uff0c\u5728\u3010\u5173\u8054\u8d44\u6e90\u3011\u4e2d\u627e\u5230\u5bf9\u5e94\u7684 container \u8d44\u6e90\uff0c\u70b9\u51fb \u7acb\u5373\u52a0\u8f7d \u6309\u94ae\uff0c\u8fdb\u5165\u914d\u7f6e\u70ed\u52a0\u8f7d\u9875\u9762\u3002

                        Note

                        \u5982\u679c\u60a8\u7684\u5e94\u7528\u652f\u6301\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u5219\u65e0\u9700\u624b\u52a8\u6267\u884c\u70ed\u52a0\u8f7d\u64cd\u4f5c\u3002

                      3. \u5728\u70ed\u52a0\u8f7d\u914d\u7f6e\u5f39\u7a97\u4e2d\uff0c\u8f93\u5165\u8fdb\u5165\u5bb9\u5668\u5185\u7684 \u6267\u884c\u547d\u4ee4 \u5e76\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u4ee5\u91cd\u8f7d\u914d\u7f6e\u3002\u4f8b\u5982\uff0c\u5728 nginx \u5bb9\u5668\u4e2d\uff0c\u4ee5 root \u7528\u6237\u6743\u9650\uff0c\u6267\u884c nginx -s reload \u547d\u4ee4\u6765\u91cd\u8f7d\u914d\u7f6e\u3002

                      4. \u5728\u754c\u9762\u5f39\u51fa\u7684 web \u7ec8\u7aef\u4e2d\u67e5\u770b\u5e94\u7528\u91cd\u8f7d\u60c5\u51b5\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html","title":"\u521b\u5efa\u914d\u7f6e\u9879","text":"

                      \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u4ee5\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u5b58\u50a8\u975e\u673a\u5bc6\u6027\u6570\u636e\uff0c\u5b9e\u73b0\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u4ee3\u7801\u76f8\u4e92\u89e3\u8026\u7684\u6548\u679c\u3002\u914d\u7f6e\u9879\u53ef\u7528\u4f5c\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002

                      Note

                      • \u5728\u914d\u7f6e\u9879\u4e2d\u4fdd\u5b58\u7684\u6570\u636e\u4e0d\u53ef\u8d85\u8fc7 1 MiB\u3002\u5982\u679c\u9700\u8981\u5b58\u50a8\u4f53\u79ef\u66f4\u5927\u7684\u6570\u636e\uff0c\u5efa\u8bae\u6302\u8f7d\u5b58\u50a8\u5377\u6216\u8005\u4f7f\u7528\u72ec\u7acb\u7684\u6570\u636e\u5e93\u6216\u8005\u6587\u4ef6\u670d\u52a1\u3002

                      • \u914d\u7f6e\u9879\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u52a0\u5bc6\u6570\u636e\uff0c\u5efa\u8bae\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\u3002

                      \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

                      • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
                      • YAML \u521b\u5efa
                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                      • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u914d\u7f6e\u9879 \u6309\u94ae\u3002

                      3. \u5728 \u521b\u5efa\u914d\u7f6e\u9879 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                        Note

                        \u70b9\u51fb \u4e0a\u4f20\u6587\u4ef6 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002

                      4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html#yaml","title":"YAML \u521b\u5efa","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                      3. \u586b\u5199\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

                        Note

                        • \u70b9\u51fb \u5bfc\u5165 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002
                        • \u586b\u5199\u6570\u636e\u4e4b\u540e\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u914d\u7f6e\u6587\u4ef6\u4fdd\u5b58\u5728\u672c\u5730\u3002

                      4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-configmap.html#yaml_1","title":"\u914d\u7f6e\u9879 YAML \u793a\u4f8b","text":"
                      ```yaml\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: kube-root-ca.crt\n  namespace: default\n  annotations:\ndata:\n  version: '1.0'\n```\n

                      \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u914d\u7f6e\u9879

                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

                      \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

                      \u5bc6\u94a5\u4f7f\u7528\u573a\u666f\uff1a

                      • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
                      • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
                      • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

                      \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

                      • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
                      • YAML \u521b\u5efa
                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                      • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u5bc6\u94a5 \u6309\u94ae\u3002

                      3. \u5728 \u521b\u5efa\u5bc6\u94a5 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                        \u586b\u5199\u914d\u7f6e\u65f6\u9700\u8981\u6ce8\u610f\uff1a

                        • \u5bc6\u94a5\u7684\u540d\u79f0\u5728\u540c\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u5fc5\u987b\u5177\u6709\u552f\u4e00\u6027
                        • \u5bc6\u94a5\u7c7b\u578b\uff1a
                          • \u9ed8\u8ba4\uff08Opaque\uff09\uff1aKubernetes \u9ed8\u8ba4\u7684\u5bc6\u94a5\u7c7b\u578b\uff0c\u652f\u6301\u7528\u6237\u5b9a\u4e49\u7684\u4efb\u610f\u6570\u636e\u3002
                          • TLS (kubernetes.io/tls)\uff1a\u7528\u4e8e TLS \u5ba2\u6237\u7aef\u6216\u8005\u670d\u52a1\u5668\u7aef\u6570\u636e\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
                          • \u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u7528\u4e8e\u955c\u50cf\u4ed3\u5e93\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
                          • \u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u7528\u4e8e\u57fa\u672c\u8eab\u4efd\u8ba4\u8bc1\u7684\u51ed\u8bc1\u3002
                          • \u81ea\u5b9a\u4e49\uff1a\u7528\u6237\u6839\u636e\u4e1a\u52a1\u9700\u8981\u81ea\u5b9a\u4e49\u7684\u7c7b\u578b\u3002
                        • \u5bc6\u94a5\u6570\u636e\uff1a\u5bc6\u94a5\u6240\u5b58\u50a8\u7684\u6570\u636e\uff0c\u4e0d\u540c\u6570\u636e\u9700\u8981\u586b\u5199\u7684\u53c2\u6570\u6709\u6240\u4e0d\u540c
                          • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u9ed8\u8ba4\uff08Opaque\uff09/\u81ea\u5b9a\u4e49\uff1a\u53ef\u4ee5\u586b\u5165\u591a\u4e2a\u952e\u503c\u5bf9\u6570\u636e\u3002
                          • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a TLS (kubernetes.io/tls)\uff1a\u9700\u8981\u586b\u5165\u8bc1\u4e66\u51ed\u8bc1\u548c\u79c1\u94a5\u6570\u636e\u3002\u8bc1\u4e66\u662f\u81ea\u7b7e\u540d\u6216 CA \u7b7e\u540d\u8fc7\u7684\u51ed\u636e\uff0c\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u3002\u8bc1\u4e66\u8bf7\u6c42\u662f\u5bf9\u7b7e\u540d\u7684\u8bf7\u6c42\uff0c\u9700\u8981\u4f7f\u7528\u79c1\u94a5\u8fdb\u884c\u7b7e\u540d\u3002
                          • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u9700\u8981\u586b\u5165\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u7684\u8d26\u53f7\u548c\u5bc6\u7801\u3002
                          • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u9700\u8981\u6307\u5b9a\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html#yaml","title":"YAML \u521b\u5efa","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                      3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\u586b\u5199 YAML \u914d\u7f6e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                        \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/create-secret.html#yaml_1","title":"\u5bc6\u94a5 YAML \u793a\u4f8b","text":"
                      ```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n  name: secretdemo\ntype: Opaque\ndata:\n  username: ******\n  password: ******\n```\n

                      \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u5bc6\u94a5

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html","title":"\u4f7f\u7528\u914d\u7f6e\u9879","text":"

                      \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u662f Kubernetes \u7684\u4e00\u79cd API \u5bf9\u8c61\uff0c\u7528\u6765\u5c06\u975e\u673a\u5bc6\u6027\u7684\u6570\u636e\u4fdd\u5b58\u5230\u952e\u503c\u5bf9\u4e2d\uff0c\u53ef\u4ee5\u5b58\u50a8\u5176\u4ed6\u5bf9\u8c61\u6240\u9700\u8981\u4f7f\u7528\u7684\u914d\u7f6e\u3002 \u4f7f\u7528\u65f6\uff0c \u5bb9\u5668\u53ef\u4ee5\u5c06\u5176\u7528\u4f5c\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002\u901a\u8fc7\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u80fd\u591f\u5c06\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u5206\u5f00\uff0c\u4e3a\u5e94\u7528\u914d\u7f6e\u7684\u4fee\u6539\u63d0\u4f9b\u66f4\u52a0\u7075\u6d3b\u7684\u9014\u5f84\u3002

                      Note

                      \u914d\u7f6e\u9879\u5e76\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u7684\u6570\u636e\u662f\u673a\u5bc6\u7684\uff0c\u8bf7\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u4f7f\u7528\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\uff0c\u800c\u4e0d\u662f\u7528\u914d\u7f6e\u9879\u3002 \u6b64\u5916\u5728\u5bb9\u5668\u91cc\u4f7f\u7528\u914d\u7f6e\u9879\u65f6\uff0c\u5bb9\u5668\u548c\u914d\u7f6e\u9879\u5fc5\u987b\u5904\u4e8e\u540c\u4e00\u96c6\u7fa4\u7684\u547d\u540d\u7a7a\u95f4\u4e2d\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

                      \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

                      • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf

                      • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570

                      • \u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_3","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                      Note

                      \u914d\u7f6e\u9879\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_4","title":"\u56fe\u5f62\u5316\u754c\u9762\u64cd\u4f5c","text":"

                      \u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

                      2. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u3002

                        • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u540d\u79f0\u3001 \u914d\u7f6e\u9879 \u7684\u540d\u79f0\u3002

                        • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u914d\u7f6e\u9879 \u540d\u79f0\u3001 \u952e \u7684\u540d\u79f0\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                      \u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u914d\u7f6e\u9879\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 ConfigMap \u4e2d\u7684 Key/Value\u3002

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-1\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"env\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:                  # (1)!\n            configMapKeyRef:\n              name: kpanda-configmap  # (2)!\n              key: SPECIAL_LEVEL      # (3)!\n  restartPolicy: Never\n
                      1. \u4f7f\u7528 valueFrom \u6765\u6307\u5b9a env \u5f15\u7528\u914d\u7f6e\u9879\u7684 value \u503c
                      2. \u5f15\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u540d\u79f0
                      3. \u5f15\u7528\u7684\u914d\u7f6e\u9879 key
                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_6","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570","text":"

                      \u60a8\u53ef\u4ee5\u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u4e2d\u7684\u547d\u4ee4\u6216\u8005\u53c2\u6570\u503c\uff0c\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u66ff\u6362\u8bed\u6cd5 $(VAR_NAME) \u6765\u8fdb\u884c\u3002\u5982\u4e0b\u6240\u793a\u3002

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-3\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_LEVEL\n        - name: SPECIAL_TYPE_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_TYPE\n  restartPolicy: Never\n

                      \u8fd9\u4e2a Pod \u8fd0\u884c\u540e\uff0c\u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\u3002

                      Hello Kpanda\n
                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_7","title":"\u7528\u4f5c\u5bb9\u5668\u6570\u636e\u5377","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

                      \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u914d\u7f6e\u9879 \uff0c\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

                      2. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-configmap.html#_9","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                      \u8981\u5728\u4e00\u4e2a Pod \u7684\u5b58\u50a8\u5377\u4e2d\u4f7f\u7528 ConfigMap\u3002

                      \u4e0b\u9762\u662f\u4e00\u4e2a\u5c06 ConfigMap \u4ee5\u5377\u7684\u5f62\u5f0f\u8fdb\u884c\u6302\u8f7d\u7684 Pod \u793a\u4f8b\uff1a

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    configMap:\n      name: myconfigmap\n

                      \u5982\u679c Pod \u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u90fd\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4f46\u9488\u5bf9\u6bcf\u4e2a ConfigMap\uff0c\u60a8\u53ea\u9700\u8981\u8bbe\u7f6e\u4e00\u4e2a spec.volumes \u5757\u3002

                      Note

                      \u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u6302\u8f7d\u7684\u6570\u636e\u5377\u65f6\uff0c\u914d\u7f6e\u9879\u53ea\u80fd\u4f5c\u4e3a\u53ea\u8bfb\u6587\u4ef6\u8fdb\u884c\u8bfb\u53d6\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html","title":"\u4f7f\u7528\u5bc6\u94a5","text":"

                      \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

                      \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u5bc6\u94a5\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

                      • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
                      • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
                      • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u4f7f\u7528\u3002
                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_3","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                      Note

                      \u5bc6\u94a5\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u5bc6\u94a5\u952e\u503c\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_4","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

                      \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                      2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

                      3. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u3002

                        • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u3001 \u5bc6\u94a5 \u7684\u540d\u79f0\u3002

                        • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u5bc6\u94a5 \u3001 \u952e \u7684\u540d\u79f0\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                      \u5982\u4e0b\u4f8b\u6240\u793a\uff0c\u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u5bc6\u94a5\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 Secret \u4e2d\u7684 Key/Value\u3002

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: secret-env-pod\nspec:\n  containers:\n  - name: mycontainer\n    image: redis\n    env:\n      - name: SECRET_USERNAME\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: username\n            optional: false # (1)!\n      - name: SECRET_PASSWORD\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: password\n            optional: false # (2)!\n
                      1. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"username\" \u7684\u4e3b\u952e
                      2. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"password\" \u7684\u4e3b\u952e
                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#pod","title":"\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377","text":""},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_6","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

                      \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                      2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

                      3. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_7","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                      \u4e0b\u9762\u662f\u4e00\u4e2a\u901a\u8fc7\u6570\u636e\u5377\u6765\u6302\u8f7d\u540d\u4e3a mysecret \u7684 Secret \u7684 Pod \u793a\u4f8b\uff1a

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    secret:\n      secretName: mysecret\n      optional: false # (1)!\n
                      1. \u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u610f\u5473\u7740 \"mysecret\" \u5fc5\u987b\u5df2\u7ecf\u5b58\u5728

                      \u5982\u679c Pod \u4e2d\u5305\u542b\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4e0d\u8fc7\u9488\u5bf9\u6bcf\u4e2a Secret \u800c\u8a00\uff0c\u53ea\u9700\u8981\u4e00\u4efd .spec.volumes \u8bbe\u7f6e\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#kubelet","title":"\u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

                      "},{"location":"kpanda/user-guide/configmaps-secrets/use-secret.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

                      \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                      2. \u5728\u7b2c\u4e8c\u6b65 \u5bb9\u5668\u914d\u7f6e \u65f6\u9009\u62e9 \u57fa\u672c\u4fe1\u606f \u914d\u7f6e\uff0c\u70b9\u51fb \u9009\u62e9\u955c\u50cf \u6309\u94ae\u3002

                      3. \u5728\u5f39\u6846\u7684 \u955c\u50cf\u4ed3\u5e93 \u4e0b\u62c9\u9009\u62e9\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u540d\u79f0\u3002\u5173\u4e8e\u79c1\u6709\u955c\u50cf\u5bc6\u94a5\u521b\u5efa\u8bf7\u67e5\u770b\u521b\u5efa\u5bc6\u94a5\u4e86\u89e3\u8be6\u60c5\u3002

                      4. \u8f93\u5165\u79c1\u6709\u4ed3\u5e93\u5185\u7684\u955c\u50cf\u540d\u79f0\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u955c\u50cf\u9009\u62e9\u3002

                      Note

                      \u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u9700\u8981\u786e\u4fdd\u8f93\u5165\u6b63\u786e\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3001\u7528\u6237\u540d\u79f0\u3001\u5bc6\u7801\u5e76\u9009\u62e9\u6b63\u786e\u7684\u955c\u50cf\u540d\u79f0\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u83b7\u53d6\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u955c\u50cf\u3002

                      "},{"location":"kpanda/user-guide/custom-resources/create.html","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90 (CRD)","text":"

                      \u5728 Kubernetes \u4e2d\u4e00\u5207\u5bf9\u8c61\u90fd\u88ab\u62bd\u8c61\u4e3a\u8d44\u6e90\uff0c\u5982 Pod\u3001Deployment\u3001Service\u3001Volume \u7b49\u662f Kubernetes \u63d0\u4f9b\u7684\u9ed8\u8ba4\u8d44\u6e90\uff0c \u8fd9\u4e3a\u6211\u4eec\u7684\u65e5\u5e38\u8fd0\u7ef4\u548c\u7ba1\u7406\u5de5\u4f5c\u63d0\u4f9b\u4e86\u91cd\u8981\u652f\u6491\uff0c\u4f46\u662f\u5728\u4e00\u4e9b\u7279\u6b8a\u7684\u573a\u666f\u4e2d\uff0c\u73b0\u6709\u7684\u9884\u7f6e\u8d44\u6e90\u5e76\u4e0d\u80fd\u6ee1\u8db3\u4e1a\u52a1\u7684\u9700\u8981\uff0c \u56e0\u6b64\u6211\u4eec\u5e0c\u671b\u53bb\u6269\u5c55 Kubernetes API \u7684\u80fd\u529b\uff0c\u81ea\u5b9a\u4e49\u8d44\u6e90\uff08CustomResourceDefinition, CRD\uff09\u6b63\u662f\u57fa\u4e8e\u8fd9\u6837\u7684\u9700\u6c42\u5e94\u8fd0\u800c\u751f\u3002

                      \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9\u81ea\u5b9a\u4e49\u8d44\u6e90\u7684\u754c\u9762\u5316\u7ba1\u7406\uff0c\u4e3b\u8981\u529f\u80fd\u5982\u4e0b\uff1a

                      • \u83b7\u53d6\u96c6\u7fa4\u4e0b\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u548c\u8be6\u7ec6\u4fe1\u606f
                      • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u8d44\u6e90
                      • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b CR\uff08Custom Resource\uff09
                      • \u5220\u9664\u81ea\u5b9a\u4e49\u8d44\u6e90
                      "},{"location":"kpanda/user-guide/custom-resources/create.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                      • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a Cluster Admin \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743

                      "},{"location":"kpanda/user-guide/custom-resources/create.html#yaml","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
                      1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                      3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                      4. \u8fd4\u56de\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                      \u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b\uff1a

                      CRD example
                      apiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n  name: crontabs.stable.example.com\nspec:\n  group: stable.example.com\n  versions:\n    - name: v1\n      served: true\n      storage: true\n      schema:\n        openAPIV3Schema:\n          type: object\n          properties:\n            spec:\n              type: object\n              properties:\n                cronSpec:\n                  type: string\n                image:\n                  type: string\n                replicas:\n                  type: integer\n  scope: Namespaced\n  names:\n    plural: crontabs\n    singular: crontab\n    kind: CronTab\n    shortNames:\n    - ct\n
                      "},{"location":"kpanda/user-guide/custom-resources/create.html#yaml_1","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b","text":"
                      1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u8fdb\u5165\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\u9762\u3002

                      3. \u70b9\u51fb\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                      4. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                      5. \u8fd4\u56de crontabs.stable.example.com \u7684\u8be6\u60c5\u9875\u9762\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a my-new-cron-object \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                      CR \u793a\u4f8b\uff1a

                      CR example
                      apiVersion: \"stable.example.com/v1\"\nkind: CronTab\nmetadata:\n  name: my-new-cron-object\nspec:\n  cronSpec: \"* * * * */5\"\n  image: my-awesome-cron-image\n
                      "},{"location":"kpanda/user-guide/gpu/index.html","title":"GPU \u7ba1\u7406\u6982\u8ff0","text":"

                      \u672c\u6587\u4ecb\u7ecd Daocloud \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5bf9 GPU\u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8d44\u6e90\u7edf\u4e00\u8fd0\u7ef4\u7ba1\u7406\u80fd\u529b\u3002

                      "},{"location":"kpanda/user-guide/gpu/index.html#_1","title":"\u80cc\u666f","text":"

                      \u968f\u7740 AI \u5e94\u7528\u3001\u5927\u6a21\u578b\u3001\u4eba\u5de5\u667a\u80fd\u3001\u81ea\u52a8\u9a7e\u9a76\u7b49\u65b0\u5174\u6280\u672f\u7684\u5feb\u901f\u53d1\u5c55\uff0c\u4f01\u4e1a\u9762\u4e34\u7740\u8d8a\u6765\u8d8a\u591a\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4efb\u52a1\u548c\u6570\u636e\u5904\u7406\u9700\u6c42\u3002 \u4ee5 CPU \u4e3a\u4ee3\u8868\u7684\u4f20\u7edf\u8ba1\u7b97\u67b6\u6784\u5df2\u65e0\u6cd5\u6ee1\u8db3\u4f01\u4e1a\u65e5\u76ca\u589e\u957f\u7684\u8ba1\u7b97\u9700\u6c42\u3002\u6b64\u65f6\uff0c\u4ee5 GPU \u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8ba1\u7b97\u56e0\u5728\u5904\u7406\u5927\u89c4\u6a21\u6570\u636e\u3001\u8fdb\u884c\u590d\u6742\u8ba1\u7b97\u548c\u5b9e\u65f6\u56fe\u5f62\u6e32\u67d3\u65b9\u9762\u5177\u6709\u72ec\u7279\u7684\u4f18\u52bf\u88ab\u5e7f\u6cdb\u5e94\u7528\u3002

                      \u4e0e\u6b64\u540c\u65f6\uff0c\u7531\u4e8e\u7f3a\u4e4f\u5f02\u6784\u8d44\u6e90\u8c03\u5ea6\u7ba1\u7406\u7b49\u65b9\u9762\u7684\u7ecf\u9a8c\u548c\u4e13\u4e1a\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u5bfc\u81f4\u4e86 GPU \u8bbe\u5907\u7684\u8d44\u6e90\u5229\u7528\u7387\u6781\u4f4e\uff0c\u7ed9\u4f01\u4e1a\u5e26\u6765\u4e86\u9ad8\u6602\u7684 AI \u751f\u4ea7\u6210\u672c\u3002 \u5982\u4f55\u964d\u672c\u589e\u6548\uff0c\u63d0\u9ad8 GPU \u7b49\u5f02\u6784\u8d44\u6e90\u7684\u5229\u7528\u6548\u7387\uff0c\u6210\u4e3a\u4e86\u5f53\u524d\u4f17\u591a\u4f01\u4e1a\u4e9f\u9700\u8de8\u8d8a\u7684\u4e00\u9053\u96be\u9898\u3002

                      "},{"location":"kpanda/user-guide/gpu/index.html#gpu_1","title":"GPU \u80fd\u529b\u4ecb\u7ecd","text":"

                      Daocloud \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u652f\u6301\u5bf9 GPU\u3001NPU \u7b49\u5f02\u6784\u8d44\u6e90\u8fdb\u884c\u7edf\u4e00\u8c03\u5ea6\u548c\u8fd0\u7ef4\u7ba1\u7406\uff0c\u5145\u5206\u91ca\u653e GPU \u8d44\u6e90\u7b97\u529b\uff0c\u52a0\u901f\u4f01\u4e1a AI \u7b49\u65b0\u5174\u5e94\u7528\u53d1\u5c55\u3002Daocloud GPU \u7ba1\u7406\u80fd\u529b\u5982\u4e0b\uff1a

                      • \u652f\u6301\u7edf\u4e00\u7eb3\u7ba1 NVIDIA\u3001\u534e\u4e3a\u6607\u817e\u3001\u5929\u6570\u7b49\u56fd\u5185\u5916\u5382\u5546\u7684\u5f02\u6784\u8ba1\u7b97\u8d44\u6e90\u3002
                      • \u652f\u6301\u540c\u4e00\u96c6\u7fa4\u591a\u5361\u5f02\u6784\u8c03\u5ea6\uff0c\u5e76\u652f\u6301\u96c6\u7fa4 GPU \u5361\u81ea\u52a8\u8bc6\u522b\u3002
                      • \u652f\u6301 NVIDIA GPU\u3001vGPU\u3001MIG \u7b49 GPU \u539f\u751f\u7ba1\u7406\u65b9\u6848\uff0c\u5e76\u63d0\u4f9b\u4e91\u539f\u751f\u80fd\u529b\u3002
                      • \u652f\u6301\u5355\u5757\u7269\u7406\u5361\u5207\u5206\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u4f7f\u7528\uff0c\u5e76\u652f\u6301\u5bf9\u79df\u6237\u548c\u5bb9\u5668\u4f7f\u7528 GPU \u8d44\u6e90\u6309\u7167\u7b97\u529b\u3001\u663e\u5b58\u8fdb\u884c GPU \u8d44\u6e90\u914d\u989d\u3002
                      • \u652f\u6301\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5e94\u7528\u7b49\u591a\u7ef4\u5ea6 GPU \u8d44\u6e90\u76d1\u63a7\uff0c\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u7ba1\u7406 GPU \u8d44\u6e90\u3002
                      • \u517c\u5bb9 TensorFlow\u3001pytorch \u7b49\u591a\u79cd\u8bad\u7ec3\u6846\u67b6\u3002
                      "},{"location":"kpanda/user-guide/gpu/index.html#gpu-operator","title":"GPU Operator \u4ecb\u7ecd","text":"

                      \u540c\u666e\u901a\u8ba1\u7b97\u673a\u786c\u4ef6\u4e00\u6837\uff0cNVIDIA GPU \u5361\u4f5c\u4e3a\u7269\u7406\u786c\u4ef6\uff0c\u5fc5\u987b\u5b89\u88c5 NVIDIA GPU \u9a71\u52a8\u540e\u624d\u80fd\u4f7f\u7528\u3002 \u4e3a\u4e86\u964d\u4f4e\u7528\u6237\u5728 kuberneets \u4e0a\u4f7f\u7528 GPU \u7684\u6210\u672c\uff0cNVIDIA \u5b98\u65b9\u63d0\u4f9b\u4e86 NVIDIA GPU Operator \u7ec4\u4ef6\u6765\u7ba1\u7406\u4f7f\u7528 NVIDIA GPU \u6240\u4f9d\u8d56\u7684\u5404\u79cd\u7ec4\u4ef6\u3002 \u8fd9\u4e9b\u7ec4\u4ef6\u5305\u62ec NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff08\u7528\u4e8e\u542f\u7528 CUDA\uff09\u3001NVIDIA \u5bb9\u5668\u8fd0\u884c\u65f6\u3001GPU \u8282\u70b9\u6807\u8bb0\u3001\u57fa\u4e8e DCGM \u7684\u76d1\u63a7\u7b49\u3002 \u7406\u8bba\u4e0a\u6765\u8bf4\u7528\u6237\u53ea\u9700\u8981\u5c06 GPU \u5361\u63d2\u5728\u5df2\u7ecf\u88ab kubernetes \u6240\u7eb3\u7ba1\u7684\u8ba1\u7b97\u8bbe\u5907\u4e0a\uff0c\u7136\u540e\u901a\u8fc7 GPU Operator \u5c31\u80fd\u4f7f\u7528 NVIDIA GPU \u7684\u6240\u6709\u80fd\u529b\u4e86\u3002 \u4e86\u89e3\u66f4\u591a NVIDIA GPU Operator \u76f8\u5173\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 NVIDIA \u5b98\u65b9\u6587\u6863\u3002 \u5982\u4f55\u90e8\u7f72\u8bf7\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5

                      NVIDIA GPU Operator \u67b6\u6784\u56fe\uff1a

                      "},{"location":"kpanda/user-guide/gpu/FAQ.html","title":"GPU \u76f8\u5173 FAQ","text":""},{"location":"kpanda/user-guide/gpu/FAQ.html#pod-nvidia-smi-gpu","title":"Pod \u5185 nvidia-smi \u770b\u4e0d\u5230 GPU \u8fdb\u7a0b","text":"

                      Q: \u5728\u4f7f\u7528 GPU \u7684 Pod \u5185\u6267\u884c nvidia-smi \u547d\u4ee4\u770b\u4e0d\u5230\u4f7f\u7528 GPU \u7684\u8fdb\u7a0b\u4fe1\u606f\uff0c\u5305\u62ec\u6574\u5361\u6a21\u5f0f\u3001vGPU \u6a21\u5f0f\u7b49\u3002

                      A: \u56e0\u4e3a\u6709 PID namespace \u9694\u79bb\uff0c\u5bfc\u81f4\u5728 Pod \u5185\u67e5\u770b\u4e0d\u5230 GPU \u8fdb\u7a0b\uff0c\u5982\u679c\u8981\u67e5\u770b GPU \u8fdb\u7a0b\u6709\u5982\u4e0b\u51e0\u79cd\u65b9\u6cd5\uff1a

                      • \u5728\u4f7f\u7528 GPU \u7684\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e hostPID: true\uff0c\u4f7f\u5176\u53ef\u4ee5\u67e5\u770b\u5230\u5bbf\u4e3b\u673a\u4e0a\u7684 PID
                      • \u5728 gpu-operator \u7684 driver Pod \u4e2d\u6267\u884c nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
                      • \u5728\u5bbf\u4e3b\u673a\u4e0a\u6267\u884c chroot /run/nvidia/driver nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
                      "},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html","title":"App \u4f7f\u7528\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"

                      \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4f7f\u7528\u5929\u6570\u667a\u82af\u865a\u62df GPU\u3002

                      "},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5df2\u7ecf\u90e8\u7f72 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5929\u6570\u667a\u82af GPU \u9a71\u52a8\uff0c\u9a71\u52a8\u5b89\u88c5\u8bf7\u53c2\u8003\u5929\u6570\u667a\u82af\u5b98\u65b9\u6587\u6863\uff0c\u6216\u8054\u7cfb\u9053\u5ba2\u751f\u6001\u56e2\u961f\u83b7\u53d6\u4f01\u4e1a\u7ea7\u652f\u6301\uff1apeg-pem@daocloud.io\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u4e14\u672a\u88ab\u5176\u5b83 App \u5360\u7528\u3002
                      "},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html#_3","title":"\u4f7f\u7528\u754c\u9762\u914d\u7f6e","text":"
                      1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Iluvatar \u3002

                      2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Iluvatar\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

                        • \u7269\u7406\u5361\u6570\u91cf\uff08iluvatar.ai/vcuda-core\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                        • \u663e\u5b58\u4f7f\u7528\u6570\u91cf\uff08iluvatar.ai/vcuda-memory\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                        \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                      "},{"location":"kpanda/user-guide/gpu/Iluvatar_usage.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                      \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0iluvatar.ai/vcuda-core: 1\u3001iluvatar.ai/vcuda-memory: 200 \u53c2\u6570\uff0c\u914d\u7f6e App \u4f7f\u7528\u7269\u7406\u5361\u7684\u8d44\u6e90\u3002

                      apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-iluvatar-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-iluvatar-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-iluvatar-gpu-demo\n    spec:\n      containers:\n      - image: nginx:perl\n        name: container-0\n        resources:\n          limits:\n            cpu: 250m\n            iluvatar.ai/vcuda-core: '1'\n            iluvatar.ai/vcuda-memory: '200'\n            memory: 512Mi\n          requests:\n            cpu: 250m\n            memory: 512Mi\n      imagePullSecrets:\n      - name: default-secret\n
                      "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html","title":"GPU \u8d44\u6e90\u52a8\u6001\u8c03\u8282","text":"

                      \u63d0\u4f9b GPU \u8d44\u6e90\u52a8\u6001\u8c03\u6574\u529f\u80fd\uff0c\u5141\u8bb8\u60a8\u5728\u65e0\u9700\u91cd\u65b0\u52a0\u8f7d\u3001\u91cd\u7f6e\u6216\u91cd\u542f\u6574\u4e2a\u8fd0\u884c\u73af\u5883\u7684\u60c5\u51b5\u4e0b\uff0c\u5bf9\u5df2\u7ecf\u5206\u914d\u7684 vGPU \u8d44\u6e90\u8fdb\u884c\u5b9e\u65f6\u3001\u52a8\u6001\u7684\u8c03\u6574\u3002 \u8fd9\u4e00\u529f\u80fd\u65e8\u5728\u6700\u5927\u7a0b\u5ea6\u5730\u51cf\u5c11\u5bf9\u4e1a\u52a1\u8fd0\u884c\u7684\u5f71\u54cd\uff0c\u786e\u4fdd\u60a8\u7684\u4e1a\u52a1\u80fd\u591f\u6301\u7eed\u7a33\u5b9a\u5730\u8fd0\u884c\uff0c\u540c\u65f6\u6839\u636e\u5b9e\u9645\u9700\u6c42\u7075\u6d3b\u8c03\u6574 GPU \u8d44\u6e90\u3002

                      "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"
                      • \u5f39\u6027\u8d44\u6e90\u5206\u914d \uff1a\u5f53\u4e1a\u52a1\u9700\u6c42\u6216\u5de5\u4f5c\u8d1f\u8f7d\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u5feb\u901f\u8c03\u6574 GPU \u8d44\u6e90\u4ee5\u6ee1\u8db3\u65b0\u7684\u6027\u80fd\u8981\u6c42\u3002
                      • \u5373\u65f6\u54cd\u5e94 \uff1a\u5728\u9762\u5bf9\u7a81\u53d1\u7684\u9ad8\u8d1f\u8f7d\u6216\u4e1a\u52a1\u9700\u6c42\u65f6\uff0c\u53ef\u4ee5\u8fc5\u901f\u589e\u52a0 GPU \u8d44\u6e90\u800c\u65e0\u9700\u4e2d\u65ad\u4e1a\u52a1\u8fd0\u884c\uff0c\u4ee5\u786e\u4fdd\u670d\u52a1\u7684\u7a33\u5b9a\u6027\u548c\u6027\u80fd\u3002
                      "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                      \u4ee5\u4e0b\u662f\u4e00\u4e2a\u5177\u4f53\u7684\u64cd\u4f5c\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u8c03\u6574 vGPU \u7684\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff1a

                      "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#vgpu-pod","title":"\u521b\u5efa\u4e00\u4e2a vGPU Pod","text":"

                      \u9996\u5148\uff0c\u6211\u4eec\u4f7f\u7528\u4ee5\u4e0b YAML \u521b\u5efa\u4e00\u4e2a vGPU Pod\uff0c\u5176\u7b97\u529b\u521d\u59cb\u4e0d\u9650\u5236\uff0c\u663e\u5b58\u9650\u5236\u4e3a 200Mb\u3002

                      kind: Deployment\napiVersion: apps/v1\nmetadata:\n  name: gpu-burn-test\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: gpu-burn-test\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: gpu-burn-test\n    spec:\n      containers:\n        - name: container-1\n          image: docker.io/chrstnhntschl/gpu_burn:latest\n          command:\n            - sleep\n            - '100000'\n          resources:\n            limits:\n              cpu: 1m\n              memory: 1Gi\n              nvidia.com/gpucores: '0'\n              nvidia.com/gpumem: '200'\n              nvidia.com/vgpu: '1'\n

                      \u8c03\u6574\u524d\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

                      "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#_3","title":"\u52a8\u6001\u8c03\u6574\u7b97\u529b","text":"

                      \u5982\u679c\u9700\u8981\u4fee\u6539\u7b97\u529b\u4e3a 10%\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                      1. \u8fdb\u5165\u5bb9\u5668\uff1a

                        kubectl exec -it <pod-name> -- /bin/bash\n
                      2. \u6267\u884c\uff1a

                        export CUDA_DEVICE_SM_LIMIT=10\n
                      3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

                        ./gpu_burn 60\n

                        \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u6ce8\u610f\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

                      "},{"location":"kpanda/user-guide/gpu/dynamic-regulation.html#_4","title":"\u52a8\u6001\u8c03\u6574\u663e\u5b58","text":"

                      \u5982\u679c\u9700\u8981\u4fee\u6539\u663e\u5b58\u4e3a 300 MB\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                      1. \u8fdb\u5165\u5bb9\u5668\uff1a

                        kubectl exec -it <pod-name> -- /bin/bash\n
                      2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u8bbe\u7f6e\u663e\u5b58\u9650\u5236\uff1a

                        export CUDA_DEVICE_MEMORY_LIMIT_0=300m\nexport CUDA_DEVICE_MEMORY_SHARED_CACHE=/usr/local/vgpu/d.cache\n

                        Note

                        \u6bcf\u6b21\u4fee\u6539\u663e\u5b58\u5927\u5c0f\u65f6\uff0cd.cache \u8fd9\u4e2a\u6587\u4ef6\u540d\u5b57\u90fd\u9700\u8981\u4fee\u6539\uff0c\u6bd4\u5982\u6539\u4e3a a.cache\u30011.cache \u7b49\uff0c\u4ee5\u907f\u514d\u7f13\u5b58\u51b2\u7a81\u3002

                      3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

                        ./gpu_burn 60\n

                        \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u540c\u6837\u5730\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

                      \u8c03\u6574\u540e\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

                      \u901a\u8fc7\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u53ef\u4ee5\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u5730\u8c03\u6574\u5176\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff0c\u4ece\u800c\u66f4\u7075\u6d3b\u5730\u6ee1\u8db3\u4e1a\u52a1\u9700\u6c42\u5e76\u4f18\u5316\u8d44\u6e90\u5229\u7528\u3002

                      "},{"location":"kpanda/user-guide/gpu/gpu_matrix.html","title":"GPU \u652f\u6301\u77e9\u9635","text":"

                      \u672c\u9875\u8bf4\u660e DCE 5.0 \u652f\u6301\u7684 GPU \u53ca\u64cd\u4f5c\u7cfb\u7edf\u6240\u5bf9\u5e94\u7684\u77e9\u9635\u3002

                      "},{"location":"kpanda/user-guide/gpu/gpu_matrix.html#nvidia-gpu","title":"NVIDIA GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 NVIDIA GPU\uff08\u6574\u5361/vGPU\uff09 NVIDIA Fermi (2.1) \u67b6\u6784 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160\u5185\u6838\u53c2\u8003\u6587\u6863\u5efa\u8bae\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 Kernel \u7248\u672c \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 NVIDIA GeForce 400 \u7cfb\u5217 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA Quadro 4000 \u7cfb\u5217 Ubuntu 20.04 Kernel 5.4 NVIDIA Tesla 20 \u7cfb\u5217 Ubuntu 22.04 Kernel 5.19 NVIDIA Ampere \u67b6\u6784\u7cfb\u5217(A100;A800;H100) RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA MIG NVIDIA Ampere \u67b6\u6784\u7cfb\u5217\uff08A100\u3001A800\u3001H100\uff09 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 Ubuntu 20.04 Kernel 5.4 Ubuntu 22.04 Kernel 5.19 RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348"},{"location":"kpanda/user-guide/gpu/gpu_matrix.html#ascendnpu","title":"\u6607\u817e\uff08Ascend\uff09NPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 NPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6607\u817e\uff08Ascend 310\uff09 Ascend 310 Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\uff1a\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 300 \u548c 310P \u9a71\u52a8\u6587\u6863 Ascend 310P\uff1b CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf \u6607\u817e\uff08Ascend 910\uff09 Ascend 910B Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 910 \u9a71\u52a8\u6587\u6863 CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf"},{"location":"kpanda/user-guide/gpu/gpu_matrix.html#iluvatargpu","title":"\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u5929\u6570\u667a\u82af(Iluvatar vGPU) BI100 CentOS 7 Kernel 3.10.0-957.el7.x86_64 ~ 3.10.0-1160.42.2.el7.x86_64 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 \u8865\u5145\u4e2d MR100\uff1b CentOS 8 Kernel 4.18.0-80.el8.x86_64 ~ 4.18.0-305.19.1.el8_4.x86_64 Ubuntu 20.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic Ubuntu 21.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic openEuler 22.03 LTS Kernel \u7248\u672c\u5927\u4e8e\u7b49\u4e8e 5.1 \u4e14\u5c0f\u4e8e\u7b49\u4e8e 5.10"},{"location":"kpanda/user-guide/gpu/gpu_matrix.html#metaxgpu","title":"\u6c90\u66e6\uff08Metax\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6c90\u66e6Metax\uff08\u6574\u5361/vGPU\uff09 \u66e6\u4e91 C500 \u6c90\u66e6 GPU \u5b89\u88c5\u4f7f\u7528"},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html","title":"GPU \u8c03\u5ea6\u914d\u7f6e\uff08Binpack \u548c Spread \uff09","text":"

                      \u672c\u6587\u4ecb\u7ecd\u4f7f\u7528 NVIDIA vGPU \u65f6\uff0c\u5982\u4f55\u901a\u8fc7 Binpack \u548c Spread \u7684 GPU \u8c03\u5ea6\u914d\u7f6e\u51cf\u5c11 GPU \u8d44\u6e90\u788e\u7247\u3001\u9632\u6b62\u5355\u70b9\u6545\u969c\u7b49\uff0c\u5b9e\u73b0 vGPU \u7684\u9ad8\u7ea7\u8c03\u5ea6\u3002 DCE 5.0 \u5e73\u53f0\u63d0\u4f9b\u4e86\u96c6\u7fa4\u548c\u5de5\u4f5c\u8d1f\u8f7d\u4e24\u79cd\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5206\u522b\u6ee1\u8db3\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u4f7f\u7528\u9700\u6c42\u3002

                      "},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                      • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907\u3002
                      • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6 \u548c Nvidia-vgpu \u7ec4\u4ef6\u3002
                      • \u96c6\u7fa4\u8282\u70b9\u5217\u8868\u4e2d\uff0cGPU \u6a21\u5f0f\u4e0b\u5b58\u5728 NVIDIA-vGPU \u7c7b\u578b\u3002
                      "},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
                      • \u57fa\u4e8e GPU \u5361\u7ef4\u5ea6\u8c03\u5ea6\u7b56\u7565

                        • Binpack\uff1a\u4f18\u5148\u9009\u62e9\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
                        • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u5361\u6545\u969c\u3002
                      • \u57fa\u4e8e\u8282\u70b9\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565

                        • Binpack\uff1a \u591a\u4e2a Pod \u4f1a\u4f18\u5148\u9009\u62e9\u540c\u4e00\u4e2a\u8282\u70b9\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
                        • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u4e0d\u540c\u8282\u70b9\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u8282\u70b9\u6545\u969c\u3002
                      "},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html#binpack-spread","title":"\u96c6\u7fa4\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

                      Note

                      \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u4f1a\u9075\u5faa\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e\u3002 \u82e5\u5de5\u4f5c\u8d1f\u8f7d\u5355\u72ec\u8bbe\u7f6e\u4e86\u4e0e\u96c6\u7fa4\u4e0d\u4e00\u81f4\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5219\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u4f18\u5148\u9075\u5faa\u5176\u672c\u8eab\u7684\u8c03\u5ea6\u7b56\u7565\u3002

                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u8c03\u6574 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb GPU \u8c03\u5ea6\u914d\u7f6e \u3002

                      2. \u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u540e\u4fdd\u5b58\u3002

                      "},{"location":"kpanda/user-guide/gpu/gpu_scheduler_config.html#binpack-spread_1","title":"\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

                      Note

                      \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684\u914d\u7f6e\u51b2\u7a81\u65f6\uff0c\u4f18\u5148\u9075\u5faa\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684\u914d\u7f6e\u3002

                      \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\uff0c\u5e76\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565 \u3002

                      1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                      2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                      3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\uff0c\u5e76\u5728 \u5bb9\u5668\u914d\u7f6e \u4e2d\u542f\u7528 GPU \u914d\u7f6e\uff0c\u9009\u62e9 GPU \u7c7b\u578b\u4e3a NVIDIA vGPU\uff0c \u70b9\u51fb \u9ad8\u7ea7\u8bbe\u7f6e \uff0c\u542f\u7528 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\u3002\u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c \u8fdb\u5165 \u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                      "},{"location":"kpanda/user-guide/gpu/vgpu_quota.html","title":"GPU \u914d\u989d\u7ba1\u7406","text":"

                      \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                      "},{"location":"kpanda/user-guide/gpu/vgpu_quota.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                      \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u6216\u624b\u52a8\u65b9\u5f0f\u90e8\u7f72\u5bf9\u5e94\u7c7b\u578b GPU \u9a71\u52a8\uff08NVIDIA GPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\uff09

                      "},{"location":"kpanda/user-guide/gpu/vgpu_quota.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u8fdb\u5165 Namespaces \u4e2d\uff0c\u70b9\u51fb \u914d\u989d\u7ba1\u7406 \u53ef\u4ee5\u914d\u7f6e\u5f53\u524d Namespace \u53ef\u4ee5\u4f7f\u7528\u7684 GPU \u8d44\u6e90\u3002

                      2. \u5f53\u524d\u547d\u540d\u7a7a\u95f4\u914d\u989d\u7ba1\u7406\u8986\u76d6\u7684\u5361\u7c7b\u578b\u4e3a\uff1aNVIDIA vGPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\u3002

                        NVIDIA vGPU \u914d\u989d\u7ba1\u7406 \uff1a\u914d\u7f6e\u5177\u4f53\u53ef\u4ee5\u4f7f\u7528\u7684\u914d\u989d\uff0c\u4f1a\u521b\u5efa ResourcesQuota CR\uff1a

                        • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d POD \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u5e76\u4e14\u8981 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                        • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b\u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c\u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a 100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                        • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html","title":"\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5","text":"

                      \u672c\u7ae0\u8282\u63d0\u4f9b\u6607\u817e NPU \u9a71\u52a8\u3001Device Plugin\u3001NPU-Exporter \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u3002

                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u652f\u6301\u7684 NPU \u578b\u53f7\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
                      2. \u8bf7\u786e\u8ba4 \u5bf9\u5e94 NPU \u578b\u53f7\u6240\u8981\u6c42\u7684\u5185\u6838\u7248\u672c\u662f\u5426\u5339\u914d\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
                      3. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_2","title":"\u5b89\u88c5\u6b65\u9aa4","text":"

                      \u4f7f\u7528 NPU \u8d44\u6e90\u4e4b\u524d\uff0c\u9700\u8981\u5b8c\u6210\u56fa\u4ef6\u5b89\u88c5\u3001NPU \u9a71\u52a8\u5b89\u88c5\u3001 Docker Runtime \u5b89\u88c5\u3001\u7528\u6237\u521b\u5efa\u3001\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa\u4ee5\u53ca NPU Device Plugin \u5b89\u88c5\uff0c\u8be6\u60c5\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u3002

                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_3","title":"\u5b89\u88c5\u56fa\u4ef6","text":"
                      1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u5185\u6838\u7248\u672c\u5728\u201c\u4e8c\u8fdb\u5236\u5b89\u88c5\u201d\u5b89\u88c5\u65b9\u5f0f\u5bf9\u5e94\u7684\u7248\u672c\u8303\u56f4\u5185\uff0c\u5219\u53ef\u4ee5\u76f4\u63a5\u5b89\u88c5NPU\u9a71\u52a8\u56fa\u4ef6\u3002
                      2. \u56fa\u4ef6\u4e0e\u9a71\u52a8\u4e0b\u8f7d\u8bf7\u53c2\u8003\u56fa\u4ef6\u4e0b\u8f7d\u5730\u5740
                      3. \u56fa\u4ef6\u5b89\u88c5\u8bf7\u53c2\u8003\u5b89\u88c5 NPU \u9a71\u52a8\u56fa\u4ef6
                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#npu_1","title":"\u5b89\u88c5 NPU \u9a71\u52a8","text":"
                      1. \u5982\u9a71\u52a8\u672a\u5b89\u88c5\uff0c\u8bf7\u53c2\u8003\u6607\u817e\u5b98\u65b9\u6587\u6863\u8fdb\u884c\u5b89\u88c5\u3002\u4f8b\u5982 Ascend910\uff0c\u53c2\u8003 910 \u9a71\u52a8\u5b89\u88c5\u6587\u6863\u3002
                      2. \u8fd0\u884c npu-smi info \u547d\u4ee4\uff0c\u5e76\u4e14\u80fd\u591f\u6b63\u5e38\u8fd4\u56de NPU \u4fe1\u606f\uff0c\u8868\u793a NPU \u9a71\u52a8\u4e0e\u56fa\u4ef6\u5df2\u5c31\u7eea\u3002
                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#docker-runtime","title":"\u5b89\u88c5 Docker Runtime","text":"
                      1. \u4e0b\u8f7d Ascend Docker Runtime

                        \u793e\u533a\u7248\u4e0b\u8f7d\u5730\u5740\uff1ahttps://www.hiascend.com/zh/software/mindx-dl/community

                        wget -c https://mindx.obs.cn-south-1.myhuaweicloud.com/OpenSource/MindX/MindX%205.0.RC2/MindX%20DL%205.0.RC2/Ascend-docker-runtime_5.0.RC2_linux-x86_64.run\n

                        \u5b89\u88c5\u5230\u6307\u5b9a\u8def\u5f84\u4e0b\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b\u4e24\u6761\u547d\u4ee4\uff0c\u53c2\u6570\u4e3a\u6307\u5b9a\u7684\u5b89\u88c5\u8def\u5f84:

                        chmod u+x Ascend-docker-runtime_5.0.RC2_linux-x86_64.run \n./Ascend-docker-runtime_{version}_linux-{arch}.run --install --install-path=<path>\n
                      2. \u4fee\u6539 containerd \u914d\u7f6e\u6587\u4ef6

                        containerd \u65e0\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u65f6\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b3\u6761\u547d\u4ee4\uff0c\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\uff1a

                        mkdir /etc/containerd \ncontainerd config default > /etc/containerd/config.toml \nvim /etc/containerd/config.toml\n

                        containerd \u6709\u914d\u7f6e\u6587\u4ef6\u65f6\uff1a

                        vim /etc/containerd/config.toml\n

                        \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4fee\u6539 runtime \u7684\u5b89\u88c5\u8def\u5f84\uff0c\u4e3b\u8981\u4fee\u6539 runtime \u5b57\u6bb5\uff1a

                        ... \n[plugins.\"io.containerd.monitor.v1.cgroups\"]\n   no_prometheus = false  \n[plugins.\"io.containerd.runtime.v1.linux\"]\n   shim = \"containerd-shim\"\n   runtime = \"/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime\"\n   runtime_root = \"\"\n   no_shim = false\n   shim_debug = false\n [plugins.\"io.containerd.runtime.v2.task\"]\n   platforms = [\"linux/amd64\"]\n...\n

                        \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u91cd\u542f containerd\uff1a

                        systemctl restart containerd\n
                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_4","title":"\u7528\u6237\u521b\u5efa","text":"

                      \u5728\u5bf9\u5e94\u7ec4\u4ef6\u5b89\u88c5\u7684\u8282\u70b9\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa\u7528\u6237\u3002

                      # Ubuntu \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /usr/sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n# Centos \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n
                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#_5","title":"\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa","text":"

                      \u5728\u5bf9\u5e94\u8282\u70b9\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u548c\u5404\u7ec4\u4ef6\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5e76\u8bbe\u7f6e\u76ee\u5f55\u5bf9\u5e94\u5c5e\u4e3b\u548c\u6743\u9650\u3002\u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u3002

                      mkdir -m 755 /var/log/mindx-dl\nchown root:root /var/log/mindx-dl\n

                      \u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa Device Plugin \u7ec4\u4ef6\u65e5\u5fd7\u76ee\u5f55\u3002

                      mkdir -m 750 /var/log/mindx-dl/devicePlugin\nchown root:root /var/log/mindx-dl/devicePlugin\n

                      Note

                      \u8bf7\u5206\u522b\u4e3a\u6240\u9700\u7ec4\u4ef6\u521b\u5efa\u5bf9\u5e94\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5f53\u524d\u6848\u4f8b\u4e2d\u53ea\u9700\u8981 Device Plugin \u7ec4\u4ef6\u3002 \u5982\u679c\u6709\u5176\u4ed6\u7ec4\u4ef6\u9700\u6c42\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863

                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#label","title":"\u521b\u5efa\u8282\u70b9 Label","text":"

                      \u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\u5728\u5bf9\u5e94\u8282\u70b9\u4e0a\u521b\u5efa Label\uff1a

                      # \u5728\u5b89\u88c5\u4e86\u9a71\u52a8\u7684\u8ba1\u7b97\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} huawei.com.ascend/Driver=installed\nkubectl label node {nodename} node-role.kubernetes.io/worker=worker\nkubectl label node {nodename} workerselector=dls-worker-node\nkubectl label node {nodename} host-arch=huawei-arm //\u6216\u8005host-arch=huawei-x86 \uff0c\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\nkubectl label node {nodename} accelerator=huawei-Ascend910 //\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u9009\u62e9\n# \u5728\u63a7\u5236\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} masterselector=dls-master-node\n
                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_driver_install.html#device-plugin-npuexporter","title":"\u5b89\u88c5 Device Plugin \u548c NpuExporter","text":"

                      \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 ascend-mindxdl \u3002

                      • DevicePlugin \uff1a\u901a\u8fc7\u63d0\u4f9b\u901a\u7528\u8bbe\u5907\u63d2\u4ef6\u673a\u5236\u548c\u6807\u51c6\u7684\u8bbe\u5907API\u63a5\u53e3\uff0c\u4f9bKubernetes\u4f7f\u7528\u8bbe\u5907\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
                      • NpuExporter \uff1a\u57fa\u4e8ePrometheus/Telegraf\u751f\u6001\uff0c\u8be5\u7ec4\u4ef6\u63d0\u4f9b\u63a5\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u80fd\u591f\u5173\u6ce8\u5230\u6607\u817e\u7cfb\u5217AI\u5904\u7406\u5668\u4ee5\u53ca\u5bb9\u5668\u7ea7\u5206\u914d\u72b6\u6001\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
                      • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b NPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 ascend-mindxdl \u5b89\u88c5\u5931\u8d25\u3002
                      • isVirtualMachine \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5982\u679c NPU \u8282\u70b9\u4e3a\u865a\u62df\u673a\u573a\u666f\uff0c\u8bf7\u5f00\u542f\u00a0isVirtualMachine \u53c2\u6570\u3002

                      \u5b89\u88c5\u6210\u529f\u540e\uff0c\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u4f1a\u51fa\u73b0\u4e24\u4e2a\u7ec4\u4ef6\uff0c\u5982\u4e0b\u56fe\uff1a

                      \u540c\u65f6\u8282\u70b9\u4fe1\u606f\u4e0a\u4e5f\u4f1a\u51fa\u73b0\u5bf9\u5e94 NPU \u7684\u4fe1\u606f\uff1a

                      \u4e00\u5207\u5c31\u7eea\u540e\uff0c\u6211\u4eec\u901a\u8fc7\u9875\u9762\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5c31\u80fd\u591f\u9009\u62e9\u5230\u5bf9\u5e94\u7684 NPU \u8bbe\u5907\uff0c\u5982\u4e0b\u56fe\uff1a

                      Note

                      \u6709\u5173\u8be6\u7ec6\u4f7f\u7528\u6b65\u9aa4\uff0c\u8bf7\u53c2\u7167\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU\u3002

                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_usage.html","title":"\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU","text":"

                      \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4f7f\u7528\u6607\u817e GPU\u3002

                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
                      • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5185 NPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002

                      \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_usage.html#_2","title":"\u5feb\u901f\u4f7f\u7528","text":"

                      \u672c\u6587\u4f7f\u7528\u6607\u817e\u793a\u4f8b\u5e93\u4e2d\u7684 AscentCL \u56fe\u7247\u5206\u7c7b\u5e94\u7528\u793a\u4f8b\u3002

                      1. \u4e0b\u8f7d\u6607\u817e\u4ee3\u7801\u5e93

                        \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u4e0b\u8f7d\u6607\u817e Demo \u793a\u4f8b\u4ee3\u7801\u5e93\uff0c\u5e76\u4e14\u8bf7\u8bb0\u4f4f\u4ee3\u7801\u5b58\u653e\u7684\u4f4d\u7f6e\uff0c\u540e\u7eed\u9700\u8981\u4f7f\u7528\u3002

                        git clone https://gitee.com/ascend/samples.git\n
                      2. \u51c6\u5907\u57fa\u7840\u955c\u50cf

                        \u6b64\u4f8b\u4f7f\u7528 Ascent-pytorch \u57fa\u7840\u955c\u50cf\uff0c\u53ef\u8bbf\u95ee\u6607\u817e\u955c\u50cf\u4ed3\u5e93\u83b7\u53d6\u3002

                      3. \u51c6\u5907 YAML

                        ascend-demo.yaml
                        apiVersion: batch/v1\nkind: Job\nmetadata:\n  name: resnetinfer1-1-1usoc\nspec:\n  template:\n    spec:\n      containers:\n        - image: ascendhub.huawei.com/public-ascendhub/ascend-pytorch:23.0.RC2-ubuntu18.04 # Inference image name\n          imagePullPolicy: IfNotPresent\n          name: resnet50infer\n          securityContext:\n            runAsUser: 0\n          command:\n            - \"/bin/bash\"\n            - \"-c\"\n            - |\n              source /usr/local/Ascend/ascend-toolkit/set_env.sh &&\n              TEMP_DIR=/root/samples_copy_$(date '+%Y%m%d_%H%M%S_%N') &&\n              cp -r /root/samples \"$TEMP_DIR\" &&\n              cd \"$TEMP_DIR\"/inference/modelInference/sampleResnetQuickStart/python/model &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/resnet50/resnet50.onnx &&\n              atc --model=resnet50.onnx --framework=5 --output=resnet50 --input_shape=\"actual_input_1:1,3,224,224\"  --soc_version=Ascend910 &&\n              cd ../data &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg &&\n              cd ../scripts &&\n              bash sample_run.sh\n          resources:\n            requests:\n              huawei.com/Ascend910: 1 # Number of the Ascend 910 Processors\n            limits:\n              huawei.com/Ascend910: 1 # The value should be the same as that of requests\n          volumeMounts:\n            - name: hiai-driver\n              mountPath: /usr/local/Ascend/driver\n              readOnly: true\n            - name: slog\n              mountPath: /var/log/npu/conf/slog/slog.conf\n            - name: localtime # The container time must be the same as the host time\n              mountPath: /etc/localtime\n            - name: dmp\n              mountPath: /var/dmp_daemon\n            - name: slogd\n              mountPath: /var/slogd\n            - name: hbasic\n              mountPath: /etc/hdcBasic.cfg\n            - name: sys-version\n              mountPath: /etc/sys_version.conf\n            - name: aicpu\n              mountPath: /usr/lib64/aicpu_kernels\n            - name: tfso\n              mountPath: /usr/lib64/libtensorflow.so\n            - name: sample-path\n              mountPath: /root/samples\n      volumes:\n        - name: hiai-driver\n          hostPath:\n            path: /usr/local/Ascend/driver\n        - name: slog\n          hostPath:\n            path: /var/log/npu/conf/slog/slog.conf\n        - name: localtime\n          hostPath:\n            path: /etc/localtime\n        - name: dmp\n          hostPath:\n            path: /var/dmp_daemon\n        - name: slogd\n          hostPath:\n            path: /var/slogd\n        - name: hbasic\n          hostPath:\n            path: /etc/hdcBasic.cfg\n        - name: sys-version\n          hostPath:\n            path: /etc/sys_version.conf\n        - name: aicpu\n          hostPath:\n            path: /usr/lib64/aicpu_kernels\n        - name: tfso\n          hostPath:\n            path: /usr/lib64/libtensorflow.so\n        - name: sample-path\n          hostPath:\n            path: /root/samples\n      restartPolicy: OnFailure\n

                        \u4ee5\u4e0a YAML \u4e2d\u6709\u4e00\u4e9b\u5b57\u6bb5\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u4fee\u6539\uff1a

                        1. atc ... --soc_version=Ascend910 \u4f7f\u7528\u7684\u662f Ascend910 \uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u4e3b \u60a8\u53ef\u4ee5\u4f7f\u7528 npu-smi info \u547d\u4ee4\u67e5\u770b\u663e\u5361\u578b\u53f7\u7136\u540e\u52a0\u4e0a Ascend \u524d\u7f00\u5373\u53ef
                        2. samples-path \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
                        3. resources \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
                      4. \u90e8\u7f72 Job \u5e76\u67e5\u770b\u7ed3\u679c

                        \u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u521b\u5efa Job\uff1a

                        kubectl apply -f ascend-demo.yaml\n

                        \u67e5\u770b Pod \u8fd0\u884c\u72b6\u6001\uff1a

                        Pod \u6210\u529f\u8fd0\u884c\u540e\uff0c\u67e5\u770b\u65e5\u5fd7\u7ed3\u679c\u3002\u5728\u5c4f\u5e55\u4e0a\u7684\u5173\u952e\u63d0\u793a\u4fe1\u606f\u793a\u4f8b\u5982\u4e0b\u56fe\uff0c\u63d0\u793a\u4fe1\u606f\u4e2d\u7684 Label \u8868\u793a\u7c7b\u522b\u6807\u8bc6\uff0c Conf \u8868\u793a\u8be5\u5206\u7c7b\u7684\u6700\u5927\u7f6e\u4fe1\u5ea6\uff0cClass \u8868\u793a\u6240\u5c5e\u7c7b\u522b\u3002\u8fd9\u4e9b\u503c\u53ef\u80fd\u4f1a\u6839\u636e\u7248\u672c\u3001\u73af\u5883\u6709\u6240\u4e0d\u540c\uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6\uff1a

                        \u7ed3\u679c\u56fe\u7247\u5c55\u793a\uff1a

                      "},{"location":"kpanda/user-guide/gpu/ascend/ascend_usage.html#_3","title":"\u754c\u9762\u4f7f\u7528","text":"
                      1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Ascend \u3002

                      2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Ascend\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                        \u7269\u7406\u5361\u6570\u91cf\uff08huawei.com/Ascend910\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14**\u5c0f\u4e8e\u7b49\u4e8e**\u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                        \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                      "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html","title":"\u542f\u7528\u6607\u817e\u865a\u62df\u5316","text":"

                      \u6607\u817e\u865a\u62df\u5316\u5206\u4e3a\u52a8\u6001\u865a\u62df\u5316\u548c\u9759\u6001\u865a\u62df\u5316\uff0c\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f\u5e76\u4f7f\u7528\u6607\u817e\u9759\u6001\u865a\u62df\u5316\u80fd\u529b\u3002

                      "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • Kubernetes \u96c6\u7fa4\u73af\u5883\u642d\u5efa\u3002
                      • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
                      • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
                      • \u652f\u6301\u7684 NPU \u5361\u578b\u53f7\uff1a

                        • Ascend 310P\uff0c\u5df2\u9a8c\u8bc1
                        • Ascend 910b\uff0820 \u6838\uff09\uff0c\u5df2\u9a8c\u8bc1
                        • Ascend 910\uff0832 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1
                        • Ascend 910\uff0830 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1

                        \u66f4\u591a\u7ec6\u8282\u53c2\u9605\u5b98\u65b9\u865a\u62df\u5316\u786c\u4ef6\u8bf4\u660e\u3002

                      \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

                      "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#_3","title":"\u5f00\u542f\u865a\u62df\u5316\u80fd\u529b","text":"

                      \u5f00\u542f\u865a\u62df\u5316\u80fd\u529b\u9700\u8981\u624b\u52a8\u4fee\u6539\u00a0ascend-device-plugin-daemonset \u7ec4\u4ef6\u7684\u542f\u52a8\u53c2\u6570\uff0c\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

                      - device-plugin -useAscendDocker=true -volcanoType=false -presetVirtualDevice=true\n- logFile=/var/log/mindx-dl/devicePlugin/devicePlugin.log -logLevel=0\n
                      "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#vnpu","title":"\u5207\u5206 VNPU \u5b9e\u4f8b","text":"

                      \u9759\u6001\u865a\u62df\u5316\u9700\u8981\u624b\u52a8\u5bf9 VNPU \u5b9e\u4f8b\u7684\u5207\u5206\uff0c\u8bf7\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

                      npu-smi set -t create-vnpu -i 13 -c 0 -f vir02\n
                      • i \u6307\u7684\u662f card id
                      • c \u6307\u7684\u662f chip id
                      • vir02 \u6307\u7684\u662f\u5207\u5206\u89c4\u683c\u6a21\u677f

                      \u5173\u4e8e card id \u548c chip id\uff0c\u53ef\u4ee5\u901a\u8fc7 npu-smi info \u67e5\u8be2\uff0c\u5207\u5206\u89c4\u683c\u53ef\u901a\u8fc7 ascend \u5b98\u65b9\u6a21\u677f\u8fdb\u884c\u67e5\u8be2\u3002

                      \u5207\u5206\u5b9e\u4f8b\u8fc7\u540e\u53ef\u901a\u8fc7\u4e0b\u8ff0\u547d\u4ee4\u67e5\u8be2\u5207\u5206\u7ed3\u679c\uff1a

                      npu-smi info -t info-vnpu -i 13 -c 0\n

                      \u67e5\u8be2\u7ed3\u679c\u5982\u4e0b\uff1a

                      "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#ascend-device-plugin-daemonset","title":"\u91cd\u542f\u00a0ascend-device-plugin-daemonset","text":"

                      \u5207\u5206\u5b9e\u4f8b\u540e\u624b\u52a8\u91cd\u542f device-plugin pod\uff0c\u7136\u540e\u4f7f\u7528 kubectl describe \u547d\u4ee4\u67e5\u770b\u5df2\u6ce8\u518c node \u7684\u8d44\u6e90\uff1a

                      kubectl describe node {{nodename}}\n

                      "},{"location":"kpanda/user-guide/gpu/ascend/vnpu.html#_4","title":"\u5982\u4f55\u4f7f\u7528\u8bbe\u5907","text":"

                      \u5728\u521b\u5efa\u5e94\u7528\u65f6\uff0c\u6307\u5b9a\u8d44\u6e90 key\uff0c\u53c2\u8003\u4e0b\u8ff0 YAML\uff1a

                      ......\nresources:\n  requests:\n    huawei.com/Ascend310P-2c: 1\n  limits:\n    huawei.com/Ascend310P-2c: 1\n......\n
                      "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html","title":"\u6c90\u66e6 GPU \u7ec4\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528","text":"

                      \u672c\u7ae0\u8282\u63d0\u4f9b\u6c90\u66e6 gpu-extensions\u3001gpu-operator \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u548c\u6c90\u66e6 GPU \u6574\u5361\u548c vGPU \u4e24\u79cd\u6a21\u5f0f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002

                      "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      1. \u5df2\u5728\u6c90\u66e6\u8f6f\u4ef6\u4e2d\u5fc3\u4e0b\u8f7d\u5e76\u5b89\u88c5\u6240\u9700\u7684 tar \u5305\uff0c \u672c\u6587\u4ee5 metax-gpu-k8s-package.0.7.10.tar.gz \u4e3a\u4f8b\u3002
                      2. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
                      "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#_2","title":"\u7ec4\u4ef6\u4ecb\u7ecd","text":"

                      Metax \u63d0\u4f9b\u4e86\u4e24\u4e2a helm-chart \u5305\uff0c\u4e00\u4e2a\u662f metax-extensions\uff0c\u4e00\u4e2a\u662f gpu-operator\uff0c\u6839\u636e\u4f7f\u7528\u573a\u666f\u53ef\u9009\u62e9\u5b89\u88c5\u4e0d\u540c\u7684\u7ec4\u4ef6\u3002

                      1. Metax-extensions\uff1a\u5305\u542b gpu-device \u548c gpu-label \u4e24\u4e2a\u7ec4\u4ef6\u3002\u5728\u4f7f\u7528 Metax-extensions \u65b9\u6848\u65f6\uff0c\u7528\u6237\u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u9700\u8981\u57fa\u4e8e MXMACA\u00ae \u57fa\u7840\u955c\u50cf\u6784\u5efa\u3002\u4e14 Metax-extensions \u4ec5\u9002\u7528\u4e8e GPU \u6574\u5361\u4f7f\u7528\u573a\u666f\u3002
                      2. gpu-operator\uff1a\u5305\u542b gpu-device\u3001gpu-label\u3001driver-manager\u3001container-runtime\u3001operator-controller \u8fd9\u4e9b\u7ec4\u4ef6\u3002 \u4f7f\u7528 gpu-operator \u65b9\u6848\u65f6\uff0c\u7528\u6237\u53ef\u9009\u62e9\u5236\u4f5c\u4e0d\u5305\u542b MXMACA\u00ae SDK \u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u3002gpu-operator \u9002\u7528\u4e8e GPU \u6574\u5361\u548c vGPU \u573a\u666f\u3002
                      "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u4ece /home/metax/metax-docs/k8s/metax-gpu-k8s-package.0.7.10.tar.gz \u6587\u4ef6\u4e2d\u89e3\u538b\u51fa

                        • deploy-gpu-extensions.yaml # \u90e8\u7f72yaml
                        • metax-gpu-extensions-0.7.10.tgz\u3001metax-operator-0.7.10.tgz # helm chart\u6587\u4ef6
                        • metax-k8s-images.0.7.10.run # \u79bb\u7ebf\u955c\u50cf
                      2. \u67e5\u770b\u7cfb\u7edf\u662f\u5426\u5b89\u88c5\u9a71\u52a8

                        $ lsmod | grep metax \nmetax 1605632 0 \nttm 86016 3 drm_vram_helper,metax,drm_ttm_helper \ndrm 618496 7 drm_kms_helper,drm_vram_helper,ast,metax,drm_ttm_helper,ttm\n
                        • \u5982\u6ca1\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5c31\u8868\u793a\u6ca1\u6709\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002\u5982\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5219\u8868\u793a\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002
                        • \u4f7f\u7528 metax-opeartor \u65f6\uff0c\u4e0d\u63a8\u8350\u5728\u5de5\u4f5c\u8282\u70b9\u9884\u5b89\u88c5 MXMACA \u5185\u6838\u6001\u9a71\u52a8\uff0c\u82e5\u5df2\u5b89\u88c5\u4e5f\u65e0\u9700\u5378\u8f7d\u3002
                      3. \u5b89\u88c5\u9a71\u52a8

                      "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#gpu-extensions","title":"gpu-extensions","text":"
                      1. \u63a8\u9001\u955c\u50cf

                        tar -xf metax-gpu-k8s-package.0.7.10.tar.gz\n./metax-k8s-images.0.7.10.run push {registry}/metax\n
                      2. \u63a8\u9001 Helm Chart

                        helm plugin install https://github.com/chartmuseum/helm-push\nhelm repo add  --username rootuser --password rootpass123  metax http://172.16.16.5:8081\nhelm cm-push metax-operator-0.7.10.tgz metax\nhelm cm-push metax-gpu-extensions-0.7.10.tgz metax\n
                      3. \u5728 DCE 5.0 \u5e73\u53f0\u4e0a\u5b89\u88c5 metax-gpu-extensions

                        \u90e8\u7f72\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u67e5\u770b\u5230\u8d44\u6e90\u3002

                      4. \u4fee\u6539\u6210\u529f\u4e4b\u540e\u5c31\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u770b\u5230\u5e26\u6709 Metax GPU \u7684\u6807\u7b7e

                      "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#gpu-operator","title":"gpu-operator","text":"

                      \u5b89\u88c5 gpu-opeartor \u65f6\u7684\u5df2\u77e5\u95ee\u9898\uff1a

                      1. metax-operator\u3001gpu-label\u3001gpu-device \u3001container-runtime \u8fd9\u51e0\u4e2a\u7ec4\u4ef6\u955c\u50cf\u8981\u5e26\u6709 amd64 \u540e\u7f00\u3002

                      2. metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u4e0d\u5728 metax-k8s-images.0.7.13.run \u5305\u91cc\u9762\uff0c\u9700\u8981\u5355\u72ec\u4e0b\u8f7d maca-mxc500-2.23.0.23-ubuntu20.04-x86_64.tar.xz \u8fd9\u7c7b\u955c\u50cf\uff0cload \u4e4b\u540e\u91cd\u65b0\u4fee\u6539 metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u3002

                      3. metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u9700\u8981\u4ece https://pub-docstore.metax-tech.com:7001 \u8fd9\u4e2a\u7f51\u7ad9\u4e0b\u8f7d k8s-driver-image.2.23.0.25.run \u6587\u4ef6\uff0c\u7136\u540e\u6267\u884c k8s-driver-image.2.23.0.25.run push {registry}/metax \u547d\u4ee4\u628a\u955c\u50cf\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u3002\u63a8\u9001\u4e4b\u540e\u4fee\u6539 metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u5730\u5740\u3002

                      "},{"location":"kpanda/user-guide/gpu/metax/usemetax.html#gpu_1","title":"\u4f7f\u7528 GPU","text":"

                      \u5b89\u88c5\u540e\u53ef\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u4f7f\u7528\u6c90\u66e6 GPU\u3002\u6ce8\u610f\u542f\u7528 GPU \u540e\uff0c\u9700\u9009\u62e9GPU\u7c7b\u578b\u4e3a Metax GPU

                      \u8fdb\u5165\u5bb9\u5668\uff0c\u6267\u884c mx-smi \u53ef\u67e5\u770b GPU \u7684\u4f7f\u7528\u60c5\u51b5.

                      "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html","title":"\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU","text":"

                      \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u4e2d\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU\u3002

                      "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                      • \u5df2\u7ecf\u90e8\u7f72 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5bd2\u6b66\u7eaa\u56fa\u4ef6\u3001\u9a71\u52a8\u4ee5\u53caDevicePlugin\u7ec4\u4ef6\uff0c\u5b89\u88c5\u8be6\u60c5\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff1a
                        • \u9a71\u52a8\u56fa\u4ef6\u5b89\u88c5
                        • DevicePlugin \u5b89\u88c5

                      \u5728\u5b89\u88c5 DevicePlugin \u65f6\u8bf7\u5173\u95ed --enable-device-type \u53c2\u6570\uff0c\u5426\u5219 DCE5.0 \u5c06\u65e0\u6cd5\u6b63\u786e\u8bc6\u522b\u5bd2\u6b66\u7eaa GPU\u3002

                      "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html#gpu_1","title":"\u5bd2\u6b66\u7eaa GPU \u6a21\u5f0f\u4ecb\u7ecd","text":"

                      \u5bd2\u6b66\u7eaa GPU \u6709\u4ee5\u4e0b\u51e0\u79cd\u6a21\u5f0f\uff1a

                      • \u6574\u5361\u6a21\u5f0f\uff1a\u5c06\u5bd2\u6b66\u7eaaGPU\u4ee5\u6574\u5361\u7684\u65b9\u5f0f\u6ce8\u518c\u5230\u96c6\u7fa4\u5f53\u4e2d\u8fdb\u884c\u4f7f\u7528\u3002
                      • Share \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u4e00\u5f20\u5bd2\u6b66\u7eaaGPU\u5171\u4eab\u7ed9\u591a\u4e2a Pod \u8fdb\u884c\u4f7f\u7528\uff0c\u53ef\u4ee5\u901a\u8fc7 virtualization-num \u53c2\u6570\u8fdb\u884c\u8bbe\u7f6e\u53ef\u5171\u4eab\u5bb9\u5668\u7684\u6570\u91cf\u3002
                      • Dynamic smlu \u6a21\u5f0f\uff1a\u8fdb\u4e00\u6b65\u5bf9\u8d44\u6e90\u8fdb\u884c\u4e86\u7ec6\u5316\uff0c\u53ef\u4ee5\u63a7\u5236\u5206\u914d\u7ed9\u5bb9\u5668\u7684\u663e\u5b58\u3001\u7b97\u529b\u7684\u5927\u5c0f\u3002
                      • Mim \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u5bd2\u6b66\u7eaa GPU \u6309\u7167\u56fa\u5b9a\u7684\u89c4\u683c\u5207\u5206\u6210\u591a\u5f20 GPU \u8fdb\u884c\u4f7f\u7528\u3002
                      "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html#dce-50","title":"DCE 5.0 \u4f7f\u7528\u5bd2\u6b66\u7eaa","text":"

                      \u8fd9\u91cc\u4ee5 Dynamic smlu \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                      1. \u5728\u6b63\u786e\u5b89\u88c5 DevicePlugin \u7b49\u7ec4\u4ef6\u540e\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8fd0\u7ef4-> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002

                      2. \u70b9\u51fb\u8282\u70b9\u7ba1\u7406\u9875\u9762\uff0c\u67e5\u770b\u8282\u70b9\u662f\u5426\u5df2\u7ecf\u6b63\u786e\u8bc6\u522b\u5230\u5bf9\u5e94\u7684GPU\u7c7b\u578b\u3002

                      3. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08MLU VGPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

                        • GPU \u7b97\u529b\uff08cambricon.com/mlu.smlu.vcore\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u4f7f\u7528\u6838\u5fc3\u7684\u767e\u5206\u6bd4\u6570\u91cf\u3002
                        • GPU \u663e\u5b58\uff08cambricon.com/mlu.smlu.vmemory\uff09\uff1a\u8868\u793a\u5f53\u524dPod\u9700\u8981\u4f7f\u7528\u663e\u5b58\u7684\u5927\u5c0f\uff0c\u5355\u4f4d\u662fMB\u3002

                      "},{"location":"kpanda/user-guide/gpu/mlu/use-mlu.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                      \u53c2\u8003 YAML \u6587\u4ef6\u5982\u4e0b\uff1a

                      apiVersion: v1  \nkind: Pod  \nmetadata:  \n  name: pod1  \nspec:  \n  restartPolicy: OnFailure  \n  containers:  \n    - image: ubuntu:16.04  \n      name: pod1-ctr  \n      command: [\"sleep\"]  \n      args: [\"100000\"]  \n      resources:  \n        limits:  \n          cambricon.com/mlu: \"1\" # use this when device type is not enabled, else delete this line.  \n          #cambricon.com/mlu: \"1\" #uncomment to use when device type is enabled  \n          #cambricon.com/mlu.share: \"1\" #uncomment to use device with env-share mode  \n          #cambricon.com/mlu.mim-2m.8gb: \"1\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vcore: \"100\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vmemory: \"1024\" #uncomment to use device with mim mode\n
                      "},{"location":"kpanda/user-guide/gpu/nvidia/index.html","title":"NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f","text":"

                      NVIDIA \u4f5c\u4e3a\u4e1a\u5185\u77e5\u540d\u7684\u56fe\u5f62\u8ba1\u7b97\u4f9b\u5e94\u5546\uff0c\u4e3a\u7b97\u529b\u7684\u63d0\u5347\u63d0\u4f9b\u4e86\u8bf8\u591a\u8f6f\u786c\u4ef6\u89e3\u51b3\u65b9\u6848\uff0c\u5176\u4e2d NVIDIA \u5728 GPU \u7684\u4f7f\u7528\u65b9\u5f0f\u4e0a\u63d0\u4f9b\u4e86\u5982\u4e0b\u4e09\u79cd\u89e3\u51b3\u65b9\u6848\uff1a

                      "},{"location":"kpanda/user-guide/gpu/nvidia/index.html#full-gpu","title":"\u6574\u5361\uff08Full GPU\uff09","text":"

                      \u6574\u5361\u662f\u6307\u5c06\u6574\u4e2a NVIDIA GPU \u5206\u914d\u7ed9\u5355\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u3002\u5728\u8fd9\u79cd\u914d\u7f6e\u4e0b\uff0c\u5e94\u7528\u53ef\u4ee5\u5b8c\u5168\u5360\u7528 GPU \u7684\u6240\u6709\u8d44\u6e90\uff0c \u5e76\u83b7\u5f97\u6700\u5927\u7684\u8ba1\u7b97\u6027\u80fd\u3002\u6574\u5361\u9002\u7528\u4e8e\u9700\u8981\u5927\u91cf\u8ba1\u7b97\u8d44\u6e90\u548c\u5185\u5b58\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5982\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

                      "},{"location":"kpanda/user-guide/gpu/nvidia/index.html#vgpuvirtual-gpu","title":"vGPU\uff08Virtual GPU\uff09","text":"

                      vGPU \u662f\u4e00\u79cd\u865a\u62df\u5316\u6280\u672f\uff0c\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u865a\u62df GPU\uff0c\u6bcf\u4e2a\u865a\u62df GPU \u5206\u914d\u7ed9\u4e0d\u540c\u7684\u865a\u62df\u673a\u6216\u7528\u6237\u3002 vGPU \u4f7f\u591a\u4e2a\u7528\u6237\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u53f0\u7269\u7406 GPU\uff0c\u5e76\u5728\u5404\u81ea\u7684\u865a\u62df\u73af\u5883\u4e2d\u72ec\u7acb\u4f7f\u7528 GPU \u8d44\u6e90\u3002 \u6bcf\u4e2a\u865a\u62df GPU \u53ef\u4ee5\u83b7\u5f97\u4e00\u5b9a\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002vGPU \u9002\u7528\u4e8e\u865a\u62df\u5316\u73af\u5883\u548c\u4e91\u8ba1\u7b97\u573a\u666f\uff0c\u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8d44\u6e90\u5229\u7528\u7387\u548c\u7075\u6d3b\u6027\u3002

                      "},{"location":"kpanda/user-guide/gpu/nvidia/index.html#migmulti-instance-gpu","title":"MIG\uff08Multi-Instance GPU\uff09","text":"

                      MIG \u662f NVIDIA Ampere \u67b6\u6784\u5f15\u5165\u7684\u4e00\u9879\u529f\u80fd\uff0c\u5b83\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u7269\u7406 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u7528\u6237\u6216\u5de5\u4f5c\u8d1f\u8f7d\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u5177\u6709\u81ea\u5df1\u7684\u8ba1\u7b97\u8d44\u6e90\u3001\u663e\u5b58\u548c PCIe \u5e26\u5bbd\uff0c\u5c31\u50cf\u4e00\u4e2a\u72ec\u7acb\u7684\u865a\u62df GPU\u3002 MIG \u63d0\u4f9b\u4e86\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u52a8\u6001\u8c03\u6574\u5b9e\u4f8b\u7684\u6570\u91cf\u548c\u5927\u5c0f\u3002 MIG \u9002\u7528\u4e8e\u591a\u79df\u6237\u73af\u5883\u3001\u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f\u548c\u6279\u5904\u7406\u4f5c\u4e1a\u7b49\u573a\u666f\u3002

                      \u65e0\u8bba\u662f\u5728\u865a\u62df\u5316\u73af\u5883\u4e2d\u4f7f\u7528 vGPU\uff0c\u8fd8\u662f\u5728\u7269\u7406 GPU \u4e0a\u4f7f\u7528 MIG\uff0cNVIDIA \u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u9009\u62e9\u548c\u4f18\u5316 GPU \u8d44\u6e90\u7684\u65b9\u5f0f\u3002 Daocloud \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5168\u9762\u517c\u5bb9\u4e86\u4e0a\u8ff0 NVIDIA \u7684\u80fd\u529b\u7279\u6027\uff0c\u7528\u6237\u53ea\u9700\u901a\u8fc7\u7b80\u5355\u7684\u754c\u9762\u64cd\u4f5c\uff0c\u5c31\u80fd\u591f\u83b7\u5f97\u5168\u90e8 NVIDIA GPU \u7684\u8ba1\u7b97\u80fd\u529b\uff0c\u4ece\u800c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387\u5e76\u964d\u4f4e\u6210\u672c\u3002

                      • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\uff0c\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a
                        • \u5c5e\u4e8e\u540c\u4e00\u4e2a\u578b\u53f7\uff08\u4f8b\u5982 A100-SXM-40GB\uff09\uff0c\u53ea\u6709\u540c\u4e00\u578b\u53f7 GPU \u7684 MIG Profile \u624d\u662f\u4e00\u6837\u7684
                        • \u542f\u7528 MIG \u914d\u7f6e\uff0c\u9700\u8981\u91cd\u542f\u673a\u5668\u624d\u80fd\u751f\u6548
                        • \u4e3a\u5728\u6240\u6709\u4ea7\u54c1\u4e2d\u516c\u5f00\u201c\u5b8c\u5168\u76f8\u540c\u201d\u7684 MIG \u8bbe\u5907\u7c7b\u578b\uff0c\u521b\u5efa\u76f8\u540c\u7684GI \u548c CI
                      • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002\u8bf7\u6c42\u7279\u5b9a\u7684 MIG \u8bbe\u5907\u7c7b\u578b\u9700\u8981\u8bbe\u5907\u7c7b\u578b\u63d0\u4f9b\u7684\u8ba1\u7b97\u5207\u7247\u6570\u91cf\u548c\u5185\u5b58\u603b\u91cf\u3002
                        • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                        • \u6bcf\u4e2a GPU \u53ef\u542f\u7528\u6216\u4e0d\u542f\u7528 MIG\uff0c\u5e76\u4e14\u53ef\u4ee5\u81ea\u7531\u914d\u7f6e\u4efb\u4f55\u53ef\u7528 MIG \u8bbe\u5907\u7c7b\u578b\u7684\u6df7\u5408\u642d\u914d\u3002
                        • \u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 k8s-device-plugin \u5c06\uff1a
                          • \u4f7f\u7528\u4f20\u7edf\u7684 nvidia.com/gpu \u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u4efb\u4f55\u4e0d\u5904\u4e8e MIG \u6a21\u5f0f\u7684 GPU
                          • \u4f7f\u7528\u9075\u5faa\u67b6\u6784 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                            \u5f00\u542f\u914d\u7f6e\u8be6\u60c5\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/index.html#_1","title":"\u5982\u4f55\u4f7f\u7528","text":"

                            \u60a8\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u94fe\u63a5\uff0c\u5feb\u901f\u4f7f\u7528 Daocloud \u5173\u4e8e NVIDIA GPU \u5361\u7684\u7ba1\u7406\u80fd\u529b\u3002

                            • NVIDIA GPU \u6574\u5361\u4f7f\u7528
                            • NVIDIA vGPU \u4f7f\u7528
                            • NVIDIA MIG \u4f7f\u7528
                            "},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html","title":"\u5e94\u7528\u4f7f\u7528 GPU \u6574\u5361","text":"

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u5c06\u6574\u4e2a NVIDIA GPU \u5361\u5206\u914d\u7ed9\u5355\u4e2a\u5e94\u7528\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5df2\u7ecf\u90e8\u7f72 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u5e76\u5df2\u542f\u7528 NVIDIA DevicePlugin \uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                            • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002
                            "},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html#ui","title":"\u4f7f\u7528 UI \u754c\u9762\u914d\u7f6e","text":"
                            1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia GPU \u3002

                            2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia GPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                              \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/gpu\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                              \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/full_gpu_userguide.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                            \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/gpu: 1 \u53c2\u6570\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-gpu-demo\n    spec:\n      containers:\n      - image: chrstnhntschl/gpu_burn\n        name: container-0\n        resources:\n          requests:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # \u7533\u8bf7 GPU \u7684\u6570\u91cf\n          limits:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # GPU \u6570\u91cf\u7684\u4f7f\u7528\u4e0a\u9650\n      imagePullSecrets:\n      - name: default-secret\n

                            Note

                            \u4f7f\u7528 nvidia.com/gpu \u53c2\u6570\u6307\u5b9a GPU \u6570\u91cf\u65f6\uff0crequests \u548c limits \u503c\u9700\u8981\u4fdd\u6301\u4e00\u81f4\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html","title":"GPU Operator \u79bb\u7ebf\u5b89\u88c5","text":"

                            DCE 5.0 \u9884\u7f6e\u4e86 Ubuntu22.04\u3001Ubuntu20.04\u3001CentOS 7.9 \u8fd9\u4e09\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\uff0c\u9a71\u52a8\u7248\u672c\u662f 535.104.12\uff1b \u5e76\u4e14\u5185\u7f6e\u4e86\u5404\u64cd\u4f5c\u7cfb\u7edf\u6240\u9700\u7684 Toolkit \u955c\u50cf\uff0c\u7528\u6237\u4e0d\u518d\u9700\u8981\u624b\u52a8\u79bb\u7ebf Toolkit \u955c\u50cf\u3002

                            \u672c\u6587\u4f7f\u7528 AMD \u67b6\u6784\u7684 CentOS 7.9\uff083.10.0-1160\uff09\u8fdb\u884c\u6f14\u793a\u3002\u5982\u9700\u4f7f\u7528 Red Hat 8.4 \u90e8\u7f72\uff0c \u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u548c\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5f85\u90e8\u7f72 gpu-operator \u7684\u96c6\u7fa4\u8282\u70b9\u5185\u6838\u7248\u672c\u5fc5\u987b\u5b8c\u5168\u4e00\u81f4\u3002\u8282\u70b9\u6240\u5728\u7684\u53d1\u884c\u7248\u548c GPU \u5361\u578b\u53f7\u5728 GPU \u652f\u6301\u77e9\u9635\u7684\u8303\u56f4\u5185\u3002
                            • \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305 \uff08Addon v0.20 \u53ca\u4ee5\u4e0a\u7248\u672c\u5185\u7f6e Ubuntu22.04\u3001Ubuntu20.04\u3001CentOS 7.9 \u4e09\u4e2a\u64cd\u4f5c\u7cfb\u7edf\uff09\u3002
                            • \u5b89\u88c5 gpu-operator \u65f6\u9009\u62e9 v23.9.0+2 \u53ca\u4ee5\u4e0a\u7248\u672c
                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 gpu-operator \u63d2\u4ef6\u3002

                            1. \u767b\u5f55\u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5f85\u5b89\u88c5 gpu-operator \u7684\u96c6\u7fa4 -> \u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\u3002

                            2. \u5728 Helm \u6a21\u677f \u9875\u9762\uff0c\u9009\u62e9 \u5168\u90e8\u4ed3\u5e93 \uff0c\u641c\u7d22 gpu-operator \u3002

                            3. \u9009\u62e9 gpu-operator \uff0c\u70b9\u51fb \u5b89\u88c5 \u3002

                            4. \u53c2\u8003\u4e0b\u6587\u53c2\u6570\u914d\u7f6e\uff0c\u914d\u7f6e gpu-operator \u5b89\u88c5\u53c2\u6570\uff0c\u5b8c\u6210 gpu-operator \u7684\u5b89\u88c5\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_3","title":"\u53c2\u6570\u914d\u7f6e","text":"
                            • systemOS \uff1a\u9009\u62e9\u673a\u5668\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5f53\u524d\u5185\u7f6e\u4e86 Ubuntu 22.04\u3001Ubuntu20.04\u3001Centos7.9 \u3001other \u56db\u4e2a\u9009\u9879\uff0c\u8bf7\u6b63\u786e\u7684\u9009\u62e9\u64cd\u4f5c\u7cfb\u7edf\u3002
                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_4","title":"\u57fa\u672c\u53c2\u6570\u914d\u7f6e","text":"
                            • \u540d\u79f0 \uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\u3002
                            • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u7248\u672c \uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 v23.9.0+2 \u7248\u672c\u4e3a\u4f8b\u3002
                            • \u5931\u8d25\u5220\u9664 \uff1a\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                            • \u5c31\u7eea\u7b49\u5f85 \uff1a\u542f\u7528\u540e\uff0c\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                            • \u8be6\u60c5\u65e5\u5fd7 \uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002
                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_5","title":"\u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e","text":""},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#operator","title":"Operator \u53c2\u6570\u914d\u7f6e","text":"
                            • InitContainer.image \uff1a\u914d\u7f6e CUDA \u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/cuda
                            • InitContainer.repository \uff1aCUDA \u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvcr.m.daocloud.io \u4ed3\u5e93
                            • InitContainer.version : CUDA \u955c\u50cf\u7684\u7248\u672c\uff0c\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570
                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#driver","title":"Driver \u53c2\u6570\u914d\u7f6e","text":"
                            • Driver.enable \uff1a\u914d\u7f6e\u662f\u5426\u5728\u8282\u70b9\u4e0a\u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u5982\u679c\u60a8\u5728\u4f7f\u7528 GPU Operator \u90e8\u7f72\u524d\uff0c\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u90e8\u7f72\u4e86 NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff0c\u8bf7\u5173\u95ed\u3002\uff08\u82e5\u624b\u52a8\u90e8\u7f72\u9a71\u52a8\u7a0b\u5e8f\u9700\u8981\u5173\u6ce8 CUDA Toolkit \u4e0e Toolkit Driver Version \u7684\u9002\u914d\u5173\u7cfb\uff0c\u901a\u8fc7 GPU operator \u5b89\u88c5\u5219\u65e0\u9700\u5173\u6ce8\uff09\u3002
                            • Driver.usePrecompiled \uff1a\u542f\u7528\u9884\u7f16\u8bd1\u7684GPU\u9a71\u52a8
                            • Driver.image \uff1a\u914d\u7f6e GPU \u9a71\u52a8\u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/driver \u3002
                            • Driver.repository \uff1aGPU \u9a71\u52a8\u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvidia \u7684 nvcr.io \u4ed3\u5e93\u3002
                            • Driver.usePrecompiled \uff1a\u5f00\u542f\u9884\u7f16\u8bd1\u6a21\u5f0f\u5b89\u88c5\u9a71\u52a8\u3002
                            • Driver.version \uff1aGPU \u9a71\u52a8\u955c\u50cf\u7684\u7248\u672c\uff0c\u79bb\u7ebf\u90e8\u7f72\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570\uff0c\u4ec5\u5728\u7ebf\u5b89\u88c5\u65f6\u9700\u914d\u7f6e\u3002\u4e0d\u540c\u7c7b\u578b\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\u7684\u7248\u672c\u5b58\u5728\u5982\u4e0b\u5dee\u5f02\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\uff1aNvidia GPU Driver \u7248\u672c\u3002 \u5982\u4e0b\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver Version \u793a\u4f8b\uff1a

                              Note

                              \u4f7f\u7528\u5185\u7f6e\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u65e0\u9700\u4fee\u6539\u955c\u50cf\u7248\u672c\uff0c\u5176\u4ed6\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u955c\u50cf\u3002 \u6ce8\u610f\u7248\u672c\u53f7\u540e\u65e0\u9700\u586b\u5199 Ubuntu\u3001CentOS\u3001Red Hat \u7b49\u64cd\u4f5c\u7cfb\u7edf\u540d\u79f0\uff0c\u82e5\u5b98\u65b9\u955c\u50cf\u542b\u6709\u64cd\u4f5c\u7cfb\u7edf\u540e\u7f00\uff0c\u8bf7\u624b\u52a8\u79fb\u9664\u3002

                              • Red Hat \u7cfb\u7edf\uff0c\u4f8b\u5982 525.105.17
                              • Ubuntu \u7cfb\u7edf\uff0c\u4f8b\u5982 535-5.15.0-1043-nvidia
                              • CentOS \u7cfb\u7edf\uff0c\u4f8b\u5982 525.147.05
                            • Driver.RepoConfig.ConfigMapName \uff1a\u7528\u6765\u8bb0\u5f55 GPU Operator \u7684\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\uff0c \u5f53\u4f7f\u7528\u9884\u7f6e\u7684\u79bb\u7ebf\u5305\u65f6\uff0c\u5404\u7c7b\u578b\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bf7\u53c2\u8003\u5982\u4e0b\u7684\u6587\u6863\u3002

                              • \u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90
                              • \u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90
                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#toolkit","title":"Toolkit \u914d\u7f6e\u53c2\u6570","text":"

                            Toolkit.enable \uff1a\u9ed8\u8ba4\u5f00\u542f\uff0c\u8be5\u7ec4\u4ef6\u8ba9 conatainerd/docker \u652f\u6301\u8fd0\u884c\u9700\u8981 GPU \u7684\u5bb9\u5668\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#mig","title":"MIG \u914d\u7f6e\u53c2\u6570","text":"

                            \u8be6\u7ec6\u914d\u7f6e\u65b9\u5f0f\u8bf7\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd

                            MigManager.Config.name \uff1aMIG \u7684\u5207\u5206\u914d\u7f6e\u6587\u4ef6\u540d\uff0c\u7528\u4e8e\u5b9a\u4e49 MIG \u7684\uff08GI, CI\uff09\u5207\u5206\u7b56\u7565\u3002 \u9ed8\u8ba4\u4e3a default-mig-parted-config \u3002\u81ea\u5b9a\u4e49\u53c2\u6570\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/install_nvidia_driver_of_operator.html#_6","title":"\u4e0b\u4e00\u6b65\u64cd\u4f5c","text":"

                            \u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff1a

                            • \u5982\u679c\u4f7f\u7528 \u6574\u5361\u6a21\u5f0f\uff0c\u5e94\u7528\u521b\u5efa\u65f6\u53ef\u4f7f\u7528 GPU \u8d44\u6e90

                            • \u5982\u679c\u4f7f\u7528 vGPU \u6a21\u5f0f \uff0c\u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff0c\u4e0b\u4e00\u6b65\u8bf7\u5b8c\u6210 vGPU Addon \u5b89\u88c5

                            • \u5982\u679c\u4f7f\u7528 MIG \u6a21\u5f0f\uff0c\u5e76\u4e14\u9700\u8981\u7ed9\u4e2a\u522b GPU \u8282\u70b9\u6309\u7167\u67d0\u79cd\u5207\u5206\u89c4\u683c\u8fdb\u884c\u4f7f\u7528\uff0c \u5426\u5219\u6309\u7167 MigManager.Config \u4e2d\u7684 default \u503c\u8fdb\u884c\u5207\u5206\u3002

                              • single \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                                kubectl label nodes {node} nvidia.com/mig.config=\"all-1g.10gb\" --overwrite\n
                              • mixed \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                                kubectl label nodes {node} nvidia.com/mig.config=\"custom-config\" --overwrite\n

                            \u200b \u5207\u5206\u540e\uff0c\u5e94\u7528\u53ef\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html","title":"\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                            \u672c\u6587\u4ee5 Red Hat 8.4 \u7684 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u79bb\u7ebf\u955c\u50cf\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            1. \u706b\u79cd\u8282\u70b9\u53ca\u5176\u7ec4\u4ef6\u72b6\u6001\u8fd0\u884c\u6b63\u5e38\u3002
                            2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u706b\u79cd\u8282\u70b9\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                            "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_3","title":"\u5728\u8054\u7f51\u8282\u70b9\u83b7\u53d6\u79bb\u7ebf\u955c\u50cf","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                            1. \u5728\u8054\u7f51\u673a\u5668\u4e0a\u62c9\u53d6 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\uff1a

                              docker pull nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                            2. \u955c\u50cf\u62c9\u53d6\u5b8c\u6210\u540e\uff0c\u6253\u5305\u955c\u50cf\u4e3a nvidia-driver.tar \u538b\u7f29\u5305\uff1a

                              docker save nvcr.io/nvidia/driver:525.105.17-rhel8.4 > nvidia-driver.tar\n
                            3. \u62f7\u8d1d nvidia-driver.tar \u955c\u50cf\u538b\u7f29\u5305\u5230\u706b\u79cd\u8282\u70b9\uff1a

                              scp  nvidia-driver.tar user@ip:/root\n

                              \u4f8b\u5982\uff1a

                              scp  nvidia-driver.tar root@10.6.175.10:/root\n
                            "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_4","title":"\u63a8\u9001\u955c\u50cf\u5230\u706b\u79cd\u8282\u70b9\u4ed3\u5e93","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u706b\u79cd\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                            1. \u767b\u5f55\u706b\u79cd\u8282\u70b9\uff0c\u5c06\u8054\u7f51\u8282\u70b9\u62f7\u8d1d\u7684\u955c\u50cf\u538b\u7f29\u5305 nvidia-driver.tar \u5bfc\u5165\u672c\u5730\uff1a

                              docker load -i nvidia-driver.tar\n
                            2. \u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u955c\u50cf\uff1a

                              docker images -a |grep nvidia\n

                              \u9884\u671f\u8f93\u51fa\uff1a

                              nvcr.io/nvidia/driver                 e3ed7dee73e9   1 days ago   1.02GB\n
                            3. \u91cd\u65b0\u6807\u8bb0\u955c\u50cf\uff0c\u4f7f\u5176\u4e0e\u8fdc\u7a0b Registry \u4ed3\u5e93\u4e2d\u7684\u76ee\u6807\u4ed3\u5e93\u5bf9\u5e94\uff1a

                              docker tag <image-name> <registry-url>/<repository-name>:<tag>\n
                              • <image-name> \u662f\u4e0a\u4e00\u6b65 nvidia \u955c\u50cf\u7684\u540d\u79f0\uff0c
                              • <registry-url> \u662f\u706b\u79cd\u8282\u70b9\u4e0a Registry \u670d\u52a1\u7684\u5730\u5740\uff0c
                              • <repository-name> \u662f\u60a8\u8981\u63a8\u9001\u5230\u7684\u4ed3\u5e93\u540d\u79f0\uff0c
                              • <tag> \u662f\u60a8\u4e3a\u955c\u50cf\u6307\u5b9a\u7684\u6807\u7b7e\u3002

                              \u4f8b\u5982\uff1a

                              registry\uff1adocker tag nvcr.io/nvidia/driver 10.6.10.5/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                            4. \u5c06\u955c\u50cf\u63a8\u9001\u5230\u706b\u79cd\u8282\u70b9\u955c\u50cf\u4ed3\u5e93\uff1a

                              docker push {ip}/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                            "},{"location":"kpanda/user-guide/gpu/nvidia/push_image_to_repo.html#_5","title":"\u63a5\u4e0b\u6765","text":"

                            \u53c2\u8003\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u548c GPU Operator \u79bb\u7ebf\u5b89\u88c5\u6765\u4e3a\u96c6\u7fa4\u90e8\u7f72 GPU Operator\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/rhel9.2_offline_install_driver.html","title":"RHEL 9.2 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                            \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                            RHEL 9.2 \u9a71\u52a8\u955c\u50cf\u4e0d\u80fd\u76f4\u63a5\u5b89\u88c5\uff0c\u5b98\u65b9\u7684\u9a71\u52a8\u811a\u672c\u5b58\u5728\u4e00\u70b9\u95ee\u9898\uff0c\u5728\u5b98\u65b9\u4fee\u590d\u4e4b\u524d\uff0c\u63d0\u4f9b\u5982\u4e0b\u7684\u6b65\u9aa4\u6765\u5b9e\u73b0\u79bb\u7ebf\u5b89\u88c5\u9a71\u52a8\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/rhel9.2_offline_install_driver.html#nouveau","title":"\u7981\u7528nouveau\u9a71\u52a8","text":"

                            \u5728 RHEL 9.2 \u4e2d\u5b58\u5728 nouveau \u975e\u5b98\u65b9\u7684 Nvidia \u9a71\u52a8\uff0c\u56e0\u6b64\u9700\u8981\u5148\u7981\u7528\u3002

                            # \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6\nsudo vi /etc/modprobe.d/blacklist-nouveau.conf\n# \u6dfb\u52a0\u4ee5\u4e0b\u4e24\u884c\u5185\u5bb9:\nblacklist nouveau\noptions nouveau modeset=0\n# \u7981\u7528Nouveau\nsudo dracut --force\n# \u91cd\u542fvm\nsudo reboot\n# \u68c0\u67e5\u662f\u5426\u5df2\u7ecf\u6210\u529f\u7981\u7528\nlsmod | grep nouveau\n
                            "},{"location":"kpanda/user-guide/gpu/nvidia/rhel9.2_offline_install_driver.html#_1","title":"\u81ea\u5b9a\u4e49\u9a71\u52a8\u955c\u50cf","text":"

                            \u5148\u5728\u672c\u5730\u521b\u5efa nvidia-driver \u6587\u4ef6\uff1a

                            \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 nvidia-driver \u6587\u4ef6\u5185\u5bb9
                            #! /bin/bash -x\n# Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.\n\nset -eu\n\nRUN_DIR=/run/nvidia\nPID_FILE=${RUN_DIR}/${0##*/}.pid\nDRIVER_VERSION=${DRIVER_VERSION:?\"Missing DRIVER_VERSION env\"}\nKERNEL_UPDATE_HOOK=/run/kernel/postinst.d/update-nvidia-driver\nNUM_VGPU_DEVICES=0\nNVIDIA_MODULE_PARAMS=()\nNVIDIA_UVM_MODULE_PARAMS=()\nNVIDIA_MODESET_MODULE_PARAMS=()\nNVIDIA_PEERMEM_MODULE_PARAMS=()\nTARGETARCH=${TARGETARCH:?\"Missing TARGETARCH env\"}\nUSE_HOST_MOFED=\"${USE_HOST_MOFED:-false}\"\nDNF_RELEASEVER=${DNF_RELEASEVER:-\"\"}\nRHEL_VERSION=${RHEL_VERSION:-\"\"}\nRHEL_MAJOR_VERSION=9\n\nOPEN_KERNEL_MODULES_ENABLED=${OPEN_KERNEL_MODULES_ENABLED:-false}\n[[ \"${OPEN_KERNEL_MODULES_ENABLED}\" == \"true\" ]] && KERNEL_TYPE=kernel-open || KERNEL_TYPE=kernel\n\nDRIVER_ARCH=${TARGETARCH/amd64/x86_64} && DRIVER_ARCH=${DRIVER_ARCH/arm64/aarch64}\necho \"DRIVER_ARCH is $DRIVER_ARCH\"\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\nsource $SCRIPT_DIR/common.sh\n\n_update_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Updating the package cache...\"\n        if ! yum -q makecache; then\n            echo \"FATAL: failed to reach RHEL package repositories. \"\\\n                 \"Ensure that the cluster can access the proper networks.\"\n            exit 1\n        fi\n    fi\n}\n\n_cleanup_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Cleaning up the package cache...\"\n        rm -rf /var/cache/yum/*\n    fi\n}\n\n_get_rhel_version_from_kernel() {\n    local rhel_version_underscore rhel_version_arr\n    rhel_version_underscore=$(echo \"${KERNEL_VERSION}\" | sed 's/.*el\\([0-9]\\+_[0-9]\\+\\).*/\\1/g')\n    # For e.g. :- from the kernel version 4.18.0-513.9.1.el8_9, we expect to extract the string \"8_9\"\n    if [[ ! ${rhel_version_underscore} =~ ^[0-9]+_[0-9]+$ ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    IFS='_' read -r -a rhel_version_arr <<< \"$rhel_version_underscore\"\n    if [[ ${#rhel_version_arr[@]} -ne 2 ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    RHEL_VERSION=\"${rhel_version_arr[0]}.${rhel_version_arr[1]}\"\n    echo \"RHEL VERSION successfully resolved from kernel: ${RHEL_VERSION}\"\n    return 0\n}\n\n_resolve_rhel_version() {\n    _get_rhel_version_from_kernel || RHEL_VERSION=\"${RHEL_MAJOR_VERSION}\"\n    # set dnf release version as rhel version by default\n    if [[ -z \"${DNF_RELEASEVER}\" ]]; then\n        DNF_RELEASEVER=\"${RHEL_VERSION}\"\n    fi\n    return 0\n}\n\n# Resolve the kernel version to the form major.minor.patch-revision.\n_resolve_kernel_version() {\n    echo \"Resolving Linux kernel version...\"\n    local version=$(yum -q list available --showduplicates kernel-headers |\n      awk -v arch=$(uname -m) 'NR>1 {print $2\".\"arch}' | tac | grep -E -m1 \"^${KERNEL_VERSION/latest/.*}\")\n\n    if [ -z \"${version}\" ]; then\n        echo \"Could not resolve Linux kernel version\" >&2\n        return 1\n    fi\n    KERNEL_VERSION=\"${version}\"\n    echo \"Proceeding with Linux kernel version ${KERNEL_VERSION}\"\n    return 0\n}\n\n# Install the kernel modules header/builtin/order files and generate the kernel version string.\n_install_prerequisites() (\n    local tmp_dir=$(mktemp -d)\n\n    trap \"rm -rf ${tmp_dir}\" EXIT\n    cd ${tmp_dir}\n\n    echo \"Installing elfutils...\"\n    if ! dnf install -q -y elfutils-libelf.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi\n    if ! dnf install -q -y elfutils-libelf-devel.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi    \n\n    rm -rf /lib/modules/${KERNEL_VERSION}\n    mkdir -p /lib/modules/${KERNEL_VERSION}/proc\n\n    echo \"Enabling RHOCP and EUS RPM repos...\"\n    if [ -n \"${OPENSHIFT_VERSION:-}\" ]; then\n        dnf config-manager --set-enabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        fi\n    fi\n\n    dnf config-manager --set-enabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms  || true\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms || true\n    fi\n\n    # try with EUS disabled, if it does not work, then try just major version\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n      # If pointing to DNF_RELEASEVER does not work, we point to the RHEL_MAJOR_VERSION as a last resort\n      if ! dnf makecache --releasever=${RHEL_MAJOR_VERSION}; then\n        echo \"FATAL: failed to update the dnf metadata cache after multiple attempts with releasevers ${DNF_RELEASEVER}, ${RHEL_MAJOR_VERSION}\"\n        exit 1\n      else\n        DNF_RELEASEVER=${RHEL_MAJOR_VERSION}\n      fi\n    fi\n\n    echo \"Installing Linux kernel headers...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} --allowerasing > /dev/null\n    ln -s /usr/src/kernels/${KERNEL_VERSION} /lib/modules/${KERNEL_VERSION}/build\n\n    echo \"Installing Linux kernel module files...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-core-${KERNEL_VERSION} > /dev/null\n\n    # Prevent depmod from giving a WARNING about missing files\n    touch /lib/modules/${KERNEL_VERSION}/modules.order\n    touch /lib/modules/${KERNEL_VERSION}/modules.builtin\n\n    depmod ${KERNEL_VERSION}\n\n    echo \"Generating Linux kernel version string...\"\n    if [ \"$TARGETARCH\" = \"arm64\" ]; then\n        gunzip -c /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    else\n        extract-vmlinux /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    fi\n    if [ -z \"$(<version)\" ]; then\n        echo \"Could not locate Linux kernel version string\" >&2\n        return 1\n    fi\n    mv version /lib/modules/${KERNEL_VERSION}/proc\n\n    # Parse gcc version\n    # gcc_version is expected to match x.y.z\n    # current_gcc is expected to match 'gcc-x.y.z-rel.el8.x86_64\n    local gcc_version=$(cat /lib/modules/${KERNEL_VERSION}/proc/version | grep -Eo \"gcc \\(GCC\\) ([0-9\\.]+)\" | grep -Eo \"([0-9\\.]+)\")\n    local current_gcc=$(rpm -qa gcc)\n    echo \"kernel requires gcc version: 'gcc-${gcc_version}', current gcc version is '${current_gcc}'\"\n\n    if ! [[ \"${current_gcc}\" =~ \"gcc-${gcc_version}\"-.* ]]; then\n        dnf install -q -y --releasever=${DNF_RELEASEVER} \"gcc-${gcc_version}\"\n    fi\n)\n\n# Cleanup the prerequisites installed above.\n_remove_prerequisites() {\n    true\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        dnf -q -y remove kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} > /dev/null\n        # TODO remove module files not matching an existing driver package.\n    fi\n}\n\n# Check if the kernel version requires a new precompiled driver packages.\n_kernel_requires_package() {\n    local proc_mount_arg=\"\"\n\n    echo \"Checking NVIDIA driver packages...\"\n\n    [[ ! -d /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE} ]] && return 0\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    proc_mount_arg=\"--proc-mount-point /lib/modules/${KERNEL_VERSION}/proc\"\n    for pkg_name in $(ls -d -1 precompiled/** 2> /dev/null); do\n        is_match=$(../mkprecompiled --match ${pkg_name} ${proc_mount_arg})\n        if [ \"${is_match}\" == \"kernel interface matches.\" ]; then\n            echo \"Found NVIDIA driver package ${pkg_name##*/}\"\n            return 1\n        fi\n    done\n    return 0\n}\n\n# Compile the kernel modules, optionally sign them, and generate a precompiled package for use by the nvidia-installer.\n_create_driver_package() (\n    local pkg_name=\"nvidia-modules-${KERNEL_VERSION%%-*}${PACKAGE_TAG:+-${PACKAGE_TAG}}\"\n    local nvidia_sign_args=\"\"\n    local nvidia_modeset_sign_args=\"\"\n    local nvidia_uvm_sign_args=\"\"\n\n    trap \"make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build clean > /dev/null\" EXIT\n\n    echo \"Compiling NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    if _gpu_direct_rdma_enabled; then\n        ln -s /run/mellanox/drivers/usr/src/ofa_kernel /usr/src/\n        # if arch directory exists(MOFED >=5.5) then create a symlink as expected by GPU driver installer\n        # This is required as currently GPU driver installer doesn't expect headers in x86_64 folder, but only in either default or kernel-version folder.\n        # ls -ltr /usr/src/ofa_kernel/\n        # lrwxrwxrwx 1 root root   36 Dec  8 20:10 default -> /etc/alternatives/ofa_kernel_headers\n        # drwxr-xr-x 4 root root 4096 Dec  8 20:14 x86_64\n        # lrwxrwxrwx 1 root root   44 Dec  9 19:05 5.4.0-90-generic -> /usr/src/ofa_kernel/x86_64/5.4.0-90-generic/\n        if [[ -d \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" ]]; then\n            if [[ ! -e \"/usr/src/ofa_kernel/$(uname -r)\" ]]; then\n                ln -s \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" /usr/src/ofa_kernel/\n            fi\n        fi\n    fi\n\n    make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build nv-linux.o nv-modeset-linux.o > /dev/null\n\n    echo \"Relinking NVIDIA driver kernel modules...\"\n    rm -f nvidia.ko nvidia-modeset.ko\n    ld -d -r -o nvidia.ko ./nv-linux.o ./nvidia/nv-kernel.o_binary\n    ld -d -r -o nvidia-modeset.ko ./nv-modeset-linux.o ./nvidia-modeset/nv-modeset-kernel.o_binary\n\n    if [ -n \"${PRIVATE_KEY}\" ]; then\n        echo \"Signing NVIDIA driver kernel modules...\"\n        donkey get ${PRIVATE_KEY} sh -c \"PATH=${PATH}:/usr/src/linux-headers-${KERNEL_VERSION}/scripts && \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia.ko nvidia.ko.sign &&                          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-modeset.ko nvidia-modeset.ko.sign &&          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-uvm.ko\"\n        nvidia_sign_args=\"--linked-module nvidia.ko --signed-module nvidia.ko.sign\"\n        nvidia_modeset_sign_args=\"--linked-module nvidia-modeset.ko --signed-module nvidia-modeset.ko.sign\"\n        nvidia_uvm_sign_args=\"--signed\"\n    fi\n\n    echo \"Building NVIDIA driver package ${pkg_name}...\"\n    ../mkprecompiled --pack ${pkg_name} --description ${KERNEL_VERSION}                              \\\n                                        --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc       \\\n                                        --driver-version ${DRIVER_VERSION}                           \\\n                                        --kernel-interface nv-linux.o                                \\\n                                        --linked-module-name nvidia.ko                               \\\n                                        --core-object-name nvidia/nv-kernel.o_binary                 \\\n                                        ${nvidia_sign_args}                                          \\\n                                        --target-directory .                                         \\\n                                        --kernel-interface nv-modeset-linux.o                        \\\n                                        --linked-module-name nvidia-modeset.ko                       \\\n                                        --core-object-name nvidia-modeset/nv-modeset-kernel.o_binary \\\n                                        ${nvidia_modeset_sign_args}                                  \\\n                                        --target-directory .                                         \\\n                                        --kernel-module nvidia-uvm.ko                                \\\n                                        ${nvidia_uvm_sign_args}                                      \\\n                                        --target-directory .\n    mkdir -p precompiled\n    mv ${pkg_name} precompiled\n)\n\n_assert_nvswitch_system() {\n    [ -d /proc/driver/nvidia-nvswitch ] || return 1\n    entries=$(ls -1 /proc/driver/nvidia-nvswitch/devices/*)\n    if [ -z \"${entries}\" ]; then\n        return 1\n    fi\n    return 0\n}\n\n# For each kernel module configuration file mounted into the container,\n# parse the file contents and extract the custom module parameters that\n# are to be passed as input to 'modprobe'.\n#\n# Assumptions:\n# - Configuration files are named <module-name>.conf (i.e. nvidia.conf, nvidia-uvm.conf).\n# - Configuration files are mounted inside the container at /drivers.\n# - Each line in the file contains at least one parameter, where parameters on the same line\n#   are space delimited. It is up to the user to properly format the file to ensure\n#   the correct set of parameters are passed to 'modprobe'.\n_get_module_params() {\n    local base_path=\"/drivers\"\n    # nvidia\n    if [ -f \"${base_path}/nvidia.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia.conf\"\n       echo \"Module parameters provided for nvidia: ${NVIDIA_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-uvm\n    if [ -f \"${base_path}/nvidia-uvm.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_UVM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-uvm.conf\"\n       echo \"Module parameters provided for nvidia-uvm: ${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-modeset\n    if [ -f \"${base_path}/nvidia-modeset.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODESET_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-modeset.conf\"\n       echo \"Module parameters provided for nvidia-modeset: ${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-peermem\n    if [ -f \"${base_path}/nvidia-peermem.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_PEERMEM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-peermem.conf\"\n       echo \"Module parameters provided for nvidia-peermem: ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n    fi\n}\n\n# Load the kernel modules and start persistenced.\n_load_driver() {\n    echo \"Parsing kernel module parameters...\"\n    _get_module_params\n\n    local nv_fw_search_path=\"$RUN_DIR/driver/lib/firmware\"\n    local set_fw_path=\"true\"\n    local fw_path_config_file=\"/sys/module/firmware_class/parameters/path\"\n    for param in \"${NVIDIA_MODULE_PARAMS[@]}\"; do\n        if [[ \"$param\" == \"NVreg_EnableGpuFirmware=0\" ]]; then\n          set_fw_path=\"false\"\n        fi\n    done\n\n    if [[ \"$set_fw_path\" == \"true\" ]]; then\n        echo \"Configuring the following firmware search path in '$fw_path_config_file': $nv_fw_search_path\"\n        if [[ ! -z $(grep '[^[:space:]]' $fw_path_config_file) ]]; then\n            echo \"WARNING: A search path is already configured in $fw_path_config_file\"\n            echo \"         Retaining the current configuration\"\n        else\n            echo -n \"$nv_fw_search_path\" > $fw_path_config_file || echo \"WARNING: Failed to configure the firmware search path\"\n        fi\n    fi\n\n    echo \"Loading ipmi and i2c_core kernel modules...\"\n    modprobe -a i2c_core ipmi_msghandler ipmi_devintf\n\n    echo \"Loading NVIDIA driver kernel modules...\"\n    set -o xtrace +o nounset\n    modprobe nvidia \"${NVIDIA_MODULE_PARAMS[@]}\"\n    modprobe nvidia-uvm \"${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    modprobe nvidia-modeset \"${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    set +o xtrace -o nounset\n\n    if _gpu_direct_rdma_enabled; then\n        echo \"Loading NVIDIA Peer Memory kernel module...\"\n        set -o xtrace +o nounset\n        modprobe -a nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n        set +o xtrace -o nounset\n    fi\n\n    echo \"Starting NVIDIA persistence daemon...\"\n    nvidia-persistenced --persistence-mode\n\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        echo \"Copying gridd.conf...\"\n        cp /drivers/gridd.conf /etc/nvidia/gridd.conf\n        if [ \"${VGPU_LICENSE_SERVER_TYPE}\" = \"NLS\" ]; then\n            echo \"Copying ClientConfigToken...\"\n            mkdir -p  /etc/nvidia/ClientConfigToken/\n            cp /drivers/ClientConfigToken/* /etc/nvidia/ClientConfigToken/\n        fi\n\n        echo \"Starting nvidia-gridd..\"\n        LD_LIBRARY_PATH=/usr/lib64/nvidia/gridd nvidia-gridd\n\n        # Start virtual topology daemon\n        _start_vgpu_topology_daemon\n    fi\n\n    if _assert_nvswitch_system; then\n        echo \"Starting NVIDIA fabric manager daemon...\"\n        nv-fabricmanager -c /usr/share/nvidia/nvswitch/fabricmanager.cfg\n    fi\n}\n\n# Stop persistenced and unload the kernel modules if they are currently loaded.\n_unload_driver() {\n    local rmmod_args=()\n    local nvidia_deps=0\n    local nvidia_refs=0\n    local nvidia_uvm_refs=0\n    local nvidia_modeset_refs=0\n    local nvidia_peermem_refs=0\n\n    echo \"Stopping NVIDIA persistence daemon...\"\n    if [ -f /var/run/nvidia-persistenced/nvidia-persistenced.pid ]; then\n        local pid=$(< /var/run/nvidia-persistenced/nvidia-persistenced.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA persistence daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-gridd/nvidia-gridd.pid ]; then\n        echo \"Stopping NVIDIA grid daemon...\"\n        local pid=$(< /var/run/nvidia-gridd/nvidia-gridd.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 10); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 10 ]; then\n            echo \"Could not stop NVIDIA Grid daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-fabricmanager/nv-fabricmanager.pid ]; then\n        echo \"Stopping NVIDIA fabric manager daemon...\"\n        local pid=$(< /var/run/nvidia-fabricmanager/nv-fabricmanager.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA fabric manager daemon\" >&2\n            return 1\n        fi\n    fi\n\n    echo \"Unloading NVIDIA driver kernel modules...\"\n    if [ -f /sys/module/nvidia_modeset/refcnt ]; then\n        nvidia_modeset_refs=$(< /sys/module/nvidia_modeset/refcnt)\n        rmmod_args+=(\"nvidia-modeset\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia_uvm/refcnt ]; then\n        nvidia_uvm_refs=$(< /sys/module/nvidia_uvm/refcnt)\n        rmmod_args+=(\"nvidia-uvm\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia/refcnt ]; then\n        nvidia_refs=$(< /sys/module/nvidia/refcnt)\n        rmmod_args+=(\"nvidia\")\n    fi\n    if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n        nvidia_peermem_refs=$(< /sys/module/nvidia_peermem/refcnt)\n        rmmod_args+=(\"nvidia-peermem\")\n        ((++nvidia_deps))\n    fi\n    if [ ${nvidia_refs} -gt ${nvidia_deps} ] || [ ${nvidia_uvm_refs} -gt 0 ] || [ ${nvidia_modeset_refs} -gt 0 ] || [ ${nvidia_peermem_refs} -gt 0 ]; then\n        echo \"Could not unload NVIDIA driver kernel modules, driver is in use\" >&2\n        return 1\n    fi\n\n    if [ ${#rmmod_args[@]} -gt 0 ]; then\n        rmmod ${rmmod_args[@]}\n    fi\n    return 0\n}\n\n# Link and install the kernel modules from a precompiled package using the nvidia-installer.\n_install_driver() {\n    local install_args=()\n\n    echo \"Installing NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}\n    rm -rf /lib/modules/${KERNEL_VERSION}/video\n\n    if [ \"${ACCEPT_LICENSE}\" = \"yes\" ]; then\n        install_args+=(\"--accept-license\")\n    fi\n    IGNORE_CC_MISMATCH=1 nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check -m=${KERNEL_TYPE} ${install_args[@]+\"${install_args[@]}\"}\n    # May need to add no-cc-check for Rhel, otherwise it complains about cc missing in path\n    # /proc/version and lib/modules/KERNEL_VERSION/proc are different, by default installer looks at /proc/ so, added the proc-mount-point\n    # TODO: remove the -a flag. its not needed. in the new driver version, license-acceptance is implicit\n    #nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check --no-cc-version-check --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc ${install_args[@]+\"${install_args[@]}\"}\n}\n\n# Mount the driver rootfs into the run directory with the exception of sysfs.\n_mount_rootfs() {\n    echo \"Mounting NVIDIA driver rootfs...\"\n    mount --make-runbindable /sys\n    mount --make-private /sys\n    mkdir -p ${RUN_DIR}/driver\n    mount --rbind / ${RUN_DIR}/driver\n\n    echo \"Check SELinux status\"\n    if [ -e /sys/fs/selinux ]; then\n        echo \"SELinux is enabled\"\n        echo \"Change device files security context for selinux compatibility\"\n        chcon -R -t container_file_t ${RUN_DIR}/driver/dev\n    else\n        echo \"SELinux is disabled, skipping...\"\n    fi\n}\n\n# Unmount the driver rootfs from the run directory.\n_unmount_rootfs() {\n    echo \"Unmounting NVIDIA driver rootfs...\"\n    if findmnt -r -o TARGET | grep \"${RUN_DIR}/driver\" > /dev/null; then\n        umount -l -R ${RUN_DIR}/driver\n    fi\n}\n\n# Write a kernel postinst.d script to automatically precompile packages on kernel update (similar to DKMS).\n_write_kernel_update_hook() {\n    if [ ! -d ${KERNEL_UPDATE_HOOK%/*} ]; then\n        return\n    fi\n\n    echo \"Writing kernel update hook...\"\n    cat > ${KERNEL_UPDATE_HOOK} <<'EOF'\n#!/bin/bash\n\nset -eu\ntrap 'echo \"ERROR: Failed to update the NVIDIA driver\" >&2; exit 0' ERR\n\nNVIDIA_DRIVER_PID=$(< /run/nvidia/nvidia-driver.pid)\n\nexport \"$(grep -z DRIVER_VERSION /proc/${NVIDIA_DRIVER_PID}/environ)\"\nnsenter -t \"${NVIDIA_DRIVER_PID}\" -m -- nvidia-driver update --kernel \"$1\"\nEOF\n    chmod +x ${KERNEL_UPDATE_HOOK}\n}\n\n_shutdown() {\n    if _unload_driver; then\n        _unmount_rootfs\n        rm -f ${PID_FILE} ${KERNEL_UPDATE_HOOK}\n        return 0\n    fi\n    return 1\n}\n\n_find_vgpu_driver_version() {\n    local count=\"\"\n    local version=\"\"\n    local drivers_path=\"/drivers\"\n\n    if [ \"${DISABLE_VGPU_VERSION_CHECK}\" = \"true\" ]; then\n        echo \"vgpu version compatibility check is disabled\"\n        return 0\n    fi\n    # check if vgpu devices are present\n    count=$(vgpu-util count)\n    if [ $? -ne 0 ]; then\n         echo \"cannot find vgpu devices on host, pleae check /var/log/vgpu-util.log for more details...\"\n         return 0\n    fi\n    NUM_VGPU_DEVICES=$(echo \"$count\" | awk -F= '{print $2}')\n    if [ $NUM_VGPU_DEVICES -eq 0 ]; then\n        # no vgpu devices found, treat as passthrough\n        return 0\n    fi\n    echo \"found $NUM_VGPU_DEVICES vgpu devices on host\"\n\n    # find compatible guest driver using driver catalog\n    if [ -d \"/mnt/shared-nvidia-driver-toolkit/drivers\" ]; then\n        drivers_path=\"/mnt/shared-nvidia-driver-toolkit/drivers\"\n    fi\n    version=$(vgpu-util match -i \"${drivers_path}\" -c \"${drivers_path}/vgpuDriverCatalog.yaml\")\n    if [ $? -ne 0 ]; then\n        echo \"cannot find match for compatible vgpu driver from available list, please check /var/log/vgpu-util.log for more details...\"\n        return 1\n    fi\n    DRIVER_VERSION=$(echo \"$version\" | awk -F= '{print $2}')\n    echo \"vgpu driver version selected: ${DRIVER_VERSION}\"\n    return 0\n}\n\n_start_vgpu_topology_daemon() {\n    type nvidia-topologyd > /dev/null 2>&1 || return 0\n    echo \"Starting nvidia-topologyd..\"\n    nvidia-topologyd\n}\n\n_prepare() {\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        _find_vgpu_driver_version || exit 1\n    fi\n\n    # Install the userspace components and copy the kernel module sources.\n    sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n        cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n        sh /tmp/install.sh nvinstall && \\\n        mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n        mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n        sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n\n    echo -e \"\\n========== NVIDIA Software Installer ==========\\n\"\n    echo -e \"Starting installation of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n}\n\n_prepare_exclusive() {\n    _prepare\n\n    exec 3> ${PID_FILE}\n    if ! flock -n 3; then\n        echo \"An instance of the NVIDIA driver is already running, aborting\"\n        exit 1\n    fi\n    echo $$ >&3\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n    trap \"_shutdown\" EXIT\n\n    _unload_driver || exit 1\n    _unmount_rootfs\n}\n\n_build() {\n    # Install dependencies\n    if _kernel_requires_package; then\n        _update_package_cache\n        _install_prerequisites\n        _create_driver_package\n        #_remove_prerequisites\n        _cleanup_package_cache\n    fi\n\n    # Build the driver\n    _install_driver\n}\n\n_load() {\n    _load_driver\n    _mount_rootfs\n    _write_kernel_update_hook\n\n    echo \"Done, now waiting for signal\"\n    sleep infinity &\n    trap \"echo 'Caught signal'; _shutdown && { kill $!; exit 0; }\" HUP INT QUIT PIPE TERM\n    trap - EXIT\n    while true; do wait $! || continue; done\n    exit 0\n}\n\ninit() {\n    _prepare_exclusive\n\n    _build\n\n    _load\n}\n\nbuild() {\n    _prepare\n\n    _build\n}\n\nload() {\n    _prepare_exclusive\n\n    _load\n}\n\nupdate() {\n    exec 3>&2\n    if exec 2> /dev/null 4< ${PID_FILE}; then\n        if ! flock -n 4 && read pid <&4 && kill -0 \"${pid}\"; then\n            exec > >(tee -a \"/proc/${pid}/fd/1\")\n            exec 2> >(tee -a \"/proc/${pid}/fd/2\" >&3)\n        else\n            exec 2>&3\n        fi\n        exec 4>&-\n    fi\n    exec 3>&-\n\n    # vgpu driver version is chosen dynamically during runtime, so pre-compile modules for\n    # only non-vgpu driver types\n    if [ \"${DRIVER_TYPE}\" != \"vgpu\" ]; then\n        # Install the userspace components and copy the kernel module sources.\n        if [ ! -e /usr/src/nvidia-${DRIVER_VERSION}/mkprecompiled ]; then\n            sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n                cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n                sh /tmp/install.sh nvinstall && \\\n                mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n                mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n                sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n        fi\n    fi\n\n    echo -e \"\\n========== NVIDIA Software Updater ==========\\n\"\n    echo -e \"Starting update of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n\n    _update_package_cache\n    _resolve_kernel_version || exit 1\n    _install_prerequisites\n    if _kernel_requires_package; then\n        _create_driver_package\n    fi\n    _remove_prerequisites\n    _cleanup_package_cache\n\n    echo \"Done\"\n    exit 0\n}\n\n# Wait for MOFED drivers to be loaded and load nvidia-peermem whenever it gets unloaded during MOFED driver updates\nreload_nvidia_peermem() {\n    if [ \"$USE_HOST_MOFED\" = \"true\" ]; then\n        until  lsmod | grep mlx5_core > /dev/null 2>&1 && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    else\n        # use driver readiness flag created by MOFED container\n        until  [ -f /run/mellanox/drivers/.driver-ready ] && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    fi\n    # get any parameters provided for nvidia-peermem\n    _get_module_params && set +o nounset\n    if chroot /run/nvidia/driver modprobe nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"; then\n        if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"successfully loaded nvidia-peermem module, now waiting for signal\"\n            sleep inf\n            trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n        fi\n    fi\n    echo \"failed to load nvidia-peermem module\"\n    exit 1\n}\n\n# probe by gpu-operator for liveness/startup checks for nvidia-peermem module to be loaded when MOFED drivers are ready\nprobe_nvidia_peermem() {\n    if lsmod | grep mlx5_core > /dev/null 2>&1; then\n        if [ ! -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"nvidia-peermem module is not loaded\"\n            return 1\n        fi\n    else\n        echo \"MOFED drivers are not ready, skipping probe to avoid container restarts...\"\n    fi\n    return 0\n}\n\nusage() {\n    cat >&2 <<EOF\nUsage: $0 COMMAND [ARG...]\n\nCommands:\n  init   [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  build  [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  load\n  update [-k | --kernel VERSION] [-s | --sign KEYID] [-t | --tag TAG] [-m | --max-threads MAX_THREADS]\nEOF\n    exit 1\n}\n\nif [ $# -eq 0 ]; then\n    usage\nfi\ncommand=$1; shift\ncase \"${command}\" in\n    init) options=$(getopt -l accept-license,max-threads: -o am: -- \"$@\") ;;\n    build) options=$(getopt -l accept-license,tag:,max-threads: -o a:t:m: -- \"$@\") ;;\n    load) options=\"\" ;;\n    update) options=$(getopt -l kernel:,sign:,tag:,max-threads: -o k:s:t:m: -- \"$@\") ;;\n    reload_nvidia_peermem) options=\"\" ;;\n    probe_nvidia_peermem) options=\"\" ;;\n    *) usage ;;\nesac\nif [ $? -ne 0 ]; then\n    usage\nfi\neval set -- \"${options}\"\n\nACCEPT_LICENSE=\"\"\nMAX_THREADS=\"\"\nKERNEL_VERSION=$(uname -r)\nPRIVATE_KEY=\"\"\nPACKAGE_TAG=\"\"\n\nfor opt in ${options}; do\n    case \"$opt\" in\n    -a | --accept-license) ACCEPT_LICENSE=\"yes\"; shift 1 ;;\n    -k | --kernel) KERNEL_VERSION=$2; shift 2 ;;\n    -m | --max-threads) MAX_THREADS=$2; shift 2 ;;\n    -s | --sign) PRIVATE_KEY=$2; shift 2 ;;\n    -t | --tag) PACKAGE_TAG=$2; shift 2 ;;\n    --) shift; break ;;\n    esac\ndone\nif [ $# -ne 0 ]; then\n    usage\nfi\n\n_resolve_rhel_version || exit 1\n\n$command\n

                            \u4f7f\u7528\u5b98\u65b9\u7684\u955c\u50cf\u6765\u4e8c\u6b21\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\uff0c\u5982\u4e0b\u662f\u4e00\u4e2a Dockerfile \u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                            FROM nvcr.io/nvidia/driver:535.183.06-rhel9.2\nCOPY nvidia-driver /usr/local/bin\nRUN chmod +x /usr/local/bin/nvidia-driver\nCMD [\"/bin/bash\", \"-c\"]\n

                            \u6784\u5efa\u547d\u4ee4\u5e76\u63a8\u9001\u5230\u706b\u79cd\u96c6\u7fa4\uff1a

                            docker build -t {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2 -f Dockerfile .\ndocker push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2\n
                            "},{"location":"kpanda/user-guide/gpu/nvidia/rhel9.2_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                            1. \u5b89\u88c5 gpu-operator addon
                            2. \u8bbe\u7f6e driver.version=535.183.06-01
                            "},{"location":"kpanda/user-guide/gpu/nvidia/ubuntu22.04_offline_install_driver.html","title":"Ubuntu22.04 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                            \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                            "},{"location":"kpanda/user-guide/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_1","title":"\u51c6\u5907\u79bb\u7ebf\u955c\u50cf","text":"
                            1. \u67e5\u770b\u5185\u6838\u7248\u672c

                              $ uname -r\n5.15.0-78-generic\n
                            2. \u67e5\u770b\u5185\u6838\u5bf9\u5e94\u7684 GPU Driver \u955c\u50cf\u7248\u672c\uff0c https://catalog.ngc.nvidia.com/orgs/nvidia/containers/driver/tags\u3002 \u4f7f\u7528\u5185\u6838\u67e5\u8be2\u955c\u50cf\u7248\u672c\uff0c\u901a\u8fc7 ctr export \u4fdd\u5b58\u955c\u50cf\u3002

                              ctr i pull nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i export --all-platforms driver.tar.gz nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 \n
                            3. \u628a\u955c\u50cf\u5bfc\u5165\u5230\u706b\u79cd\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u4e2d

                              ctr i import driver.tar.gz\nctr i tag nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 --skip-verify=true\n
                            "},{"location":"kpanda/user-guide/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                            1. \u5b89\u88c5 gpu-operator addon
                            2. \u82e5\u4f7f\u7528\u9884\u7f16\u8bd1\u6a21\u5f0f\uff0c\u5219\u8bbe\u7f6e driver.usePrecompiled=true,\u5e76\u8bbe\u7f6e driver.version=535\uff0c\u8fd9\u91cc\u8981\u6ce8\u610f\uff0c\u5199\u7684\u662f 535\uff0c\u4e0d\u662f 535.104.12\u3002\uff08\u975e\u9884\u7f16\u8bd1\u6a21\u5f0f\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u5b89\u88c5\u5373\u53ef\uff09
                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html","title":"\u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                            \u5f53\u5de5\u4f5c\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u5185\u6838\u7248\u672c\u6216 OS \u7c7b\u578b\u4e0d\u4e00\u81f4\u65f6\uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u79bb\u7ebf yum \u6e90\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                            2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                            3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u672c\u6587\u4ee5\u5185\u6838\u7248\u672c\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684 CentOS 7.9 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa GPU operator \u79bb\u7ebf\u5305\u7684 yum \u6e90\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#os","title":"\u68c0\u67e5\u96c6\u7fa4\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c","text":"

                            \u5206\u522b\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c\u4e00\u81f4\u5219\u65e0\u9700\u6784\u5efa yum \u6e90\uff0c \u53ef\u53c2\u8003\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u6587\u6863\u76f4\u63a5\u5b89\u88c5\uff1b\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u6216\u5185\u6838\u7248\u672c\u4e0d\u4e00\u81f4\uff0c\u8bf7\u6267\u884c\u4e0b\u4e00\u6b65\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u53d1\u884c\u7248\u540d\u79f0\u548c\u7248\u672c\u53f7\u3002

                              cat /etc/redhat-release\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              CentOS Linux release 7.9 (Core)\n

                              \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c CentOS 7.9 \u3002

                            2. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u3002

                              uname -a\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Linux localhost.localdomain 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux\n

                              \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c 3.10.0-1160.el7.x86_64\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum","title":"\u5236\u4f5c\u79bb\u7ebf yum \u6e90","text":"

                            \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                            1. \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a yum.sh \u7684\u811a\u672c\u6587\u4ef6\u3002

                              vi yum.sh\n

                              \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                              export TARGET_KERNEL_VERSION=$1\n\ncat >> run.sh << \\EOF\n#! /bin/bash\necho \"start install kernel repo\"\necho ${KERNEL_VERSION}\nmkdir centos-base\n\nif [ \"$OS\" -eq 7 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el7.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelif [ \"$OS\" -eq 8 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el8.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelse\n    echo \"Error os version\"\nfi\n\ncreaterepo centos-base/\nls -lh centos-base/\ntar -zcf centos-base.tar.gz centos-base/\necho \"end install kernel repo\"\nEOF\n\ncat >> Dockerfile << EOF\nFROM centos:7\nENV KERNEL_VERSION=\"\"\nENV OS=7\nRUN yum install -y createrepo\nCOPY run.sh .\nENTRYPOINT [\"/bin/bash\",\"run.sh\"]\nEOF\n\ndocker build -t test:v1 -f Dockerfile .\ndocker run -e KERNEL_VERSION=$TARGET_KERNEL_VERSION --name centos7.9 test:v1\ndocker cp centos7.9:/centos-base.tar.gz .\ntar -xzf centos-base.tar.gz\n

                              \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                            2. \u8fd0\u884c yum.sh \u6587\u4ef6\uff1a

                              bash -x yum.sh TARGET_KERNEL_VERSION\n

                              TARGET_KERNEL_VERSION \u53c2\u6570\u7528\u4e8e\u6307\u5b9a\u96c6\u7fa4\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\uff0c\u6ce8\u610f\uff1a\u53d1\u884c\u7248\u6807\u8bc6\u7b26\uff08\u5982 __ .el7.x86_64 __ \uff09\u65e0\u9700\u8f93\u5165\u3002 \u4f8b\u5982\uff1a

                              bash -x yum.sh 3.10.0-1160.95.1\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a centos-base \u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_1","title":"\u4e0a\u4f20\u79bb\u7ebf yum \u6e90\u5230\u6587\u4ef6\u670d\u52a1\u5668","text":"

                            \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002\u4e3b\u8981\u7528\u4e8e\u5c06\u4e0a\u4e00\u6b65\u4e2d\u751f\u6210\u7684 yum \u6e90\u4e0a\u4f20\u5230\u53ef\u4ee5\u88ab\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8fdb\u884c\u8bbf\u95ee\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\u3002 \u6587\u4ef6\u670d\u52a1\u5668\u53ef\u4ee5\u4e3a Nginx \u3001 Minio \u6216\u5176\u5b83\u652f\u6301 Http \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u3002

                            \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f DCE5 \u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0cMinio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                            • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                            • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                            • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                              mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Added `minio` successfully.\n

                              mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a centos-base \u7684\u5b58\u50a8\u6876\uff08bucket\uff09\u3002

                              mc mb -p minio/centos-base\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Bucket created successfully __minio/centos-base__ .\n
                            • \u5c06\u5b58\u50a8\u6876 centos-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                              mc anonymous set download minio/centos-base\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Access permission for `minio/centos-base` is set to `download` \n
                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 centos-base \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/centos-base \u5b58\u50a8\u6876\u4e2d\u3002

                              mc cp centos-base minio/centos-base --recursive\n
                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_2","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                            \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                              # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                            2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                              kubectl create configmap local-repo-config  -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              configmap/local-repo-config created\n

                              local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                            3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                              kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              apiVersion: v1\ndata:\nCentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base#\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n    = http://10.6.232.5:32618/centos-base #\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname\n    = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\ncreationTimestamp: \"2023-10-18T01:59:02Z\"\nname: local-repo-config\nnamespace: gpu-operator\nresourceVersion: \"59445080\"\nuid: c5f0ebab-046f-442c-b932-f9003e014387\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html","title":"\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90","text":""},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                            DCE 5 \u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                            2. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 8.4\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4\u3002
                            3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                            4. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002 5.\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 8.4 4.18.0-305.el8.x86_64\u3002
                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u672c\u6587\u4ee5 Red Hat 8.4 4.18.0-305.el8.x86_64 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum","title":"\u4e0b\u8f7d\u706b\u79cd\u8282\u70b9\u4e2d\u7684 yum \u6e90","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                            1. \u4f7f\u7528 ssh \u6216\u5176\u5b83\u65b9\u5f0f\u8fdb\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5185\u4efb\u4e00\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                              cat /etc/yum.repos.d/extension.repo #\u67e5\u770b extension.repo \u4e2d\u7684\u5185\u5bb9\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              [extension-0]\nbaseurl = http://10.5.14.200:9000/kubean/redhat/$releasever/os/$basearch\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/AppStream\ngpgcheck = 0\nname = kubean extension 1\n\n[extension-2]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/BaseOS\ngpgcheck = 0\nname = kubean extension 2\n
                            2. \u5728 root \u8def\u5f84\u4e0b\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base-repo \u7684\u6587\u4ef6\u5939

                              mkdir redhat-base-repo\n
                            3. \u4e0b\u8f7d yum \u6e90\u4e2d\u7684 rpm \u5305\u5230\u672c\u5730\uff1a

                              yum install yum-utils\n
                            4. \u4e0b\u8f7d extension-1 \u4e2d\u7684 rpm \u5305\uff1a

                              reposync  -p redhat-base-repo  -n --repoid=extension-1\n
                            5. \u4e0b\u8f7d extension-2 \u4e2d\u7684 rpm \u5305\uff1a

                              reposync  -p redhat-base-repo  -n --repoid=extension-2\n
                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#elfutils-libelf-devel-0187-4el8x86_64rpm","title":"\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u64cd\u4f5c\uff0c\u5728\u64cd\u4f5c\u524d\uff0c\u60a8\u9700\u8981\u4fdd\u8bc1\u8054\u7f51\u8282\u70b9\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 master \u8282\u70b9\u95f4\u7684\u7f51\u7edc\u8054\u901a\u6027\u3002

                            1. \u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\uff1a

                              wget https://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/elfutils-libelf-devel-0.187-4.el8.x86_64.rpm\n
                            2. \u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u5c06 elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\u4f20\u8f93\u81f3\u6b65\u9aa4\u4e00\u4e2d\u7684\u8282\u70b9\u4e0a\uff1a

                              scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm user@ip:~/redhat-base-repo/extension-2/Packages/\n

                              \u4f8b\u5982\uff1a

                              scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm root@10.6.175.10:~/redhat-base-repo/extension-2/Packages/\n
                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo","title":"\u751f\u6210\u672c\u5730 yum repo","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u6b65\u9aa4\u4e00\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                            1. \u8fdb\u5165 yum repo \u76ee\u5f55\uff1a

                              cd ~/redhat-base-repo/extension-1/Packages\ncd ~/redhat-base-repo/extension-2/Packages\n
                            2. \u751f\u6210\u76ee\u5f55 repo \u7d22\u5f15\uff1a

                              yum install createrepo -y  # \u82e5\u5df2\u5b89\u88c5 createrepo \u53ef\u7701\u7565\u6b64\u6b65\u9aa4\ncreaterepo_c ./\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 4.18.0-305.el8.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a redhat-base-repo \u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo_1","title":"\u5c06\u672c\u5730\u751f\u6210\u7684 yum repo \u4e0a\u4f20\u81f3\u6587\u4ef6\u670d\u52a1\u5668","text":"

                            \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f DCE5 \u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u7528\u6237\u53ef\u57fa\u4e8e\u81ea\u8eab\u60c5\u51b5\u9009\u62e9\u6587\u4ef6\u670d\u52a1\u5668\u3002Minio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                            • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                            • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                            • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                              mc config host add minio \u6587\u4ef6\u670d\u52a1\u5668\u8bbf\u95ee\u5730\u5740 \u7528\u6237\u540d \u5bc6\u7801\n

                              \u4f8b\u5982\uff1a

                              mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Added `minio` successfully.\n

                              mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base \u7684\u5b58\u50a8\u6876(bucket)\u3002

                              mc mb -p minio/redhat-base\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Bucket created successfully `minio/redhat-base`.\n
                            • \u5c06\u5b58\u50a8\u6876 redhat-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                              mc anonymous set download minio/redhat-base\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Access permission for `minio/redhat-base` is set to `download` \n
                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 redhat-base-repo \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/redhat-base \u5b58\u50a8\u6876\u4e2d\u3002

                              mc cp redhat-base-repo minio/redhat-base --recursive\n
                            "},{"location":"kpanda/user-guide/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum_1","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                            \u672c\u6b65\u9aa4\u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a redhat.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                              # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a redhat.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > redhat.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                            2. \u57fa\u4e8e\u521b\u5efa\u7684 redhat.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                              kubectl create configmap local-repo-config  -n gpu-operator --from-file=./redhat.repo \n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              configmap/local-repo-config created\n

                              local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                            3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                              kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html","title":"\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                            DCE 5.0 \u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU Operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\u4f7f\u7528 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305
                            2. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 7.9\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4
                            3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u4e0e\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio
                            4. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5 5.\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 7.9
                            "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#1-yum","title":"1. \u6784\u5efa\u76f8\u5173\u5185\u6838\u7248\u672c\u7684\u79bb\u7ebf Yum \u6e90","text":"
                            1. \u4e0b\u8f7d rhel7.9 ISO

                            2. \u4e0b\u8f7d\u4e0e Kubean \u7248\u672c\u5bf9\u5e94\u7684\u7684 rhel7.9 ospackage

                              \u5728 \u5bb9\u5668\u7ba1\u7406 \u7684\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u627e\u5230 Helm \u5e94\u7528 \uff0c\u641c\u7d22 kubean\uff0c\u53ef\u67e5\u770b kubean \u7684\u7248\u672c\u53f7\u3002

                              \u5728 kubean\u7684\u4ee3\u7801\u4ed3\u5e93 \u4e2d\u4e0b\u8f7d\u8be5\u7248\u672c\u7684 rhel7.9 ospackage\u3002

                            3. \u901a\u8fc7\u5b89\u88c5\u5668\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90

                              \u53c2\u8003\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90\u6587\u6863\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#2-red-hat-79-os","title":"2. \u4e0b\u8f7d Red Hat 7.9 OS \u7684\u79bb\u7ebf\u9a71\u52a8\u955c\u50cf","text":"

                            \u70b9\u51fb\u67e5\u770b\u4e0b\u8f7d\u5730\u5740\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#3-red-hat-gpu-opreator","title":"3. \u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                            \u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u3002

                            Note

                            \u6b64\u53c2\u8003\u4ee5 rhel8.4 \u4e3a\u4f8b\uff0c\u8bf7\u6ce8\u610f\u4fee\u6539\u6210 rhel7.9\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/yum_source_redhat7_9.html#4-yum","title":"4. \u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 Yum \u6e90\u4fe1\u606f","text":"

                            \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                              # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo <<  EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                            2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                              kubectl create configmap local-repo-config -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              configmap/local-repo-config created\n

                              local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                            3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                              kubectl get configmap local-repo-config -n gpu-operator -oyaml\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              local-repo-config.yaml
                              apiVersion: v1\ndata:\n  CentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n  = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname\n  = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\n  creationTimestamp: \"2023-10-18T01:59:02Z\"\n  name: local-repo-config\n  namespace: gpu-operator\n  resourceVersion: \"59445080\"\n  uid: c5f0ebab-046f-442c-b932-f9003e014387\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u5176\u4e2d\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u4f7f\u7528\u4e86 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html","title":"GPU \u544a\u8b66\u89c4\u5219","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u8bbe\u7f6e GPU \u76f8\u5173\u7684\u544a\u8b66\u89c4\u5219\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907
                            • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6
                            • \u5982\u679c\u7528\u5230\u4e86 vGPU \u8fd8\u9700\u8981\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5 Nvidia-vgpu \u7ec4\u4ef6\uff0c\u5e76\u4e14\u5f00\u542f servicemonitor
                            • \u96c6\u7fa4\u6b63\u786e\u5b89\u88c5\u4e86 insight-agent \u7ec4\u4ef6
                            "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_1","title":"\u544a\u8b66\u5e38\u7528 GPU \u6307\u6807","text":"

                            \u672c\u8282\u4ecb\u7ecd GPU \u544a\u8b66\u5e38\u7528\u7684\u6307\u6807\uff0c\u5206\u4e3a\u4e24\u4e2a\u90e8\u5206\uff1a

                            • GPU \u5361\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94\u5355\u4e2a GPU \u8bbe\u5907\u7684\u8fd0\u884c\u72b6\u6001\u3002
                            • \u5e94\u7528\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94 Pod \u5728 GPU \u4e0a\u7684\u8fd0\u884c\u72b6\u6001\u3002
                            "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_2","title":"GPU \u5361\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e DCGM_FI_DEV_GPU_UTIL % GPU \u5229\u7528\u7387 DCGM_FI_DEV_MEM_COPY_UTIL % \u663e\u5b58\u5229\u7528\u7387 DCGM_FI_DEV_ENC_UTIL % \u7f16\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_DEC_UTIL % \u89e3\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_FB_FREE MB \u8868\u793a\u663e\u5b58\u5269\u4f59\u91cf DCGM_FI_DEV_FB_USED MB \u8868\u793a\u663e\u5b58\u4f7f\u7528\u91cf DCGM_FI_DEV_GPU_TEMP \u6444\u6c0f\u5ea6 \u8868\u793a\u5f53\u524d GPU \u7684\u6e29\u5ea6\u5ea6\u6570 DCGM_FI_DEV_POWER_USAGE W \u8bbe\u5907\u7535\u6e90\u4f7f\u7528\u60c5\u51b5 DCGM_FI_DEV_XID_ERRORS - \u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\uff0c\u6700\u540e\u53d1\u751f\u7684 XID \u9519\u8bef\u53f7\u3002XID \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\uff0c\u66f4\u591a XID \u4fe1\u606f"},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_2","title":"\u5e94\u7528\u7ef4\u5ea6\u7684\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e kpanda_gpu_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u7684\u4f7f\u7528\u7387 kpanda_gpu_mem_pod_usage MB \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u91cf kpanda_gpu_mem_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u7387"},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_3","title":"\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219","text":"

                            \u8fd9\u91cc\u4f1a\u4ecb\u7ecd\u5982\u4f55\u8bbe\u7f6e GPU \u544a\u8b66\u89c4\u5219\uff0c\u4f7f\u7528 GPU \u5361\u5229\u7528\u7387\u6307\u6807\u4f5c\u4e3a\u6848\u4f8b\uff0c\u8bf7\u7528\u6237\u6839\u636e\u5b9e\u9645\u7684\u4e1a\u52a1\u573a\u666f\u9009\u62e9\u6307\u6807\u4ee5\u53ca\u7f16\u5199 promql\u3002

                            \u76ee\u6807\uff1a\u5f53GPU\u5361\u5229\u7528\u7387\u5728\u4e94\u79d2\u949f\u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\u65f6\u53d1\u51fa\u544a\u8b66

                            1. \u5728\u53ef\u89c2\u6d4b\u9875\u9762\uff0c\u70b9\u51fb \u544a\u8b66 -> \u544a\u8b66\u7b56\u7565 -> \u521b\u5efa\u544a\u8b66\u7b56\u7565

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f

                            3. \u6dfb\u52a0\u89c4\u5219

                            4. \u9009\u62e9\u901a\u77e5\u65b9\u5f0f

                            5. \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5f53\u4e00\u4e2a GPU \u5728 5s \u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\uff0c\u4f1a\u6536\u5230\u5982\u4e0b\u7684\u544a\u8b66\u4fe1\u606f\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html","title":"GPU \u76d1\u63a7\u6307\u6807","text":"

                            \u672c\u9875\u5217\u51fa\u4e00\u4e9b\u5e38\u7528\u7684 GPU \u76d1\u63a7\u6307\u6807\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_1","title":"\u96c6\u7fa4\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u5361\u6570 \u96c6\u7fa4\u4e0b\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u5e73\u5747\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u7b97\u529b\u4f7f\u7528\u7387 GPU \u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u5e26\u5bbd\u4f7f\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u3002\u4ee5 Nvidia GPU V100 \u4e3a\u4f8b\uff0c\u5176\u6700\u5927\u5185\u5b58\u5e26\u5bbd\u4e3a 900 GB/sec\uff0c\u5982\u679c\u5f53\u524d\u7684\u5185\u5b58\u5e26\u5bbd\u4e3a 450 GB/sec\uff0c\u5219\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u4e3a 50%"},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_2","title":"\u8282\u70b9\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u6a21\u5f0f \u8282\u70b9\u4e0a GPU \u5361\u7684\u4f7f\u7528\u6a21\u5f0f\uff0c\u5305\u542b\u6574\u5361\u6a21\u5f0f\u3001MIG \u6a21\u5f0f\u3001vGPU \u6a21\u5f0f GPU \u7269\u7406\u5361\u6570 \u8282\u70b9\u4e0a\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u865a\u62df\u5361\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 vGPU \u8bbe\u5907\u6570\u91cf GPU MIG \u5b9e\u4f8b\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 MIG \u5b9e\u4f8b\u6570 GPU \u663e\u5b58\u5206\u914d\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u7387 GPU \u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 GPU \u663e\u5b58\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u9a71\u52a8\u7248\u672c \u8282\u70b9\u4e0a GPU \u5361\u9a71\u52a8\u7684\u7248\u672c\u4fe1\u606f GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09

                            \u6839\u636e XID \u72b6\u6001\u6392\u67e5 GPU \u76f8\u5173\u95ee\u9898

                            XID \u6d88\u606f\u662f NVIDIA \u9a71\u52a8\u7a0b\u5e8f\u5411\u64cd\u4f5c\u7cfb\u7edf\u7684\u5185\u6838\u65e5\u5fd7\u6216\u4e8b\u4ef6\u65e5\u5fd7\u6253\u5370\u7684\u9519\u8bef\u62a5\u544a\u3002XID \u6d88\u606f\u7528\u4e8e\u6807\u8bc6 GPU \u9519\u8bef\u4e8b\u4ef6\uff0c \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\u3002 \u5982\u68c0\u67e5\u9879 GPU \u8282\u70b9\u4e0a\u7684 XID \u5f02\u5e38\u4e3a\u7a7a\uff0c\u8868\u660e\u65e0 XID \u6d88\u606f\uff1b\u5982\u6709\uff0c\u60a8\u53ef\u6309\u7167\u4e0b\u8868\u81ea\u52a9\u6392\u67e5\u5e76\u89e3\u51b3\u95ee\u9898\uff0c \u6216\u67e5\u770b\u66f4\u591a XID \u6d88\u606f\u3002

                            XID \u6d88\u606f \u8bf4\u660e 13 Graphics Engine Exception. \u901a\u5e38\u662f\u6570\u7ec4\u8d8a\u754c\u3001\u6307\u4ee4\u9519\u8bef\uff0c\u5c0f\u6982\u7387\u662f\u786c\u4ef6\u95ee\u9898\u3002 31 GPU memory page fault. \u901a\u5e38\u662f\u5e94\u7528\u7a0b\u5e8f\u7684\u975e\u6cd5\u5730\u5740\u8bbf\u95ee\uff0c\u6781\u5c0f\u6982\u7387\u662f\u9a71\u52a8\u6216\u8005\u786c\u4ef6\u95ee\u9898\u3002 32 Invalid or corrupted push buffer stream. \u4e8b\u4ef6\u7531 PCIE \u603b\u7ebf\u4e0a\u7ba1\u7406 NVIDIA \u9a71\u52a8\u548c GPU \u4e4b\u95f4\u901a\u4fe1\u7684 DMA \u63a7\u5236\u5668\u4e0a\u62a5\uff0c\u901a\u5e38\u662f PCI \u8d28\u91cf\u95ee\u9898\u5bfc\u81f4\uff0c\u800c\u975e\u60a8\u7684\u7a0b\u5e8f\u4ea7\u751f\u3002 38 Driver firmware error. \u901a\u5e38\u662f\u9a71\u52a8\u56fa\u4ef6\u9519\u8bef\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 43 GPU stopped processing. \u901a\u5e38\u662f\u60a8\u5e94\u7528\u81ea\u8eab\u9519\u8bef\uff0c\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 45 Preemptive cleanup, due to previous errors -- Most likely to see when running multiple cuda applications and hitting a DBE. \u901a\u5e38\u662f\u60a8\u624b\u52a8\u9000\u51fa\u6216\u8005\u5176\u4ed6\u6545\u969c\uff08\u786c\u4ef6\u3001\u8d44\u6e90\u9650\u5236\u7b49\uff09\u5bfc\u81f4\u7684 GPU \u5e94\u7528\u9000\u51fa\uff0cXID 45 \u53ea\u63d0\u4f9b\u4e00\u4e2a\u7ed3\u679c\uff0c\u5177\u4f53\u539f\u56e0\u901a\u5e38\u9700\u8981\u8fdb\u4e00\u6b65\u5206\u6790\u65e5\u5fd7\u3002 48 Double Bit ECC Error (DBE). \u5f53 GPU \u53d1\u751f\u4e0d\u53ef\u7ea0\u6b63\u7684\u9519\u8bef\u65f6\uff0c\u4f1a\u4e0a\u62a5\u6b64\u4e8b\u4ef6\uff0c\u8be5\u9519\u8bef\u4e5f\u4f1a\u540c\u65f6\u53cd\u9988\u7ed9\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u901a\u5e38\u9700\u8981\u91cd\u7f6e GPU \u6216\u91cd\u542f\u8282\u70b9\u6765\u6e05\u9664\u8fd9\u4e2a\u9519\u8bef\u3002 61 Internal micro-controller breakpoint/warning. GPU \u5185\u90e8\u5f15\u64ce\u505c\u6b62\u5de5\u4f5c\uff0c\u60a8\u7684\u4e1a\u52a1\u5df2\u7ecf\u53d7\u5230\u5f71\u54cd\u3002 62 Internal micro-controller halt. \u4e0e XID 61 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002 63 ECC page retirement or row remapping recording event. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u663e\u5b58\u786c\u4ef6\u9519\u8bef\u65f6\uff0cNVIDIA \u81ea\u7ea0\u9519\u673a\u5236\u4f1a\u5c06\u9519\u8bef\u7684\u5185\u5b58\u533a\u57df retire \u6216\u8005 remap\uff0cretirement \u548c remapped \u4fe1\u606f\u9700\u8bb0\u5f55\u5230 infoROM \u4e2d\u624d\u80fd\u6c38\u4e45\u751f\u6548\u3002Volt \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 ECC page retirement \u4e8b\u4ef6\u5230 infoROM\u3002Ampere \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 row remapping \u4e8b\u4ef6\u5230 infoROM\u3002 64 ECC page retirement or row remapper recording failure. \u4e0e XID 63 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 63 \u4ee3\u8868 retirement \u548c remapped \u4fe1\u606f\u6210\u529f\u8bb0\u5f55\u5230\u4e86 infoROM\uff0cXID 64 \u4ee3\u8868\u8be5\u8bb0\u5f55\u64cd\u4f5c\u5931\u8d25\u3002 68 NVDEC0 Exception. \u901a\u5e38\u662f\u786c\u4ef6\u6216\u9a71\u52a8\u95ee\u9898\u3002 74 NVLINK Error. NVLink \u786c\u4ef6\u9519\u8bef\u4ea7\u751f\u7684 XID\uff0c\u8868\u660e GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 79 GPU has fallen off the bus. GPU \u786c\u4ef6\u68c0\u6d4b\u5230\u6389\u5361\uff0c\u603b\u7ebf\u4e0a\u65e0\u6cd5\u68c0\u6d4b\u8be5 GPU\uff0c\u8868\u660e\u8be5 GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 92 High single-bit ECC error rate. \u786c\u4ef6\u6216\u9a71\u52a8\u6545\u969c\u3002 94 Contained ECC error. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u4e0d\u53ef\u7ea0\u6b63\u7684\u663e\u5b58 ECC \u9519\u8bef\u65f6\uff0cNVIDIA \u9519\u8bef\u6291\u5236\u673a\u5236\u4f1a\u5c1d\u8bd5\u5c06\u9519\u8bef\u6291\u5236\u5728\u53d1\u751f\u786c\u4ef6\u6545\u969c\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u907f\u514d\u8be5\u9519\u8bef\u5f71\u54cd GPU \u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002\u5f53\u6291\u5236\u673a\u5236\u6210\u529f\u6291\u5236\u9519\u8bef\u65f6\uff0c\u4f1a\u4ea7\u751f\u8be5\u4e8b\u4ef6\uff0c\u4ec5\u51fa\u73b0\u4e0d\u53ef\u7ea0\u6b63 ECC \u9519\u8bef\u7684\u5e94\u7528\u7a0b\u5e8f\u53d7\u5230\u5f71\u54cd\u3002 95 Uncontained ECC error. \u4e0e XID 94 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 94 \u4ee3\u8868\u6291\u5236\u6210\u529f\uff0c\u800c XID 95 \u4ee3\u8868\u6291\u5236\u5931\u8d25\uff0c\u8868\u660e\u8fd0\u884c\u5728\u8be5 GPU \u4e0a\u7684\u6240\u6709\u5e94\u7528\u7a0b\u5e8f\u90fd\u5df2\u53d7\u5230\u5f71\u54cd\u3002"},{"location":"kpanda/user-guide/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#pod","title":"Pod \u7ef4\u5ea6","text":"\u5206\u7c7b \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 \u5e94\u7528\u6982\u89c8 GPU \u5361 - \u7b97\u529b & \u663e\u5b58 Pod GPU \u7b97\u529b\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387 Pod GPU \u663e\u5b58\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u7387 Pod \u663e\u5b58\u4f7f\u7528\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf \u663e\u5b58\u5206\u914d\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u91cf Pod GPU \u663e\u5b58\u590d\u5236\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u663e\u5b58\u590d\u5236\u6bd4\u7387 GPU \u5361 - \u5f15\u64ce\u6982\u89c8 GPU \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8\u767e\u5206\u6bd4 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cGraphics \u6216 Compute \u5f15\u64ce\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\uff08Memory BW Utilization\uff09\u5c06\u6570\u636e\u53d1\u9001\u5230\u8bbe\u5907\u5185\u5b58\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8f83\u9ad8\u7684\u503c\u8868\u793a\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8f83\u9ad8\u3002\u8be5\u503c\u4e3a 1\uff08100%\uff09\u8868\u793a\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u5047\u8bbe\u8be5\u503c\u4e3a 0.2\uff0820%\uff09\uff0c\u8868\u793a 20% \u7684\u5468\u671f\u5728\u65f6\u95f4\u95f4\u9694\u5185\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 Tensor \u6838\u5fc3\u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cTensor Core \u7ba1\u9053\uff08Pipe\uff09\u5904\u4e8e Active \u65f6\u95f4\u5360\u603b\u65f6\u95f4\u7684\u6bd4\u4f8b FP16 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP16 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP32 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP32 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP64 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP64 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u89e3\u7801\u4f7f\u7528\u7387 GPU \u5361\u89e3\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u7f16\u7801\u4f7f\u7528\u7387 GPU \u5361\u7f16\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u5361 - \u6e29\u5ea6 & \u529f\u8017 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361 - \u603b\u8017\u80fd GPU \u5361\u603b\u5171\u6d88\u8017\u7684\u80fd\u91cf GPU \u5361 - Clock GPU \u5361\u5185\u5b58\u9891\u7387 \u5185\u5b58\u9891\u7387 GPU \u5361\u5e94\u7528SM \u65f6\u949f\u9891\u7387 \u5e94\u7528\u7684 SM \u65f6\u949f\u9891\u7387 GPU \u5361\u5e94\u7528\u5185\u5b58\u9891\u7387 \u5e94\u7528\u5185\u5b58\u9891\u7387 GPU \u5361\u89c6\u9891\u5f15\u64ce\u9891\u7387 \u89c6\u9891\u5f15\u64ce\u9891\u7387 GPU \u5361\u964d\u9891\u539f\u56e0 \u964d\u9891\u539f\u56e0 GPU \u5361 - \u5176\u4ed6\u7ec6\u8282 \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8 \u56fe\u5f62\u6216\u8ba1\u7b97\u5f15\u64ce\u7684\u4efb\u4f55\u90e8\u5206\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\u3002\u5982\u679c\u56fe\u5f62/\u8ba1\u7b97\u4e0a\u4e0b\u6587\u5df2\u7ed1\u5b9a\u4e14\u56fe\u5f62/\u8ba1\u7b97\u7ba1\u9053\u7e41\u5fd9\uff0c\u5219\u56fe\u5f62\u5f15\u64ce\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002 SM\u6d3b\u52a8 \u591a\u5904\u7406\u5668\u4e0a\u81f3\u5c11\u4e00\u4e2a Warp \u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\uff0c\u6240\u6709\u591a\u5904\u7406\u5668\u7684\u5e73\u5747\u503c\u3002\u8bf7\u6ce8\u610f\uff0c\u201c\u6d3b\u52a8\u201d\u5e76\u4e0d\u4e00\u5b9a\u610f\u5473\u7740 Warp \u6b63\u5728\u79ef\u6781\u8ba1\u7b97\u3002\u4f8b\u5982\uff0c\u7b49\u5f85\u5185\u5b58\u8bf7\u6c42\u7684 Warp \u88ab\u89c6\u4e3a\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u30020.8 \u6216\u66f4\u5927\u7684\u503c\u662f\u6709\u6548\u4f7f\u7528 GPU \u7684\u5fc5\u8981\u6761\u4ef6\uff0c\u4f46\u8fd8\u4e0d\u591f\u3002\u5c0f\u4e8e 0.5 \u7684\u503c\u53ef\u80fd\u8868\u793a GPU \u4f7f\u7528\u6548\u7387\u4f4e\u4e0b\u3002\u7ed9\u51fa\u4e00\u4e2a\u7b80\u5316\u7684 GPU \u67b6\u6784\u89c6\u56fe\uff0c\u5982\u679c GPU \u6709 N \u4e2a SM\uff0c\u5219\u4f7f\u7528 N \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 1\uff08100%\uff09\u3002\u4f7f\u7528 N/5 \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 0.2\uff0820%\uff09\u3002\u4f7f\u7528 N \u4e2a\u5757\u5e76\u8fd0\u884c\u4e94\u5206\u4e4b\u4e00\u65f6\u95f4\u95f4\u9694\u7684\u5185\u6838\uff0c\u5982\u679c SM \u5904\u4e8e\u7a7a\u95f2\u72b6\u6001\uff0c\u5219\u6d3b\u52a8\u4e5f\u5c06\u4e3a 0.2\uff0820%\uff09\u3002\u8be5\u503c\u4e0e\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u65e0\u5173\uff08\u53c2\u89c1DCGM_FI_PROF_SM_OCCUPANCY\uff09\u3002 SM \u5165\u4f4f\u7387 \u591a\u5904\u7406\u5668\u4e0a\u9a7b\u7559 Warp \u7684\u6bd4\u4f8b\uff0c\u76f8\u5bf9\u4e8e\u591a\u5904\u7406\u5668\u4e0a\u652f\u6301\u7684\u6700\u5927\u5e76\u53d1 Warp \u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u8868\u793a GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u5bf9\u4e8e GPU \u5185\u5b58\u5e26\u5bbd\u53d7\u9650\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff08\u53c2\u89c1DCGM_FI_PROF_DRAM_ACTIVE\uff09\uff0c\u5360\u7528\u7387\u8d8a\u9ad8\u8868\u660e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u4f46\u662f\uff0c\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u662f\u8ba1\u7b97\u53d7\u9650\u7684\uff08\u5373\u4e0d\u53d7 GPU \u5185\u5b58\u5e26\u5bbd\u6216\u5ef6\u8fdf\u9650\u5236\uff09\uff0c\u5219\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u4e0e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u76f8\u5173\u3002\u8ba1\u7b97\u5360\u7528\u7387\u5e76\u4e0d\u7b80\u5355\uff0c\u5b83\u53d6\u51b3\u4e8e GPU \u5c5e\u6027\u3001\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u3001\u6bcf\u4e2a\u7ebf\u7a0b\u7684\u5bc4\u5b58\u5668\u4ee5\u53ca\u6bcf\u4e2a\u5757\u7684\u5171\u4eab\u5185\u5b58\u7b49\u56e0\u7d20\u3002\u4f7f\u7528CUDA \u5360\u7528\u7387\u8ba1\u7b97\u5668 \u63a2\u7d22\u5404\u79cd\u5360\u7528\u7387\u573a\u666f\u3002 \u5f20\u91cf\u6d3b\u52a8 \u5f20\u91cf (HMMA / IMMA) \u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u5f20\u91cf\u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8 1 (100%) \u76f8\u5f53\u4e8e\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u53d1\u51fa\u4e00\u4e2a\u5f20\u91cf\u6307\u4ee4\u3002\u6d3b\u52a8 0.2 (20%) \u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP64 \u5f15\u64ce\u6d3b\u52a8 FP64\uff08\u53cc\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP64 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185 Volta \u4e0a\u6bcf\u56db\u4e2a\u5468\u671f\u7684\u6bcf\u4e2a SM\u4e0a\u6267\u884c\u4e00\u6761 FP64 \u6307\u4ee4 \u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605 DCGM_FI_PROF_SM_ACTIVE \u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP32 \u5f15\u64ce\u6d3b\u52a8 FMA\uff08FP32\uff08\u5355\u7cbe\u5ea6\uff09\u548c\u6574\u6570\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP32 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP32 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP16 \u5f15\u64ce\u6d3b\u52a8 FP16\uff08\u534a\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP16 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP16 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u5411\u8bbe\u5907\u5185\u5b58\u53d1\u9001\u6570\u636e\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u6bd4\u4f8b\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u7387\u4e3a 1 (100%) \u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u6d3b\u52a8\u7387\u4e3a 0.2 (20%) \u8868\u793a\u5728\u65f6\u95f4\u95f4\u9694\u5185\u6709 20% \u7684\u5468\u671f\u6b63\u5728\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 NVLink \u5e26\u5bbd \u901a\u8fc7 NVLink \u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff08\u4e0d\u5305\u62ec\u534f\u8bae\u6807\u5934\uff09\uff0c\u4ee5\u6bcf\u79d2\u5b57\u8282\u6570\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\uff0c\u6bcf\u4e2a\u94fe\u8def\u6bcf\u4e2a\u65b9\u5411\u7684\u6700\u5927 NVLink Gen2 \u5e26\u5bbd\u4e3a 25 GB/s\u3002 PCIe \u5e26\u5bbd \u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff0c\u5305\u62ec\u534f\u8bae\u6807\u5934\u548c\u6570\u636e\u6709\u6548\u8d1f\u8f7d\uff0c\u4ee5\u5b57\u8282/\u79d2\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8be5\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\u6700\u5927 PCIe Gen3 \u5e26\u5bbd\u4e3a\u6bcf\u901a\u9053 985 MB/s\u3002 PCIe \u4f20\u8f93\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93\u7684\u6570\u636e\u901f\u7387 PCIe \u63a5\u6536\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u63a5\u6536\u7684\u6570\u636e\u901f\u7387"},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html","title":"NVIDIA \u591a\u5b9e\u4f8b GPU(MIG) \u6982\u8ff0","text":""},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#mig","title":"MIG \u573a\u666f","text":"
                            • \u591a\u79df\u6237\u4e91\u73af\u5883

                              MIG \u5141\u8bb8\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u5c06\u4e00\u5757\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u72ec\u7acb\u7684 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u3002\u8fd9\u6837\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u548c\u72ec\u7acb\u6027\uff0c\u6ee1\u8db3\u591a\u4e2a\u79df\u6237\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                            • \u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f

                              MIG \u53ef\u4ee5\u5728\u5bb9\u5668\u5316\u73af\u5883\u4e2d\u5b9e\u73b0\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u7ba1\u7406\u3002\u901a\u8fc7\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5bb9\u5668\u5206\u914d\u72ec\u7acb\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff0c\u63d0\u4f9b\u66f4\u597d\u7684\u6027\u80fd\u9694\u79bb\u548c\u8d44\u6e90\u5229\u7528\u3002

                            • \u6279\u5904\u7406\u4f5c\u4e1a

                              \u5bf9\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u8ba1\u7b97\u7684\u6279\u5904\u7406\u4f5c\u4e1a\uff0cMIG \u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8ba1\u7b97\u6027\u80fd\u548c\u66f4\u5927\u7684\u663e\u5b58\u5bb9\u91cf\u3002\u6bcf\u4e2a MIG \u5b9e\u4f8b\u53ef\u4ee5\u5229\u7528\u7269\u7406 GPU \u7684\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u52a0\u901f\u5927\u89c4\u6a21\u8ba1\u7b97\u4efb\u52a1\u7684\u5904\u7406\u3002

                            • AI/\u673a\u5668\u5b66\u4e60\u8bad\u7ec3

                              MIG \u53ef\u4ee5\u5728\u8bad\u7ec3\u5927\u89c4\u6a21\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u65f6\u63d0\u4f9b\u66f4\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u548c\u541e\u5410\u91cf\u3002

                            \u603b\u4f53\u800c\u8a00\uff0cNVIDIA MIG \u9002\u7528\u4e8e\u9700\u8981\u66f4\u7ec6\u7c92\u5ea6\u7684GPU\u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\u7684\u573a\u666f\uff0c\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u3001\u63d0\u9ad8\u6027\u80fd\u5229\u7528\u7387\uff0c\u5e76\u4e14\u6ee1\u8db3\u591a\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#mig_1","title":"MIG \u6982\u8ff0","text":"

                            NVIDIA \u591a\u5b9e\u4f8b GPU\uff08Multi-Instance GPU\uff0c\u7b80\u79f0 MIG\uff09\u662f NVIDIA \u5728 H100\uff0cA100\uff0cA30 \u7cfb\u5217 GPU \u5361\u4e0a\u63a8\u51fa\u7684\u4e00\u9879\u65b0\u7279\u6027\uff0c \u65e8\u5728\u5c06\u4e00\u5757\u7269\u7406 GPU \u5206\u5272\u4e3a\u591a\u4e2a GPU \u5b9e\u4f8b\uff0c\u4ee5\u63d0\u4f9b\u66f4\u7ec6\u7c92\u5ea6\u7684\u8d44\u6e90\u5171\u4eab\u548c\u9694\u79bb\u3002MIG \u6700\u591a\u53ef\u5c06\u4e00\u5757 GPU \u5212\u5206\u6210\u4e03\u4e2a GPU \u5b9e\u4f8b\uff0c \u4f7f\u5f97\u4e00\u4e2a \u7269\u7406 GPU \u5361\u53ef\u4e3a\u591a\u4e2a\u7528\u6237\u63d0\u4f9b\u5355\u72ec\u7684 GPU \u8d44\u6e90\uff0c\u4ee5\u5b9e\u73b0\u6700\u4f73 GPU \u5229\u7528\u7387\u3002

                            \u8fd9\u4e2a\u529f\u80fd\u4f7f\u5f97\u591a\u4e2a\u5e94\u7528\u7a0b\u5e8f\u6216\u7528\u6237\u53ef\u4ee5\u540c\u65f6\u5171\u4eabGPU\u8d44\u6e90\uff0c\u63d0\u9ad8\u4e86\u8ba1\u7b97\u8d44\u6e90\u7684\u5229\u7528\u7387\uff0c\u5e76\u589e\u52a0\u4e86\u7cfb\u7edf\u7684\u53ef\u6269\u5c55\u6027\u3002

                            \u901a\u8fc7 MIG\uff0c\u6bcf\u4e2a GPU \u5b9e\u4f8b\u7684\u5904\u7406\u5668\u5728\u6574\u4e2a\u5185\u5b58\u7cfb\u7edf\u4e2d\u5177\u6709\u72ec\u7acb\u4e14\u9694\u79bb\u7684\u8def\u5f84\u2014\u2014\u82af\u7247\u4e0a\u7684\u4ea4\u53c9\u5f00\u5173\u7aef\u53e3\u3001L2 \u9ad8\u901f\u7f13\u5b58\u7ec4\u3001\u5185\u5b58\u63a7\u5236\u5668\u548c DRAM \u5730\u5740\u603b\u7ebf\u90fd\u552f\u4e00\u5206\u914d\u7ed9\u5355\u4e2a\u5b9e\u4f8b\u3002

                            \u8fd9\u786e\u4fdd\u4e86\u5355\u4e2a\u7528\u6237\u7684\u5de5\u4f5c\u8d1f\u8f7d\u80fd\u591f\u4ee5\u53ef\u9884\u6d4b\u7684\u541e\u5410\u91cf\u548c\u5ef6\u8fdf\u8fd0\u884c\uff0c\u5e76\u5177\u6709\u76f8\u540c\u7684\u4e8c\u7ea7\u7f13\u5b58\u5206\u914d\u548c DRAM \u5e26\u5bbd\u3002 MIG \u53ef\u4ee5\u5212\u5206\u53ef\u7528\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff08\u5305\u62ec\u6d41\u591a\u5904\u7406\u5668\u6216 SM \u548c GPU \u5f15\u64ce\uff0c\u5982\u590d\u5236\u5f15\u64ce\u6216\u89e3\u7801\u5668\uff09\u8fdb\u884c\u5206\u533a\uff0c \u4ee5\u4fbf\u4e3a\u4e0d\u540c\u7684\u5ba2\u6237\u7aef\uff08\u5982\u865a\u62df\u673a\u3001\u5bb9\u5668\u6216\u8fdb\u7a0b\uff09\u63d0\u4f9b\u5b9a\u4e49\u7684\u670d\u52a1\u8d28\u91cf\uff08QoS\uff09\u548c\u6545\u969c\u9694\u79bb\uff09\u3002 MIG \u4f7f\u591a\u4e2a GPU \u5b9e\u4f8b\u80fd\u591f\u5728\u5355\u4e2a\u7269\u7406 GPU \u4e0a\u5e76\u884c\u8fd0\u884c\u3002

                            MIG \u5141\u8bb8\u591a\u4e2a vGPU\uff08\u4ee5\u53ca\u865a\u62df\u673a\uff09\u5728\u5355\u4e2a GPU \u5b9e\u4f8b\u4e0a\u5e76\u884c\u8fd0\u884c\uff0c\u540c\u65f6\u4fdd\u7559 vGPU \u63d0\u4f9b\u7684\u9694\u79bb\u4fdd\u8bc1\u3002 \u6709\u5173\u4f7f\u7528 vGPU \u548c MIG \u8fdb\u884c GPU \u5206\u533a\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 NVIDIA Multi-Instance GPU and NVIDIA Virtual Compute Server\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#mig_2","title":"MIG \u67b6\u6784","text":"

                            \u5982\u4e0b\u662f\u4e00\u4e2a MIG \u7684\u6982\u8ff0\u56fe\uff0c\u53ef\u4ee5\u770b\u51fa MIG \u5c06\u4e00\u5f20\u7269\u7406 GPU \u5361\u865a\u62df\u5316\u6210\u4e86 7 \u4e2a GPU \u5b9e\u4f8b\uff0c\u8fd9\u4e9b GPU \u5b9e\u4f8b\u80fd\u591f\u53ef\u4ee5\u88ab\u591a\u4e2a User \u4f7f\u7528\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#_1","title":"\u91cd\u8981\u6982\u5ff5","text":"
                            • SM \uff1a\u6d41\u5f0f\u591a\u5904\u7406\u5668\uff08Streaming Multiprocessor\uff09\uff0cGPU \u7684\u6838\u5fc3\u8ba1\u7b97\u5355\u5143\uff0c\u8d1f\u8d23\u6267\u884c\u56fe\u5f62\u6e32\u67d3\u548c\u901a\u7528\u8ba1\u7b97\u4efb\u52a1\u3002 \u6bcf\u4e2a SM \u5305\u542b\u4e00\u7ec4 CUDA \u6838\u5fc3\uff0c\u4ee5\u53ca\u5171\u4eab\u5185\u5b58\u3001\u5bc4\u5b58\u5668\u6587\u4ef6\u548c\u5176\u4ed6\u8d44\u6e90\uff0c\u53ef\u4ee5\u540c\u65f6\u6267\u884c\u591a\u4e2a\u7ebf\u7a0b\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u90fd\u62e5\u6709\u4e00\u5b9a\u6570\u91cf\u7684 SM \u548c\u5176\u4ed6\u76f8\u5173\u8d44\u6e90\uff0c\u4ee5\u53ca\u88ab\u5212\u5206\u51fa\u6765\u7684\u663e\u5b58\u3002
                            • GPU Memory Slice \uff1aGPU \u5185\u5b58\u5207\u7247\uff0cGPU \u5185\u5b58\u5207\u7247\u662f GPU \u5185\u5b58\u7684\u6700\u5c0f\u90e8\u5206\uff0c\u5305\u62ec\u76f8\u5e94\u7684\u5185\u5b58\u63a7\u5236\u5668\u548c\u7f13\u5b58\u3002 GPU \u5185\u5b58\u5207\u7247\u5927\u7ea6\u662f GPU \u5185\u5b58\u8d44\u6e90\u603b\u91cf\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u5305\u62ec\u5bb9\u91cf\u548c\u5e26\u5bbd\u3002
                            • GPU SM Slice \uff1aGPU SM \u5207\u7247\u662f GPU \u4e0a SM \u7684\u6700\u5c0f\u8ba1\u7b97\u5355\u4f4d\u3002\u5728 MIG \u6a21\u5f0f\u4e0b\u914d\u7f6e\u65f6\uff0c GPU SM \u5207\u7247\u5927\u7ea6\u662f GPU \u4e2d\u53ef\u7528 SMS \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                            • GPU Slice \uff1aGPU \u5207\u7247\u662f GPU \u4e2d\u7531\u5355\u4e2a GPU \u5185\u5b58\u5207\u7247\u548c\u5355\u4e2a GPU SM \u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u7684\u6700\u5c0f\u90e8\u5206\u3002
                            • GPU Instance \uff1aGPU \u5b9e\u4f8b \uff08GI\uff09 \u662f GPU \u5207\u7247\u548c GPU \u5f15\u64ce\uff08DMA\u3001NVDEC \u7b49\uff09\u7684\u7ec4\u5408\u3002 GPU \u5b9e\u4f8b\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\u59cb\u7ec8\u5171\u4eab\u6240\u6709 GPU \u5185\u5b58\u5207\u7247\u548c\u5176\u4ed6 GPU \u5f15\u64ce\uff0c\u4f46\u5b83\u7684 SM \u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\u3002 GPU \u5b9e\u4f8b\u63d0\u4f9b\u5185\u5b58 QoS\u3002\u6bcf\u4e2a GPU \u5207\u7247\u90fd\u5305\u542b\u4e13\u7528\u7684 GPU \u5185\u5b58\u8d44\u6e90\uff0c\u8fd9\u4e9b\u8d44\u6e90\u4f1a\u9650\u5236\u53ef\u7528\u5bb9\u91cf\u548c\u5e26\u5bbd\uff0c\u5e76\u63d0\u4f9b\u5185\u5b58 QoS\u3002 \u6bcf\u4e2a GPU \u5185\u5b58\u5207\u7247\u83b7\u5f97\u603b GPU \u5185\u5b58\u8d44\u6e90\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u6bcf\u4e2a GPU SM \u5207\u7247\u83b7\u5f97 SM \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                            • Compute Instance \uff1aGPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b \uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c\u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002
                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#gpu-gi","title":"GPU \u5b9e\u4f8b\uff08GI\uff09","text":"

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 GPU \u4e0a\u521b\u5efa\u5404\u79cd\u5206\u533a\u3002\u5c06\u4f7f\u7528 A100-40GB \u4f5c\u4e3a\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u5bf9\u5355\u4e2a GPU \u7269\u7406\u5361\u4e0a\u8fdb\u884c\u5206\u533a\u3002

                            GPU \u7684\u5206\u533a\u662f\u4f7f\u7528\u5185\u5b58\u5207\u7247\u8fdb\u884c\u7684\uff0c\u56e0\u6b64\u53ef\u4ee5\u8ba4\u4e3a A100-40GB GPU \u5177\u6709 8x5GB \u5185\u5b58\u5207\u7247\u548c 7 \u4e2a GPU SM \u5207\u7247\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5c55\u793a\u4e86 A100 \u4e0a\u53ef\u7528\u7684\u5185\u5b58\u5207\u7247\u3002

                            \u5982\u4e0a\u6240\u8ff0\uff0c\u521b\u5efa GPU \u5b9e\u4f8b \uff08GI\uff09 \u9700\u8981\u5c06\u4e00\u5b9a\u6570\u91cf\u7684\u5185\u5b58\u5207\u7247\u4e0e\u4e00\u5b9a\u6570\u91cf\u7684\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\u3002 \u5728\u4e0b\u56fe\u4e2d\uff0c\u4e00\u4e2a 5GB \u5185\u5b58\u5207\u7247\u4e0e 1 \u4e2a\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\uff0c\u4ee5\u521b\u5efa 1g.5gb GI \u914d\u7f6e\u6587\u4ef6\uff1a

                            \u540c\u6837\uff0c4x5GB \u5185\u5b58\u5207\u7247\u53ef\u4ee5\u4e0e 4x1 \u8ba1\u7b97\u5207\u7247\u7ed3\u5408\u4f7f\u7528\u4ee5\u521b\u5efa 4g.20gb \u7684 GI \u914d\u7f6e\u6587\u4ef6\uff1a

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/index.html#ci","title":"\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09","text":"

                            GPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247(GI)\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c \u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002\u4f7f\u7528\u4e0a\u9762\u7684\u76f8\u540c 4g.20gb \u793a\u4f8b\uff0c\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a CI \u4ee5\u4ec5\u4f7f\u7528\u7b2c\u4e00\u4e2a\u8ba1\u7b97\u5207\u7247\u7684 1c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\uff0c\u5982\u4e0b\u56fe\u84dd\u8272\u90e8\u5206\u6240\u793a\uff1a

                            \u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7\u9009\u62e9\u4efb\u4f55\u8ba1\u7b97\u5207\u7247\u6765\u521b\u5efa 4 \u4e2a\u4e0d\u540c\u7684 CI\u3002\u8fd8\u53ef\u4ee5\u5c06\u4e24\u4e2a\u8ba1\u7b97\u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u4ee5\u521b\u5efa 2c.4g.20gb \u7684\u8ba1\u7b97\u914d\u7f6e\uff09\uff1a

                            \u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u53ef\u4ee5\u7ec4\u5408 3 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa\u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\uff0c\u6216\u8005\u53ef\u4ee5\u7ec4\u5408\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa 3c.4g.20gb \u3001 4c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\u3002 \u5408\u5e76\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u65f6\uff0c\u914d\u7f6e\u6587\u4ef6\u7b80\u79f0\u4e3a 4g.20gb \u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html","title":"\u5f00\u542f MIG \u529f\u80fd","text":"

                            \u672c\u7ae0\u8282\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f NVIDIA MIG \u529f\u80fd\u65b9\u5f0f\uff0cNVIDIA \u5f53\u524d\u63d0\u4f9b\u4e24\u79cd\u5728 Kubernetes \u8282\u70b9\u4e0a\u516c\u5f00 MIG \u8bbe\u5907\u7684\u7b56\u7565\uff1a

                            • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\u3002
                            • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002

                            \u8be6\u60c5\u53c2\u8003\uff1aNVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5f85\u5b89\u88c5 GPU \u9a71\u52a8\u8282\u70b9\u7cfb\u7edf\u8981\u6c42\u8bf7\u53c2\u8003\uff1aGPU \u652f\u6301\u77e9\u9635
                            • \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\uff08NVIDIA H100\u3001 A100 \u548c A30 Tensor Core GPU\uff09\uff0c \u8be6\u60c5\u53c2\u8003 GPU \u652f\u6301\u77e9\u9635\u3002
                            • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#gpu-operator-addon","title":"\u5b89\u88c5 gpu-operator Addon","text":""},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#_2","title":"\u53c2\u6570\u914d\u7f6e","text":"

                            \u5b89\u88c5 Operator \u65f6\u9700\u8981\u5bf9\u5e94\u8bbe\u7f6e MigManager Config \u53c2\u6570\uff0c \u9ed8\u8ba4\u4e3a default-mig-parted-config \uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565\u914d\u7f6e\u6587\u4ef6\uff1a

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#_3","title":"\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565","text":"
                              ## \u81ea\u5b9a\u4e49\u5207\u5206 GI \u5b9e\u4f8b\u914d\u7f6e\n  all-disabled:\n    - devices: all\n      mig-enabled: false\n  all-enabled:\n    - devices: all\n      mig-enabled: true\n      mig-devices: {}\n  all-1g.10gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.5gb: 7\n  all-1g.10gb.me:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb+me: 1\n  all-1g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.20gb: 4\n  all-2g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        2g.20gb: 3\n  all-3g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n  all-4g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        4g.40gb: 1\n  all-7g.80gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        7g.80gb: 1\n  all-balanced:\n    - device-filter: [\"0x233110DE\", \"0x232210DE\", \"0x20B210DE\", \"0x20B510DE\", \"0x20F310DE\", \"0x20F510DE\"]\n      devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb: 2\n        2g.20gb: 1\n        3g.40gb: 1\n  # \u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u8bbe\u7f6e\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\n  custom-config:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n

                            \u5728\u4e0a\u8ff0\u7684 YAML \u4e2d\u8bbe\u7f6e custom-config \uff0c\u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\u3002

                            custom-config:\n  - devices: all\n    mig-enabled: true\n    mig-devices:\n      1c.3g.40gb: 6\n

                            \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5728\u786e\u8ba4\u90e8\u7f72\u5e94\u7528\u65f6\u5373\u53ef\u4f7f\u7528 GPU MIG \u8d44\u6e90\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/create_mig.html#gpu","title":"\u5207\u6362\u8282\u70b9 GPU \u6a21\u5f0f","text":"

                            Note

                            \u5207\u6362 GPU \u6a21\u5f0f\u6216\u8005\u4fee\u6539\u5207\u5206\u89c4\u683c\u540e\u9700\u8981\u91cd\u542f nvidia-mig-manager\u3002

                            \u5f53\u6211\u4eec\u6210\u529f\u5b89\u88c5 gpu-operator \u4e4b\u540e\uff0c\u8282\u70b9\u9ed8\u8ba4\u662f\u6574\u5361\u6a21\u5f0f\uff0c\u5728\u8282\u70b9\u7ba1\u7406\u9875\u9762\u4f1a\u6709\u6807\u8bc6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                            \u70b9\u51fb\u8282\u70b9\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 GPU \u6a21\u5f0f\u5207\u6362 \uff0c\u7136\u540e\u9009\u62e9\u5bf9\u5e94\u7684 MIG \u6a21\u5f0f\u4ee5\u53ca\u5207\u5206\u7684\u7b56\u7565\uff0c\u8fd9\u91cc\u4ee5 MIXED \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                            \u8fd9\u91cc\u4e00\u5171\u6709\u4e24\u4e2a\u914d\u7f6e\uff1a

                            1. MIg \u7b56\u7565\uff1aMixed \u4ee5\u53ca Single \u3002
                            2. \u5207\u5206\u7b56\u7565\uff1a\u8fd9\u91cc\u7684\u7b56\u7565\u9700\u8981\u4e0e default-mig-parted-config\uff08\u6216\u8005\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u5207\u5206\u7b56\u7565\uff09 \u914d\u7f6e\u6587\u4ef6\u4e2d\u7684 key \u4fdd\u6301\u4e00\u81f4\u3002

                            \u70b9\u51fb\u786e\u8ba4\u6309\u94ae\u540e\uff0c\u7b49\u5f85\u7ea6\u4e00\u5206\u949f\u5de6\u53f3\u5237\u65b0\u9875\u9762\uff0cMIG \u6a21\u5f0f\u5207\u6362\u6210\uff1a

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_command.html","title":"MIG \u76f8\u5173\u547d\u4ee4","text":"

                            GI \u76f8\u5173\u547d\u540d\uff1a

                            \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lgi \u67e5\u770b\u521b\u5efa GI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -dgi -gi \u5220\u9664\u6307\u5b9a\u7684 GI \u5b9e\u4f8b nvidia-smi mig -lgip \u67e5\u770b GI \u7684 profile nvidia-smi mig -cgi \u901a\u8fc7\u6307\u5b9a profile \u7684 ID \u521b\u5efa GI

                            CI \u76f8\u5173\u547d\u4ee4\uff1a

                            \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lcip { -gi {gi Instance ID}} \u67e5\u770b CI \u7684 profile \uff0c\u6307\u5b9a -gi \u53ef\u4ee5\u67e5\u770b\u7279\u5b9a GI \u5b9e\u4f8b\u53ef\u4ee5\u521b\u5efa\u7684 CI nvidia-smi mig -lci \u67e5\u770b\u521b\u5efa\u7684 CI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -cci {profile id} -gi {gi instance id} \u6307\u5b9a\u7684 GI \u521b\u5efa CI \u5b9e\u4f8b nvidia-smi mig -dci -ci \u5220\u9664\u6307\u5b9a CI \u5b9e\u4f8b

                            GI+CI \u76f8\u5173\u547d\u4ee4\uff1a

                            \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -i 0 -cgi {gi profile id} -C {ci profile id} \u76f4\u63a5\u521b\u5efa GI + CI \u5b9e\u4f8b"},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_usage.html","title":"\u4f7f\u7528 MIG GPU \u8d44\u6e90","text":"

                            \u672c\u8282\u4ecb\u7ecd\u5e94\u7528\u5982\u4f55\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5df2\u7ecf\u90e8\u7f72 DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                            • \u5df2\u5b89\u88c5GPU Operator\u3002
                            • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_usage.html#ui-mig-gpu","title":"UI \u754c\u9762\u4f7f\u7528 MIG GPU","text":"
                            1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u8bc6\u522b GPU \u5361\u7c7b\u578b

                              \u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 -> \u8282\u70b9\u7ba1\u7406 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u6b63\u786e\u8bc6\u522b\u4e3a MIG \u6a21\u5f0f\u3002

                            2. \u901a\u8fc7\u955c\u50cf\u90e8\u7f72\u5e94\u7528\uff0c\u53ef\u9009\u62e9\u5e76\u4f7f\u7528 NVIDIA MIG \u8d44\u6e90\u3002

                            3. MIG Single \u6a21\u5f0f\u793a\u4f8b\uff08\u4e0e\u6574\u5361\u4f7f\u7528\u65b9\u5f0f\u76f8\u540c\uff09\uff1a

                              Note

                              MIG single \u7b56\u7565\u5141\u8bb8\u7528\u6237\u4ee5\u4e0e GPU \u6574\u5361\u76f8\u540c\u7684\u65b9\u5f0f\uff08nvidia.com/gpu\uff09\u8bf7\u6c42\u548c\u4f7f\u7528GPU\u8d44\u6e90\uff0c\u4e0d\u540c\u7684\u662f\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u662f GPU \u7684\u4e00\u90e8\u5206\uff08MIG\u8bbe\u5907\uff09\uff0c\u800c\u4e0d\u662f\u6574\u4e2aGPU\u3002\u4e86\u89e3\u66f4\u591a

                            4. MIG Mixed \u6a21\u5f0f\u793a\u4f8b\uff1a

                            "},{"location":"kpanda/user-guide/gpu/nvidia/mig/mig_usage.html#yaml-mig","title":"YAML \u914d\u7f6e\u4f7f\u7528 MIG","text":"

                            MIG Single__ \u6a21\u5f0f\uff1a

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpu: 2 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                            1. \u7533\u8bf7 MIG GPU \u7684\u6570\u91cf

                            MIG Mixed \u6a21\u5f0f\uff1a

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/mig-4g.20gb: 1 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                            1. \u901a\u8fc7 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                            \u8fdb\u5165\u5bb9\u5668\u540e\u53ef\u4ee5\u67e5\u770b\u53ea\u4f7f\u7528\u4e86\u4e00\u4e2a MIG \u8bbe\u5907\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/hami.html","title":"\u6784\u5efa vGPU \u663e\u5b58\u8d85\u914d\u955c\u50cf","text":"

                            Hami \u9879\u76ee\u4e2d vGPU \u663e\u5b58\u8d85\u914d\u7684\u529f\u80fd\u5df2\u7ecf\u4e0d\u5b58\u5728\uff0c\u76ee\u524d\u4f7f\u7528\u6709\u663e\u5b58\u8d85\u914d\u7684 libvgpu.so \u6587\u4ef6\u91cd\u65b0\u6784\u5efa\u3002

                            Dockerfile
                            FROM docker.m.daocloud.io/projecthami/hami:v2.3.11\nCOPY libvgpu.so /k8s-vgpu/lib/nvidia/\n

                            \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6784\u5efa\u955c\u50cf\uff1a

                            docker build -t release.daocloud.io/projecthami/hami:v2.3.11 -f Dockerfile .\n

                            \u7136\u540e\u628a\u955c\u50cf push \u5230 release.daocloud.io \u4e2d\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_addon.html","title":"\u5b89\u88c5 NVIDIA vGPU Addon","text":"

                            \u5982\u9700\u5c06\u4e00\u5f20 NVIDIA \u865a\u62df\u5316\u6210\u591a\u4e2a\u865a\u62df GPU\uff0c\u5e76\u5c06\u5176\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u865a\u62df\u673a\u6216\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 NVIDIA \u7684 vGPU \u80fd\u529b\u3002 \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4e2d\u5b89\u88c5 vGPU \u63d2\u4ef6\uff0c\u8fd9\u662f\u4f7f\u7528 NVIDIA vGPU \u80fd\u529b\u7684\u524d\u63d0\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_addon.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u53c2\u8003 GPU \u652f\u6301\u77e9\u9635 \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\u3002
                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u5177\u4f53\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                            "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_addon.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 nvidia-vgpu \u3002

                            2. \u5728\u5b89\u88c5 vGPU \u7684\u8fc7\u7a0b\u4e2d\u63d0\u4f9b\u4e86\u51e0\u4e2a\u57fa\u672c\u4fee\u6539\u7684\u53c2\u6570\uff0c\u5982\u679c\u9700\u8981\u4fee\u6539\u9ad8\u7ea7\u53c2\u6570\u70b9\u51fb YAML \u5217\u8fdb\u884c\u4fee\u6539\uff1a

                              • deviceCoreScaling \uff1aNVIDIA \u88c5\u7f6e\u7b97\u529b\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u7b97\u529b\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceCoreScaling \u53c2\u6570\u4e3a S\uff0c\u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * 100% \u7b97\u529b\u3002

                              • deviceMemoryScaling \uff1aNVIDIA \u88c5\u7f6e\u663e\u5b58\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u663e\u5b58\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002 \u5bf9\u4e8e\u6709 M \u663e\u5b58\u5927\u5c0f\u7684 NVIDIA GPU\uff0c\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceMemoryScaling \u53c2\u6570\u4e3a S\uff0c \u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * M \u663e\u5b58\u3002

                              • deviceSplitCount \uff1a\u6574\u6570\u7c7b\u578b\uff0c\u9884\u8bbe\u503c\u662f 10\u3002GPU \u7684\u5206\u5272\u6570\uff0c\u6bcf\u4e00\u5f20 GPU \u90fd\u4e0d\u80fd\u5206\u914d\u8d85\u8fc7\u5176\u914d\u7f6e\u6570\u76ee\u7684\u4efb\u52a1\u3002 \u82e5\u5176\u914d\u7f6e\u4e3a N \u7684\u8bdd\uff0c\u6bcf\u4e2a GPU \u4e0a\u6700\u591a\u53ef\u4ee5\u540c\u65f6\u5b58\u5728 N \u4e2a\u4efb\u52a1\u3002

                              • Resources \uff1a\u5c31\u662f\u5bf9\u5e94 vgpu-device-plugin \u548c vgpu-schedule pod \u7684\u8d44\u6e90\u4f7f\u7528\u91cf\u3002

                              • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b vGPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 NVIDIA vGPU Addon \u5b89\u88c5\u5931\u8d25\u3002

                            3. \u5b89\u88c5\u6210\u529f\u4e4b\u540e\u4f1a\u5728\u6307\u5b9a Namespace \u4e0b\u51fa\u73b0\u5982\u4e0b\u4e24\u4e2a\u7c7b\u578b\u7684 Pod\uff0c\u5373\u8868\u793a NVIDIA vGPU \u63d2\u4ef6\u5df2\u5b89\u88c5\u6210\u529f\uff1a

                            \u5b89\u88c5\u6210\u529f\u540e\uff0c\u90e8\u7f72\u5e94\u7528\u53ef\u4f7f\u7528 vGPU \u8d44\u6e90\u3002

                            Note

                            NVIDIA vGPU Addon \u4e0d\u652f\u6301\u4ece\u8001\u7248\u672c v2.0.0 \u76f4\u63a5\u5347\u7ea7\u4e3a\u6700\u65b0\u7248 v2.0.0+1\uff1b \u5982\u9700\u5347\u7ea7\uff0c\u8bf7\u5378\u8f7d\u8001\u7248\u672c\u540e\u91cd\u65b0\u5b89\u88c5\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html","title":"\u5e94\u7528\u4f7f\u7528 Nvidia vGPU","text":"

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 DCE 5.0 \u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                            • \u5df2\u6210\u529f\u5b89\u88c5 vGPU Addon\uff0c\u8be6\u60c5\u53c2\u8003 GPU Addon \u5b89\u88c5
                            • \u5df2\u5b89\u88c5 GPU Operator\uff0c\u5e76\u5df2 \u5173\u95ed Nvidia.DevicePlugin \u80fd\u529b\uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5
                            "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html#vgpu","title":"\u754c\u9762\u4f7f\u7528 vGPU","text":"
                            1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia vGPU \u3002

                            2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia vGPU\uff09\u4e4b\u540e\uff0c\u4f1a\u81ea\u52a8\u51fa\u73b0\u5982\u4e0b\u51e0\u4e2a\u53c2\u6570\u9700\u8981\u586b\u5199\uff1a

                              • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                              • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b \u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c \u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                              • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                              \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                            "},{"location":"kpanda/user-guide/gpu/nvidia/vgpu/vgpu_user.html#yaml-vgpu","title":"YAML \u914d\u7f6e\u4f7f\u7528 vGPU","text":"

                            \u53c2\u8003\u5982\u4e0b\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/vgpu: '1' \u53c2\u6570\u6765\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-vgpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-vgpu-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: full-vgpu-demo\n    spec:\n      containers:\n        - name: full-vgpu-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpucores: '20'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 20% \u7684 GPU \u7b97\u529b\n              nvidia.com/gpumem: '200'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 200MB \u7684\u663e\u5b58\n              nvidia.com/vgpu: '1'   # \u7533\u8bf7GPU\u7684\u6570\u91cf\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                            "},{"location":"kpanda/user-guide/gpu/volcano/drf.html","title":"DRF\uff08Dominant Resource Fairness\uff09 \u8c03\u5ea6\u7b56\u7565","text":"

                            DRF \u8c03\u5ea6\u7b56\u7565\u8ba4\u4e3a\u5360\u7528\u8d44\u6e90\u8f83\u5c11\u7684\u4efb\u52a1\u5177\u6709\u66f4\u9ad8\u7684\u4f18\u5148\u7ea7\u3002\u8fd9\u6837\u80fd\u591f\u6ee1\u8db3\u66f4\u591a\u7684\u4f5c\u4e1a\uff0c\u4e0d\u4f1a\u56e0\u4e3a\u4e00\u4e2a\u80d6\u4e1a\u52a1\uff0c \u997f\u6b7b\u5927\u6279\u5c0f\u4e1a\u52a1\u3002DRF \u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u786e\u4fdd\u5728\u591a\u79cd\u7c7b\u578b\u8d44\u6e90\u5171\u5b58\u7684\u73af\u5883\u4e0b\uff0c\u5c3d\u53ef\u80fd\u6ee1\u8db3\u5206\u914d\u7684\u516c\u5e73\u539f\u5219\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/drf.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                            DRF \u8c03\u5ea6\u7b56\u7565\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4efb\u4f55\u914d\u7f6e\u3002

                            kubectl -n volcano-system view configmaps volcano-scheduler-configmap\n
                            "},{"location":"kpanda/user-guide/gpu/volcano/drf.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                            \u5728 AI \u8bad\u7ec3\uff0c\u6216\u5927\u6570\u636e\u8ba1\u7b97\u4e2d\uff0c\u901a\u8fc7\u6709\u9650\u8fd0\u884c\u4f7f\u7528\u8d44\u6e90\u5c11\u7684\u4efb\u52a1\uff0c\u8fd9\u6837\u53ef\u4ee5\u8ba9\u96c6\u7fa4\u8d44\u6e90\u4f7f\u7528\u7387\u66f4\u9ad8\uff0c\u800c\u4e14\u8fd8\u80fd\u907f\u514d\u5c0f\u4efb\u52a1\u88ab\u997f\u6b7b\u3002 \u5982\u4e0b\u521b\u5efa\u4e24\u4e2a Job\uff0c\u4e00\u4e2a\u662f\u5c0f\u8d44\u6e90\u9700\u6c42\uff0c\u4e00\u4e2a\u662f\u5927\u8d44\u6e90\u9700\u6c42\uff0c\u53ef\u4ee5\u770b\u51fa\u6765\u5c0f\u8d44\u6e90\u9700\u6c42\u7684 Job \u4f18\u5148\u8fd0\u884c\u8d77\u6765\u3002

                            cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: small-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: small-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"1\"  \n          restartPolicy: OnFailure  \n---  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: large-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: large-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"2\"  \n          restartPolicy: OnFailure  \nEOF\n
                            "},{"location":"kpanda/user-guide/gpu/volcano/numa.html","title":"NUMA \u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                            NUMA \u8282\u70b9\u662f Non-Uniform Memory Access\uff08\u975e\u7edf\u4e00\u5185\u5b58\u8bbf\u95ee\uff09\u67b6\u6784\u4e2d\u7684\u4e00\u4e2a\u57fa\u672c\u7ec4\u6210\u5355\u5143\uff0c\u4e00\u4e2a Node \u8282\u70b9\u662f\u591a\u4e2a NUMA \u8282\u70b9\u7684\u96c6\u5408\uff0c \u5728\u591a\u4e2a NUMA \u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u5185\u5b58\u8bbf\u95ee\u65f6\u4f1a\u4ea7\u751f\u5ef6\u8fdf\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u4f18\u5316\u4efb\u52a1\u8c03\u5ea6\u548c\u5185\u5b58\u5206\u914d\u7b56\u7565\uff0c\u6765\u63d0\u9ad8\u5185\u5b58\u8bbf\u95ee\u6548\u7387\u548c\u6574\u4f53\u6027\u80fd\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                            Numa \u4eb2\u548c\u6027\u8c03\u5ea6\u7684\u5e38\u89c1\u573a\u666f\u662f\u90a3\u4e9b\u5bf9 CPU \u53c2\u6570\u654f\u611f/\u8c03\u5ea6\u5ef6\u8fdf\u654f\u611f\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4f5c\u4e1a\u3002\u5982\u79d1\u5b66\u8ba1\u7b97\u3001\u89c6\u9891\u89e3\u7801\u3001\u52a8\u6f2b\u52a8\u753b\u6e32\u67d3\u3001\u5927\u6570\u636e\u79bb\u7ebf\u5904\u7406\u7b49\u5177\u4f53\u573a\u666f\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#_2","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                            Pod \u8c03\u5ea6\u65f6\u53ef\u4ee5\u91c7\u7528\u7684 NUMA \u653e\u7f6e\u7b56\u7565\uff0c\u5177\u4f53\u7b56\u7565\u5bf9\u5e94\u7684\u8c03\u5ea6\u884c\u4e3a\u8bf7\u53c2\u89c1 Pod \u8c03\u5ea6\u884c\u4e3a\u8bf4\u660e\u3002

                            • single-numa-node\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a single-numa-node \u7684\u8282\u70b9\u6c60\u4e2d\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                            • restricted\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a restricted \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c\u7684 NUMA \u96c6\u5408\u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                            • best-effort\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a best-effort \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14\u5c3d\u91cf\u5c06 CPU \u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u6ca1\u6709\u8282\u70b9\u6ee1\u8db3\u8fd9\u4e00\u6761\u4ef6\uff0c\u5219\u9009\u62e9\u6700\u4f18\u8282\u70b9\u8fdb\u884c\u653e\u7f6e\u3002
                            "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#_3","title":"\u8c03\u5ea6\u539f\u7406","text":"

                            \u5f53Pod\u8bbe\u7f6e\u4e86\u62d3\u6251\u7b56\u7565\u65f6\uff0cVolcano \u4f1a\u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\u9884\u6d4b\u5339\u914d\u7684\u8282\u70b9\u5217\u8868\u3002 \u8c03\u5ea6\u8fc7\u7a0b\u5982\u4e0b\uff1a

                            1. \u6839\u636e Pod \u8bbe\u7f6e\u7684 Volcano \u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u5177\u6709\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u3002

                            2. \u5728\u8bbe\u7f6e\u4e86\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u4e2d\uff0c\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u8be5\u7b56\u7565\u8981\u6c42\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6\u3002

                            Pod \u53ef\u914d\u7f6e\u7684\u62d3\u6251\u7b56\u7565 1. \u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u53ef\u8c03\u5ea6\u7684\u8282\u70b9 2. \u8fdb\u4e00\u6b65\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u7b56\u7565\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6 none \u9488\u5bf9\u914d\u7f6e\u4e86\u4ee5\u4e0b\u51e0\u79cd\u62d3\u6251\u7b56\u7565\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u65f6\u5747\u65e0\u7b5b\u9009\u884c\u4e3a\u3002none\uff1a\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 - best-effort \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201cbest-effort\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u5c3d\u53ef\u80fd\u6ee1\u8db3\u7b56\u7565\u8981\u6c42\u8fdb\u884c\u8c03\u5ea6\uff1a\u4f18\u5148\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\uff0c\u5982\u679c\u5355 NUMA \u8282\u70b9\u65e0\u6cd5\u6ee1\u8db3 CPU \u7533\u8bf7\u503c\uff0c\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 restricted \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201crestricted\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u4e25\u683c\u9650\u5236\u7684\u8c03\u5ea6\u7b56\u7565\uff1a\u5355 NUMA \u8282\u70b9\u7684CPU\u5bb9\u91cf\u4e0a\u9650\u5927\u4e8e\u7b49\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002\u6b64\u65f6\u5982\u679c\u5355 NUMA \u8282\u70b9\u5269\u4f59\u7684 CPU \u53ef\u4f7f\u7528\u91cf\u4e0d\u8db3\uff0c\u5219 Pod \u65e0\u6cd5\u8c03\u5ea6\u3002\u5355 NUMA \u8282\u70b9\u7684 CPU \u5bb9\u91cf\u4e0a\u9650\u5c0f\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u53ef\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 single-numa-node \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201csingle-numa-node\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 \u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002"},{"location":"kpanda/user-guide/gpu/volcano/numa.html#numa_1","title":"\u914d\u7f6e NUMA \u4eb2\u548c\u8c03\u5ea6\u7b56\u7565","text":"
                            1. \u5728 Job \u4e2d\u914d\u7f6e policies

                              task: \n  - replicas: 1 \n    name: \"test-1\" \n    topologyPolicy: single-numa-node \n  - replicas: 1 \n    name: \"test-2\" \n    topologyPolicy: best-effort \n
                            2. \u4fee\u6539 kubelet \u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u8bbe\u7f6e --topology-manager-policy \u53c2\u6570\uff0c\u652f\u6301\u7684\u7b56\u7565\u6709\u56db\u79cd\uff1a

                              • none\uff08\u9ed8\u8ba4\uff09
                              • best-effort
                              • restricted
                              • single-numa-node
                            "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#_4","title":"\u4f7f\u7528\u6848\u4f8b","text":"
                            1. \u793a\u4f8b\u4e00\uff1a\u5728\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e NUMA \u4eb2\u548c\u6027\u3002

                              kind: Deployment  \napiVersion: apps/v1  \nmetadata:  \n  name: numa-tset  \nspec:  \n  replicas: 1  \n  selector:  \n    matchLabels:  \n      app: numa-tset  \n  template:  \n    metadata:  \n      labels:  \n        app: numa-tset  \n      annotations:  \n        volcano.sh/numa-topology-policy: single-numa-node    # set the topology policy  \n    spec:  \n      containers:  \n        - name: container-1  \n          image: nginx:alpine  \n          resources:  \n            requests:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0elimits\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n            limits:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0erequests\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n      imagePullSecrets:  \n      - name: default-secret\n
                            2. \u793a\u4f8b\u4e8c\uff1a\u521b\u5efa\u4e00\u4e2a Volcano Job\uff0c\u5e76\u4f7f\u7528 NUMA \u4eb2\u548c\u6027\u3002

                              apiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: vj-test  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 1  \n  tasks:  \n    - replicas: 1  \n      name: \"test\"  \n      topologyPolicy: best-effort   # set the topology policy for task  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                limits:  \n                  cpu: 20  \n                  memory: \"100Mi\"  \n          restartPolicy: OnFailure\n
                            "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#numa_2","title":"NUMA \u8c03\u5ea6\u5206\u6790","text":"

                            \u5047\u8bbe NUMA \u8282\u70b9\u60c5\u51b5\u5982\u4e0b\uff1a

                            \u5de5\u4f5c\u8282\u70b9 \u8282\u70b9\u7b56\u7565\u62d3\u6251\u7ba1\u7406\u5668\u7b56\u7565 NUMA \u8282\u70b9 0 \u4e0a\u7684\u53ef\u5206\u914d CPU NUMA \u8282\u70b9 1 \u4e0a\u7684\u53ef\u5206\u914d CPU node-1 single-numa-node 16U 16U node-2 best-effort 16U 16U node-3 best-effort 20U 20U
                            • \u793a\u4f8b\u4e00\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a 2U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201csingle-numa-node\u201d\uff0c\u56e0\u6b64\u4f1a\u88ab\u8c03\u5ea6\u5230\u76f8\u540c\u7b56\u7565\u7684 node-1\u3002
                            • \u793a\u4f8b\u4e8c\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a20U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201cbest-effort\u201d\uff0c\u5b83\u5c06\u88ab\u8c03\u5ea6\u5230 node-3\uff0c \u56e0\u4e3a node-3 \u53ef\u4ee5\u5728\u5355\u4e2a NUMA \u8282\u70b9\u4e0a\u5206\u914d Pod \u7684 CPU \u8bf7\u6c42\uff0c\u800c node-2 \u9700\u8981\u5728\u4e24\u4e2a NUMA \u8282\u70b9\u4e0a\u6267\u884c\u6b64\u64cd\u4f5c\u3002
                            "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#cpu","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5","text":"

                            \u60a8\u53ef\u4ee5\u901a\u8fc7 lscpu \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5\uff1a

                            lscpu \n... \nCPU(s): 32 \nNUMA node(s): 2 \nNUMA node0 CPU(s): 0-15 \nNUMA node1 CPU(s): 16-31\n
                            "},{"location":"kpanda/user-guide/gpu/volcano/numa.html#cpu_1","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d","text":"

                            \u7136\u540e\u67e5\u770b NUMA \u8282\u70b9\u4f7f\u7528\u60c5\u51b5\uff1a

                            # \u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d\ncat /var/lib/kubelet/cpu_manager_state\n{\"policyName\":\"static\",\"defaultCpuSet\":\"0,10-15,25-31\",\"entries\":{\"777870b5-c64f-42f5-9296-688b9dc212ba\":{\"container-1\":\"16-24\"},\"fb15e10a-b6a5-4aaa-8fcd-76c1aa64e6fd\":{\"container-1\":\"1-9\"}},\"checksum\":318470969}\n

                            \u4ee5\u4e0a\u793a\u4f8b\u4e2d\u8868\u793a\uff0c\u8282\u70b9\u4e0a\u8fd0\u884c\u4e86\u4e24\u4e2a\u5bb9\u5668\uff0c\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node0 \u76841-9 \u6838\uff0c\u53e6\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node1 \u7684 16-24 \u6838\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano-gang-scheduler.html","title":"\u4f7f\u7528 Volcano \u7684 Gang Scheduler","text":"

                            Gang \u8c03\u5ea6\u7b56\u7565\u662f volcano-scheduler \u7684\u6838\u5fc3\u8c03\u5ea6\u7b97\u6cd5\u4e4b\u4e00\uff0c\u5b83\u6ee1\u8db3\u4e86\u8c03\u5ea6\u8fc7\u7a0b\u4e2d\u7684 \u201cAll or nothing\u201d \u7684\u8c03\u5ea6\u9700\u6c42\uff0c \u907f\u514d Pod \u7684\u4efb\u610f\u8c03\u5ea6\u5bfc\u81f4\u96c6\u7fa4\u8d44\u6e90\u7684\u6d6a\u8d39\u3002\u5177\u4f53\u7b97\u6cd5\u662f\uff0c\u89c2\u5bdf Job \u4e0b\u7684 Pod \u5df2\u8c03\u5ea6\u6570\u91cf\u662f\u5426\u6ee1\u8db3\u4e86\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\uff0c \u5f53 Job \u7684\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\u5f97\u5230\u6ee1\u8db3\u65f6\uff0c\u4e3a Job \u4e0b\u7684\u6240\u6709 Pod \u6267\u884c\u8c03\u5ea6\u52a8\u4f5c\uff0c\u5426\u5219\uff0c\u4e0d\u6267\u884c\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano-gang-scheduler.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                            \u57fa\u4e8e\u5bb9\u5668\u7ec4\u6982\u5ff5\u7684 Gang \u8c03\u5ea6\u7b97\u6cd5\u5341\u5206\u9002\u5408\u9700\u8981\u591a\u8fdb\u7a0b\u534f\u4f5c\u7684\u573a\u666f\u3002AI \u573a\u666f\u5f80\u5f80\u5305\u542b\u590d\u6742\u7684\u6d41\u7a0b\uff0c Data Ingestion\u3001Data Analysts\u3001Data Splitting\u3001Trainer\u3001Serving\u3001Logging \u7b49\uff0c \u9700\u8981\u4e00\u7ec4\u5bb9\u5668\u8fdb\u884c\u534f\u540c\u5de5\u4f5c\uff0c\u5c31\u5f88\u9002\u5408\u57fa\u4e8e\u5bb9\u5668\u7ec4\u7684 Gang \u8c03\u5ea6\u7b56\u7565\u3002 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\uff0c\u7531\u4e8e\u9700\u8981\u4e3b\u4ece\u8fdb\u7a0b\u534f\u540c\u5de5\u4f5c\uff0c\u4e5f\u975e\u5e38\u9002\u5408\u4f7f\u7528 Gang \u8c03\u5ea6\u7b56\u7565\u3002 \u5bb9\u5668\u7ec4\u4e0b\u7684\u5bb9\u5668\u9ad8\u5ea6\u76f8\u5173\u4e5f\u53ef\u80fd\u5b58\u5728\u8d44\u6e90\u4e89\u62a2\uff0c\u6574\u4f53\u8c03\u5ea6\u5206\u914d\uff0c\u80fd\u591f\u6709\u6548\u89e3\u51b3\u6b7b\u9501\u3002

                            \u5728\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\u7684\u573a\u666f\u4e0b\uff0cGang \u7684\u8c03\u5ea6\u7b56\u7565\u5bf9\u4e8e\u96c6\u7fa4\u8d44\u6e90\u7684\u5229\u7528\u7387\u7684\u63d0\u5347\u662f\u975e\u5e38\u660e\u663e\u7684\u3002 \u6bd4\u5982\u96c6\u7fa4\u73b0\u5728\u53ea\u80fd\u5bb9\u7eb3 2 \u4e2a Pod\uff0c\u73b0\u5728\u8981\u6c42\u6700\u5c0f\u8c03\u5ea6\u7684 Pod \u6570\u4e3a 3\u3002 \u90a3\u73b0\u5728\u8fd9\u4e2a Job \u7684\u6240\u6709\u7684 Pod \u90fd\u4f1a pending\uff0c\u76f4\u5230\u96c6\u7fa4\u80fd\u591f\u5bb9\u7eb3 3 \u4e2a Pod\uff0cPod \u624d\u4f1a\u88ab\u8c03\u5ea6\u3002 \u6709\u6548\u9632\u6b62\u8c03\u5ea6\u90e8\u5206 Pod\uff0c\u4e0d\u6ee1\u8db3\u8981\u6c42\u53c8\u5360\u7528\u4e86\u8d44\u6e90\uff0c\u4f7f\u5176\u4ed6 Job \u65e0\u6cd5\u8fd0\u884c\u7684\u60c5\u51b5\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano-gang-scheduler.html#_2","title":"\u6982\u5ff5\u8bf4\u660e","text":"

                            Gang Scheduler \u662f Volcano \u7684\u6838\u5fc3\u7684\u8c03\u5ea6\u63d2\u4ef6\uff0c\u5b89\u88c5 Volcano \u540e\u9ed8\u8ba4\u5c31\u5f00\u542f\u4e86\u3002 \u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u53ea\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u7684\u540d\u79f0\u4e3a Volcano \u5373\u53ef\u3002

                            Volcano \u662f\u4ee5 PodGroup \u4e3a\u5355\u4f4d\u8fdb\u884c\u8c03\u5ea6\u7684\uff0c\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5e76\u4e0d\u9700\u8981\u624b\u52a8\u521b\u5efa PodGroup \u8d44\u6e90\uff0c Volcano \u4f1a\u6839\u636e\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4fe1\u606f\u81ea\u52a8\u521b\u5efa\u3002\u4e0b\u9762\u662f\u4e00\u4e2a PodGroup \u7684\u793a\u4f8b\uff1a

                            apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  name: test\n  namespace: default\nspec:\n  minMember: 1  # (1)!\n  minResources:  # (2)!\n    cpu: \"3\"\n    memory: \"2048Mi\"\n  priorityClassName: high-prority # (3)!\n  queue: default # (4)!\n
                            1. \u8868\u793a\u8be5 PodGroup \u4e0b \u6700\u5c11 \u9700\u8981\u8fd0\u884c\u7684 Pod \u6216\u4efb\u52a1\u6570\u91cf\u3002 \u5982\u679c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u6ee1\u8db3 miniMember \u6570\u91cf\u4efb\u52a1\u7684\u8fd0\u884c\u9700\u6c42\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                            2. \u8868\u793a\u8fd0\u884c\u8be5 PodGroup \u6240\u9700\u8981\u7684\u6700\u5c11\u8d44\u6e90\u3002\u5f53\u96c6\u7fa4\u53ef\u5206\u914d\u8d44\u6e90\u4e0d\u6ee1\u8db3 minResources \u65f6\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                            3. \u8868\u793a\u8be5 PodGroup \u7684\u4f18\u5148\u7ea7\uff0c\u7528\u4e8e\u8c03\u5ea6\u5668\u4e3a\u8be5 queue \u4e2d\u6240\u6709 PodGroup \u8fdb\u884c\u8c03\u5ea6\u65f6\u8fdb\u884c\u6392\u5e8f\u3002 system-node-critical \u548c system-cluster-critical \u662f 2 \u4e2a\u9884\u7559\u7684\u503c\uff0c\u8868\u793a\u6700\u9ad8\u4f18\u5148\u7ea7\u3002\u4e0d\u7279\u522b\u6307\u5b9a\u65f6\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u4f18\u5148\u7ea7\u6216 zero \u4f18\u5148\u7ea7\u3002
                            4. \u8868\u793a\u8be5 PodGroup \u6240\u5c5e\u7684 queue\u3002queue \u5fc5\u987b\u63d0\u524d\u5df2\u521b\u5efa\u4e14\u72b6\u6001\u4e3a open\u3002
                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano-gang-scheduler.html#_3","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                            \u5728 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\u4e2d\uff0c\u6211\u4eec\u8981\u786e\u4fdd\u6240\u6709\u7684 Pod \u90fd\u80fd\u8c03\u5ea6\u6210\u529f\u624d\u80fd\u4fdd\u8bc1\u4efb\u52a1\u6b63\u5e38\u5b8c\u6210\u3002 \u8bbe\u7f6e minAvailable \u4e3a 4\uff0c\u8868\u793a\u8981\u6c42 1 \u4e2a mpimaster \u548c 3 \u4e2a mpiworker \u80fd\u8fd0\u884c\u3002

                            apiVersion: batch.volcano.sh/v1alpha1\nkind: Job\nmetadata:\n  name: lm-mpi-job\n  labels:\n    \"volcano.sh/job-type\": \"MPI\"\nspec:\n  minAvailable: 4\n  schedulerName: volcano\n  plugins:\n    ssh: []\n    svc: []\n  policies:\n    - event: PodEvicted\n      action: RestartJob\n  tasks:\n    - replicas: 1\n      name: mpimaster\n      policies:\n        - event: TaskCompleted\n          action: CompleteJob\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  MPI_HOST=`cat /etc/volcano/mpiworker.host | tr \"\\n\" \",\"`;\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd;\n                  mpiexec --allow-run-as-root --host ${MPI_HOST} -np 3 mpi_hello_world;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpimaster\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"500m\"\n                limits:\n                  cpu: \"500m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n    - replicas: 3\n      name: mpiworker\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd -D;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpiworker\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"1000m\"\n                limits:\n                  cpu: \"1000m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n

                            \u751f\u6210 PodGroup \u7684\u8d44\u6e90\uff1a

                            apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  annotations:\n  creationTimestamp: \"2024-05-28T09:18:50Z\"\n  generation: 5\n  labels:\n    volcano.sh/job-type: MPI\n  name: lm-mpi-job-9c571015-37c7-4a1a-9604-eaa2248613f2\n  namespace: default\n  ownerReferences:\n  - apiVersion: batch.volcano.sh/v1alpha1\n    blockOwnerDeletion: true\n    controller: true\n    kind: Job\n    name: lm-mpi-job\n    uid: 9c571015-37c7-4a1a-9604-eaa2248613f2\n  resourceVersion: \"25173454\"\n  uid: 7b04632e-7cff-4884-8e9a-035b7649d33b\nspec:\n  minMember: 4\n  minResources:\n    count/pods: \"4\"\n    cpu: 3500m\n    limits.cpu: 3500m\n    pods: \"4\"\n    requests.cpu: 3500m\n  minTaskMember:\n    mpimaster: 1\n    mpiworker: 3\n  queue: default\nstatus:\n  conditions:\n  - lastTransitionTime: \"2024-05-28T09:19:01Z\"\n    message: '3/4 tasks in gang unschedulable: pod group is not ready, 1 Succeeded,\n      3 Releasing, 4 minAvailable'\n    reason: NotEnoughResources\n    status: \"True\"\n    transitionID: f875efa5-0358-4363-9300-06cebc0e7466\n    type: Unschedulable\n  - lastTransitionTime: \"2024-05-28T09:18:53Z\"\n    reason: tasks in gang are ready to be scheduled\n    status: \"True\"\n    transitionID: 5a7708c8-7d42-4c33-9d97-0581f7c06dab\n    type: Scheduled\n  phase: Pending\n  succeeded: 1\n

                            \u4ece PodGroup \u53ef\u4ee5\u770b\u51fa\uff0c\u901a\u8fc7 ownerReferences \u5173\u8054\u5230\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u8bbe\u7f6e\u6700\u5c0f\u8fd0\u884c\u7684 Pod \u6570\u4e3a 4\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_binpack.html","title":"\u4f7f\u7528 Volcano Binpack \u8c03\u5ea6\u7b56\u7565","text":"

                            Binpack \u8c03\u5ea6\u7b97\u6cd5\u7684\u76ee\u6807\u662f\u5c3d\u91cf\u628a\u5df2\u88ab\u5360\u7528\u7684\u8282\u70b9\u586b\u6ee1\uff08\u5c3d\u91cf\u4e0d\u5f80\u7a7a\u767d\u8282\u70b9\u5206\u914d\uff09\u3002\u5177\u4f53\u5b9e\u73b0\u4e0a\uff0cBinpack \u8c03\u5ea6\u7b97\u6cd5\u4f1a\u7ed9\u6295\u9012\u7684\u8282\u70b9\u6253\u5206\uff0c \u5206\u6570\u8d8a\u9ad8\u8868\u793a\u8282\u70b9\u7684\u8d44\u6e90\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u901a\u8fc7\u5c3d\u53ef\u80fd\u586b\u6ee1\u8282\u70b9\uff0c\u5c06\u5e94\u7528\u8d1f\u8f7d\u9760\u62e2\u5728\u90e8\u5206\u8282\u70b9\uff0c\u8fd9\u79cd\u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u5c3d\u53ef\u80fd\u51cf\u5c0f\u8282\u70b9\u5185\u7684\u788e\u7247\uff0c \u5728\u7a7a\u95f2\u7684\u673a\u5668\u4e0a\u4e3a\u7533\u8bf7\u4e86\u66f4\u5927\u8d44\u6e90\u8bf7\u6c42\u7684 Pod \u9884\u7559\u8db3\u591f\u7684\u8d44\u6e90\u7a7a\u95f4\uff0c\u4f7f\u96c6\u7fa4\u4e0b\u7a7a\u95f2\u8d44\u6e90\u5f97\u5230\u6700\u5927\u5316\u7684\u5229\u7528\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_binpack.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"

                            \u9884\u5148\u5728 DCE 5.0 \u4e0a\u5b89\u88c5 Volcano \u7ec4\u4ef6\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_binpack.html#binpack","title":"Binpack \u7b97\u6cd5\u539f\u7406","text":"

                            Binpack \u5728\u5bf9\u4e00\u4e2a\u8282\u70b9\u6253\u5206\u65f6\uff0c\u4f1a\u6839\u636e Binpack \u63d2\u4ef6\u81ea\u8eab\u6743\u91cd\u548c\u5404\u8d44\u6e90\u8bbe\u7f6e\u7684\u6743\u91cd\u503c\u7efc\u5408\u6253\u5206\u3002 \u9996\u5148\uff0c\u5bf9 Pod \u8bf7\u6c42\u8d44\u6e90\u4e2d\u7684\u6bcf\u7c7b\u8d44\u6e90\u4f9d\u6b21\u6253\u5206\uff0c\u4ee5 CPU \u4e3a\u4f8b\uff0cCPU \u8d44\u6e90\u5728\u5f85\u8c03\u5ea6\u8282\u70b9\u7684\u5f97\u5206\u4fe1\u606f\u5982\u4e0b\uff1a

                            CPU.weight * (request + used) / allocatable\n

                            \u5373 CPU \u6743\u91cd\u503c\u8d8a\u9ad8\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u91cf\u8d8a\u6ee1\uff0c\u5f97\u5206\u8d8a\u9ad8\u3002Memory\u3001GPU \u7b49\u8d44\u6e90\u539f\u7406\u7c7b\u4f3c\u3002\u5176\u4e2d\uff1a

                            • CPU.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684 CPU \u6743\u91cd
                            • request \u4e3a\u5f53\u524d Pod \u8bf7\u6c42\u7684 CPU \u8d44\u6e90\u91cf
                            • used \u4e3a\u5f53\u524d\u8282\u70b9\u5df2\u7ecf\u5206\u914d\u4f7f\u7528\u7684 CPU \u91cf
                            • allocatable \u4e3a\u5f53\u524d\u8282\u70b9 CPU \u53ef\u7528\u603b\u91cf

                            \u901a\u8fc7 Binpack \u7b56\u7565\u7684\u8282\u70b9\u603b\u5f97\u5206\u5982\u4e0b\uff1a

                            binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                            \u5373 Binpack \u63d2\u4ef6\u7684\u6743\u91cd\u503c\u8d8a\u5927\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u67d0\u7c7b\u8d44\u6e90\u7684\u6743\u91cd\u8d8a\u5927\uff0c\u8be5\u8d44\u6e90\u5728\u6253\u5206\u65f6\u7684\u5360\u6bd4\u8d8a\u5927\u3002\u5176\u4e2d\uff1a

                            • binpack.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684\u88c5\u7bb1\u8c03\u5ea6\u7b56\u7565\u6743\u91cd
                            • CPU.score \u4e3a CPU \u8d44\u6e90\u5f97\u5206\uff0cCPU.weight \u4e3a CPU \u6743\u91cd
                            • Memory.score \u4e3a Memory \u8d44\u6e90\u5f97\u5206\uff0cMemory.weight \u4e3a Memory \u6743\u91cd
                            • GPU.score \u4e3a GPU \u8d44\u6e90\u5f97\u5206\uff0cGPU.weight \u4e3a GPU \u6743\u91cd

                            \u5982\u56fe\u6240\u793a\uff0c\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u8282\u70b9\uff0c\u5206\u522b\u4e3a Node1 \u548c Node 2\uff0c\u5728\u8c03\u5ea6 Pod \u65f6\uff0cBinpack \u7b56\u7565\u5bf9\u4e24\u4e2a\u8282\u70b9\u5206\u522b\u6253\u5206\u3002 \u5047\u8bbe\u96c6\u7fa4\u4e2d CPU.weight \u914d\u7f6e\u4e3a 1\uff0cMemory.weight \u914d\u7f6e\u4e3a 1\uff0cGPU.weight \u914d\u7f6e\u4e3a 2\uff0cbinpack.weight \u914d\u7f6e\u4e3a 5\u3002

                            1. Binpack \u5bf9 Node 1 \u7684\u8d44\u6e90\u6253\u5206\uff0c\u5404\u8d44\u6e90\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                              • CPU Score\uff1a

                                CPU.weight - (request + used) / allocatable = 1 - (2 + 4) / 8 = 0.75

                              • Memory Score\uff1a

                                Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                              • GPU Score\uff1a

                                GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                            2. \u8282\u70b9\u603b\u5f97\u5206\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                              binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                              \u5047\u8bbe binpack.weight \u914d\u7f6e\u4e3a 5\uff0cNode 1 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                              5 - (0.75 + 0.75 + 2) / (1 + 1 + 2) - 100 = 437.5\n
                            3. Binpack \u5bf9 Node 2 \u7684\u8d44\u6e90\u6253\u5206\uff1a

                              • CPU Score\uff1a

                                CPU.weight - (request + used) / allocatable = 1 - (2 + 6) / 8 = 1

                              • Memory Score\uff1a

                                Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                              • GPU Score\uff1a

                                GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                            4. Node 2 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                              5 - (1 + 0.75 + 2) / (1 + 1 + 2) - 100 = 468.75\n

                            \u7efc\u4e0a\uff0cNode 2 \u5f97\u5206\u5927\u4e8e Node 1\uff0c\u6309\u7167 Binpack \u7b56\u7565\uff0cPod \u5c06\u4f1a\u4f18\u5148\u8c03\u5ea6\u81f3 Node 2\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_binpack.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                            Binpack \u8c03\u5ea6\u63d2\u4ef6\u5728\u5b89\u88c5 Volcano \u7684\u65f6\u5019\u9ed8\u8ba4\u5c31\u4f1a\u5f00\u542f\uff1b\u5982\u679c\u7528\u6237\u6ca1\u6709\u914d\u7f6e\u6743\u91cd\uff0c\u5219\u4f7f\u7528\u5982\u4e0b\u9ed8\u8ba4\u7684\u914d\u7f6e\u6743\u91cd\u3002

                            - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 1\n        binpack.cpu: 1\n        binpack.memory: 1\n

                            \u9ed8\u8ba4\u6743\u91cd\u4e0d\u80fd\u4f53\u73b0\u5806\u53e0\u7279\u6027\uff0c\u56e0\u6b64\u9700\u8981\u4fee\u6539\u4e3a binpack.weight: 10\u3002

                            kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                            - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 10\n        binpack.cpu: 1\n        binpack.memory: 1\n        binpack.resources: nvidia.com/gpu, example.com/foo\n        binpack.resources.nvidia.com/gpu: 2\n        binpack.resources.example.com/foo: 3\n

                            \u6539\u597d\u4e4b\u540e\u91cd\u542f volcano-scheduler Pod \u4f7f\u5176\u751f\u6548\u3002

                            \u521b\u5efa\u5982\u4e0b\u7684 Deployment\u3002

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: binpack-test\n  labels:\n    app: binpack-test\nspec:\n  replicas: 2\n  selector:\n    matchLabels:\n      app: test\n  template:\n    metadata:\n      labels:\n        app: test\n    spec:\n      schedulerName: volcano\n      containers:\n        - name: test\n          image: busybox\n          imagePullPolicy: IfNotPresent\n          command: [\"sh\", \"-c\", 'echo \"Hello, Kubernetes!\" && sleep 3600']\n          resources:\n            requests:\n              cpu: 500m\n            limits:\n              cpu: 500m\n

                            \u5728\u4e24\u4e2a Node \u7684\u96c6\u7fa4\u4e0a\u53ef\u4ee5\u770b\u5230 Pod \u88ab\u8c03\u5ea6\u5230\u4e00\u4e2a Node \u4e0a\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_priority.html","title":"\u4f18\u5148\u7ea7\u62a2\u5360\uff08Preemption scheduling\uff09\u7b56\u7565","text":"

                            Volcano \u901a\u8fc7 Priority \u63d2\u4ef6\u5b9e\u73b0\u4e86\u4f18\u5148\u7ea7\u62a2\u5360\u7b56\u7565\uff0c\u5373 Preemption scheduling \u7b56\u7565\u3002\u5728\u96c6\u7fa4\u8d44\u6e90\u6709\u9650\u4e14\u591a\u4e2a Job \u7b49\u5f85\u8c03\u5ea6\u65f6\uff0c \u5982\u679c\u4f7f\u7528 Kubernetes \u9ed8\u8ba4\u8c03\u5ea6\u5668\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5177\u6709\u66f4\u591a Pod \u6570\u91cf\u7684 Job \u5206\u5f97\u66f4\u591a\u8d44\u6e90\u3002\u800c Volcano-scheduler \u63d0\u4f9b\u4e86\u7b97\u6cd5\uff0c\u652f\u6301\u4e0d\u540c\u7684 Job \u4ee5 fair-share \u7684\u5f62\u5f0f\u5171\u4eab\u96c6\u7fa4\u8d44\u6e90\u3002

                            Priority \u63d2\u4ef6\u5141\u8bb8\u7528\u6237\u81ea\u5b9a\u4e49 Job \u548c Task \u7684\u4f18\u5148\u7ea7\uff0c\u5e76\u6839\u636e\u9700\u6c42\u5728\u4e0d\u540c\u5c42\u6b21\u4e0a\u5b9a\u5236\u8c03\u5ea6\u7b56\u7565\u3002 \u4f8b\u5982\uff0c\u5bf9\u4e8e\u91d1\u878d\u573a\u666f\u3001\u7269\u8054\u7f51\u76d1\u63a7\u573a\u666f\u7b49\u9700\u8981\u8f83\u9ad8\u5b9e\u65f6\u6027\u7684\u5e94\u7528\uff0cPriority \u63d2\u4ef6\u80fd\u591f\u786e\u4fdd\u5176\u4f18\u5148\u5f97\u5230\u8c03\u5ea6\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_priority.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                            \u4f18\u5148\u7ea7\u7684\u51b3\u5b9a\u57fa\u4e8e\u914d\u7f6e\u7684 PriorityClass \u4e2d\u7684 Value \u503c\uff0c\u503c\u8d8a\u5927\u4f18\u5148\u7ea7\u8d8a\u9ad8\u3002\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4fee\u6539\u3002\u53ef\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u6216\u4fee\u6539\u3002

                            kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_priority.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                            \u5047\u8bbe\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u7a7a\u95f2\u8282\u70b9\uff0c\u5e76\u6709\u4e09\u4e2a\u4f18\u5148\u7ea7\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff1ahigh-priority\u3001med-priority \u548c low-priority\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u5e76\u5360\u6ee1\u96c6\u7fa4\u8d44\u6e90\u540e\uff0c\u518d\u63d0\u4ea4 med-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u3002 \u7531\u4e8e\u96c6\u7fa4\u8d44\u6e90\u5168\u90e8\u88ab\u66f4\u9ad8\u4f18\u5148\u7ea7\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5360\u7528\uff0cmed-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u5904\u4e8e pending \u72b6\u6001\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u7ed3\u675f\u540e\uff0c\u6839\u636e\u4f18\u5148\u7ea7\u8c03\u5ea6\u539f\u5219\uff0cmed-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u4f18\u5148\u88ab\u8c03\u5ea6\u3002

                            1. \u901a\u8fc7 priority.yaml \u521b\u5efa 3 \u4e2a\u4f18\u5148\u7ea7\u5b9a\u4e49\uff0c\u5206\u522b\u4e3a\uff1ahigh-priority\uff0cmed-priority\uff0clow-priority\u3002

                              \u67e5\u770b priority.yaml

                              cat <<EOF | kubectl apply -f - \napiVersion: scheduling.k8s.io/v1 \nkind: PriorityClass \nitems: \n  - metadata: \n      name: high-priority \n    value: 100 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: med-priority \n    value: 50 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: low-priority \n    value: 10 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \nEOF\n
                              2. \u67e5\u770b\u4f18\u5148\u7ea7\u5b9a\u4e49\u4fe1\u606f\u3002

                              kubectl get PriorityClass\n
                              NAME                      VALUE        GLOBAL-DEFAULT   AGE  \nhigh-priority             100          false            97s  \nlow-priority              10           false            97s  \nmed-priority              50           false            97s  \nsystem-cluster-critical   2000000000   false            6d6h  \nsystem-node-critical      2000001000   false            6d6h\n

                            2. \u521b\u5efa\u9ad8\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d high-priority-job\uff0c\u5360\u7528\u96c6\u7fa4\u7684\u5168\u90e8\u8d44\u6e90\u3002

                              \u67e5\u770b high-priority-job
                              cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-high  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: high-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                              \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod\u8fd0\u884c \u4fe1\u606f\uff1a

                              kubectl get pods\n
                              NAME                   READY   STATUS    RESTARTS   AGE  \npriority-high-test-0   1/1     Running   0          3s  \npriority-high-test-1   1/1     Running   0          3s  \npriority-high-test-2   1/1     Running   0          3s  \npriority-high-test-3   1/1     Running   0          3s\n

                              \u6b64\u65f6\uff0c\u96c6\u7fa4\u8282\u70b9\u8d44\u6e90\u5df2\u5168\u90e8\u88ab\u5360\u7528\u3002

                            3. \u521b\u5efa\u4e2d\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d med-priority-job \u548c\u4f4e\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d low-priority-job\u3002

                              med-priority-job
                              cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-medium  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: med-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n
                              low-priority-job
                              cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-low  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: low-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                              \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod \u8fd0\u884c\u4fe1\u606f\uff0c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\uff0cPod \u5904\u4e8e Pending \u72b6\u6001\uff1a

                              kubectl get pods\n
                              NAME                     READY   STATUS    RESTARTS   AGE  \npriority-high-test-0     1/1     Running   0          3m29s  \npriority-high-test-1     1/1     Running   0          3m29s  \npriority-high-test-2     1/1     Running   0          3m29s  \npriority-high-test-3     1/1     Running   0          3m29s  \npriority-low-test-0      0/1     Pending   0          2m26s  \npriority-low-test-1      0/1     Pending   0          2m26s  \npriority-low-test-2      0/1     Pending   0          2m26s  \npriority-low-test-3      0/1     Pending   0          2m26s  \npriority-medium-test-0   0/1     Pending   0          2m36s  \npriority-medium-test-1   0/1     Pending   0          2m36s  \npriority-medium-test-2   0/1     Pending   0          2m36s  \npriority-medium-test-3   0/1     Pending   0          2m36s\n

                            4. \u5220\u9664 high_priority_job \u5de5\u4f5c\u8d1f\u8f7d\uff0c\u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0cmed_priority_job \u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002 \u6267\u884c kubectl delete -f high_priority_job.yaml \u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0c\u67e5\u770b Pod \u7684\u8c03\u5ea6\u4fe1\u606f\uff1a

                              kubectl get pods\n
                              NAME                     READY   STATUS    RESTARTS   AGE  \npriority-low-test-0      0/1     Pending   0          5m18s  \npriority-low-test-1      0/1     Pending   0          5m18s  \npriority-low-test-2      0/1     Pending   0          5m18s  \npriority-low-test-3      0/1     Pending   0          5m18s  \npriority-medium-test-0   1/1     Running   0          5m28s  \npriority-medium-test-1   1/1     Running   0          5m28s  \npriority-medium-test-2   1/1     Running   0          5m28s  \npriority-medium-test-3   1/1     Running   0          5m28s\n

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_user_guide.html","title":"\u5b89\u88c5 Volcano","text":"

                            \u968f\u7740 Kubernetes\uff08K8s\uff09\u6210\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u7f16\u6392\u4e0e\u7ba1\u7406\u7684\u9996\u9009\u5e73\u53f0\uff0c\u4f17\u591a\u5e94\u7528\u6b63\u79ef\u6781\u5411 K8s \u8fc1\u79fb\u3002 \u5728\u4eba\u5de5\u667a\u80fd\u4e0e\u673a\u5668\u5b66\u4e60\u9886\u57df\uff0c\u7531\u4e8e\u8fd9\u4e9b\u4efb\u52a1\u901a\u5e38\u6d89\u53ca\u5927\u91cf\u8ba1\u7b97\uff0c\u5f00\u53d1\u8005\u503e\u5411\u4e8e\u5728 Kubernetes \u4e0a\u6784\u5efa AI \u5e73\u53f0\uff0c \u4ee5\u5145\u5206\u5229\u7528\u5176\u5728\u8d44\u6e90\u7ba1\u7406\u3001\u5e94\u7528\u7f16\u6392\u53ca\u8fd0\u7ef4\u76d1\u63a7\u65b9\u9762\u7684\u4f18\u52bf\u3002

                            \u7136\u800c\uff0cKubernetes \u7684\u9ed8\u8ba4\u8c03\u5ea6\u5668\u4e3b\u8981\u9488\u5bf9\u957f\u671f\u8fd0\u884c\u7684\u670d\u52a1\u8bbe\u8ba1\uff0c\u5bf9\u4e8e AI\u3001\u5927\u6570\u636e\u7b49\u9700\u8981\u6279\u91cf\u548c\u5f39\u6027\u8c03\u5ea6\u7684\u4efb\u52a1\u5b58\u5728\u8bf8\u591a\u4e0d\u8db3\u3002 \u4f8b\u5982\uff0c\u5728\u8d44\u6e90\u7ade\u4e89\u6fc0\u70c8\u7684\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u53ef\u80fd\u5bfc\u81f4\u8d44\u6e90\u5206\u914d\u4e0d\u5747\uff0c\u8fdb\u800c\u5f71\u54cd\u4efb\u52a1\u7684\u6b63\u5e38\u6267\u884c\u3002

                            \u4ee5 TensorFlow \u4f5c\u4e1a\u4e3a\u4f8b\uff0c\u5176\u5305\u542b PS\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\u548c Worker \u4e24\u79cd\u89d2\u8272\uff0c\u4e24\u8005\u9700\u534f\u540c\u5de5\u4f5c\u624d\u80fd\u5b8c\u6210\u4efb\u52a1\u3002 \u82e5\u4ec5\u90e8\u7f72\u5355\u4e00\u89d2\u8272\uff0c\u4f5c\u4e1a\u5c06\u65e0\u6cd5\u8fd0\u884c\u3002\u800c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u5bf9 Pod \u7684\u8c03\u5ea6\u662f\u9010\u4e2a\u8fdb\u884c\u7684\uff0c\u65e0\u6cd5\u611f\u77e5 TFJob \u4e2d PS \u548c Worker \u7684\u4f9d\u8d56\u5173\u7cfb\u3002 \u5728\u9ad8\u8d1f\u8f7d\u60c5\u51b5\u4e0b\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u591a\u4e2a\u4f5c\u4e1a\u5404\u81ea\u5206\u914d\u5230\u90e8\u5206\u8d44\u6e90\uff0c\u4f46\u5747\u65e0\u6cd5\u5b8c\u6210\uff0c\u4ece\u800c\u9020\u6210\u8d44\u6e90\u6d6a\u8d39\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_user_guide.html#volcano_1","title":"Volcano \u7684\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf","text":"

                            Volcano \u63d0\u4f9b\u4e86\u591a\u79cd\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u5e94\u5bf9\u4e0a\u8ff0\u6311\u6218\u3002\u5176\u4e2d\uff0cGang-scheduling \u7b56\u7565\u80fd\u786e\u4fdd\u5206\u5e03\u5f0f\u673a\u5668\u5b66\u4e60\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u591a\u4e2a\u4efb\u52a1\uff08Pod\uff09\u540c\u65f6\u542f\u52a8\uff0c \u907f\u514d\u6b7b\u9501\uff1bPreemption scheduling \u7b56\u7565\u5219\u5141\u8bb8\u9ad8\u4f18\u5148\u7ea7\u4f5c\u4e1a\u5728\u8d44\u6e90\u4e0d\u8db3\u65f6\u62a2\u5360\u4f4e\u4f18\u5148\u7ea7\u4f5c\u4e1a\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u5173\u952e\u4efb\u52a1\u4f18\u5148\u5b8c\u6210\u3002

                            \u6b64\u5916\uff0cVolcano \u4e0e Spark\u3001TensorFlow\u3001PyTorch \u7b49\u4e3b\u6d41\u8ba1\u7b97\u6846\u67b6\u65e0\u7f1d\u5bf9\u63a5\uff0c\u5e76\u652f\u6301 CPU \u548c GPU \u7b49\u5f02\u6784\u8bbe\u5907\u7684\u6df7\u5408\u8c03\u5ea6\uff0c\u4e3a AI \u8ba1\u7b97\u4efb\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u7684\u4f18\u5316\u652f\u6301\u3002

                            \u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u548c\u4f7f\u7528 Volcano\uff0c\u4ee5\u4fbf\u60a8\u80fd\u591f\u5145\u5206\u5229\u7528\u5176\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf\uff0c\u4f18\u5316 AI \u8ba1\u7b97\u4efb\u52a1\u3002

                            "},{"location":"kpanda/user-guide/gpu/volcano/volcano_user_guide.html#volcano_2","title":"\u5b89\u88c5 Volcano","text":"
                            1. \u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 -> Helm \u6a21\u677f \u4e2d\u627e\u5230 Volcano \u5e76\u5b89\u88c5\u3002

                            2. \u68c0\u67e5\u5e76\u786e\u8ba4 Volcano \u662f\u5426\u5b89\u88c5\u5b8c\u6210\uff0c\u5373 volcano-admission\u3001volcano-controllers\u3001volcano-scheduler \u7ec4\u4ef6\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                            \u901a\u5e38 Volcano \u4f1a\u548c AI Lab \u5e73\u53f0\u914d\u5408\u4f7f\u7528\uff0c\u4ee5\u5b9e\u73b0\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u7684\u6709\u6548\u95ed\u73af\u3002

                            "},{"location":"kpanda/user-guide/helm/index.html","title":"Helm \u6a21\u677f","text":"

                            Helm \u662f Kubernetes \u7684\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u65b9\u4fbf\u7528\u6237\u5feb\u901f\u53d1\u73b0\u3001\u5171\u4eab\u548c\u4f7f\u7528 Kubernetes \u6784\u5efa\u7684\u5e94\u7528\u3002\u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u4e86\u4e0a\u767e\u4e2a Helm \u6a21\u677f\uff0c\u6db5\u76d6\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u76d1\u63a7\u3001\u6570\u636e\u5e93\u7b49\u4e3b\u8981\u573a\u666f\u3002\u501f\u52a9\u8fd9\u4e9b\u6a21\u677f\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u5feb\u901f\u90e8\u7f72\u3001\u4fbf\u6377\u7ba1\u7406 Helm \u5e94\u7528\u3002\u6b64\u5916\uff0c\u652f\u6301\u901a\u8fc7\u6dfb\u52a0 Helm \u4ed3\u5e93 \u6dfb\u52a0\u66f4\u591a\u7684\u4e2a\u6027\u5316\u6a21\u677f\uff0c\u6ee1\u8db3\u591a\u6837\u9700\u6c42\u3002

                            \u5173\u952e\u6982\u5ff5\uff1a

                            \u4f7f\u7528 Helm \u65f6\u9700\u8981\u4e86\u89e3\u4ee5\u4e0b\u51e0\u4e2a\u5173\u952e\u6982\u5ff5\uff1a

                            • Chart\uff1a\u4e00\u4e2a Helm \u5b89\u88c5\u5305\uff0c\u5176\u4e2d\u5305\u542b\u4e86\u8fd0\u884c\u4e00\u4e2a\u5e94\u7528\u6240\u9700\u8981\u7684\u955c\u50cf\u3001\u4f9d\u8d56\u548c\u8d44\u6e90\u5b9a\u4e49\u7b49\uff0c\u8fd8\u53ef\u80fd\u5305\u542b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u670d\u52a1\u5b9a\u4e49\uff0c\u7c7b\u4f3c Homebrew \u4e2d\u7684 formula\u3001APT \u7684 dpkg \u6216\u8005 Yum \u7684 rpm \u6587\u4ef6\u3002Chart \u5728 DCE 5.0 \u4e2d\u79f0\u4e3a Helm \u6a21\u677f \u3002

                            • Release\uff1a\u5728 Kubernetes \u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u4e00\u4e2a Chart \u5b9e\u4f8b\u3002\u4e00\u4e2a Chart \u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u591a\u6b21\u5b89\u88c5\uff0c\u6bcf\u6b21\u5b89\u88c5\u90fd\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Release\u3002Release \u5728 DCE 5.0 \u4e2d\u79f0\u4e3a Helm \u5e94\u7528 \u3002

                            • Repository\uff1a\u7528\u4e8e\u53d1\u5e03\u548c\u5b58\u50a8 Chart \u7684\u5b58\u50a8\u5e93\u3002Repository \u5728 DCE 5.0 \u4e2d\u79f0\u4e3a Helm \u4ed3\u5e93\u3002

                            \u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u524d\u5f80 Helm \u5b98\u7f51\u67e5\u770b\u3002

                            \u76f8\u5173\u64cd\u4f5c\uff1a

                            • \u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u4ecb\u7ecd\u4e0a\u4f20 Helm \u6a21\u677f\u64cd\u4f5c\u3002
                            • \u7ba1\u7406 Helm \u5e94\u7528\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5378\u8f7d Helm \u5e94\u7528\uff0c\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002
                            • \u7ba1\u7406 Helm \u4ed3\u5e93\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664 Helm \u4ed3\u5e93\u7b49\u3002
                            "},{"location":"kpanda/user-guide/helm/Import-addon.html","title":"\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon","text":"

                            \u672c\u6587\u4ece\u79bb\u7ebf\u548c\u5728\u7ebf\u4e24\u79cd\u73af\u5883\u8bf4\u660e\u5982\u4f55\u5c06 Helm \u5e94\u7528\u5bfc\u5165\u5230\u7cfb\u7edf\u5185\u7f6e\u7684 Addon \u4e2d\u3002

                            "},{"location":"kpanda/user-guide/helm/Import-addon.html#_1","title":"\u79bb\u7ebf\u73af\u5883","text":"

                            \u79bb\u7ebf\u73af\u5883\u6307\u7684\u662f\u65e0\u6cd5\u8fde\u901a\u4e92\u8054\u7f51\u6216\u5c01\u95ed\u7684\u79c1\u6709\u7f51\u7edc\u73af\u5883\u3002

                            "},{"location":"kpanda/user-guide/helm/Import-addon.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5b58\u5728\u53ef\u4ee5\u8fd0\u884c\u7684\u00a0charts-syncer\u3002 \u82e5\u6ca1\u6709\uff0c\u53ef\u70b9\u51fb\u4e0b\u8f7d\u3002
                            • Helm Chart \u5df2\u7ecf\u5b8c\u6210\u9002\u914d charts-syncer\u3002 \u5373\u5728 Helm Chart \u5185\u6dfb\u52a0\u4e86 .relok8s-images.yaml \u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u9700\u8981\u5305\u542b Chart \u4e2d\u6240\u6709\u4f7f\u7528\u5230\u955c\u50cf\uff0c \u4e5f\u53ef\u4ee5\u5305\u542b Chart \u4e2d\u672a\u76f4\u63a5\u4f7f\u7528\u7684\u955c\u50cf\uff0c\u7c7b\u4f3c Operator \u4e2d\u4f7f\u7528\u7684\u955c\u50cf\u3002

                            Note

                            • \u5982\u4f55\u7f16\u5199 Chart \u53ef\u53c2\u8003\u00a0image-hints-file\u3002 \u8981\u6c42\u955c\u50cf\u7684\u00a0registry \u548c repository \u5fc5\u987b\u5206\u5f00\uff0c\u56e0\u4e3a load \u955c\u50cf\u65f6\u9700\u66ff\u6362\u6216\u4fee\u6539 registry/repository\u3002
                            • \u5b89\u88c5\u5668\u6240\u5728\u7684\u706b\u79cd\u96c6\u7fa4\u5df2\u5b89\u88c5 charts-syncer\u3002 \u82e5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u5b89\u88c5\u5668\u6240\u5728\u706b\u79cd\u96c6\u7fa4\uff0c\u53ef\u8df3\u8fc7\u4e0b\u8f7d\u76f4\u63a5\u9002\u914d\uff1b \u82e5\u672a\u5b89\u88c5\u00a0charts-syncer\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c \u53ef\u7acb\u5373\u4e0b\u8f7d\u3002
                            "},{"location":"kpanda/user-guide/helm/Import-addon.html#helm-chart","title":"\u540c\u6b65 Helm Chart","text":"
                            1. \u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u641c\u7d22 addon\uff0c\u83b7\u53d6\u5185\u7f6e\u4ed3\u5e93\u5730\u5740\u548c\u7528\u6237\u540d/\u5bc6\u7801\uff08\u7cfb\u7edf\u5185\u7f6e\u4ed3\u5e93\u9ed8\u8ba4\u7528\u6237\u540d/\u5bc6\u7801\u4e3a rootuser/rootpass123\uff09\u3002
                            1. \u540c\u6b65 Helm Chart \u5230\u5bb9\u5668\u7ba1\u7406\u5185\u7f6e\u4ed3\u5e93 Addon

                              • \u7f16\u5199\u5982\u4e0b\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u914d\u7f6e\u4fee\u6539\uff0c\u5e76\u4fdd\u5b58\u4e3a sync-dao-2048.yaml\u3002

                                source:  # helm charts \u6e90\u4fe1\u606f\n  repo:\n    kind: HARBOR # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 CHARTMUSEUM\n    url: https://release-ci.daocloud.io/chartrepo/community #  \u9700\u66f4\u6539\u4e3a chart repo url\n    #auth: # \u7528\u6237\u540d/\u5bc6\u7801,\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      #username: \"admin\"\n      #password: \"Harbor12345\"\ncharts:  # \u9700\u8981\u540c\u6b65\n  - name: dao-2048 # helm charts \u4fe1\u606f\uff0c\u82e5\u4e0d\u586b\u5199\u5219\u540c\u6b65\u6e90 helm repo \u5185\u6240\u6709 charts\n    versions:\n      - 1.4.1\ntarget:  # helm charts \u76ee\u6807\u4fe1\u606f\n  containerRegistry: 10.5.14.40 # \u955c\u50cf\u4ed3\u5e93 url\n  repo:\n    kind: CHARTMUSEUM # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 HARBOR\n    url: http://10.5.14.40:8081 #  \u9700\u66f4\u6539\u4e3a\u6b63\u786e chart repo url\uff0c\u53ef\u4ee5\u901a\u8fc7 helm repo add $HELM-REPO \u9a8c\u8bc1\u5730\u5740\u662f\u5426\u6b63\u786e\n    auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      username: \"rootuser\"\n      password: \"rootpass123\"\n  containers:\n    # kind: HARBOR # \u82e5\u955c\u50cf\u4ed3\u5e93\u4e3a HARBOR \u4e14\u5e0c\u671b charts-syncer \u81ea\u52a8\u521b\u5efa\u955c\u50cf Repository \u5219\u586b\u5199\u8be5\u5b57\u6bb5  \n    # auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199 \n      # username: \"admin\"\n      # password: \"Harbor12345\"\n\n# leverage .relok8s-images.yaml file inside the Charts to move the container images too\nrelocateContainerImages: true\n
                              • \u6267\u884c charts-syncer \u547d\u4ee4\u540c\u6b65 Chart \u53ca\u5176\u5305\u542b\u7684\u955c\u50cf

                                charts-syncer sync --config sync-dao-2048.yaml --insecure --auto-create-repository\n

                                \u9884\u671f\u8f93\u51fa\u4e3a\uff1a

                                I1222 15:01:47.119777    8743 sync.go:45] Using config file: \"examples/sync-dao-2048.yaml\"\nW1222 15:01:47.234238    8743 syncer.go:263] Ignoring skipDependencies option as dependency sync is not supported if container image relocation is true or syncing from/to intermediate directory\nI1222 15:01:47.234685    8743 sync.go:58] There is 1 chart out of sync!\nI1222 15:01:47.234706    8743 sync.go:66] Syncing \"dao-2048_1.4.1\" chart...\n.relok8s-images.yaml hints file found\nComputing relocation...\n\nRelocating dao-2048@1.4.1...\nPushing 10.5.14.40/daocloud/dao-2048:v1.4.1...\nDone\nDone moving /var/folders/vm/08vw0t3j68z9z_4lcqyhg8nm0000gn/T/charts-syncer869598676/dao-2048-1.4.1.tgz\n
                            2. \u5f85\u4e0a\u4e00\u6b65\u6267\u884c\u5b8c\u6210\u540e\uff0c\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u627e\u5230\u5bf9\u5e94 Addon\uff0c \u5728\u64cd\u4f5c\u680f\u70b9\u51fb\u540c\u6b65\u4ed3\u5e93\uff0c\u56de\u5230 Helm \u6a21\u677f\u5c31\u53ef\u4ee5\u770b\u5230\u4e0a\u4f20\u7684 Helm \u5e94\u7528

                            3. \u540e\u7eed\u53ef\u6b63\u5e38\u8fdb\u884c\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d

                            "},{"location":"kpanda/user-guide/helm/Import-addon.html#_3","title":"\u5728\u7ebf\u73af\u5883","text":"

                            \u5728\u7ebf\u73af\u5883\u7684 Helm Repo \u5730\u5740\u4e3a release.daocloud.io\u3002 \u5982\u679c\u7528\u6237\u65e0\u6743\u9650\u6dfb\u52a0 Helm Repo\uff0c\u5219\u65e0\u6cd5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon\u3002 \u60a8\u53ef\u4ee5\u6dfb\u52a0\u81ea\u5df1\u642d\u5efa\u7684 Helm \u4ed3\u5e93\uff0c\u7136\u540e\u6309\u7167\u79bb\u7ebf\u73af\u5883\u4e2d\u540c\u6b65 Helm Chart \u7684\u6b65\u9aa4\u5c06\u60a8\u7684 Helm \u4ed3\u5e93\u96c6\u6210\u5230\u5e73\u53f0\u4f7f\u7528\u3002

                            "},{"location":"kpanda/user-guide/helm/helm-app.html","title":"\u7ba1\u7406 Helm \u5e94\u7528","text":"

                            \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9 Helm \u8fdb\u884c\u754c\u9762\u5316\u7ba1\u7406\uff0c\u5305\u62ec\u4f7f\u7528 Helm \u6a21\u677f\u521b\u5efa Helm \u5b9e\u4f8b\u3001\u81ea\u5b9a\u4e49 Helm \u5b9e\u4f8b\u53c2\u6570\u3001\u5bf9 Helm \u5b9e\u4f8b\u8fdb\u884c\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                            \u672c\u8282\u5c06\u4ee5 cert-manager \u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u521b\u5efa\u5e76\u7ba1\u7406 Helm \u5e94\u7528\u3002

                            "},{"location":"kpanda/user-guide/helm/helm-app.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"kpanda/user-guide/helm/helm-app.html#helm_1","title":"\u5b89\u88c5 Helm \u5e94\u7528","text":"

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Helm \u5e94\u7528\u3002

                            1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u8fdb\u5165 Helm \u6a21\u677f\u9875\u9762\u3002

                              \u5728 Helm \u6a21\u677f\u9875\u9762\u9009\u62e9\u540d\u4e3a addon \u7684 Helm \u4ed3\u5e93\uff0c\u6b64\u65f6\u754c\u9762\u4e0a\u5c06\u5448\u73b0 addon \u4ed3\u5e93\u4e0b\u6240\u6709\u7684 Helm chart \u6a21\u677f\u3002 \u70b9\u51fb\u540d\u79f0\u4e3a cert-manager \u7684 Chart\u3002

                            3. \u5728\u5b89\u88c5\u9875\u9762\uff0c\u80fd\u591f\u770b\u5230 Chart \u7684\u76f8\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u5728\u754c\u9762\u53f3\u4e0a\u89d2\u9009\u62e9\u9700\u8981\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u6b64\u5904\u9009\u62e9 v1.9.1 \u7248\u672c\u8fdb\u884c\u5b89\u88c5\u3002

                            4. \u914d\u7f6e \u540d\u79f0 \u3001 \u547d\u540d\u7a7a\u95f4 \u53ca \u7248\u672c\u4fe1\u606f \uff0c\u4e5f\u53ef\u4ee5\u5728\u4e0b\u65b9\u7684 \u53c2\u6570\u914d\u7f6e \u533a\u57df\u901a\u8fc7\u4fee\u6539 YAML \u6765\u81ea\u5b9a\u4e49\u53c2\u6570\u3002\u70b9\u51fb \u786e\u5b9a \u3002

                            5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u65b0\u521b\u5efa\u7684 Helm \u5e94\u7528\u72b6\u6001\u4e3a \u5b89\u88c5\u4e2d \uff0c\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

                            "},{"location":"kpanda/user-guide/helm/helm-app.html#helm_2","title":"\u66f4\u65b0 Helm \u5e94\u7528","text":"

                            \u5f53\u6211\u4eec\u901a\u8fc7\u754c\u9762\u5b8c\u6210\u4e00\u4e2a Helm \u5e94\u7528\u7684\u5b89\u88c5\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u5bf9 Helm \u5e94\u7528\u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u3002\u6ce8\u610f\uff1a\u53ea\u6709\u901a\u8fc7\u754c\u9762\u5b89\u88c5\u7684 Helm \u5e94\u7528\u624d\u652f\u6301\u4f7f\u7528\u754c\u9762\u8fdb\u884c\u66f4\u65b0\u64cd\u4f5c\u3002

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u66f4\u65b0 Helm \u5e94\u7528\u3002

                            1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                              \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u9700\u8981\u66f4\u65b0\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u66f4\u65b0 \u64cd\u4f5c\u3002

                            3. \u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\u540e\uff0c\u7cfb\u7edf\u5c06\u8df3\u8f6c\u81f3\u66f4\u65b0\u754c\u9762\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u5bf9 Helm \u5e94\u7528\u8fdb\u884c\u66f4\u65b0\uff0c\u6b64\u5904\u6211\u4eec\u4ee5\u66f4\u65b0 dao-2048 \u8fd9\u4e2a\u5e94\u7528\u7684 http \u7aef\u53e3\u4e3a\u4f8b\u3002

                            4. \u4fee\u6539\u5b8c\u76f8\u5e94\u53c2\u6570\u540e\u3002\u60a8\u53ef\u4ee5\u5728\u53c2\u6570\u914d\u7f6e\u4e0b\u70b9\u51fb \u53d8\u5316 \u6309\u94ae\uff0c\u5bf9\u6bd4\u4fee\u6539\u524d\u540e\u7684\u6587\u4ef6\uff0c\u786e\u5b9a\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u5e95\u90e8 \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 Helm \u5e94\u7528\u7684\u66f4\u65b0\u3002

                            5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u53f3\u4e0a\u89d2\u5f39\u7a97\u63d0\u793a \u66f4\u65b0\u6210\u529f \u3002

                            "},{"location":"kpanda/user-guide/helm/helm-app.html#helm_3","title":"\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55","text":"

                            Helm \u5e94\u7528\u7684\u6bcf\u6b21\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664\u90fd\u6709\u8be6\u7ec6\u7684\u64cd\u4f5c\u8bb0\u5f55\u548c\u65e5\u5fd7\u53ef\u4f9b\u67e5\u770b\u3002

                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u6700\u8fd1\u64cd\u4f5c \uff0c\u7136\u540e\u5728\u9875\u9762\u4e0a\u65b9\u9009\u62e9 Helm \u64cd\u4f5c \u6807\u7b7e\u9875\u3002\u6bcf\u4e00\u6761\u8bb0\u5f55\u5bf9\u5e94\u4e00\u6b21\u5b89\u88c5/\u66f4\u65b0/\u5220\u9664\u64cd\u4f5c\u3002

                            2. \u5982\u9700\u67e5\u770b\u6bcf\u4e00\u6b21\u64cd\u4f5c\u7684\u8be6\u7ec6\u65e5\u5fd7\uff1a\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u65e5\u5fd7 \u3002

                            3. \u6b64\u65f6\u9875\u9762\u4e0b\u65b9\u5c06\u4ee5\u63a7\u5236\u53f0\u7684\u5f62\u5f0f\u5c55\u793a\u8be6\u7ec6\u7684\u8fd0\u884c\u65e5\u5fd7\u3002

                            "},{"location":"kpanda/user-guide/helm/helm-app.html#helm_4","title":"\u5220\u9664 Helm \u5e94\u7528","text":"

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5220\u9664 Helm \u5e94\u7528\u3002

                            1. \u627e\u5230\u5f85\u5220\u9664\u7684 Helm \u5e94\u7528\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                              \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u60a8\u9700\u8981\u5220\u9664\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                            3. \u5728\u5f39\u7a97\u5185\u8f93\u5165 Helm \u5e94\u7528\u7684\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u6309\u94ae\u3002

                            "},{"location":"kpanda/user-guide/helm/helm-repo.html","title":"\u7ba1\u7406 Helm \u4ed3\u5e93","text":"

                            Helm \u4ed3\u5e93\u662f\u7528\u6765\u5b58\u50a8\u548c\u53d1\u5e03 Chart \u7684\u5b58\u50a8\u5e93\u3002Helm \u5e94\u7528\u6a21\u5757\u652f\u6301\u901a\u8fc7 HTTP(s) \u534f\u8bae\u6765\u8bbf\u95ee\u5b58\u50a8\u5e93\u4e2d\u7684 Chart \u5305\u3002\u7cfb\u7edf\u9ed8\u8ba4\u5185\u7f6e\u4e86\u4e0b\u8868\u6240\u793a\u7684 4 \u4e2a Helm \u4ed3\u5e93\u4ee5\u6ee1\u8db3\u4f01\u4e1a\u751f\u4ea7\u8fc7\u7a0b\u4e2d\u7684\u5e38\u89c1\u9700\u6c42\u3002

                            \u4ed3\u5e93 \u63cf\u8ff0 \u793a\u4f8b partner \u7531\u751f\u6001\u5408\u4f5c\u4f19\u4f34\u6240\u63d0\u4f9b\u7684\u5404\u7c7b\u4f18\u8d28\u7279\u8272 Chart tidb system \u7cfb\u7edf\u6838\u5fc3\u529f\u80fd\u7ec4\u4ef6\u53ca\u90e8\u5206\u9ad8\u7ea7\u529f\u80fd\u6240\u5fc5\u9700\u4f9d\u8d56\u7684 Chart\uff0c\u5982\u5fc5\u9700\u5b89\u88c5 insight-agent \u624d\u80fd\u591f\u83b7\u53d6\u96c6\u7fa4\u7684\u76d1\u63a7\u4fe1\u606f Insight addon \u4e1a\u52a1\u573a\u666f\u4e2d\u5e38\u89c1\u7684 Chart cert-manager community Kubernetes \u793e\u533a\u8f83\u4e3a\u70ed\u95e8\u7684\u5f00\u6e90\u7ec4\u4ef6 Chart Istio

                            \u9664\u4e0a\u8ff0\u9884\u7f6e\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u81ea\u884c\u6dfb\u52a0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6dfb\u52a0\u3001\u66f4\u65b0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                            "},{"location":"kpanda/user-guide/helm/helm-repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5982\u679c\u4f7f\u7528\u79c1\u6709\u4ed3\u5e93\uff0c\u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u62e5\u6709\u5bf9\u8be5\u79c1\u6709\u4ed3\u5e93\u7684\u8bfb\u5199\u6743\u9650\u3002

                            "},{"location":"kpanda/user-guide/helm/helm-repo.html#helm_1","title":"\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93","text":"

                            \u4e0b\u9762\u4ee5 Kubevela \u516c\u5f00\u7684\u955c\u50cf\u4ed3\u5e93\u4e3a\u4f8b\uff0c\u5f15\u5165 Helm \u4ed3\u5e93\u5e76\u7ba1\u7406\u3002

                            1. \u627e\u5230\u9700\u8981\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u9875\u9762\u3002

                            3. \u5728 Helm \u4ed3\u5e93\u9875\u9762\u70b9\u51fb \u521b\u5efa\u4ed3\u5e93 \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u4ed3\u5e93\u9875\u9762\uff0c\u6309\u7167\u4e0b\u8868\u914d\u7f6e\u76f8\u5173\u53c2\u6570\u3002

                              • \u4ed3\u5e93\u540d\u79f0\uff1a\u8bbe\u7f6e\u4ed3\u5e93\u540d\u79f0\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26 - \uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u5e76\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubevela
                              • \u4ed3\u5e93\u5730\u5740\uff1a\u7528\u6765\u6307\u5411\u76ee\u6807 Helm \u4ed3\u5e93\u7684 http\uff08s\uff09\u5730\u5740\u3002\u4f8b\u5982 https://charts.kubevela.net/core
                              • \u8df3\u8fc7 TLS \u9a8c\u8bc1: \u5982\u679c\u6dfb\u52a0\u7684 Helm \u4ed3\u5e93\u4e3a https \u5730\u5740\u4e14\u9700\u8df3\u8fc7 TLS \u9a8c\u8bc1\uff0c\u53ef\u4ee5\u52fe\u9009\u6b64\u9009\u9879\uff0c\u9ed8\u8ba4\u4e3a\u4e0d\u52fe\u9009
                              • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u8fde\u63a5\u4ed3\u5e93\u5730\u5740\u540e\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c\u7684\u65b9\u5f0f\u3002\u5bf9\u4e8e\u516c\u5f00\u4ed3\u5e93\uff0c\u53ef\u4ee5\u9009\u62e9 None \uff0c\u79c1\u6709\u7684\u4ed3\u5e93\u9700\u8981\u8f93\u5165\u7528\u6237\u540d/\u5bc6\u7801\u4ee5\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c
                              • \u6807\u7b7e\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6807\u7b7e\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                              • \u6ce8\u89e3\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6ce8\u89e3\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                              • \u63cf\u8ff0\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u63cf\u8ff0\u3002\u4f8b\u5982\uff1a\u8fd9\u662f\u4e00\u4e2a Kubevela \u516c\u5f00 Helm \u4ed3\u5e93

                            4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 Helm \u4ed3\u5e93\u7684\u521b\u5efa\u3002\u9875\u9762\u4f1a\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u4ed3\u5e93\u5217\u8868\u3002

                            "},{"location":"kpanda/user-guide/helm/helm-repo.html#helm_2","title":"\u66f4\u65b0 Helm \u4ed3\u5e93","text":"

                            \u5f53 Helm \u4ed3\u5e93\u7684\u5730\u5740\u4fe1\u606f\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u66f4\u65b0 Helm \u4ed3\u5e93\u7684\u5730\u5740\u3001\u8ba4\u8bc1\u65b9\u5f0f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u53ca\u63cf\u8ff0\u4fe1\u606f\u3002

                            1. \u627e\u5230\u5f85\u66f4\u65b0\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                            3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u66f4\u65b0 \u3002

                            4. \u5728 \u7f16\u8f91 Helm \u4ed3\u5e93 \u9875\u9762\u8fdb\u884c\u66f4\u65b0\uff0c\u5b8c\u6210\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u66f4\u65b0\u6210\u529f\u3002

                            "},{"location":"kpanda/user-guide/helm/helm-repo.html#helm_3","title":"\u5220\u9664 Helm \u4ed3\u5e93","text":"

                            \u9664\u4e86\u5f15\u5165\u3001\u66f4\u65b0\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5c06\u4e0d\u9700\u8981\u7684\u4ed3\u5e93\u5220\u9664\uff0c\u5305\u62ec\u7cfb\u7edf\u9884\u7f6e\u4ed3\u5e93\u548c\u7b2c\u4e09\u65b9\u4ed3\u5e93\u3002

                            1. \u627e\u5230\u5f85\u5220\u9664\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                            3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u5220\u9664 \u3002

                            4. \u8f93\u5165\u4ed3\u5e93\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u70b9\u51fb \u5220\u9664 \u3002

                            5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

                            "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html","title":"Helm \u5e94\u7528\u591a\u67b6\u6784\u548c\u5347\u7ea7\u5bfc\u5165\u6b65\u9aa4","text":"

                            \u901a\u5e38\u5728\u591a\u67b6\u6784\u96c6\u7fa4\u4e2d\uff0c\u4e5f\u4f1a\u4f7f\u7528\u591a\u67b6\u6784\u7684 Helm \u5305\u6765\u90e8\u7f72\u5e94\u7528\uff0c\u4ee5\u89e3\u51b3\u67b6\u6784\u5dee\u5f02\u5e26\u6765\u7684\u90e8\u7f72\u95ee\u9898\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u5355\u67b6\u6784 Helm \u5e94\u7528\u878d\u5408\u4e3a\u591a\u67b6\u6784\uff0c\u4ee5\u53ca\u591a\u67b6\u6784\u4e0e\u591a\u67b6\u6784 Helm \u5e94\u7528\u7684\u76f8\u4e92\u878d\u5408\u3002

                            "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_1","title":"\u5bfc\u5165","text":""},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_2","title":"\u5355\u67b6\u6784\u5bfc\u5165","text":"

                            \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \uff0c\u53ef\u4ece \u4e0b\u8f7d\u4e2d\u5fc3\u4e0b\u8f7d\u3002 \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                            addonPackage:\n  path: \"/home/addon-offline-full-package-v0.9.0-amd64.tar.gz\"\n

                            \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                            ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                            "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_3","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                            \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \uff0c\u53ef\u4ece \u4e0b\u8f7d\u4e2d\u5fc3\u4e0b\u8f7d\u3002

                            \u4ee5 addon-offline-full-package-v0.9.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                            ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.9.0-arm64.tar.gz\n
                            "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_4","title":"\u5347\u7ea7","text":""},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_5","title":"\u5355\u67b6\u6784\u5347\u7ea7","text":"

                            \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \uff0c\u53ef\u4ece\u4e0b\u8f7d\u4e2d\u5fc3\u4e0b\u8f7d\u3002

                            \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                            addonPackage:\n  path: \"/home/addon-offline-full-package-v0.11.0-amd64.tar.gz\"\n

                            \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                            ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                            "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_6","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                            \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \uff0c\u53ef\u4ece\u4e0b\u8f7d\u4e2d\u5fc3\u4e0b\u8f7d\u3002

                            \u4ee5 addon-offline-full-package-v0.11.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                            ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.11.0-arm64.tar.gz\n
                            "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_7","title":"\u6ce8\u610f\u4e8b\u9879","text":""},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_8","title":"\u78c1\u76d8\u7a7a\u95f4","text":"

                            \u79bb\u7ebf\u5305\u6bd4\u8f83\u5927\uff0c\u4e14\u8fc7\u7a0b\u4e2d\u9700\u8981\u89e3\u538b\u548c load \u955c\u50cf\uff0c\u9700\u8981\u9884\u7559\u5145\u8db3\u7684\u7a7a\u95f4\uff0c\u5426\u5219\u53ef\u80fd\u5728\u8fc7\u7a0b\u4e2d\u62a5 \u201cno space left\u201d \u800c\u4e2d\u65ad\u3002

                            "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_9","title":"\u5931\u8d25\u540e\u91cd\u8bd5","text":"

                            \u5982\u679c\u5728\u591a\u67b6\u6784\u878d\u5408\u6b65\u9aa4\u6267\u884c\u5931\u8d25\uff0c\u91cd\u8bd5\u524d\u9700\u8981\u6e05\u7406\u4e00\u4e0b\u6b8b\u7559\uff1a

                            rm -rf addon-offline-target-package\n
                            "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_10","title":"\u955c\u50cf\u7a7a\u95f4","text":"

                            \u5982\u679c\u878d\u5408\u7684\u79bb\u7ebf\u5305\u4e2d\u5305\u542b\u4e86\u4e0e\u5bfc\u5165\u7684\u79bb\u7ebf\u5305\u4e0d\u4e00\u81f4\u7684\u955c\u50cf\u7a7a\u95f4\uff0c\u53ef\u80fd\u4f1a\u5728\u878d\u5408\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u955c\u50cf\u7a7a\u95f4\u4e0d\u5b58\u5728\u800c\u62a5\u9519\uff1a

                            \u89e3\u51b3\u529e\u6cd5\uff1a\u53ea\u9700\u8981\u5728\u878d\u5408\u4e4b\u524d\u521b\u5efa\u597d\u8be5\u955c\u50cf\u7a7a\u95f4\u5373\u53ef\uff0c\u4f8b\u5982\u4e0a\u56fe\u62a5\u9519\u53ef\u901a\u8fc7\u521b\u5efa\u955c\u50cf\u7a7a\u95f4 localhost \u63d0\u524d\u907f\u514d\u3002

                            "},{"location":"kpanda/user-guide/helm/multi-archi-helm.html#_11","title":"\u67b6\u6784\u51b2\u7a81","text":"

                            \u5347\u7ea7\u81f3\u4f4e\u4e8e 0.12.0 \u7248\u672c\u7684 addon \u65f6\uff0c\u7531\u4e8e\u76ee\u6807\u79bb\u7ebf\u5305\u91cc\u7684 charts-syncer \u6ca1\u6709\u68c0\u67e5\u955c\u50cf\u5b58\u5728\u5219\u4e0d\u63a8\u9001\u529f\u80fd\uff0c\u56e0\u6b64\u4f1a\u5728\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\u4f1a\u91cd\u65b0\u628a\u591a\u67b6\u6784\u51b2\u6210\u5355\u67b6\u6784\u3002 \u4f8b\u5982\uff1a\u5728 v0.10 \u7248\u672c\u5c06 addon \u5b9e\u73b0\u4e3a\u591a\u67b6\u6784\uff0c\u6b64\u65f6\u82e5\u5347\u7ea7\u4e3a v0.11 \u7248\u672c\uff0c\u5219\u591a\u67b6\u6784 addon \u4f1a\u88ab\u8986\u76d6\u4e3a\u5355\u67b6\u6784\uff1b\u82e5\u5347\u7ea7\u4e3a 0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u5219\u4ecd\u80fd\u591f\u4fdd\u6301\u591a\u67b6\u6784\u3002

                            "},{"location":"kpanda/user-guide/helm/upload-helm.html","title":"\u4e0a\u4f20 Helm \u6a21\u677f","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u64cd\u4f5c\u6b65\u9aa4\u89c1\u4e0b\u6587\u3002

                            1. \u5f15\u5165 Helm \u4ed3\u5e93\uff0c\u64cd\u4f5c\u6b65\u9aa4\u53c2\u8003\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                            2. \u4e0a\u4f20 Helm Chart \u5230 Helm \u4ed3\u5e93\u3002

                              \u5ba2\u6237\u7aef\u4e0a\u4f20\u9875\u9762\u4e0a\u4f20

                              Note

                              \u6b64\u65b9\u5f0f\u9002\u7528\u4e8e Harbor\u3001ChartMuseum\u3001JFrog \u7c7b\u578b\u4ed3\u5e93\u3002

                              1. \u767b\u5f55\u4e00\u4e2a\u53ef\u4ee5\u8bbf\u95ee\u5230 Helm \u4ed3\u5e93\u7684\u8282\u70b9\uff0c\u5c06 Helm \u4e8c\u8fdb\u5236\u6587\u4ef6\u4e0a\u4f20\u5230\u8282\u70b9\uff0c\u5e76\u5b89\u88c5 cm-push \u63d2\u4ef6\uff08\u9700\u8981\u8fde\u901a\u5916\u7f51\u5e76\u63d0\u524d\u5b89\u88c5 Git\uff09\u3002

                                \u5b89\u88c5\u63d2\u4ef6\u6d41\u7a0b\u53c2\u8003\u5b89\u88c5 cm-push \u63d2\u4ef6\u3002

                              2. \u63a8\u9001 Helm Chart \u5230 Helm \u4ed3\u5e93\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1b

                                helm cm-push ${charts-dir} ${HELM_REPO_URL} --username ${username} --password ${password}\n

                                \u5b57\u6bb5\u8bf4\u660e\uff1a

                                • charts-dir\uff1aHelm Chart \u7684\u76ee\u5f55\uff0c\u6216\u8005\u662f\u6253\u5305\u597d\u7684 Chart\uff08\u5373 .tgz \u6587\u4ef6\uff09\u3002
                                • HELM_REPO_URL\uff1aHelm \u4ed3\u5e93\u7684 URL\u3002
                                • username/password\uff1a\u6709\u63a8\u9001\u6743\u9650\u7684 Helm \u4ed3\u5e93\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                                • \u5982\u679c\u91c7\u7528 https \u8bbf\u95ee\u4e14\u9700\u8981\u8df3\u8fc7\u8bc1\u4e66\u9a8c\u8bc1\uff0c\u53ef\u6dfb\u52a0\u53c2\u6570 --insecure

                              Note

                              \u6b64\u65b9\u5f0f\u4ec5\u9002\u7528\u4e8e Harbor \u7c7b\u578b\u4ed3\u5e93\u3002

                              1. \u767b\u5f55\u7f51\u9875 Harbor \u4ed3\u5e93\uff0c\u8bf7\u786e\u4fdd\u767b\u5f55\u7528\u6237\u6709\u63a8\u9001\u6743\u9650\uff1b

                              2. \u8fdb\u5165\u5230\u5bf9\u5e94\u9879\u76ee\uff0c\u9009\u62e9 Helm Charts \u9875\u7b7e\uff0c\u70b9\u51fb\u9875\u9762 \u4e0a\u4f20 \u6309\u94ae\uff0c\u5b8c\u6210 Helm Chart \u4e0a\u4f20\u3002

                            3. \u540c\u6b65\u8fdc\u7aef\u4ed3\u5e93\u6570\u636e

                              \u624b\u52a8\u540c\u6b65\u81ea\u52a8\u540c\u6b65

                              \u9ed8\u8ba4\u96c6\u7fa4\u672a\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0 \uff0c\u9700\u8981\u6267\u884c\u624b\u52a8\u540c\u6b65\u64cd\u4f5c\uff0c\u5927\u81f4\u6b65\u9aa4\u4e3a\uff1a

                              \u8fdb\u5165 Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u70b9\u51fb\u4ed3\u5e93\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u6309\u94ae\uff0c\u9009\u62e9 \u540c\u6b65\u4ed3\u5e93 \uff0c\u5b8c\u6210\u4ed3\u5e93\u6570\u636e\u540c\u6b65\u3002

                              \u5982\u9700\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u540c\u6b65\u529f\u80fd\uff0c\u53ef\u8fdb\u5165 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \uff0c\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0\u5f00\u5173\u3002

                            "},{"location":"kpanda/user-guide/inspect/index.html","title":"\u96c6\u7fa4\u5de1\u68c0","text":"

                            \u96c6\u7fa4\u5de1\u68c0\u53ef\u4ee5\u901a\u8fc7\u81ea\u52a8\u6216\u624b\u52a8\u65b9\u5f0f\uff0c\u5b9a\u671f\u6216\u968f\u65f6\u68c0\u67e5\u96c6\u7fa4\u7684\u6574\u4f53\u5065\u5eb7\u72b6\u6001\uff0c\u8ba9\u7ba1\u7406\u5458\u83b7\u5f97\u4fdd\u969c\u96c6\u7fa4\u5b89\u5168\u7684\u4e3b\u52a8\u6743\u3002 \u57fa\u4e8e\u5408\u7406\u7684\u5de1\u68c0\u8ba1\u5212\uff0c\u8fd9\u79cd\u4e3b\u52a8\u81ea\u53d1\u7684\u96c6\u7fa4\u68c0\u67e5\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458\u968f\u65f6\u638c\u63e1\u96c6\u7fa4\u72b6\u6001\uff0c\u6446\u8131\u4e4b\u524d\u51fa\u73b0\u6545\u969c\u65f6\u53ea\u80fd\u88ab\u52a8\u6392\u67e5\u95ee\u9898\u7684\u56f0\u5883\uff0c\u505a\u5230\u4e8b\u5148\u76d1\u63a7\u3001\u63d0\u524d\u9632\u8303\u3002

                            DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u7684\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u4e09\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u81ea\u5b9a\u4e49\u5de1\u68c0\u9879\uff0c\u5de1\u68c0\u7ed3\u675f\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u53ef\u89c6\u5316\u7684\u5de1\u68c0\u62a5\u544a\u3002

                            • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                            • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                            • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                            \u5982\u9700\u4e86\u89e3\u6216\u6267\u884c\u5b89\u5168\u65b9\u9762\u7684\u5de1\u68c0\uff0c\u53ef\u53c2\u8003 DCE 5.0 \u652f\u6301\u7684\u5b89\u5168\u626b\u63cf\u7c7b\u578b\u3002

                            "},{"location":"kpanda/user-guide/inspect/config.html","title":"\u521b\u5efa\u5de1\u68c0\u914d\u7f6e","text":"

                            DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u8fdb\u884c\u5de1\u68c0\u3002

                            • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                            • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                            • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                            \u4e0b\u9762\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de1\u68c0\u914d\u7f6e\u3002

                            "},{"location":"kpanda/user-guide/inspect/config.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                            • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                            "},{"location":"kpanda/user-guide/inspect/config.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \u3002

                            2. \u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u3002

                            3. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199\u5de1\u68c0\u914d\u7f6e\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                              • \u96c6\u7fa4\uff1a\u4e0b\u62c9\u9009\u62e9\u8981\u5bf9\u54ea\u4e9b\u96c6\u7fa4\u8fdb\u884c\u5de1\u68c0\u3002\u5982\u679c\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\uff0c\u5219\u81ea\u52a8\u751f\u6210\u591a\u4e2a\u5de1\u68c0\u914d\u7f6e\uff08\u4ec5\u5de1\u68c0\u7684\u96c6\u7fa4\u4e0d\u4e00\u81f4\uff0c\u5176\u4ed6\u914d\u7f6e\u90fd\u5b8c\u5168\u4e00\u81f4\uff09
                              • \u5b9a\u65f6\u5de1\u68c0\uff1a\u542f\u7528\u540e\u53ef\u6839\u636e\u4e8b\u5148\u8bbe\u7f6e\u7684\u5de1\u68c0\u9891\u7387\u5b9a\u671f\u81ea\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0
                              • \u5de1\u68c0\u9891\u7387\uff1a\u8bbe\u7f6e\u81ea\u52a8\u5de1\u68c0\u7684\u5468\u671f\uff0c\u4f8b\u5982\u6bcf\u5468\u4e8c\u4e0a\u5348\u5341\u70b9\u3002\u652f\u6301\u81ea\u5b9a\u4e49 CronExpression\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5
                              • \u5de1\u68c0\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\uff1a\u7d2f\u8ba1\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5de1\u68c0\u8bb0\u5f55\uff0c\u5305\u62ec\u6240\u6709\u96c6\u7fa4\u7684\u5de1\u68c0\u8bb0\u5f55
                              • \u53c2\u6570\u914d\u7f6e\uff1a\u53c2\u6570\u914d\u7f6e\u5206\u4e3a\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u4e09\u90e8\u5206\uff0c\u53ef\u4ee5\u6839\u636e\u573a\u666f\u9700\u6c42\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u5de1\u68c0\u9879\u3002

                            \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4f1a\u81ea\u52a8\u663e\u793a\u5728\u5de1\u68c0\u914d\u7f6e\u5217\u8868\u4e2d\u3002\u5728\u914d\u7f6e\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u7acb\u5373\u6267\u884c\u5de1\u68c0\u3001\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3001\u5220\u9664\u5de1\u68c0\u914d\u7f6e\u548c\u5de1\u68c0\u8bb0\u5f55\u3002

                            • \u70b9\u51fb \u5de1\u68c0 \u53ef\u4ee5\u6839\u636e\u8be5\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u5de1\u68c0\u3002
                            • \u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u53ef\u4ee5\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3002
                            • \u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u5de1\u68c0\u914d\u7f6e\u548c\u5386\u53f2\u7684\u5de1\u68c0\u8bb0\u5f55

                            Note

                            • \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002
                            • \u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002
                            "},{"location":"kpanda/user-guide/inspect/inspect.html","title":"\u6267\u884c\u96c6\u7fa4\u5de1\u68c0","text":"

                            \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002\u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002

                            \u6b64\u9875\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0\u3002

                            "},{"location":"kpanda/user-guide/inspect/inspect.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                            • \u5df2\u521b\u5efa\u5de1\u68c0\u914d\u7f6e
                            • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                            "},{"location":"kpanda/user-guide/inspect/inspect.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u6267\u884c\u5de1\u68c0\u65f6\uff0c\u652f\u6301\u52fe\u9009\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u6279\u91cf\u5de1\u68c0\uff0c\u6216\u8005\u4ec5\u5bf9\u67d0\u4e00\u4e2a\u96c6\u7fa4\u8fdb\u884c\u5355\u72ec\u5de1\u68c0\u3002

                            \u6279\u91cf\u5de1\u68c0\u5355\u72ec\u5de1\u68c0
                            1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u4e00\u7ea7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0 \u3002

                            2. \u52fe\u9009\u9700\u8981\u5de1\u68c0\u7684\u96c6\u7fa4\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                              • \u82e5\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u540c\u65f6\u5de1\u68c0\uff0c\u7cfb\u7edf\u5c06\u6839\u636e\u4e0d\u540c\u96c6\u7fa4\u7684\u5de1\u68c0\u914d\u7f6e\u8fdb\u884c\u5de1\u68c0\u3002
                              • \u5982\u672a\u8bbe\u7f6e\u96c6\u7fa4\u5de1\u68c0\u914d\u7f6e\uff0c\u5c06\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u914d\u7f6e\u3002

                            1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\u3002
                            2. \u5728\u5bf9\u5e94\u5de1\u68c0\u914d\u7f6e\u7684\u53f3\u4fa7\u70b9\u51fb \u2507 \u66f4\u591a\u64cd\u4f5c\u6309\u94ae\uff0c\u7136\u540e\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\u9009\u62e9 \u5de1\u68c0 \u5373\u53ef\u3002

                            "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html","title":"\u79bb\u7ebf\u5347\u7ea7\u96c6\u7fa4\u5de1\u68c0\u6a21\u5757","text":"

                            \u672c\u9875\u8bf4\u660e\u4e0b\u8f7d\u96c6\u7fa4\u5de1\u68c0\u6a21\u5757\u540e\uff0c\u5e94\u8be5\u5982\u4f55\u5b89\u88c5\u6216\u5347\u7ea7\u3002

                            Info

                            \u4e0b\u8ff0\u547d\u4ee4\u6216\u811a\u672c\u5185\u51fa\u73b0\u7684 kcollie \u5b57\u6837\u662f\u96c6\u7fa4\u5de1\u68c0\u6a21\u5757\u7684\u5185\u90e8\u5f00\u53d1\u4ee3\u53f7\u3002

                            "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html#_2","title":"\u4ece\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u52a0\u8f7d\u955c\u50cf","text":"

                            \u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u9762\u4e24\u79cd\u65b9\u5f0f\u4e4b\u4e00\u52a0\u8f7d\u955c\u50cf\uff0c\u5f53\u73af\u5883\u4e2d\u5b58\u5728\u955c\u50cf\u4ed3\u5e93\u65f6\uff0c\u5efa\u8bae\u9009\u62e9 chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93\uff0c\u8be5\u65b9\u6cd5\u66f4\u52a0\u9ad8\u6548\u4fbf\u6377\u3002

                            "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html#chart-syncer","title":"\u65b9\u5f0f\u4e00\uff1a\u4f7f\u7528 chart-syncer \u540c\u6b65\u955c\u50cf","text":"

                            \u4f7f\u7528 chart-syncer \u53ef\u4ee5\u5c06\u60a8\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u7684 chart \u53ca\u5176\u4f9d\u8d56\u7684\u955c\u50cf\u5305\u4e0a\u4f20\u81f3\u5b89\u88c5\u5668\u90e8\u7f72 DCE \u65f6\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u3002

                            \u9996\u5148\u627e\u5230\u4e00\u53f0\u80fd\u591f\u8fde\u63a5\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7684\u8282\u70b9\uff08\u5982\u706b\u79cd\u8282\u70b9\uff09\uff0c\u5728\u8282\u70b9\u4e0a\u521b\u5efa load-image.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u586b\u5165\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7b49\u914d\u7f6e\u4fe1\u606f\u3002

                            1. \u521b\u5efa load-image.yaml

                              Note

                              \u8be5 YAML \u6587\u4ef6\u4e2d\u7684\u5404\u9879\u53c2\u6570\u5747\u4e3a\u5fc5\u586b\u9879\u3002

                              \u5df2\u6dfb\u52a0 Helm repo\u672a\u6dfb\u52a0 Helm repo

                              \u82e5\u5f53\u524d\u73af\u5883\u5df2\u5b89\u88c5 chart repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\u3002

                              load-image.yaml
                              source:\n  intermediateBundlesPath: kcollie # \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84\ntarget:\n  containerRegistry: 10.16.10.111 # \u955c\u50cf\u4ed3\u5e93\u5730\u5740\n  containerRepository: release.daocloud.io/kcollie # \u955c\u50cf\u4ed3\u5e93\u8def\u5f84\n  repo:\n    kind: HARBOR # Helm Chart \u4ed3\u5e93\u7c7b\u522b\n    url: http://10.16.10.111/chartrepo/release.daocloud.io # Helm \u4ed3\u5e93\u5730\u5740\n    auth:\n      username: \"admin\" # \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801\n  containers:\n    auth:\n      username: \"admin\" # Helm \u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # Helm \u4ed3\u5e93\u5bc6\u7801\n

                              \u82e5\u5f53\u524d\u8282\u70b9\u4e0a\u672a\u6dfb\u52a0 helm repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\uff0c\u5e76\u5b58\u653e\u5728\u6307\u5b9a\u8def\u5f84\u3002

                              load-image.yaml
                              source:\n  intermediateBundlesPath: kcollie # \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84\ntarget:\n  containerRegistry: 10.16.10.111 # \u955c\u50cf\u4ed3\u5e93 url\n  containerRepository: release.daocloud.io/kcollie # \u955c\u50cf\u4ed3\u5e93\u8def\u5f84\n  repo:\n    kind: LOCAL\n    path: ./local-repo # chart \u672c\u5730\u8def\u5f84\n  containers:\n    auth:\n      username: \"admin\" # \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801\n
                            2. \u6267\u884c\u540c\u6b65\u955c\u50cf\u547d\u4ee4\u3002

                              charts-syncer sync --config load-image.yaml\n
                            "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html#docker-containerd","title":"\u65b9\u5f0f\u4e8c\uff1a\u4f7f\u7528 Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf","text":"

                            \u89e3\u538b\u5e76\u52a0\u8f7d\u955c\u50cf\u6587\u4ef6\u3002

                            1. \u89e3\u538b\u7b2c\u4e00\u5c42\u538b\u7f29\u5305\u3002

                              tar xvf kcollie.amd64.tar\n

                              \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 1 \u4e2a\u65b0\u7684\u538b\u7f29\u5305\uff1a

                              • kcollie.bundle.tar
                            2. \u89e3\u538b\u65b0\u7684\u538b\u7f29\u5305\u3002

                              tar xvf kcollie.bundle.tar\n

                              \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 3 \u4e2a\u6587\u4ef6\uff1a

                              • hints.yaml
                              • images.tar
                              • original-chart
                            3. \u4ece\u672c\u5730\u52a0\u8f7d\u955c\u50cf\u5230 Docker \u6216 containerd\u3002

                              Dockercontainerd
                              docker load -i images.tar\n
                              ctr -n k8s.io image import images.tar\n

                            Note

                            \u6bcf\u4e2a node \u90fd\u9700\u8981\u505a Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf\u64cd\u4f5c\uff0c \u52a0\u8f7d\u5b8c\u6210\u540e\u9700\u8981 tag \u955c\u50cf\uff0c\u4fdd\u6301 Registry\u3001Repository \u4e0e\u5b89\u88c5\u65f6\u4e00\u81f4\u3002

                            "},{"location":"kpanda/user-guide/inspect/offline-upgrade.html#_3","title":"\u5347\u7ea7","text":"

                            \u6709\u4e24\u79cd\u5347\u7ea7\u65b9\u5f0f\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u524d\u7f6e\u64cd\u4f5c\uff0c\u9009\u62e9\u5bf9\u5e94\u7684\u5347\u7ea7\u65b9\u6848\uff1a

                            \u901a\u8fc7 helm repo \u5347\u7ea7\u901a\u8fc7 chart \u5305\u5347\u7ea7
                            1. \u68c0\u67e5\u96c6\u7fa4\u5de1\u68c0 helm \u4ed3\u5e93\u662f\u5426\u5b58\u5728\u3002

                              helm repo list | grep kcollie\n

                              \u82e5\u8fd4\u56de\u7ed3\u679c\u4e3a\u7a7a\u6216\u5982\u4e0b\u63d0\u793a\uff0c\u5219\u8fdb\u884c\u4e0b\u4e00\u6b65\uff1b\u53cd\u4e4b\u5219\u8df3\u8fc7\u4e0b\u4e00\u6b65\u3002

                              Error: no repositories to show\n
                            2. \u6dfb\u52a0\u96c6\u7fa4\u5de1\u68c0\u7684 helm \u4ed3\u5e93\u3002

                              helm repo add kcollie http://{harbor url}/chartrepo/{project}\n
                            3. \u66f4\u65b0\u96c6\u7fa4\u5de1\u68c0\u7684 helm \u4ed3\u5e93\u3002

                              helm repo update kcollie\n
                            4. \u9009\u62e9\u60a8\u60f3\u5b89\u88c5\u7684\u96c6\u7fa4\u5de1\u68c0\u7248\u672c\uff08\u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\uff09\u3002

                              helm search repo kcollie/kcollie --versions\n
                              [root@master ~]# helm search repo kcollie/kcollie --versions\nNAME                   CHART VERSION  APP VERSION  DESCRIPTION\nkcollie/kcollie  0.20.0          v0.20.0       A Helm chart for kcollie\n...\n
                            5. \u5907\u4efd --set \u53c2\u6570\u3002

                              \u5728\u5347\u7ea7\u96c6\u7fa4\u5de1\u68c0\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                              helm get values kcollie -n kcollie-system -o yaml > bak.yaml\n
                            6. \u66f4\u65b0 kcollie crds (\u9700\u8981\u5148\u89e3\u538b\u5e76\u8fdb\u5165 original-chart \u6587\u4ef6)

                              helm pull kcollie/kcollie --version 0.6.0 && tar -zxf kcollie-0.6.0.tgz\nkubectl apply -f kcollie/crds\n
                            7. \u6267\u884c helm upgrade \u3002

                              \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u5b57\u6bb5\u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                              export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                              helm upgrade kcollie kcollie/kcollie \\\n  -n kcollie-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry \\\n  --version 0.6.0\n
                            1. \u5907\u4efd --set \u53c2\u6570\u3002

                              \u5728\u5347\u7ea7\u96c6\u7fa4\u5de1\u68c0\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                              helm get values kcollie -n kcollie-system -o yaml > bak.yaml\n
                            2. \u66f4\u65b0 kcollie crds (\u9700\u8981\u5148\u89e3\u538b\u5e76\u8fdb\u5165 original-chart \u6587\u4ef6)

                              kubectl apply -f ./crds\n
                            3. \u6267\u884c helm upgrade \u3002

                              \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                              export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                              helm upgrade kcollie . \\\n  -n kcollie-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry\n
                            "},{"location":"kpanda/user-guide/inspect/report.html","title":"\u67e5\u770b\u5de1\u68c0\u62a5\u544a","text":"

                            \u5de1\u68c0\u6267\u884c\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u5de1\u68c0\u8bb0\u5f55\u548c\u8be6\u7ec6\u7684\u5de1\u68c0\u62a5\u544a\u3002

                            "},{"location":"kpanda/user-guide/inspect/report.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5df2\u7ecf\u521b\u5efa\u4e86\u5de1\u68c0\u914d\u7f6e
                            • \u5df2\u7ecf\u6267\u884c\u8fc7\u81f3\u5c11\u4e00\u6b21\u5de1\u68c0
                            "},{"location":"kpanda/user-guide/inspect/report.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\uff0c\u70b9\u51fb\u76ee\u6807\u5de1\u68c0\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u70b9\u51fb\u60f3\u8981\u67e5\u770b\u7684\u5de1\u68c0\u8bb0\u5f55\u540d\u79f0\u3002

                              • \u6bcf\u6267\u884c\u4e00\u6b21\u5de1\u68c0\uff0c\u5c31\u4f1a\u751f\u6210\u4e00\u6761\u5de1\u68c0\u8bb0\u5f55\u3002
                              • \u5f53\u5de1\u68c0\u8bb0\u5f55\u8d85\u8fc7\u5de1\u68c0\u914d\u7f6e\u4e2d\u8bbe\u7f6e\u7684\u6700\u5927\u4fdd\u7559\u6761\u6570\u65f6\uff0c\u4ece\u6267\u884c\u65f6\u95f4\u6700\u65e9\u7684\u8bb0\u5f55\u5f00\u59cb\u5220\u9664\u3002

                            3. \u67e5\u770b\u5de1\u68c0\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u6839\u636e\u5de1\u68c0\u914d\u7f6e\u53ef\u80fd\u5305\u62ec\u96c6\u7fa4\u8d44\u6e90\u6982\u89c8\u3001\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\u7b49\u3002

                              \u5728\u9875\u9762\u53f3\u4e0a\u89d2\u53ef\u4ee5\u4e0b\u8f7d\u5de1\u68c0\u62a5\u544a\u6216\u5220\u9664\u8be5\u9879\u5de1\u68c0\u62a5\u544a\u3002

                            "},{"location":"kpanda/user-guide/namespaces/createns.html","title":"\u547d\u540d\u7a7a\u95f4","text":"

                            \u547d\u540d\u7a7a\u95f4\u662f Kubernetes \u4e2d\u7528\u6765\u8fdb\u884c\u8d44\u6e90\u9694\u79bb\u7684\u4e00\u79cd\u62bd\u8c61\u3002\u4e00\u4e2a\u96c6\u7fa4\u4e0b\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u4e0d\u91cd\u540d\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u76f8\u4e92\u9694\u79bb\u3002\u6709\u5173\u547d\u540d\u7a7a\u95f4\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u3002

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u547d\u540d\u7a7a\u95f4\u7684\u76f8\u5173\u64cd\u4f5c\u3002

                            "},{"location":"kpanda/user-guide/namespaces/createns.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                            \u652f\u6301\u901a\u8fc7\u8868\u5355\u8f7b\u677e\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u7f16\u5199\u6216\u5bfc\u5165 YAML \u6587\u4ef6\u5feb\u901f\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u3002

                            Note

                            • \u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u4e4b\u524d\uff0c\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\u3002
                            • \u96c6\u7fa4\u521d\u59cb\u5316\u540e\u901a\u5e38\u4f1a\u81ea\u52a8\u751f\u6210\u9ed8\u8ba4\u7684\u547d\u540d\u7a7a\u95f4 default \u3002\u4f46\u5bf9\u4e8e\u751f\u4ea7\u96c6\u7fa4\u800c\u8a00\uff0c\u4e3a\u4fbf\u4e8e\u7ba1\u7406\uff0c\u5efa\u8bae\u521b\u5efa\u5176\u4ed6\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c\u975e\u76f4\u63a5\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002
                            "},{"location":"kpanda/user-guide/namespaces/createns.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                            3. \u586b\u5199\u547d\u540d\u7a7a\u95f4\u7684\u540d\u79f0\uff0c\u914d\u7f6e\u5de5\u4f5c\u7a7a\u95f4\u548c\u6807\u7b7e\uff08\u53ef\u9009\u8bbe\u7f6e\uff09\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                              Info

                              • \u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u4e4b\u540e\uff0c\u8be5\u547d\u540d\u7a7a\u95f4\u7684\u8d44\u6e90\u5c31\u4f1a\u5171\u4eab\u7ed9\u6240\u7ed1\u5b9a\u7684\u5de5\u4f5c\u7a7a\u95f4\u3002\u6709\u5173\u5de5\u4f5c\u7a7a\u95f4\u7684\u8be6\u7ec6\u8bf4\u660e\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u3002

                              • \u547d\u540d\u7a7a\u95f4\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4ecd\u7136\u53ef\u4ee5\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3002

                            4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002\u5728\u547d\u540d\u7a7a\u95f4\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4ece\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9\u67e5\u770b YAML\u3001\u4fee\u6539\u6807\u7b7e\u3001\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3001\u914d\u989d\u7ba1\u7406\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

                            "},{"location":"kpanda/user-guide/namespaces/createns.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u5185\u5bb9\uff0c\u6216\u8005\u4ece\u672c\u5730\u76f4\u63a5\u5bfc\u5165\u5df2\u6709\u7684 YAML \u6587\u4ef6\u3002

                              \u8f93\u5165 YAML \u5185\u5bb9\u540e\uff0c\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u8be5 YAML \u6587\u4ef6\u4fdd\u5b58\u5230\u672c\u5730\u3002

                            4. \u6700\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                            "},{"location":"kpanda/user-guide/namespaces/exclusive.html","title":"\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                            \u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u6c61\u70b9\u548c\u6c61\u70b9\u5bb9\u5fcd\u7684\u65b9\u5f0f\u5b9e\u73b0\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u5bf9\u4e00\u4e2a\u6216\u591a\u4e2a\u8282\u70b9 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u7684\u72ec\u4eab\u3002\u4e3a\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u72ec\u4eab\u8282\u70b9\u540e\uff0c\u5176\u5b83\u975e\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5e94\u7528\u548c\u670d\u52a1\u5747\u4e0d\u80fd\u8fd0\u884c\u5728\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\u3002\u4f7f\u7528\u72ec\u4eab\u8282\u70b9\u53ef\u4ee5\u8ba9\u91cd\u8981\u5e94\u7528\u72ec\u4eab\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u548c\u5176\u4ed6\u5e94\u7528\u5b9e\u73b0\u7269\u7406\u9694\u79bb\u3002

                            Note

                            \u5728\u8282\u70b9\u88ab\u8bbe\u7f6e\u4e3a\u72ec\u4eab\u8282\u70b9\u524d\u5df2\u7ecf\u8fd0\u884c\u5728\u6b64\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u548c\u670d\u52a1\u5c06\u4e0d\u4f1a\u53d7\u5f71\u54cd\uff0c\u4f9d\u7136\u4f1a\u6b63\u5e38\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\uff0c\u4ec5\u5f53\u8fd9\u4e9b Pod \u88ab\u5220\u9664\u6216\u91cd\u5efa\u65f6\uff0c\u624d\u4f1a\u8c03\u5ea6\u5230\u5176\u5b83\u975e\u72ec\u4eab\u8282\u70b9\u4e0a\u3002

                            "},{"location":"kpanda/user-guide/namespaces/exclusive.html#_2","title":"\u51c6\u5907\u5de5\u4f5c","text":"

                            \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u662f\u5426\u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002

                            \u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u529f\u80fd\u9700\u8981\u7528\u6237\u542f\u7528 kube-apiserver \u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\uff08Admission Controllers\uff09\uff0c\u5173\u4e8e\u51c6\u5165\u63a7\u5236\u5668\u66f4\u591a\u8bf4\u660e\u8bf7\u53c2\u9605 kubernetes Admission Controllers Reference\u3002

                            \u60a8\u53ef\u4ee5\u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u68c0\u67e5 kube-apiserver.yaml \u6587\u4ef6\u5185\u662f\u5426\u542f\u7528\u4e86\u8fd9\u4e24\u4e2a\u7279\u6027\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u5feb\u901f\u68c0\u67e5\uff1a

                            ```bash\n[root@g-master1 ~]# cat /etc/kubernetes/manifests/kube-apiserver.yaml | grep  enable-admission-plugins\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction\n```\n
                            "},{"location":"kpanda/user-guide/namespaces/exclusive.html#_3","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                            \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7740 kpanda\u3001ghippo\u3001insight \u7b49\u5e73\u53f0\u57fa\u7840\u7ec4\u4ef6\uff0c\u5728 Global \u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u5c06\u53ef\u80fd\u5bfc\u81f4\u5f53\u7cfb\u7edf\u7ec4\u4ef6\u91cd\u542f\u540e\uff0c\u7cfb\u7edf\u7ec4\u4ef6\u65e0\u6cd5\u8c03\u5ea6\u5230\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\uff0c\u5f71\u54cd\u7cfb\u7edf\u7684\u6574\u4f53\u9ad8\u53ef\u7528\u80fd\u529b\u3002\u56e0\u6b64\uff0c\u901a\u5e38\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u4e0d\u63a8\u8350\u7528\u6237\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u7279\u6027\u3002

                            \u5982\u679c\u60a8\u786e\u5b9e\u9700\u8981\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                            1. \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                              Note

                              \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u914d\u7f6e\u7cfb\u7edf\u7ec4\u4ef6\u5bb9\u5fcd\u3002

                              \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                              [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                              \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                              # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                            2. \u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3

                              \u5b8c\u6210\u51c6\u5165\u63a7\u5236\u5668\u7684\u5f00\u542f\u540e\uff0c\u60a8\u9700\u8981\u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff0c\u4ee5\u4fdd\u8bc1\u5e73\u53f0\u7ec4\u4ef6\u7684\u9ad8\u53ef\u7528\u3002

                              \u76ee\u524d DCE 5.0 \u7684\u7cfb\u7edf\u7ec4\u4ef6\u547d\u540d\u7a7a\u95f4\u5982\u4e0b\u8868\uff1a

                              \u547d\u540d\u7a7a\u95f4 \u6240\u5305\u542b\u7684\u7cfb\u7edf\u7ec4\u4ef6 kpanda-system kpanda hwameiStor-system hwameiStor istio-system istio metallb-system metallb cert-manager-system cert-manager contour-system contour kubean-system kubean ghippo-system ghippo kcoral-system kcoral kcollie-system kcollie insight-system insight\u3001insight-agent: ipavo-system ipavo kairship-system kairship karmada-system karmada amamba-system amamba\u3001jenkins skoala-system skoala mspider-system mspider mcamel-system mcamel-rabbitmq\u3001mcamel-elasticsearch\u3001mcamel-mysql\u3001mcamel-redis\u3001mcamel-kafka\u3001mcamel-minio\u3001mcamel-postgresql spidernet-system spidernet kangaroo-system kangaroo gmagpie-system gmagpie dowl-system dowl

                              \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u547d\u540d\u7a7a\u95f4\u662f\u5426\u5b58\u5728\u4e0a\u8ff0\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u4e3a\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1a scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]' \u3002

                              kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n
                              \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                            3. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                              \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528 DCE 5.0 \u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                              1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                              2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                              3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                                \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                            "},{"location":"kpanda/user-guide/namespaces/exclusive.html#_4","title":"\u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                            \u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                            1. \u4e3a\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                              Note

                              \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                              \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                              [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                              \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                              # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                            2. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                              \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528 DCE 5.0 \u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                              1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                              2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                              3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                                \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                            3. \u4e3a\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff08\u53ef\u9009\uff09

                              \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1ascheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\u3002

                              kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n

                              \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                            "},{"location":"kpanda/user-guide/namespaces/podsecurity.html","title":"\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"

                            \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u4e3a\u6307\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u4e0d\u540c\u7684\u7b49\u7ea7\u548c\u6a21\u5f0f\uff0c\u5b9e\u73b0\u5728\u5b89\u5168\u7684\u5404\u4e2a\u65b9\u9762\u63a7\u5236 Pod \u7684\u884c\u4e3a\uff0c\u53ea\u6709\u6ee1\u8db3\u4e00\u5b9a\u7684\u6761\u4ef6\u7684 Pod \u624d\u4f1a\u88ab\u7cfb\u7edf\u63a5\u53d7\u3002\u5b83\u8bbe\u7f6e\u4e09\u4e2a\u7b49\u7ea7\u548c\u4e09\u79cd\u6a21\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u66f4\u52a0\u5408\u9002\u7684\u65b9\u6848\u6765\u8bbe\u7f6e\u9650\u5236\u7b56\u7565\u3002

                            Note

                            \u4e00\u6761\u5b89\u5168\u6a21\u5f0f\u4ec5\u80fd\u914d\u7f6e\u4e00\u6761\u5b89\u5168\u7b56\u7565\u3002\u540c\u65f6\u8bf7\u8c28\u614e\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e enforce \u7684\u5b89\u5168\u6a21\u5f0f\uff0c\u8fdd\u53cd\u540e\u5c06\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                            \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u3002

                            "},{"location":"kpanda/user-guide/namespaces/podsecurity.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u96c6\u7fa4\u7684\u7248\u672c\u9700\u8981\u5728 v1.22 \u4ee5\u4e0a\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"kpanda/user-guide/namespaces/podsecurity.html#_3","title":"\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"
                            1. \u9009\u62e9\u9700\u8981\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\u3002\u5728 \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565 \u9875\u9762\u70b9\u51fb \u914d\u7f6e\u7b56\u7565 \uff0c\u8fdb\u5165\u914d\u7f6e\u9875\u3002

                            2. \u5728\u914d\u7f6e\u9875\u70b9\u51fb \u6dfb\u52a0\u7b56\u7565 \uff0c\u5219\u4f1a\u51fa\u73b0\u4e00\u6761\u7b56\u7565\uff0c\u5305\u62ec\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u6a21\u5f0f\uff0c\u4ee5\u4e0b\u662f\u5bf9\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u7b56\u7565\u7684\u8be6\u7ec6\u4ecb\u7ecd\u3002

                              \u5b89\u5168\u7ea7\u522b \u63cf\u8ff0 Privileged \u4e0d\u53d7\u9650\u5236\u7684\u7b56\u7565\uff0c\u63d0\u4f9b\u6700\u5927\u53ef\u80fd\u8303\u56f4\u7684\u6743\u9650\u8bb8\u53ef\u3002\u6b64\u7b56\u7565\u5141\u8bb8\u5df2\u77e5\u7684\u7279\u6743\u63d0\u5347\u3002 Baseline \u9650\u5236\u6027\u6700\u5f31\u7684\u7b56\u7565\uff0c\u7981\u6b62\u5df2\u77e5\u7684\u7b56\u7565\u63d0\u5347\u3002\u5141\u8bb8\u4f7f\u7528\u9ed8\u8ba4\u7684\uff08\u89c4\u5b9a\u6700\u5c11\uff09Pod \u914d\u7f6e\u3002 Restricted \u9650\u5236\u6027\u975e\u5e38\u5f3a\u7684\u7b56\u7565\uff0c\u9075\u5faa\u5f53\u524d\u7684\u4fdd\u62a4 Pod \u7684\u6700\u4f73\u5b9e\u8df5\u3002 \u5b89\u5168\u6a21\u5f0f \u63cf\u8ff0 Audit \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5728\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u6dfb\u52a0\u65b0\u7684\u5ba1\u8ba1\u4e8b\u4ef6\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Warn \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u8fd4\u56de\u7528\u6237\u53ef\u89c1\u7684\u544a\u8b66\u4fe1\u606f\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Enforce \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                            3. \u4e0d\u540c\u7684\u5b89\u5168\u7ea7\u522b\u5bf9\u5e94\u4e0d\u540c\u7684\u68c0\u67e5\u9879\uff0c\u82e5\u60a8\u4e0d\u77e5\u9053\u8be5\u5982\u4f55\u4e3a\u60a8\u7684\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u7b56\u7565\u914d\u7f6e\u9879\u8bf4\u660e \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                            4. \u70b9\u51fb\u786e\u5b9a\uff0c\u82e5\u521b\u5efa\u6210\u529f\uff0c\u5219\u9875\u9762\u4e0a\u5c06\u51fa\u73b0\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                            5. \u70b9\u51fb \u2507 \u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u8005\u5220\u9664\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                            "},{"location":"kpanda/user-guide/network/create-ingress.html","title":"\u521b\u5efa\u8def\u7531\uff08Ingress\uff09","text":"

                            \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0cIngress \u516c\u5f00\u4ece\u96c6\u7fa4\u5916\u90e8\u5230\u96c6\u7fa4\u5185\u670d\u52a1\u7684 HTTP \u548c HTTPS \u8def\u7531\u3002 \u6d41\u91cf\u8def\u7531\u7531 Ingress \u8d44\u6e90\u4e0a\u5b9a\u4e49\u7684\u89c4\u5219\u63a7\u5236\u3002\u4e0b\u9762\u662f\u4e00\u4e2a\u5c06\u6240\u6709\u6d41\u91cf\u90fd\u53d1\u9001\u5230\u540c\u4e00 Service \u7684\u7b80\u5355 Ingress \u793a\u4f8b\uff1a

                            Ingress \u662f\u5bf9\u96c6\u7fa4\u4e2d\u670d\u52a1\u7684\u5916\u90e8\u8bbf\u95ee\u8fdb\u884c\u7ba1\u7406\u7684 API \u5bf9\u8c61\uff0c\u5178\u578b\u7684\u8bbf\u95ee\u65b9\u5f0f\u662f HTTP\u3002Ingress \u53ef\u4ee5\u63d0\u4f9b\u8d1f\u8f7d\u5747\u8861\u3001SSL \u7ec8\u7ed3\u548c\u57fa\u4e8e\u540d\u79f0\u7684\u865a\u62df\u6258\u7ba1\u3002

                            "},{"location":"kpanda/user-guide/network/create-ingress.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002
                            • \u5df2\u7ecf\u5b8c\u6210 Ingress \u5b9e\u4f8b\u7684\u521b\u5efa\uff0c\u5df2\u90e8\u7f72\u5e94\u7528\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u4e14\u5df2\u521b\u5efa\u5bf9\u5e94 Service
                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002
                            "},{"location":"kpanda/user-guide/network/create-ingress.html#_2","title":"\u521b\u5efa\u8def\u7531","text":"
                            1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u8def\u7531 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u8def\u7531 \u6309\u94ae\u3002

                              Note

                              \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u8def\u7531\u3002

                            3. \u6253\u5f00 \u521b\u5efa\u8def\u7531 \u9875\u9762\uff0c\u8fdb\u884c\u914d\u7f6e\u3002\u53ef\u9009\u62e9\u4e24\u79cd\u534f\u8bae\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u4e24\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                            "},{"location":"kpanda/user-guide/network/create-ingress.html#http","title":"\u521b\u5efa HTTP \u534f\u8bae\u8def\u7531","text":"

                            \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                            • \u8def\u7531\u540d\u79f0 \uff1a\u5fc5\u586b\uff0c\u8f93\u5165\u65b0\u5efa\u8def\u7531\u7684\u540d\u79f0\u3002
                            • \u547d\u540d\u7a7a\u95f4 \uff1a\u5fc5\u586b\uff0c\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002
                            • \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \uff1a
                              • \u57df\u540d \uff1a\u5fc5\u586b\uff0c\u4f7f\u7528\u57df\u540d\u5bf9\u5916\u63d0\u4f9b\u8bbf\u95ee\u670d\u52a1\u3002\u9ed8\u8ba4\u4e3a\u96c6\u7fa4\u7684\u57df\u540d\u3002
                              • \u534f\u8bae \uff1a\u5fc5\u586b\uff0c\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002 \u8fd9\u91cc\u9009\u62e9 HTTP \u534f\u8bae\u7684\u8def\u7531\u3002
                              • \u8f6c\u53d1\u7b56\u7565 \uff1a\u9009\u586b\uff0c\u6307\u5b9a Ingress \u7684\u8bbf\u95ee\u7b56\u7565
                              • \u8def\u5f84 \uff1a\u6307\u5b9a\u670d\u52a1\u8bbf\u95ee\u7684URL\u8def\u5f84\uff0c\u9ed8\u8ba4\u4e3a\u6839\u8def\u5f84
                              • \u76ee\u6807\u670d\u52a1 \uff1a\u8fdb\u884c\u8def\u7531\u7684\u670d\u52a1\u540d\u79f0
                              • \u76ee\u6807\u670d\u52a1\u7aef\u53e3 \uff1a\u670d\u52a1\u5bf9\u5916\u66b4\u9732\u7684\u7aef\u53e3
                            • \u8d1f\u8f7d\u5747\u8861\u5668\u7c7b\u578b \uff1a\u5fc5\u586b\uff0cIngress \u5b9e\u4f8b\u7684\u4f7f\u7528\u8303\u56f4
                              • \u5e73\u53f0\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\uff0c\u5171\u4eab\u540c\u4e00\u4e2a Ingress \u5b9e\u4f8b\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                              • \u79df\u6237\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u79df\u6237\u8d1f\u8f7d\u5747\u8861\u5668\uff0cIngress \u5b9e\u4f8b\u72ec\u5c5e\u4e8e\u5f53\u524d\u547d\u540d\u7a7a\uff0c\u6216\u8005\u72ec\u5c5e\u4e8e\u67d0\u4e00\u5de5\u4f5c\u7a7a\u95f4\uff0c \u5e76\u4e14\u8bbe\u7f6e\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5305\u542b\u5f53\u524d\u547d\u540d\u7a7a\u95f4\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                            • Ingress Class \uff1a\u9009\u586b\uff0c\u9009\u62e9\u5bf9\u5e94\u7684 Ingress \u5b9e\u4f8b\uff0c\u9009\u62e9\u540e\u5c06\u6d41\u91cf\u5bfc\u5165\u5230\u6307\u5b9a\u7684 Ingress \u5b9e\u4f8b\u3002
                              • \u4e3a None \u65f6\u4f7f\u7528\u9ed8\u8ba4\u7684 DefaultClass\uff0c\u8bf7\u5728\u521b\u5efa Ingress \u5b9e\u4f8b\u65f6\u8bbe\u7f6e DefaultClass\uff0c \u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003 Ingress Class
                              • \u82e5\u9009\u62e9\u5176\u4ed6\u5b9e\u4f8b\uff08\u5982 ngnix \uff09\uff0c\u5219\u4f1a\u51fa\u73b0\u9ad8\u7ea7\u914d\u7f6e\uff0c\u53ef\u8bbe\u7f6e \u4f1a\u8bdd\u4fdd\u6301 \u3001 \u8def\u5f84\u91cd\u5199 \u3001 \u91cd\u5b9a\u5411 \u548c \u6d41\u91cf\u5206\u53d1 \u3002
                            • \u4f1a\u8bdd\u4fdd\u6301 \uff1a\u9009\u586b\uff0c\u4f1a\u8bdd\u4fdd\u6301\u5206\u4e3a \u4e09\u79cd\u7c7b\u578b\uff1a L4 \u6e90\u5730\u5740\u54c8\u5e0c \u3001 Cookie Key \u3001 L7 Header Name \uff0c\u5f00\u542f\u540e\u6839\u636e\u5bf9\u5e94\u89c4\u5219\u8fdb\u884c\u4f1a\u8bdd\u4fdd\u6301\u3002
                              • L4 \u6e90\u5730\u5740\u54c8\u5e0c \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$binary_remote_addr\"
                              • Cookie Key \uff1a\u5f00\u542f\u540e\u6765\u81ea\u7279\u5b9a\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u5c06\u4f20\u9012\u81f3\u76f8\u540c Pod\uff0c\u5f00\u542f\u540e \u9ed8\u8ba4\u5728 Annotation \u4e2d\u589e\u52a0\u5982\u4e0b\u53c2\u6570\uff1a nginx.ingress.kubernetes.io/affinity: \"cookie\"\u3002nginx.ingress.kubernetes.io/affinity-mode: persistent
                              • L7 Header Name \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$http_x_forwarded_for\"
                            • \u8def\u5f84\u91cd\u5199 \uff1a\u9009\u586b\uff0c rewrite-target \uff0c\u67d0\u4e9b\u573a\u666f\u4e2d\u540e\u7aef\u670d\u52a1\u66b4\u9732\u7684URL\u4e0eIngress\u89c4\u5219\u4e2d\u6307\u5b9a\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u5982\u679c\u4e0d\u8fdb\u884cURL\u91cd\u5199\u914d\u7f6e\uff0c\u8bbf\u95ee\u4f1a\u51fa\u73b0\u9519\u8bef\u3002
                            • \u91cd\u5b9a\u5411 \uff1a\u9009\u586b\uff0c permanent-redirect \uff0c\u6c38\u4e45\u91cd\u5b9a\u5411\uff0c\u8f93\u5165\u91cd\u5199\u8def\u5f84\u540e\uff0c\u8bbf\u95ee\u8def\u5f84\u91cd\u5b9a\u5411\u81f3\u8bbe\u7f6e\u7684\u5730\u5740\u3002
                            • \u6d41\u91cf\u5206\u53d1 \uff1a\u9009\u586b\uff0c\u5f00\u542f\u540e\u5e76\u8bbe\u7f6e\u540e\uff0c\u6839\u636e\u8bbe\u5b9a\u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1\u3002
                              • \u57fa\u4e8e\u6743\u91cd \uff1a\u8bbe\u5b9a\u6743\u91cd\u540e\uff0c\u5728\u521b\u5efa\u7684 Ingress \u6dfb\u52a0\u5982\u4e0b Annotation\uff1a nginx.ingress.kubernetes.io/canary-weight: \"10\"
                              • \u57fa\u4e8e Cookie \uff1a\u8bbe\u5b9a Cookie \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Cookie \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                              • \u57fa\u4e8e Header \uff1a \u8bbe\u5b9a Header \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Header \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                            • \u6807\u7b7e \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6807\u7b7e
                            • \u6ce8\u89e3 \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6ce8\u89e3
                            "},{"location":"kpanda/user-guide/network/create-ingress.html#https","title":"\u521b\u5efa HTTPS \u534f\u8bae\u8def\u7531","text":"

                            \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                            Note

                            \u6ce8\u610f\uff1a\u4e0e HTTP \u534f\u8bae \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \u4e0d\u540c\uff0c\u589e\u52a0\u5bc6\u94a5\u9009\u62e9\u8bc1\u4e66\uff0c\u5176\u4ed6\u57fa\u672c\u4e00\u81f4\u3002

                            • \u534f\u8bae \uff1a\u5fc5\u586b\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002\u8fd9\u91cc\u9009\u62e9 HTTPS \u534f\u8bae\u7684\u8def\u7531\u3002
                            • \u5bc6\u94a5 \uff1a\u5fc5\u586b\uff0cHttps TLS \u8bc1\u4e66\uff0c\u521b\u5efa\u79d8\u94a5\u3002
                            "},{"location":"kpanda/user-guide/network/create-ingress.html#_3","title":"\u5b8c\u6210\u8def\u7531\u521b\u5efa","text":"

                            \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u8def\u7531\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u8def\u7531\u3002

                            "},{"location":"kpanda/user-guide/network/create-services.html","title":"\u521b\u5efa\u670d\u52a1\uff08Service\uff09","text":"

                            \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u6bcf\u4e2a Pod \u90fd\u6709\u4e00\u4e2a\u5185\u90e8\u72ec\u7acb\u7684 IP \u5730\u5740\uff0c\u4f46\u662f\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u7684 Pod \u53ef\u80fd\u4f1a\u88ab\u968f\u65f6\u521b\u5efa\u548c\u5220\u9664\uff0c\u76f4\u63a5\u4f7f\u7528 Pod IP \u5730\u5740\u5e76\u4e0d\u80fd\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u3002

                            \u8fd9\u5c31\u9700\u8981\u521b\u5efa\u670d\u52a1\uff0c\u901a\u8fc7\u670d\u52a1\u60a8\u4f1a\u83b7\u5f97\u4e00\u4e2a\u56fa\u5b9a\u7684 IP \u5730\u5740\uff0c\u4ece\u800c\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u524d\u7aef\u548c\u540e\u7aef\u7684\u89e3\u8026\uff0c\u8ba9\u5916\u90e8\u7528\u6237\u80fd\u591f\u8bbf\u95ee\u670d\u52a1\u3002\u540c\u65f6\uff0c\u670d\u52a1\u8fd8\u63d0\u4f9b\u4e86\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u529f\u80fd\uff0c\u4f7f\u7528\u6237\u80fd\u4ece\u516c\u7f51\u8bbf\u95ee\u5230\u5de5\u4f5c\u8d1f\u8f7d\u3002

                            "},{"location":"kpanda/user-guide/network/create-services.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"kpanda/user-guide/network/create-services.html#_2","title":"\u521b\u5efa\u670d\u52a1","text":"
                            1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                              Tip

                              \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u670d\u52a1\u3002

                            3. \u6253\u5f00 \u521b\u5efa\u670d\u52a1 \u9875\u9762\uff0c\u9009\u62e9\u4e00\u79cd\u8bbf\u95ee\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u51e0\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                            "},{"location":"kpanda/user-guide/network/create-services.html#clusterip","title":"\u521b\u5efa ClusterIP \u670d\u52a1","text":"

                            \u70b9\u9009 \u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u96c6\u7fa4\u7684\u5185\u90e8 IP \u66b4\u9732\u670d\u52a1\uff0c\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u53ea\u80fd\u5728\u96c6\u7fa4\u5185\u90e8\u8bbf\u95ee\u3002\u8fd9\u662f\u9ed8\u8ba4\u7684\u670d\u52a1\u7c7b\u578b\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09\u3002 ClusterIP \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 app:job01 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\uff0c\u7528\u6765\u5bf9\u96c6\u7fa4\u5185\u66b4\u9732\u670d\u52a1\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"kpanda/user-guide/network/create-services.html#nodeport","title":"\u521b\u5efa NodePort \u670d\u52a1","text":"

                            \u70b9\u9009 \u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u6bcf\u4e2a\u8282\u70b9\u4e0a\u7684 IP \u548c\u9759\u6001\u7aef\u53e3\uff08 NodePort \uff09\u66b4\u9732\u670d\u52a1\u3002 NodePort \u670d\u52a1\u4f1a\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 ClusterIP \u670d\u52a1\u3002\u901a\u8fc7\u8bf7\u6c42 <\u8282\u70b9 IP>:<\u8282\u70b9\u7aef\u53e3> \uff0c\u60a8\u53ef\u4ee5\u4ece\u96c6\u7fa4\u7684\u5916\u90e8\u8bbf\u95ee\u4e00\u4e2a NodePort \u670d\u52a1\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09\u3002 NodePort \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u989d\u5173\u4e8e\u534f\u8bae\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u534f\u8bae\u6982\u8ff0\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod\u5f00\u542f\u540e Service \u7684 .spec.sessionAffinity \u4e3a ClientIP \uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1aService \u7684\u4f1a\u8bdd\u4eb2\u548c\u6027 \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u79d2.spec.sessionAffinityConfig.clientIP.timeoutSeconds \u9ed8\u8ba4\u8bbe\u7f6e\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"kpanda/user-guide/network/create-services.html#loadbalancer","title":"\u521b\u5efa LoadBalancer \u670d\u52a1","text":"

                            \u70b9\u9009 \u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09 \uff0c\u8fd9\u662f\u6307\u4f7f\u7528\u4e91\u63d0\u4f9b\u5546\u7684\u8d1f\u8f7d\u5747\u8861\u5668\u5411\u5916\u90e8\u66b4\u9732\u670d\u52a1\u3002 \u5916\u90e8\u8d1f\u8f7d\u5747\u8861\u5668\u53ef\u4ee5\u5c06\u6d41\u91cf\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 NodePort \u670d\u52a1\u548c ClusterIP \u670d\u52a1\u4e0a\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u3002 LoadBalancer \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u5916\u90e8\u6d41\u91cf\u7b56\u7565 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bbe\u7f6e\u5916\u90e8\u6d41\u91cf\u7b56\u7565\u3002Cluster\uff1a\u6d41\u91cf\u53ef\u4ee5\u8f6c\u53d1\u5230\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u4e0a\u7684 Pod\u3002Local\uff1a\u6d41\u91cf\u53ea\u53d1\u7ed9\u672c\u8282\u70b9\u4e0a\u7684 Pod\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4f7f\u7528\u7684\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301 MetalLB \u548c\u5176\u4ed6\u3002 MetalLB IP \u6c60 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u7684 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u4e3a MetalLB \u65f6\uff0cLoadBalancer Service\u9ed8\u8ba4\u4f1a\u4ece\u8fd9\u4e2a\u6c60\u4e2d\u5206\u914d IP \u5730\u5740, \u5e76\u4e14\u901a\u8fc7 APR \u5ba3\u544a\u8fd9\u4e2a\u6c60\u4e2d\u7684\u6240\u6709 IP \u5730\u5740\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a\u5b89\u88c5 MetalLB \u8d1f\u8f7d\u5747\u8861\u5730\u5740 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u30111.\u5982\u4f7f\u7528\u7684\u662f\u516c\u6709\u4e91 CloudProvider\uff0c\u6b64\u5904\u586b\u5199\u7684\u4e3a\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u8d1f\u8f7d\u5747\u8861\u5730\u5740\uff1b2.\u5982\u679c\u4e0a\u8ff0\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u9009\u62e9\u4e3a MetalLB \uff0c\u9ed8\u8ba4\u4ece\u4e0a\u8ff0 IP \u6c60\u4e2d\u83b7\u53d6 IP \uff0c\u5982\u679c\u4e0d\u586b\u5219\u81ea\u52a8\u83b7\u53d6\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"kpanda/user-guide/network/create-services.html#externalname","title":"\u521b\u5efa ExternalName \u670d\u52a1","text":"

                            \u70b9\u9009 \u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u5c06\u670d\u52a1\u6620\u5c04\u5230\u5916\u90e8\u57df\u540d\u6765\u66b4\u9732\u670d\u52a1\u3002\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u4e0d\u4f1a\u521b\u5efa\u5178\u578b\u7684 ClusterIP \u6216 NodePort\uff0c\u800c\u662f\u901a\u8fc7 DNS \u540d\u79f0\u89e3\u6790\u5c06\u8bf7\u6c42\u91cd\u5b9a\u5411\u5230\u5916\u90e8\u7684\u670d\u52a1\u5730\u5740\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09\u3002 ExternalName \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u57df\u540d \u3010\u7c7b\u578b\u3011\u5fc5\u586b"},{"location":"kpanda/user-guide/network/create-services.html#_3","title":"\u5b8c\u6210\u670d\u52a1\u521b\u5efa","text":"

                            \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u670d\u52a1\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u670d\u52a1\u3002

                            "},{"location":"kpanda/user-guide/network/network-policy.html","title":"\u7f51\u7edc\u7b56\u7565","text":"

                            \u7f51\u7edc\u7b56\u7565\uff08NetworkPolicy\uff09\u53ef\u4ee5\u5728 IP \u5730\u5740\u6216\u7aef\u53e3\u5c42\u9762\uff08OSI \u7b2c 3 \u5c42\u6216\u7b2c 4 \u5c42\uff09\u63a7\u5236\u7f51\u7edc\u6d41\u91cf\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u76ee\u524d\u652f\u6301\u521b\u5efa\u57fa\u4e8e Pod \u6216\u547d\u540d\u7a7a\u95f4\u7684\u7f51\u7edc\u7b56\u7565\uff0c\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u6765\u8bbe\u5b9a\u54ea\u4e9b\u6d41\u91cf\u53ef\u4ee5\u8fdb\u5165\u6216\u79bb\u5f00\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684 Pod\u3002

                            \u6709\u5173\u7f51\u7edc\u7b56\u7565\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u7f51\u7edc\u7b56\u7565\u3002

                            "},{"location":"kpanda/user-guide/network/network-policy.html#_2","title":"\u521b\u5efa\u7f51\u7edc\u7b56\u7565","text":"

                            \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u7f51\u7edc\u7b56\u7565\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                            \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u7f51\u7edc\u7b56\u7565\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                            \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                            "},{"location":"kpanda/user-guide/network/network-policy.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> YAML \u521b\u5efa \u3002

                            2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"kpanda/user-guide/network/network-policy.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> \u521b\u5efa\u7b56\u7565 \u3002

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                              \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002

                            3. \u586b\u5199\u7b56\u7565\u914d\u7f6e\u3002

                              \u7b56\u7565\u914d\u7f6e\u5206\u4e3a\u5165\u6d41\u91cf\u7b56\u7565\u548c\u51fa\u6d41\u91cf\u7b56\u7565\u3002\u5982\u679c\u6e90 Pod \u60f3\u8981\u6210\u529f\u8fde\u63a5\u5230\u76ee\u6807 Pod\uff0c\u6e90 Pod \u7684\u51fa\u6d41\u91cf\u7b56\u7565\u548c\u76ee\u6807 Pod \u7684\u5165\u6d41\u91cf\u7b56\u7565\u90fd\u9700\u8981\u5141\u8bb8\u8fde\u63a5\u3002\u5982\u679c\u4efb\u4f55\u4e00\u65b9\u4e0d\u5141\u8bb8\u8fde\u63a5\uff0c\u90fd\u4f1a\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25\u3002

                              • \u5165\u6d41\u91cf\u7b56\u7565\uff1a\u70b9\u51fb \u2795 \u5f00\u59cb\u914d\u7f6e\u7b56\u7565\uff0c\u652f\u6301\u914d\u7f6e\u591a\u6761\u7b56\u7565\u3002\u591a\u6761\u7f51\u7edc\u7b56\u7565\u7684\u6548\u679c\u76f8\u4e92\u53e0\u52a0\uff0c\u53ea\u6709\u540c\u65f6\u6ee1\u8db3\u6240\u6709\u7f51\u7edc\u7b56\u7565\uff0c\u624d\u80fd\u6210\u529f\u5efa\u7acb\u8fde\u63a5\u3002

                              • \u51fa\u6d41\u91cf\u7b56\u7565

                            "},{"location":"kpanda/user-guide/network/network-policy.html#_4","title":"\u67e5\u770b\u7f51\u7edc\u7b56\u7565","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 \uff0c\u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\u3002

                            2. \u67e5\u770b\u8be5\u7b56\u7565\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5173\u8054\u5b9e\u4f8b\u4fe1\u606f\u3001\u5165\u6d41\u91cf\u7b56\u7565\u3001\u51fa\u6d41\u91cf\u7b56\u7565\u3002

                            Info

                            \u5728\u5173\u8054\u5b9e\u4f8b\u9875\u7b7e\u4e0b\uff0c\u652f\u6301\u67e5\u770b\u5b9e\u4f8b\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5bb9\u5668\u5217\u8868\u3001YAML \u6587\u4ef6\u3001\u4e8b\u4ef6\u7b49\u3002

                            "},{"location":"kpanda/user-guide/network/network-policy.html#_5","title":"\u66f4\u65b0\u7f51\u7edc\u7b56\u7565","text":"

                            \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                            • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            "},{"location":"kpanda/user-guide/network/network-policy.html#_6","title":"\u5220\u9664\u7f51\u7edc\u7b56\u7565","text":"

                            \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u5220\u9664\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                            • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                            • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                            "},{"location":"kpanda/user-guide/nodes/add-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u6269\u5bb9","text":"

                            \u968f\u7740\u4e1a\u52a1\u5e94\u7528\u4e0d\u65ad\u589e\u957f\uff0c\u96c6\u7fa4\u8d44\u6e90\u65e5\u8d8b\u7d27\u5f20\uff0c\u8fd9\u65f6\u53ef\u4ee5\u57fa\u4e8e kubean \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u6269\u5bb9\u3002\u6269\u5bb9\u540e\uff0c\u5e94\u7528\u53ef\u4ee5\u8fd0\u884c\u5728\u65b0\u589e\u7684\u8282\u70b9\u4e0a\uff0c\u7f13\u89e3\u8d44\u6e90\u538b\u529b\u3002

                            \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u540c\u79cd\u67b6\u6784\u4e0b\u5de5\u4f5c\u96c6\u7fa4\u7684 \u5de5\u4f5c\u8282\u70b9 \u6269\u5bb9\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                              \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u63a5\u5165\u8282\u70b9 \u3002

                            3. \u8f93\u5165\u4e3b\u673a\u540d\u79f0\u548c\u8282\u70b9 IP \u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                              \u70b9\u51fb \u2795 \u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9 \u53ef\u4ee5\u7ee7\u7eed\u63a5\u5165\u66f4\u591a\u8282\u70b9\u3002

                            Note

                            \u63a5\u5165\u8282\u70b9\u5927\u7ea6\u9700\u8981 20 \u5206\u949f\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5f85\u3002

                            "},{"location":"kpanda/user-guide/nodes/add-node.html#_2","title":"\u53c2\u8003\u6587\u6863","text":"
                            • \u5bf9\u5de5\u4f5c\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u6269\u5bb9
                            • \u4e3a\u5de5\u4f5c\u96c6\u7fa4\u6dfb\u52a0\u5f02\u6784\u8282\u70b9
                            • \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u6269\u5bb9
                            • \u66ff\u6362\u5de5\u4f5c\u96c6\u7fa4\u7684\u9996\u4e2a\u63a7\u5236\u8282\u70b9
                            "},{"location":"kpanda/user-guide/nodes/delete-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9","text":"

                            \u5f53\u4e1a\u52a1\u9ad8\u5cf0\u671f\u7ed3\u675f\u4e4b\u540e\uff0c\u4e3a\u4e86\u8282\u7701\u8d44\u6e90\u6210\u672c\uff0c\u53ef\u4ee5\u7f29\u5c0f\u96c6\u7fa4\u89c4\u6a21\uff0c\u5378\u8f7d\u5197\u4f59\u7684\u8282\u70b9\uff0c\u5373\u8282\u70b9\u7f29\u5bb9\u3002\u8282\u70b9\u5378\u8f7d\u540e\uff0c\u5e94\u7528\u65e0\u6cd5\u7ee7\u7eed\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\u3002

                            "},{"location":"kpanda/user-guide/nodes/delete-node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5177\u6709 Cluster Admin \u89d2\u8272\u6388\u6743 \u3002
                            • \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002
                            • \u5378\u8f7d\u8282\u70b9\u4e4b\u524d\uff0c\u9700\u8981\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\uff0c\u5e76\u4e14\u5c06\u8be5\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u90fd\u9a71\u9010\u81f3\u5176\u4ed6\u8282\u70b9\u3002
                            • \u9a71\u9010\u65b9\u5f0f\uff1a\u767b\u5f55\u63a7\u5236\u5668\u8282\u70b9\uff0c\u901a\u8fc7 kubectl drain \u547d\u4ee4\u9a71\u9010\u8282\u70b9\u4e0a\u6240\u6709 Pod\u3002\u5b89\u5168\u9a71\u9010\u7684\u65b9\u5f0f\u53ef\u4ee5\u5141\u8bb8\u5bb9\u5668\u7ec4\u91cc\u9762\u7684\u5bb9\u5668\u4f18\u96c5\u5730\u4e2d\u6b62\u3002
                            "},{"location":"kpanda/user-guide/nodes/delete-node.html#_3","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                            1. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\uff0c\u53ea\u80fd\u9010\u4e2a\u8fdb\u884c\u5378\u8f7d\uff0c\u65e0\u6cd5\u6279\u91cf\u5378\u8f7d\u3002

                            2. \u5982\u9700\u5378\u8f7d\u96c6\u7fa4\u63a7\u5236\u5668\u8282\u70b9\uff0c\u9700\u8981\u786e\u4fdd\u6700\u7ec8\u63a7\u5236\u5668\u8282\u70b9\u6570\u4e3a \u5947\u6570\u3002

                            3. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\u4e0d\u53ef\u4e0b\u7ebf \u7b2c\u4e00\u4e2a\u63a7\u5236\u5668 \u8282\u70b9\u3002\u5982\u679c\u5fc5\u987b\u6267\u884c\u6b64\u64cd\u4f5c\uff0c\u8bf7\u8054\u7cfb\u552e\u540e\u5de5\u7a0b\u5e08\u3002

                            "},{"location":"kpanda/user-guide/nodes/delete-node.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                              \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u5378\u8f7d\u7684\u8282\u70b9\uff0c\u70b9\u51fb \u2507 \u9009\u62e9 \u79fb\u9664\u8282\u70b9 \u3002

                            3. \u8f93\u5165\u8282\u70b9\u540d\u79f0,\u5e76\u70b9\u51fb \u5220\u9664 \u8fdb\u884c\u786e\u8ba4\u3002

                            "},{"location":"kpanda/user-guide/nodes/labels-annotations.html","title":"\u6807\u7b7e\u4e0e\u6ce8\u89e3","text":"

                            \u6807\u7b7e\uff08Labels\uff09\u662f\u4e3a Pod\u3001\u8282\u70b9\u3001\u96c6\u7fa4\u7b49 Kubernetes \u5bf9\u8c61\u6dfb\u52a0\u7684\u6807\u8bc6\u6027\u952e\u503c\u5bf9\uff0c\u53ef\u7ed3\u5408\u6807\u7b7e\u9009\u62e9\u5668\u67e5\u627e\u5e76\u7b5b\u9009\u6ee1\u8db3\u67d0\u4e9b\u6761\u4ef6\u7684 Kubernetes \u5bf9\u8c61\u3002\u6bcf\u4e2a\u952e\u5bf9\u4e8e\u7ed9\u5b9a\u5bf9\u8c61\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002

                            \u6ce8\u89e3\uff08Annotations\uff09\u548c\u6807\u7b7e\u4e00\u6837\uff0c\u4e5f\u662f\u952e/\u503c\u5bf9\uff0c\u4f46\u4e0d\u5177\u5907\u6807\u8bc6\u6216\u7b5b\u9009\u529f\u80fd\u3002 \u4f7f\u7528\u6ce8\u89e3\u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u4efb\u610f\u7684\u5143\u6570\u636e\u3002 \u6ce8\u89e3\u7684\u952e\u901a\u5e38\u4f7f\u7528\u7684\u683c\u5f0f\u4e3a \u524d\u7f00\uff08\u53ef\u9009\uff09/\u540d\u79f0\uff08\u5fc5\u586b\uff09 \uff0c\u4f8b\u5982 nfd.node.kubernetes.io/extended-resources \u3002 \u5982\u679c\u7701\u7565\u524d\u7f00\uff0c\u8868\u793a\u8be5\u6ce8\u89e3\u952e\u662f\u7528\u6237\u79c1\u6709\u7684\u3002

                            \u6709\u5173\u6807\u7b7e\u548c\u6ce8\u89e3\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u8003 Kubernetes \u7684\u5b98\u65b9\u6587\u6863\u6807\u7b7e\u548c\u9009\u62e9\u7b97\u7b26\u6216\u6ce8\u89e3\u3002

                            \u6dfb\u52a0/\u5220\u9664\u6807\u7b7e\u4e0e\u6ce8\u89e3\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u4fee\u6539\u6807\u7b7e \u6216 \u4fee\u6539\u6ce8\u89e3 \u3002

                            3. \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u6dfb\u52a0\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u70b9\u51fb X \u53ef\u4ee5\u5220\u9664\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"kpanda/user-guide/nodes/node-authentication.html","title":"\u8282\u70b9\u8ba4\u8bc1","text":""},{"location":"kpanda/user-guide/nodes/node-authentication.html#ssh","title":"\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9","text":"

                            \u5982\u679c\u60a8\u9009\u62e9\u4f7f\u7528 SSH \u5bc6\u94a5\u4f5c\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u60a8\u9700\u8981\u6309\u7167\u5982\u4e0b\u8bf4\u660e\u914d\u7f6e\u516c\u79c1\u94a5\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5728** \u5f85\u5efa\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u4e2d\u7684\u4efb\u610f\u8282\u70b9 **\u4e0a\u751f\u6210\u516c\u79c1\u94a5\u3002

                              cd /root/.ssh\nssh-keygen -t rsa\n
                            2. \u6267\u884c ls \u547d\u4ee4\u67e5\u770b\u7ba1\u7406\u96c6\u7fa4\u4e0a\u7684\u5bc6\u94a5\u662f\u5426\u521b\u5efa\u6210\u529f\uff0c\u6b63\u786e\u53cd\u9988\u5982\u4e0b\uff1a

                              ls\nid_rsa  id_rsa.pub  known_hosts\n

                              \u5176\u4e2d\u540d\u4e3a id_rsa \u7684\u6587\u4ef6\u662f\u79c1\u94a5\uff0c\u540d\u4e3a id_rsa.pub \u7684\u6587\u4ef6\u662f\u516c\u94a5\u3002

                            3. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u5c06\u516c\u94a5\u6587\u4ef6 id_rsa.pub \u52a0\u8f7d\u5230\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9\u4e0a\u3002

                              ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.0.0.0\n

                              \u5c06\u4e0a\u9762\u547d\u4ee4\u4e2d\u7684 root@10.0.0.0 \u7528\u6237\u8d26\u53f7\u548c\u8282\u70b9 IP \u66ff\u6362\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u7528\u6237\u540d\u548c IP\u3002** \u9700\u8981\u5728\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6bcf\u53f0\u8282\u70b9\u90fd\u6267\u884c\u76f8\u540c\u7684\u64cd\u4f5c **\u3002

                            4. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u6b65\u9aa4 1 \u6240\u521b\u5efa\u7684\u79c1\u94a5\u6587\u4ef6 id_rsa \u3002

                              cat /root/.ssh/id_rsa\n

                              \u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\uff1a

                              -----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3UvyKINzY5BFuemQ+uJ6q+GqgfvnWwNC8HzZhpcMSjJy26MM\nUtBEBJxy8fMi57XcjYxPibXW/wnd+32ICCycqCwByUmuXeCC1cjlCQDqjcAvXae7\nY54IXGF7wm2IsMNwf0kjFEXjuS48FLDA0mGRaN3BG+Up5geXcHckg3K5LD8kXFFx\ndEmSIjdyw55NaUitmEdHzN7cIdfi6Z56jcV8dcFBgWKUx+ebiyPmZBkXToz6GnMF\nrswzzZCl+G6Jb2xTGy7g7ozb4BoZd1IpSD5EhDanRrESVE0C5YuJ5zUAC0CvVd1l\nv67AK8Ko6MXToHp01/bcsvlM6cqgwUFXZKVeOwIDAQABAoIBAQCO36GQlo3BEjxy\nM2HvGJmqrx+unDxafliRe4nVY2AD515Qf4xNSzke4QM1QoyenMOwf446krQkJPK0\nk+9nl6Xszby5gGCbK4BNFk8I6RaGPjZWeRx6zGUJf8avWJiPxx6yjz2esSC9RiR0\nF0nmiiefVMyAfgv2/5++dK2WUFNNRKLgSRRpP5bRaD5wMzzxtSSXrUon6217HO8p\n3RoWsI51MbVzhdVgpHUNABcoa0rpr9svT6XLKZxY8mxpKFYjM0Wv2JIDABg3kBvh\nQbJ7kStCO3naZjKMU9UuSqVJs06cflGYw7Or8/tABR3LErNQKPjkhAQqt0DXw7Iw\n3tKdTAJBAoGBAP687U7JAOqQkcphek2E/A/sbO/d37ix7Z3vNOy065STrA+ZWMZn\npZ6Ui1B/oJpoZssnfvIoz9sn559X0j67TljFALFd2ZGS0Fqh9KVCqDvfk+Vst1dq\n+3r/yZdTOyswoccxkJiC/GDwZGK0amJWqvob39JCZhDAKIGLbGMmjdAHAoGBAN5k\nm1WGnni1nZ+3dryIwgB6z1hWcnLTamzSET6KhSuo946ET0IRG9xtlheCx6dqICbr\nVk1Y4NtRZjK/p/YGx59rDWf7E3I8ZMgR7mjieOcUZ4lUlA4l7ZIlW/2WZHW+nUXO\nTi20fqJ8qSp4BUvOvuth1pz2GLUHe2/Fxjf7HIstAoGBAPHpPr9r+TfIlPsJeRj2\n6lzA3G8qWFRQfGRYjv0fjv0pA+RIb1rzgP/I90g5+63G6Z+R4WdcxI/OJJNY1iuG\nuw9n/pFxm7U4JC990BPE6nj5iLz+clpNGYckNDBF9VG9vFSrSDLdaYkxoVNvG/xJ\na9Na90H4lm7f3VewrPy310KvAoGAZr+mwNoEh5Kpc6xo8Gxi7aPP/mlaUVD6X7Ki\ngvmu02AqmC7rC4QqEiqTaONkaSXwGusqIWxJ3yp5hELmUBYLzszAEeV/s4zRp1oZ\ng133LBRSTbHFAdBmNdqK6Nu+KGRb92980UMOKvZbliKDl+W6cbfvVu+gtKrzTc3b\naevb4TUCgYEAnJAxyVYDP1nJf7bjBSHXQu1E/DMwbtrqw7dylRJ8cAzI7IxfSCez\n7BYWq41PqVd9/zrb3Pbh2phiVzKe783igAIMqummcjo/kZyCwFsYBzK77max1jF5\naPQsLbRS2aDz8kIH6jHPZ/R+15EROmdtLmA7vIJZGerWWQR0dUU+XXA=\n

                              \u5c06\u79c1\u94a5\u5185\u5bb9\u590d\u5236\u540e\u586b\u81f3\u754c\u9762\u5bc6\u94a5\u8f93\u5165\u6846\u3002

                            "},{"location":"kpanda/user-guide/nodes/node-check.html","title":"\u521b\u5efa\u96c6\u7fa4\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5","text":"

                            \u5728\u521b\u5efa\u96c6\u7fa4\u6216\u4e3a\u5df2\u6709\u96c6\u7fa4\u6dfb\u52a0\u8282\u70b9\u65f6\uff0c\u8bf7\u53c2\u9605\u4e0b\u8868\uff0c\u68c0\u67e5\u8282\u70b9\u914d\u7f6e\uff0c\u4ee5\u907f\u514d\u56e0\u8282\u70b9\u914d\u7f6e\u9519\u8bef\u5bfc\u81f4\u96c6\u7fa4\u521b\u5efa\u6216\u6269\u5bb9\u5931\u8d25\u3002

                            \u68c0\u67e5\u9879 \u63cf\u8ff0 \u64cd\u4f5c\u7cfb\u7edf \u53c2\u8003\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf SELinux \u5173\u95ed \u9632\u706b\u5899 \u5173\u95ed \u67b6\u6784\u4e00\u81f4\u6027 \u8282\u70b9\u95f4 CPU \u67b6\u6784\u4e00\u81f4\uff08\u5982\u5747\u4e3a ARM \u6216 x86\uff09 \u4e3b\u673a\u65f6\u95f4 \u6240\u6709\u4e3b\u673a\u95f4\u540c\u6b65\u8bef\u5dee\u5c0f\u4e8e 10 \u79d2\u3002 \u7f51\u7edc\u8054\u901a\u6027 \u8282\u70b9\u53ca\u5176 SSH \u7aef\u53e3\u80fd\u591f\u6b63\u5e38\u88ab\u5e73\u53f0\u8bbf\u95ee\u3002 CPU \u53ef\u7528 CPU \u8d44\u6e90\u5927\u4e8e 4 Core \u5185\u5b58 \u53ef\u7528\u5185\u5b58\u8d44\u6e90\u5927\u4e8e 8 GB"},{"location":"kpanda/user-guide/nodes/node-check.html#_2","title":"\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf","text":"\u67b6\u6784 \u64cd\u4f5c\u7cfb\u7edf \u5907\u6ce8 ARM Kylin Linux Advanced Server release V10 (Sword) SP2 \u63a8\u8350 ARM UOS Linux ARM openEuler x86 CentOS 7.x \u63a8\u8350 x86 Redhat 7.x \u63a8\u8350 x86 Redhat 8.x \u63a8\u8350 x86 Flatcar Container Linux by Kinvolk x86 Debian Bullseye, Buster, Jessie, Stretch x86 Ubuntu 16.04, 18.04, 20.04, 22.04 x86 Fedora 35, 36 x86 Fedora CoreOS x86 openSUSE Leap 15.x/Tumbleweed x86 Oracle Linux 7, 8, 9 x86 Alma Linux 8, 9 x86 Rocky Linux 8, 9 x86 Amazon Linux 2 x86 Kylin Linux Advanced Server release V10 (Sword) - SP2 \u6d77\u5149 x86 UOS Linux x86 openEuler"},{"location":"kpanda/user-guide/nodes/node-details.html","title":"\u8282\u70b9\u8be6\u60c5","text":"

                            \u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u4e2d\u5404\u4e2a\u8282\u70b9\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u8282\u70b9\u72b6\u6001\u3001\u6807\u7b7e\u3001\u8d44\u6e90\u7528\u91cf\u3001Pod\u3001\u76d1\u63a7\u4fe1\u606f\u7b49\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u72b6\u6001\u3001\u89d2\u8272\u3001\u6807\u7b7e\u3001CPU/\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001IP \u5730\u5740\u3001\u521b\u5efa\u65f6\u95f4\u3002

                            3. \u70b9\u51fb\u8282\u70b9\u540d\u79f0\uff0c\u53ef\u4ee5\u8fdb\u5165\u8282\u70b9\u8be6\u60c5\u9875\u9762\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u5305\u62ec\u6982\u89c8\u4fe1\u606f\u3001\u5bb9\u5668\u7ec4\u4fe1\u606f\u3001\u6807\u7b7e\u6ce8\u89e3\u4fe1\u606f\u3001\u4e8b\u4ef6\u5217\u8868\u3001\u72b6\u6001\u7b49\u3002

                              \u6b64\u5916\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684 YAML \u6587\u4ef6\u3001\u76d1\u63a7\u4fe1\u606f\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u7b49\u3002

                            "},{"location":"kpanda/user-guide/nodes/schedule.html","title":"\u8282\u70b9\u8c03\u5ea6","text":"

                            \u652f\u6301\u5c06\u8282\u70b9\u6682\u505c\u8c03\u5ea6\u6216\u6062\u590d\u8c03\u5ea6\u3002\u6682\u505c\u8c03\u5ea6\u6307\uff0c\u505c\u6b62\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002\u6062\u590d\u8c03\u5ea6\u6307\uff0c\u53ef\u4ee5\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6682\u505c\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                            3. \u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6062\u590d\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6062\u590d\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                            \u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u53ef\u80fd\u56e0\u7f51\u7edc\u60c5\u51b5\u6709\u6240\u5ef6\u8fdf\uff0c\u70b9\u51fb\u641c\u7d22\u6846\u53f3\u4fa7\u7684\u5237\u65b0\u56fe\u6807\u53ef\u4ee5\u5237\u65b0\u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u3002

                            "},{"location":"kpanda/user-guide/nodes/taints.html","title":"\u8282\u70b9\u6c61\u70b9\u7ba1\u7406","text":"

                            \u6c61\u70b9 (Taint) \u80fd\u591f\u4f7f\u8282\u70b9\u6392\u65a5\u67d0\u4e00\u7c7b Pod\uff0c\u907f\u514d Pod \u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002 \u6bcf\u4e2a\u8282\u70b9\u4e0a\u53ef\u4ee5\u5e94\u7528\u4e00\u4e2a\u6216\u591a\u4e2a\u6c61\u70b9\uff0c\u4e0d\u80fd\u5bb9\u5fcd\u8fd9\u4e9b\u6c61\u70b9\u7684 Pod \u5219\u4e0d\u4f1a\u88ab\u8c03\u5ea6\u8be5\u8282\u70b9\u4e0a\u3002

                            "},{"location":"kpanda/user-guide/nodes/taints.html#_2","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                            1. \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 NS Editor \u89d2\u8272\u6388\u6743\u6216\u5176\u4ed6\u66f4\u9ad8\u6743\u9650\u3002
                            2. \u4e3a\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\u4e4b\u540e\uff0c\u53ea\u6709\u80fd\u5bb9\u5fcd\u8be5\u6c61\u70b9\u7684 Pod \u624d\u80fd\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002
                            "},{"location":"kpanda/user-guide/nodes/taints.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u6982\u89c8 \u9875\u9762\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u4fee\u6539\u6c61\u70b9\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u70b9\u51fb \u4fee\u6539\u6c61\u70b9 \u6309\u94ae\u3002

                            3. \u5728\u5f39\u6846\u5185\u8f93\u5165\u6c61\u70b9\u7684\u952e\u503c\u4fe1\u606f\uff0c\u9009\u62e9\u6c61\u70b9\u6548\u679c\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u591a\u4e2a\u6c61\u70b9\uff0c\u70b9\u51fb\u6c61\u70b9\u6548\u679c\u53f3\u4fa7\u7684 X \u53ef\u4ee5\u5220\u9664\u6c61\u70b9\u3002

                              \u76ee\u524d\u652f\u6301\u4e09\u79cd\u6c61\u70b9\u6548\u679c\uff1a

                              • NoSchedule\uff1a\u65b0\u7684 Pod \u4e0d\u4f1a\u88ab\u8c03\u5ea6\u5230\u5e26\u6709\u6b64\u6c61\u70b9\u7684\u8282\u70b9\u4e0a\uff0c\u9664\u975e\u65b0\u7684 Pod \u5177\u6709\u76f8\u5339\u914d\u7684\u5bb9\u5fcd\u5ea6\u3002\u5f53\u524d\u6b63\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u4e0d\u4f1a \u88ab\u9a71\u9010\u3002
                              • NoExecute\uff1a\u8fd9\u4f1a\u5f71\u54cd\u5df2\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod\uff1a
                                • \u5982\u679c Pod \u4e0d\u80fd\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f1a\u9a6c\u4e0a\u88ab\u9a71\u9010\u3002
                                • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f46\u662f\u5728\u5bb9\u5fcd\u5ea6\u5b9a\u4e49\u4e2d\u6ca1\u6709\u6307\u5b9a tolerationSeconds\uff0c\u5219 Pod \u8fd8\u4f1a\u4e00\u76f4\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002
                                • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\u800c\u4e14\u6307\u5b9a\u4e86 tolerationSeconds\uff0c\u5219 Pod \u8fd8\u80fd\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u7ee7\u7eed\u8fd0\u884c\u6307\u5b9a\u7684\u65f6\u957f\u3002\u8fd9\u6bb5\u65f6\u95f4\u8fc7\u53bb\u540e\uff0c\u518d\u4ece\u8282\u70b9\u4e0a\u9a71\u9664\u8fd9\u4e9b Pod\u3002
                              • PreferNoSchedule\uff1a\u8fd9\u662f\u201c\u8f6f\u6027\u201d\u7684 NoSchedule\u3002\u63a7\u5236\u5e73\u9762\u5c06**\u5c1d\u8bd5**\u907f\u514d\u5c06\u4e0d\u5bb9\u5fcd\u6b64\u6c61\u70b9\u7684 Pod \u8c03\u5ea6\u5230\u8282\u70b9\u4e0a\uff0c\u4f46\u4e0d\u80fd\u4fdd\u8bc1\u5b8c\u5168\u907f\u514d\u3002\u6240\u4ee5\u8981\u5c3d\u91cf\u907f\u514d\u4f7f\u7528\u6b64\u6c61\u70b9\u3002

                            \u6709\u5173\u6c61\u70b9\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605 Kubernetes \u5b98\u65b9\u6587\u6863\uff1a\u6c61\u70b9\u548c\u5bb9\u5fcd\u5ea6\u3002

                            "},{"location":"kpanda/user-guide/olm/import-miniooperator.html","title":"\u5bfc\u5165\u79bb\u7ebf MinIo Operator","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u5982\u4f55\u5bfc\u5165 MinIo Operator\u3002

                            "},{"location":"kpanda/user-guide/olm/import-miniooperator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u4e14\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 kolm \u7ec4\u4ef6\uff08helm \u6a21\u677f\u641c\u7d22 kolm\uff09
                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 olm \u7ec4\u4ef6\u4e14\u7248\u672c >= 0.2.4 (helm \u6a21\u677f\u641c\u7d22 olm)
                            • \u652f\u6301\u6267\u884c Docker \u547d\u4ee4
                            • \u51c6\u5907\u4e00\u4e2a\u955c\u50cf\u4ed3\u5e93
                            "},{"location":"kpanda/user-guide/olm/import-miniooperator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728\u6267\u884c\u73af\u5883\u4e2d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u5e76\u5728\u540e\u7eed\u6b65\u9aa4\u4f7f\u7528\uff0c\u6267\u884c\u547d\u4ee4\uff1a

                              export OPM_IMG=10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0 \nexport BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3 \n

                              \u5982\u4f55\u83b7\u53d6\u4e0a\u8ff0\u955c\u50cf\u5730\u5740\uff1a

                              \u524d\u5f80 \u5bb9\u5668\u7ba1\u7406 -> \u9009\u62e9\u5f53\u524d\u96c6\u7fa4 -> helm \u5e94\u7528 -> \u67e5\u770b olm \u7ec4\u4ef6 -> \u63d2\u4ef6\u8bbe\u7f6e \uff0c\u627e\u5230\u540e\u7eed\u6b65\u9aa4\u6240\u9700 opm\uff0cminio\uff0cminio bundle\uff0cminio operator \u7684\u955c\u50cf\u3002

                              \u4ee5\u4e0a\u8bc9\u622a\u56fe\u4e3a\u4f8b\uff0c\u5219\u56db\u4e2a\u955c\u50cf\u5730\u5740\u5982\u4e0b\n\n# opm \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0\n\n# minio \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/minio/minio:RELEASE.2023-03-24T21-41-23Z\n\n# minio bundle \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3\n\n# minio operator \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/minio/operator:v5.0.3\n
                            2. \u6267\u884c opm \u547d\u4ee4\u83b7\u53d6\u79bb\u7ebf bundle \u955c\u50cf\u5305\u542b\u7684 operator\u3002

                              # \u521b\u5efa operator \u5b58\u653e\u76ee\u5f55\n$ mkdir minio-operator && cd minio-operator \n\n# \u83b7\u53d6 operator yaml \n$ docker run --user root  -v $PWD/minio-operator:/minio-operator ${OPM_IMG} alpha bundle unpack --skip-tls-verify -v -d ${BUNDLE_IMG} -o ./minio-operator\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 9 files\n
                            3. \u66ff\u6362\u00a0 minio-operator/manifests/minio-operator.clusterserviceversion.yaml\u00a0 \u6587\u4ef6\u4e2d\u7684\u6240\u6709\u955c\u50cf\u5730\u5740\u4e3a\u79bb\u7ebf\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u955c\u50cf\u3002

                              \u66ff\u6362\u524d\uff1a

                              \u66ff\u6362\u540e\uff1a

                            4. \u751f\u6210\u6784\u5efa bundle \u955c\u50cf\u7684 Dockerfile

                              $ docker run --user root  -v $PWD:/minio-operator -w /minio-operator ${OPM_IMG} alpha bundle generate --channels stable,beta -d /minio-operator/minio-operator/manifests -e stable -p minio-operator \u00a0\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 10 files\n
                            5. \u6267\u884c\u6784\u5efa\u547d\u4ee4\uff0c\u6784\u5efa bundle \u955c\u50cf\u4e14\u63a8\u9001\u5230\u79bb\u7ebf registry\u3002

                              # \u8bbe\u7f6e\u65b0\u7684 bundle image \nexport OFFLINE_BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3-offline \n\n$ docker build . -f bundle.Dockerfile -t ${OFFLINE_BUNDLE_IMG} \u00a0\n\n$ docker push ${OFFLINE_BUNDLE_IMG}\n
                            6. \u751f\u6210\u6784\u5efa catalog \u955c\u50cf\u7684 Dockerfile\u3002

                              $ docker run --user root  -v $PWD:/minio-operator  -w /minio-operator ${OPM_IMG} index add  --bundles ${OFFLINE_BUNDLE_IMG} --generate --binary-image ${OPM_IMG} --skip-tls-verify\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u251c\u2500\u2500 database\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 index.db\n\u251c\u2500\u2500 index.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n4 directories, 12 files\n
                            7. \u6784\u5efa catalog \u955c\u50cf

                              # \u8bbe\u7f6e\u65b0\u7684 catalog image  \nexport OFFLINE_CATALOG_IMG=10.5.14.200/release.daocloud.io/operator-framework/system-operator-index:v0.1.0-offline\n\n$ docker build . -f index.Dockerfile -t ${OFFLINE_CATALOG_IMG}  \n\n$ docker push ${OFFLINE_CATALOG_IMG}\n
                            8. \u524d\u5f80\u5bb9\u5668\u7ba1\u7406\uff0c\u66f4\u65b0 helm \u5e94\u7528 olm \u7684\u5185\u7f6e catsrc \u955c\u50cf\uff08\u586b\u5199\u6784\u5efa catalog \u955c\u50cf\u6307\u5b9a\u7684 ${catalog-image} \u5373\u53ef\uff09

                            9. \u66f4\u65b0\u6210\u529f\u540e\uff0cOperator Hub \u4e2d\u4f1a\u51fa\u73b0 minio-operator \u7ec4\u4ef6

                            "},{"location":"kpanda/user-guide/permissions/cluster-ns-auth.html","title":"\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"

                            \u5bb9\u5668\u7ba1\u7406\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u53ca\u5168\u5c40\u7528\u6237/\u7528\u6237\u7ec4\u7ba1\u7406\u5b9e\u73b0\u6388\u6743\uff0c\u5982\u9700\u4e3a\u7528\u6237\u6388\u4e88\u5bb9\u5668\u7ba1\u7406\u7684\u6700\u9ad8\u6743\u9650\uff08\u53ef\u4ee5\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u6240\u6709\u96c6\u7fa4\uff09\uff0c\u8bf7\u53c2\u89c1\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u3002

                            "},{"location":"kpanda/user-guide/permissions/cluster-ns-auth.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u4e4b\u524d\uff0c\u8bf7\u5b8c\u6210\u5982\u4e0b\u51c6\u5907\uff1a

                            • \u5df2\u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u521b\u5efa\u4e86\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\uff0c\u8bf7\u53c2\u8003\u7528\u6237\u3002

                            • \u4ec5 Kpanda Owner \u53ca\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin \u5177\u5907\u96c6\u7fa4\u6388\u6743\u80fd\u529b\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002

                            • \u4ec5 Kpanda Owner\u3001\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin\uff0c\u5f53\u524d\u547d\u540d\u7a7a\u95f4\u7684 NS Admin \u5177\u5907\u547d\u540d\u7a7a\u95f4\u6388\u6743\u80fd\u529b\u3002

                            "},{"location":"kpanda/user-guide/permissions/cluster-ns-auth.html#_3","title":"\u96c6\u7fa4\u6388\u6743","text":"
                            1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u9ed8\u8ba4\u4f4d\u4e8e \u96c6\u7fa4\u6743\u9650 \u9875\u7b7e\u3002

                            2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002

                            3. \u5728 \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              \u76ee\u524d\u4ec5\u652f\u6301\u7684\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u8981\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c \u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002

                            4. \u8fd4\u56de\u96c6\u7fa4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                            "},{"location":"kpanda/user-guide/permissions/cluster-ns-auth.html#_4","title":"\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"
                            1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u70b9\u51fb \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u7b7e\u3002

                            2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002\u5728 \u6dfb\u52a0\u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff0c\u4ee5\u53ca\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              \u76ee\u524d\u652f\u6301\u7684\u547d\u540d\u7a7a\u95f4\u89d2\u8272\u4e3a NS Admin\u3001NS Editor\u3001NS Viewer\uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u6743\u9650\u6388\u6743\u3002

                            3. \u8fd4\u56de\u547d\u540d\u7a7a\u95f4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                              Tip

                              \u540e\u7eed\u5982\u9700\u5220\u9664\u6216\u7f16\u8f91\u6743\u9650\uff0c\u53ef\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664 \u3002

                            "},{"location":"kpanda/user-guide/permissions/custom-kpanda-role.html","title":"\u589e\u52a0 Kpanda \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9","text":"

                            \u8fc7\u53bb Kpanda \u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\uff08rbac rules\uff09\u90fd\u662f\u63d0\u524d\u9884\u5b9a\u4e49\u597d\u7684\u4e14\u7528\u6237\u65e0\u6cd5\u4fee\u6539\uff0c\u56e0\u4e3a\u4ee5\u524d\u4fee\u6539\u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\u4e4b\u540e\u4e5f\u4f1a\u88ab Kpanda \u63a7\u5236\u5668\u8fd8\u539f\u6210\u9884\u5b9a\u4e49\u7684\u6743\u9650\u70b9\u3002 \u4e3a\u4e86\u652f\u6301\u66f4\u52a0\u7075\u6d3b\u7684\u6743\u9650\u914d\u7f6e\uff0c\u6ee1\u8db3\u5bf9\u7cfb\u7edf\u89d2\u8272\u7684\u81ea\u5b9a\u4e49\u9700\u6c42\uff0c\u76ee\u524d Kpanda \u652f\u6301\u4e3a\u5185\u7f6e\u7cfb\u7edf\u89d2\u8272\uff08cluster admin\u3001ns admin\u3001ns editor\u3001ns viewer\uff09\u4fee\u6539\u6743\u9650\u70b9\u3002 \u4ee5\u4e0b\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u65b0\u589e ns-viewer \u6743\u9650\u70b9\uff0c\u5c1d\u8bd5\u589e\u52a0\u53ef\u4ee5\u5220\u9664 Deployment \u7684\u6743\u9650\u3002\u5176\u4ed6\u6743\u9650\u70b9\u64cd\u4f5c\u7c7b\u4f3c\u3002

                            "},{"location":"kpanda/user-guide/permissions/custom-kpanda-role.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u9002\u7528\u4e8e\u5bb9\u5668\u7ba1\u7406 v0.27.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                            • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Viewer \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            Note

                            • \u53ea\u9700\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0cKpanda \u63a7\u5236\u5668\u4f1a\u628a Global Cluster \u589e\u52a0\u7684\u6743\u9650\u70b9\u540c\u6b65\u5230\u6240\u6709\u63a5\u5165\u5b50\u96c6\u7fa4\u4e2d\uff0c\u540c\u6b65\u9700\u4e00\u6bb5\u65f6\u95f4\u624d\u80fd\u5b8c\u6210
                            • \u53ea\u80fd\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0c\u5728\u5b50\u96c6\u7fa4\u65b0\u589e\u7684\u6743\u9650\u70b9\u4f1a\u88ab Global Cluster \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9\u8986\u76d6
                            • \u53ea\u652f\u6301\u4f7f\u7528\u56fa\u5b9a Label \u7684 ClusterRole \u8ffd\u52a0\u6743\u9650\uff0c\u4e0d\u652f\u6301\u66ff\u6362\u6216\u8005\u5220\u9664\u6743\u9650\uff0c\u4e5f\u4e0d\u80fd\u4f7f\u7528 role \u8ffd\u52a0\u6743\u9650\uff0c\u5185\u7f6e\u89d2\u8272\u8ddf\u7528\u6237\u521b\u5efa\u7684 ClusterRole Label \u5bf9\u5e94\u5173\u7cfb\u5982\u4e0b

                              cluster-admin: rbac.kpanda.io/role-template-cluster-admin: \"true\"\ncluster-edit: rbac.kpanda.io/role-template-cluster-edit: \"true\"\ncluster-view: rbac.kpanda.io/role-template-cluster-view: \"true\"\nns-admin: rbac.kpanda.io/role-template-ns-admin: \"true\"\nns-edit: rbac.kpanda.io/role-template-ns-edit: \"true\"\nns-view: rbac.kpanda.io/role-template-ns-view: \"true\"\n
                            "},{"location":"kpanda/user-guide/permissions/custom-kpanda-role.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u4f7f\u7528 admin \u6216\u8005 cluster admin \u6743\u9650\u7684\u7528\u6237\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d

                            2. \u6388\u6743 ns-viewer\uff0c\u7528\u6237\u6709\u8be5 namespace ns-view \u6743\u9650

                            3. \u5207\u6362\u767b\u5f55\u7528\u6237\u4e3a ns-viewer\uff0c\u6253\u5f00\u63a7\u5236\u53f0\u83b7\u53d6 ns-viewer \u7528\u6237\u5bf9\u5e94\u7684 token\uff0c\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u53d1\u73b0\u65e0\u5220\u9664\u6743\u9650

                              [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n{\"code\":7,\"message\":\"[RBAC] delete resources(deployments: nginx) is forbidden for user(ns-viewer) in cluster(cluster-member)\",\"details\":[]}[root@master-01 ~]#\n[root@master-01 ~]#\n
                            4. \u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u521b\u5efa\u5982\u4e0b ClusterRole\uff1a

                              apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: append-ns-view # (1)!\n  labels:\n    rbac.kpanda.io/role-template-ns-view: \"true\" # (2)!\nrules:\n  - apiGroups: [ \"apps\" ]\n    resources: [ \"deployments\" ]\n    verbs: [ \"delete\" ]\n
                              1. \u6b64\u5b57\u6bb5\u503c\u53ef\u4efb\u610f\u6307\u5b9a\uff0c\u53ea\u9700\u4e0d\u91cd\u590d\u4e14\u7b26\u5408 Kubernetes \u8d44\u6e90\u540d\u79f0\u89c4\u5219\u8981\u6c42
                              2. \u6ce8\u610f\u7ed9\u4e0d\u540c\u7684\u89d2\u8272\u6dfb\u52a0\u6743\u9650\u65f6\u5e94\u6253\u4e0a\u4e0d\u540c\u7684 label
                            5. \u7b49\u5f85 Kpanda \u63a7\u5236\u5668\u6dfb\u52a0\u7528\u6237\u521b\u5efa\u6743\u9650\u5230\u5185\u7f6e\u89d2\u8272 ns-viewer \u4e2d\uff0c\u53ef\u67e5\u770b\u5bf9\u5e94\u5185\u7f6e\u89d2\u8272\u5982\u662f\u5426\u6709\u4e0a\u4e00\u6b65\u65b0\u589e\u7684\u6743\u9650\u70b9

                              [root@master-01 ~]# kubectl get clusterrole role-template-ns-view -oyaml|grep deployments -C 10|tail -n 6\n
                              - apiGroups:\n  - apps\n  resources:\n  - deployments\n  verbs:\n  - delete\n

                            6. \u518d\u6b21\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u8fd9\u6b21\u6210\u529f\u5220\u9664\u4e86\u3002\u4e5f\u5c31\u662f\u8bf4\uff0cns-viewer \u6210\u529f\u65b0\u589e\u4e86\u5220\u9664 Deployment \u7684\u6743\u9650\u3002

                              [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n
                            "},{"location":"kpanda/user-guide/permissions/permission-brief.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

                            \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u4ee5\u53ca Kubernetes RBAC \u6743\u9650\u7ba1\u7406\u6253\u9020\u7684\u591a\u7ef4\u5ea6\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u3002 \u652f\u6301\u96c6\u7fa4\u7ea7\u3001\u547d\u540d\u7a7a\u95f4\u7ea7\u7684\u6743\u9650\u63a7\u5236\uff0c\u5e2e\u52a9\u7528\u6237\u4fbf\u6377\u7075\u6d3b\u5730\u5bf9\u79df\u6237\u4e0b\u7684 IAM \u7528\u6237\u3001\u7528\u6237\u7ec4\uff08\u7528\u6237\u7684\u96c6\u5408\uff09\u8bbe\u5b9a\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650\u3002

                            "},{"location":"kpanda/user-guide/permissions/permission-brief.html#_2","title":"\u96c6\u7fa4\u6743\u9650","text":"

                            \u96c6\u7fa4\u6743\u9650\u57fa\u4e8e Kubernetes RBAC \u7684 ClusterRolebinding \u6388\u6743\uff0c\u96c6\u7fa4\u6743\u9650\u8bbe\u7f6e\u53ef\u8ba9\u7528\u6237/\u7528\u6237\u7ec4\u5177\u5907\u96c6\u7fa4\u76f8\u5173\u6743\u9650\u3002 \u76ee\u524d\u7684\u9ed8\u8ba4\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff08\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u5220\u9664\u6743\u9650\uff09\u3002

                            "},{"location":"kpanda/user-guide/permissions/permission-brief.html#cluster-admin","title":"Cluster Admin","text":"

                            Cluster Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                            • \u53ef\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b\u5bf9\u5e94\u96c6\u7fa4

                            • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\u53ca\u96c6\u7fa4\u5185\u6240\u6709\u8d44\u6e90

                            • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u96c6\u7fa4\u5185\u89d2\u8272 (Cluster Admin\u3001NS Admin\u3001NS Editor\u3001NS Viewer)

                            \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-cluster-admin\n  resourceVersion: \"15168\"\n  uid: f8f86d42-d5ef-47aa-b284-097615795076\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n
                            "},{"location":"kpanda/user-guide/permissions/permission-brief.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u6743\u9650","text":"

                            \u547d\u540d\u7a7a\u95f4\u6743\u9650\u662f\u57fa\u4e8e Kubernetes RBAC \u80fd\u529b\u7684\u6388\u6743\uff0c\u53ef\u4ee5\u5b9e\u73b0\u4e0d\u540c\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5bf9\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650(\u5305\u62ec Kubernetes API \u6743\u9650)\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\uff1aKubernetes RBAC\u3002\u76ee\u524d\u5bb9\u5668\u7ba1\u7406\u7684\u9ed8\u8ba4\u89d2\u8272\u4e3a\uff1aNS Admin\u3001NS Editor\u3001NS Viewer\u3002

                            "},{"location":"kpanda/user-guide/permissions/permission-brief.html#ns-admin","title":"NS Admin","text":"

                            NS Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                            • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                            • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                            • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u89d2\u8272 (NS Editor\u3001NS Viewer)

                            \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-admin\n  resourceVersion: \"15173\"\n  uid: 69f64c7e-70e7-4c7c-a3e0-053f507f2bc3\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'    \n
                            "},{"location":"kpanda/user-guide/permissions/permission-brief.html#ns-editor","title":"NS Editor","text":"

                            NS Editor \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                            • \u53ef\u67e5\u770b\u5bf9\u5e94\u6709\u6743\u9650\u7684\u547d\u540d\u7a7a\u95f4
                            • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d
                            \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-edit\n  resourceVersion: \"15175\"\n  uid: ca9e690e-96c0-4978-8915-6e4c00c748fe\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - '*'\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - '*'\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - '*'\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - '*'\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - '*'      \n
                            "},{"location":"kpanda/user-guide/permissions/permission-brief.html#ns-viewer","title":"NS Viewer","text":"

                            NS Viewer \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                            • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                            • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                            \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-view\n  resourceVersion: \"15183\"\n  uid: 853888fd-6ee8-42ac-b91e-63923918baf8\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - get\n  - list\n  - watch \n
                            "},{"location":"kpanda/user-guide/permissions/permission-brief.html#faq","title":"\u6743\u9650 FAQ","text":"
                            1. \u5168\u5c40\u6743\u9650\u548c\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u7ba1\u7406\u7684\u5173\u7cfb\uff1f

                              \u7b54\uff1a\u5168\u5c40\u6743\u9650\u4ec5\u6388\u6743\u4e3a\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u53ef\u7ba1\u7406\u6240\u6709\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u7f16\u8f91\u3001\u5220\u9664\uff1b\u800c\u5bf9\u4e8e\u7ec6\u7c92\u5ea6\u7684\u6743\u9650\uff0c\u5982\u5355\u4e2a\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\uff0c\u5355\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u5220\u9664\u6743\u9650\uff0c\u9700\u8981\u57fa\u4e8e Kubernetes RBAC \u7684\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8fdb\u884c\u5b9e\u73b0\u3002 \u4e00\u822c\u6743\u9650\u7684\u7528\u6237\u4ec5\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u8fdb\u884c\u6388\u6743\u5373\u53ef\u3002

                            2. \u76ee\u524d\u4ec5\u652f\u6301\u56db\u4e2a\u9ed8\u8ba4\u89d2\u8272\uff0c\u540e\u53f0\u81ea\u5b9a\u4e49\u89d2\u8272\u7684 RoleBinding \u4ee5\u53ca ClusterRoleBinding \uff08Kubernetes \u7ec6\u7c92\u5ea6\u7684 RBAC\uff09\u662f\u5426\u4e5f\u80fd\u751f\u6548\uff1f

                              \u7b54\uff1a\u76ee\u524d\u81ea\u5b9a\u4e49\u6743\u9650\u6682\u65f6\u65e0\u6cd5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u8fdb\u884c\u7ba1\u7406\uff0c\u4f46\u662f\u901a\u8fc7 kubectl \u521b\u5efa\u7684\u6743\u9650\u89c4\u5219\u540c\u6837\u80fd\u751f\u6548\u3002

                            "},{"location":"kpanda/user-guide/scale/create-hpa.html","title":"\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u521b\u5efa HPA","text":"

                            DaoCloud Enterprise 5.0 \u652f\u6301 Pod \u8d44\u6e90\u57fa\u4e8e\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\uff08Horizontal Pod Autoscaling, HPA\uff09\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u7528\u91cf\u53ca\u81ea\u5b9a\u4e49\u6307\u6807\u6307\u6807\u6765\u52a8\u6001\u8c03\u6574 Pod \u8d44\u6e90\u7684\u526f\u672c\u6570\u91cf\u3002 \u4f8b\u5982\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u57fa\u4e8e CPU \u5229\u7528\u7387\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u540e\uff0c\u5f53 Pod \u7684 CPU \u5229\u7528\u7387\u8d85\u8fc7/\u4f4e\u4e8e\u60a8\u8bbe\u7f6e\u7684\u6307\u6807\u9600\u503c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u63a7\u5236\u5668\u5c06\u4f1a\u81ea\u52a8\u589e\u52a0/\u8f83\u5c11 Pod \u526f\u672c\u6570\u3002

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u7684\u5f39\u6027\u4f38\u7f29\u3002

                            Note

                            1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                            2. \u5982\u679c\u57fa\u4e8e CPU \u5229\u7528\u7387\u521b\u5efa HPA \u7b56\u7565\uff0c\u5fc5\u987b\u9884\u5148\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u914d\u7f6e\u9650\u5236\uff08Limit\uff09\uff0c\u5426\u5219\u65e0\u6cd5\u8ba1\u7b97 CPU \u5229\u7528\u7387\u3002
                            3. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                            "},{"location":"kpanda/user-guide/scale/create-hpa.html#_1","title":"\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565","text":"

                            \u7cfb\u7edf\u5185\u7f6e\u4e86 CPU \u548c\u5185\u5b58\u4e24\u79cd\u5f39\u6027\u4f38\u7f29\u6307\u6807\u4ee5\u6ee1\u8db3\u7528\u6237\u7684\u57fa\u7840\u4e1a\u52a1\u4f7f\u7528\u573a\u666f\u3002

                            "},{"location":"kpanda/user-guide/scale/create-hpa.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5df2\u5b8c\u6210 metrics-server \u63d2\u4ef6\u5b89\u88c5 \u3002

                            "},{"location":"kpanda/user-guide/scale/create-hpa.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                            3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                            4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u63d2\u4ef6\uff0c\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                            5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                              • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                              • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                              • \u76ee\u6807 CPU \u5229\u7528\u7387\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b Pod \u7684 CPU \u4f7f\u7528\u7387\u3002\u8ba1\u7b97\u65b9\u5f0f\u4e3a\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u7684 Pod \u8d44\u6e90 / \u5de5\u4f5c\u8d1f\u8f7d\u7684\u8bf7\u6c42\uff08request\uff09\u503c\u3002\u5f53\u5b9e\u9645 CPU \u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                              • \u76ee\u6807\u5185\u5b58\u7528\u91cf\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b\u7684 Pod \u7684\u5185\u5b58\u7528\u91cf\u3002\u5f53\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                              • \u526f\u672c\u8303\u56f4\uff1aPod \u526f\u672c\u6570\u7684\u5f39\u6027\u4f38\u7f29\u8303\u56f4\u3002\u9ed8\u8ba4\u533a\u95f4\u4e3a\u4e3a 1 - 10\u3002
                            6. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u76f8\u5173\u4e8b\u4ef6\u3002

                            "},{"location":"kpanda/user-guide/scale/create-vpa.html","title":"\u521b\u5efa VPA","text":"

                            \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u901a\u8fc7\u76d1\u63a7 Pod \u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u8d44\u6e90\u7533\u8bf7\u548c\u7528\u91cf\uff0c \u8ba1\u7b97\u51fa\u5bf9\u8be5 Pod \u800c\u8a00\u6700\u9002\u5408\u7684 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u3002\u4f7f\u7528 VPA \u53ef\u4ee5\u66f4\u52a0\u5408\u7406\u5730\u4e3a\u96c6\u7fa4\u4e0b\u6bcf\u4e2a Pod \u5206\u914d\u8d44\u6e90\uff0c\u63d0\u9ad8\u96c6\u7fa4\u7684\u6574\u4f53\u8d44\u6e90\u5229\u7528\u7387\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002

                            DCE 5.0 \u652f\u6301\u901a\u8fc7\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\uff0c\u57fa\u4e8e\u6b64\u529f\u80fd\u53ef\u4ee5\u6839\u636e\u5bb9\u5668\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u52a8\u6001\u8c03\u6574 Pod \u8bf7\u6c42\u503c\u3002 DCE 5.0 \u652f\u6301\u901a\u8fc7\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u65b9\u5f0f\u6765\u4fee\u6539\u8d44\u6e90\u8bf7\u6c42\u503c\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u8981\u8fdb\u884c\u914d\u7f6e\u3002

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e Pod \u5782\u76f4\u4f38\u7f29\u3002

                            Warning

                            \u4f7f\u7528 VPA \u4fee\u6539 Pod \u8d44\u6e90\u8bf7\u6c42\u4f1a\u89e6\u53d1 Pod \u91cd\u542f\u3002\u7531\u4e8e Kubernetes \u672c\u8eab\u7684\u9650\u5236\uff0c Pod \u91cd\u542f\u540e\u53ef\u80fd\u4f1a\u88ab\u8c03\u5ea6\u5230\u5176\u5b83\u8282\u70b9\u4e0a\u3002

                            "},{"location":"kpanda/user-guide/scale/create-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3001\u7528\u6237\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 metrics-server \u548c VPA \u63d2\u4ef6\u3002

                            "},{"location":"kpanda/user-guide/scale/create-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u76ee\u524d\u96c6\u7fa4\uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u627e\u5230\u9700\u8981\u521b\u5efa VPA \u7684\u8d1f\u8f7d\uff0c\u70b9\u51fb\u8be5\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                              3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\uff0c\u786e\u8ba4\u5df2\u7ecf\u5b89\u88c5\u4e86\u76f8\u5173\u63d2\u4ef6\u5e76\u4e14\u63d2\u4ef6\u662f\u5426\u8fd0\u884c\u6b63\u5e38\u3002

                            3. \u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\uff0c\u5e76\u914d\u7f6e VPA \u5782\u76f4\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                              • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 vpa-my-dep\u3002
                              • \u4f38\u7f29\u6a21\u5f0f\uff1a\u6267\u884c\u4fee\u6539 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u7684\u65b9\u5f0f\uff0c\u76ee\u524d\u5782\u76f4\u4f38\u7f29\u652f\u6301\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u4f38\u7f29\u6a21\u5f0f\u3002
                                • \u624b\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u8ba1\u7b97\u51fa\u63a8\u8350\u7684\u8d44\u6e90\u914d\u7f6e\u503c\u540e\uff0c\u9700\u7528\u6237\u624b\u52a8\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                                • \u81ea\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u81ea\u52a8\u8ba1\u7b97\u548c\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                              • \u76ee\u6807\u5bb9\u5668\uff1a\u9009\u62e9\u9700\u8981\u8fdb\u884c\u5782\u76f4\u4f38\u7f29\u7684\u5bb9\u5668\u3002
                            4. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\u3002

                            Note

                            \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c--min-replicas \u7684\u503c\u4e3a 2\u3002\u8868\u793a\u5f53\u526f\u672c\u6570\u5927\u4e8e 1 \u65f6\uff0cVPA \u624d\u4f1a\u751f\u6548\uff0c \u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 updater \u7684 --min-replicas \u53c2\u6570\u503c\u6765\u6539\u53d8\u8fd9\u4e00\u9ed8\u8ba4\u884c\u4e3a\u3002

                            spec: \n  containers: \n  - name: updater \n  args: \n  - \"--min-replicas=2\"\n
                            "},{"location":"kpanda/user-guide/scale/custom-hpa.html","title":"\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa HPA","text":"

                            \u5f53\u7cfb\u7edf\u5185\u7f6e\u7684 CPU \u548c\u5185\u5b58\u4e24\u79cd\u6307\u6807\u4e0d\u80fd\u6ee1\u8db3\u60a8\u4e1a\u52a1\u7684\u5b9e\u9645\u9700\u6c42\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e ServiceMonitoring \u6765\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c \u5e76\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002

                            Note

                            1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                            2. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                            "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c \u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762
                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa
                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743
                            • \u5df2\u5b89\u88c5 metrics-server \u63d2\u4ef6
                            • \u5df2\u5b89\u88c5 insight-agent \u63d2\u4ef6
                            • \u5df2\u5b89\u88c5 Prometheus-adapter \u63d2\u4ef6
                            "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                            3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                            4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u3001Insight\u3001Prometheus-adapter \u63d2\u4ef6\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                              Note

                              \u5982\u679c\u76f8\u5173\u63d2\u4ef6\u672a\u5b89\u88c5\u6216\u63d2\u4ef6\u5904\u4e8e\u5f02\u5e38\u72b6\u6001\uff0c\u60a8\u5728\u9875\u9762\u4e0a\u5c06\u65e0\u6cd5\u770b\u89c1\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u5165\u53e3\u3002

                            5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                              • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                              • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                              • \u8d44\u6e90\u7c7b\u578b\uff1a\u8fdb\u884c\u76d1\u63a7\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u7c7b\u578b\uff0c\u5305\u542b Pod \u548c Service \u4e24\u79cd\u7c7b\u578b\u3002
                              • \u6307\u6807\uff1a\u4f7f\u7528 ServiceMonitoring \u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u6216\u7cfb\u7edf\u5185\u7f6e\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u3002
                              • \u6570\u636e\u7c7b\u578b\uff1a\u7528\u4e8e\u8ba1\u7b97\u6307\u6807\u503c\u7684\u65b9\u6cd5\uff0c\u5305\u542b\u76ee\u6807\u503c\u548c\u76ee\u6807\u5e73\u5747\u503c\u4e24\u79cd\u7c7b\u578b\uff0c\u5f53\u8d44\u6e90\u7c7b\u578b\u4e3a Pod \u65f6\uff0c\u53ea\u652f\u6301\u4f7f\u7528\u76ee\u6807\u5e73\u5747\u503c\u3002
                            "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_3","title":"\u64cd\u4f5c\u793a\u4f8b","text":"

                            \u672c\u6848\u4f8b\u4ee5 Golang \u4e1a\u52a1\u7a0b\u5e8f\u4e3a\u4f8b\uff0c\u8be5\u793a\u4f8b\u7a0b\u5e8f\u66b4\u9732\u4e86 httpserver_requests_total \u6307\u6807\uff0c\u5e76\u8bb0\u5f55 HTTP \u7684\u8bf7\u6c42\uff0c\u901a\u8fc7\u8be5\u6307\u6807\u53ef\u4ee5\u8ba1\u7b97\u51fa\u4e1a\u52a1\u7a0b\u5e8f\u7684 QPS \u503c\u3002

                            "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_4","title":"\u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f","text":"

                            \u4f7f\u7528 Deployment \u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f\uff1a

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: httpserver\n  namespace: httpserver\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: httpserver\n  template:\n    metadata:\n      labels:\n        app: httpserver\n    spec:\n      containers:\n      - name: httpserver\n        image: registry.imroc.cc/test/httpserver:custom-metrics\n        imagePullPolicy: Always\n---\n\napiVersion: v1\nkind: Service\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    app: httpserver\n  annotations:\n    prometheus.io/scrape: \"true\"\n    prometheus.io/path: \"/metrics\"\n    prometheus.io/port: \"http\"\nspec:\n  type: ClusterIP\n  ports:\n  - port: 80\n    protocol: TCP\n    name: http\n  selector:\n    app: httpserver\n
                            "},{"location":"kpanda/user-guide/scale/custom-hpa.html#prometheus","title":"Prometheus \u91c7\u96c6\u4e1a\u52a1\u76d1\u63a7","text":"

                            \u82e5\u5df2\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa ServiceMonitor \u7684 CRD \u5bf9\u8c61\u914d\u7f6e Prometheus\u3002

                            \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u641c\u7d22\u201cservicemonitors.monitoring.coreos.com\"\uff0c\u70b9\u51fb\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002 \u901a\u8fc7\u521b\u5efa YAML\uff0c\u5728\u547d\u540d\u7a7a\u95f4 httpserver \u4e0b\u521b\u5efa\u5982\u4e0b\u793a\u4f8b\u7684 CRD\uff1a

                            apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  endpoints:\n  - port: http\n    interval: 5s\n  namespaceSelector:\n    matchNames:\n    - httpserver\n  selector:\n    matchLabels:\n      app: httpserver\n

                            Note

                            \u82e5\u901a\u8fc7 insight \u5b89\u88c5 Prometheus\uff0c\u5219 serviceMonitor \u4e0a\u5fc5\u987b\u6253\u4e0a operator.insight.io/managed-by: insight \u8fd9\u4e2a label\uff0c\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\u5b89\u88c5\u5219\u65e0\u9700\u6b64 label\u3002

                            "},{"location":"kpanda/user-guide/scale/custom-hpa.html#prometheus-adapter","title":"\u5728 prometheus-adapter \u4e2d\u914d\u7f6e\u6307\u6807\u89c4\u5219","text":"

                            \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 \u641c\u7d22 \u201cprometheus-adapter\"\uff0c\u901a\u8fc7\u64cd\u4f5c\u680f\u8fdb\u5165\u66f4\u65b0\u9875\u9762\uff0c\u5728 YAML \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                            rules:\n  custom:\n    - metricsQuery: sum(rate(<<.Series>>{<<.LabelMatchers>>}[1m])) by (<<.GroupBy>>)\n      name:\n        as: httpserver_requests_qps\n        matches: httpserver_requests_total\n      resources:\n        template: <<.Resource>>\n      seriesQuery: httpserver_requests_total\n

                            "},{"location":"kpanda/user-guide/scale/custom-hpa.html#_5","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570","text":"

                            \u6309\u7167\u4e0a\u8ff0\u6b65\u9aa4\u5728 Deployment \u4e2d\u627e\u5230\u5e94\u7528\u7a0b\u5e8f httpserver \u5e76\u901a\u8fc7\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa\u5f39\u6027\u4f38\u7f29\u3002

                            "},{"location":"kpanda/user-guide/scale/hpa-cronhpa-compatibility-rules.html","title":"HPA \u548c CronHPA \u517c\u5bb9\u89c4\u5219","text":"

                            HPA \u5168\u79f0\u4e3a HorizontalPodAutoscaler\uff0c\u5373 Pod \u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                            CronHPA \u5168\u79f0\u4e3a Cron HorizontalPodAutoscaler\uff0c\u5373 Pod \u5b9a\u65f6\u7684\u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                            "},{"location":"kpanda/user-guide/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa","title":"CronHPA \u548c HPA \u517c\u5bb9\u51b2\u7a81","text":"

                            \u5b9a\u65f6\u4f38\u7f29 CronHPA \u901a\u8fc7\u8bbe\u7f6e\u5b9a\u65f6\u7684\u65b9\u5f0f\u89e6\u53d1\u5bb9\u5668\u7684\u6c34\u5e73\u526f\u672c\u4f38\u7f29\u3002\u4e3a\u4e86\u9632\u6b62\u7a81\u53d1\u7684\u6d41\u91cf\u51b2\u51fb\u7b49\u72b6\u51b5\uff0c \u60a8\u53ef\u80fd\u5df2\u7ecf\u914d\u7f6e HPA \u4fdd\u969c\u5e94\u7528\u7684\u6b63\u5e38\u8fd0\u884c\u3002\u5982\u679c\u540c\u65f6\u68c0\u6d4b\u5230\u4e86 HPA \u548c CronHPA \u7684\u5b58\u5728\uff0c \u7531\u4e8e CronHPA \u548c HPA \u76f8\u4e92\u72ec\u7acb\u65e0\u6cd5\u611f\u77e5\uff0c\u5c31\u4f1a\u51fa\u73b0\u4e24\u4e2a\u63a7\u5236\u5668\u5404\u81ea\u5de5\u4f5c\uff0c\u540e\u6267\u884c\u7684\u64cd\u4f5c\u4f1a\u8986\u76d6\u5148\u6267\u884c\u7684\u64cd\u4f5c\u3002

                            \u5bf9\u6bd4 CronHPA \u548c HPA \u7684\u5b9a\u4e49\u6a21\u677f\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230\u4ee5\u4e0b\u51e0\u70b9\uff1a

                            • CronHPA \u548c HPA \u90fd\u662f\u901a\u8fc7 scaleTargetRef \u5b57\u6bb5\u6765\u83b7\u53d6\u4f38\u7f29\u5bf9\u8c61\u3002
                            • CronHPA \u901a\u8fc7 jobs \u7684 crontab \u89c4\u5219\u5b9a\u65f6\u4f38\u7f29\u526f\u672c\u6570\u3002
                            • HPA \u901a\u8fc7\u8d44\u6e90\u5229\u7528\u7387\u5224\u65ad\u4f38\u7f29\u60c5\u51b5\u3002

                            Note

                            \u5982\u679c\u540c\u65f6\u8bbe\u7f6e CronHPA \u548c HPA\uff0c\u4f1a\u51fa\u73b0 CronHPA \u548c HPA \u540c\u65f6\u64cd\u4f5c\u4e00\u4e2a scaleTargetRef \u7684\u573a\u666f\u3002

                            "},{"location":"kpanda/user-guide/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa_1","title":"CronHPA \u548c HPA \u517c\u5bb9\u65b9\u6848","text":"

                            \u4ece\u4e0a\u6587\u53ef\u77e5\uff0cCronHPA \u548c HPA \u540c\u65f6\u4f7f\u7528\u4f1a\u5bfc\u81f4\u540e\u6267\u884c\u7684\u64cd\u4f5c\u8986\u76d6\u5148\u6267\u884c\u64cd\u4f5c\u7684\u672c\u8d28\u539f\u56e0\u662f\u4e24\u4e2a\u63a7\u5236\u5668\u65e0\u6cd5\u76f8\u4e92\u611f\u77e5\uff0c \u90a3\u4e48\u53ea\u9700\u8981\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u5c31\u80fd\u89e3\u51b3\u51b2\u7a81\u95ee\u9898\u3002

                            \u7cfb\u7edf\u4f1a\u5c06 HPA \u4f5c\u4e3a\u5b9a\u65f6\u4f38\u7f29 CronHPA \u7684\u6269\u7f29\u5bb9\u5bf9\u8c61\uff0c\u4ece\u800c\u5b9e\u73b0\u5bf9\u8be5 HPA \u5b9a\u4e49\u7684 Deployment \u5bf9\u8c61\u7684\u5b9a\u65f6\u6269\u7f29\u5bb9\u3002

                            HPA \u7684\u5b9a\u4e49\u5c06 Deployment \u914d\u7f6e\u5728 scaleTargetRef \u5b57\u6bb5\u4e0b\uff0c\u7136\u540e Deployment \u901a\u8fc7\u81ea\u8eab\u5b9a\u4e49\u67e5\u627e ReplicaSet\uff0c\u6700\u540e\u901a\u8fc7 ReplicaSet \u8c03\u6574\u771f\u5b9e\u7684\u526f\u672c\u6570\u76ee\u3002

                            DCE 5.0 \u5c06 CronHPA \u4e2d\u7684 scaleTargetRef \u8bbe\u7f6e\u4e3a HPA \u5bf9\u8c61\uff0c\u7136\u540e\u901a\u8fc7 HPA \u5bf9\u8c61\u6765\u5bfb\u627e\u771f\u5b9e\u7684 scaleTargetRef\uff0c\u4ece\u800c\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u3002

                            CronHPA \u4f1a\u901a\u8fc7\u8c03\u6574 HPA \u7684\u65b9\u5f0f\u611f\u77e5 HPA\u3002CronHPA \u901a\u8fc7\u8bc6\u522b\u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e\u5f53\u524d\u526f\u672c\u6570\u4e24\u8005\u95f4\u7684\u8f83\u5927\u503c\uff0c \u5224\u65ad\u662f\u5426\u9700\u8981\u6269\u7f29\u5bb9\u53ca\u4fee\u6539 HPA \u7684\u4e0a\u9650\uff1bCronHPA \u901a\u8fc7\u8bc6\u522b CronHPA \u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e HPA \u7684\u914d\u7f6e\u95f4\u7684\u8f83\u5c0f\u503c\uff0c\u5224\u65ad\u662f\u5426\u9700\u8981\u4fee\u6539 HPA \u7684\u4e0b\u9650\u3002

                            "},{"location":"kpanda/user-guide/scale/install-cronhpa.html","title":"\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6","text":"

                            \u5bb9\u5668\u526f\u672c\u5b9a\u65f6\u6c34\u5e73\u6269\u7f29\u5bb9\u7b56\u7565\uff08CronHPA\uff09\u80fd\u591f\u4e3a\u5468\u671f\u6027\u9ad8\u5e76\u53d1\u5e94\u7528\u63d0\u4f9b\u7a33\u5b9a\u7684\u8ba1\u7b97\u8d44\u6e90\u4fdd\u969c\uff0c kubernetes-cronhpa-controller \u5219\u662f\u5b9e\u73b0 CronHPA \u7684\u5173\u952e\u7ec4\u4ef6\u3002

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                            Note

                            \u4e3a\u4e86\u4f7f\u7528 CornHPA\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u8fd8\u8981\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                            "},{"location":"kpanda/user-guide/scale/install-cronhpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"kpanda/user-guide/scale/install-cronhpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 CronHPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                            3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.3.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                            4. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                              • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                              • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 1.3.0 \u7248\u672c\u4e3a\u4f8b\u3002
                              • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                              • \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                              • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                              Note

                              \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                            5. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                              Warning

                              \u5982\u9700\u5220\u9664 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                              \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                            6. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa CronHPA \u7b56\u7565\u4e86\u3002

                            "},{"location":"kpanda/user-guide/scale/install-metrics-server.html","title":"\u5b89\u88c5 metrics-server \u63d2\u4ef6","text":"

                            metrics-server \u662f Kubernetes \u5185\u7f6e\u7684\u8d44\u6e90\u4f7f\u7528\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e\u5f39\u6027\u4f38\u7f29\uff08HPA\uff09\u7b56\u7565\u6765\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u81ea\u52a8\u6c34\u5e73\u4f38\u7f29 Pod \u526f\u672c\u3002

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 metrics-server \u3002

                            "},{"location":"kpanda/user-guide/scale/install-metrics-server.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5b89\u88c5 metrics-server \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"kpanda/user-guide/scale/install-metrics-server.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                            1. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u4e0b\u7684\u5f39\u6027\u4f38\u7f29\u9875\u9762\uff0c\u70b9\u51fb \u53bb\u5b89\u88c5 \uff0c\u8fdb\u5165 metrics-server \u63d2\u4ef6\u5b89\u88c5\u754c\u9762\u3002

                            2. \u9605\u8bfb metrics-server \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u60a8\u5b89\u88c5 3.8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u3002

                            3. \u5728\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u914d\u7f6e\u57fa\u672c\u53c2\u6570\u3002

                              • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                              • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u3002
                              • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                              • \u5931\u8d25\u5220\u9664\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                              • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u5b89\u88c5\u8fc7\u7a0b\u65e5\u5fd7\u7684\u8be6\u7ec6\u8f93\u51fa\u3002

                              Note

                              \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                            4. \u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e

                              • \u5982\u679c\u96c6\u7fa4\u7f51\u7edc\u65e0\u6cd5\u8bbf\u95ee k8s.gcr.io \u4ed3\u5e93\uff0c\u8bf7\u5c1d\u8bd5\u4fee\u6539 repositort \u53c2\u6570\u4e3a repository: k8s.m.daocloud.io/metrics-server/metrics-server

                              • \u5b89\u88c5 metrics-server \u63d2\u4ef6\u8fd8\u9700\u63d0\u4f9b SSL \u8bc1\u4e66\u3002\u5982\u9700\u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\uff0c\u9700\u8981\u5728 defaultArgs: \u5904\u6dfb\u52a0 - --kubelet-insecure-tls \u53c2\u6570\u3002

                              \u70b9\u51fb\u67e5\u770b\u63a8\u8350\u7684 YAML \u53c2\u6570
                              image:\n  repository: k8s.m.daocloud.io/metrics-server/metrics-server # \u5c06\u4ed3\u5e93\u6e90\u5730\u5740\u4fee\u6539\u4e3a k8s.m.daocloud.io\n  tag: ''\n  pullPolicy: IfNotPresent\nimagePullSecrets: []\nnameOverride: ''\nfullnameOverride: ''\nserviceAccount:\n  create: true\n  annotations: {}\n  name: ''\nrbac:\n  create: true\n  pspEnabled: false\napiService:\n  create: true\npodLabels: {}\npodAnnotations: {}\npodSecurityContext: {}\nsecurityContext:\n  allowPrivilegeEscalation: false\n  readOnlyRootFilesystem: true\n  runAsNonRoot: true\n  runAsUser: 1000\npriorityClassName: system-cluster-critical\ncontainerPort: 4443\nhostNetwork:\n  enabled: false\nreplicas: 1\nupdateStrategy: {}\npodDisruptionBudget:\n  enabled: false\n  minAvailable: null\n  maxUnavailable: null\ndefaultArgs:\n  - '--cert-dir=/tmp'\n  - '--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname'\n  - '--kubelet-use-node-status-port'\n  - '--metric-resolution=15s'\n  - --kubelet-insecure-tls # \u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\nargs: []\nlivenessProbe:\n  httpGet:\n    path: /livez\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 0\n  periodSeconds: 10\n  failureThreshold: 3\nreadinessProbe:\n  httpGet:\n    path: /readyz\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 20\n  periodSeconds: 10\n  failureThreshold: 3\nservice:\n  type: ClusterIP\n  port: 443\n  annotations: {}\n  labels: {}\nmetrics:\n  enabled: false\nserviceMonitor:\n  enabled: false\n  additionalLabels: {}\n  interval: 1m\n  scrapeTimeout: 10s\nresources: {}\nextraVolumeMounts: []\nextraVolumes: []\nnodeSelector: {}\ntolerations: []\naffinity: {}\n
                            5. \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 metrics-server \u63d2\u4ef6\u7684\u5b89\u88c5\uff0c\u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c \u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                            Note

                            \u5220\u9664 metrics-server \u63d2\u4ef6\u65f6\uff0c\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5f7b\u5e95\u5220\u9664\u8be5\u63d2\u4ef6\u3002\u5982\u679c\u4ec5\u5728\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u5220\u9664 metrics-server \uff0c \u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u5e94\u7528\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u5e94\u7528\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                            "},{"location":"kpanda/user-guide/scale/install-vpa.html","title":"\u5b89\u88c5 vpa \u63d2\u4ef6","text":"

                            \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u80fd\u591f\u8ba9\u96c6\u7fa4\u7684\u8d44\u6e90\u914d\u7f6e\u66f4\u52a0\u5408\u7406\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002 vpa \u5219\u662f\u5b9e\u73b0\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7684\u5173\u952e\u7ec4\u4ef6\u3002

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                            \u4e3a\u4e86\u4f7f\u7528 VPA \u7b56\u7565\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 __vpa__ \u63d2\u4ef6\uff0c\u8fd8\u8981[\u5b89\u88c5 __metrics-server__ \u63d2\u4ef6](install-metrics-server.md)\u3002\n
                            "},{"location":"kpanda/user-guide/scale/install-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5b89\u88c5 vpa \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"kpanda/user-guide/scale/install-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 VPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                              3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.5.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                              4. \u67e5\u770b\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                              - \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002 - \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002 - \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.5.0 \u7248\u672c\u4e3a\u4f8b\u3002 - \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002 - \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002 - \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                              Note

                              \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                            3. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                              Warning

                              \u5982\u9700\u5220\u9664 vpa \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                              \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                            4. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa VPA \u7b56\u7565\u4e86\u3002

                            "},{"location":"kpanda/user-guide/scale/knative/install.html","title":"\u5b89\u88c5","text":"

                            Knative \u662f\u4e00\u4e2a\u9762\u5411\u65e0\u670d\u52a1\u5668\u90e8\u7f72\u7684\u8de8\u5e73\u53f0\u89e3\u51b3\u65b9\u6848\u3002

                            "},{"location":"kpanda/user-guide/scale/knative/install.html#_2","title":"\u6b65\u9aa4","text":"
                            1. \u767b\u5f55\u96c6\u7fa4\uff0c\u70b9\u51fb\u4fa7\u8fb9\u680f Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u53f3\u4fa7\u4e0a\u65b9\u641c\u7d22\u6846\u8f93\u5165 knative \uff0c\u7136\u540e\u6309\u56de\u8f66\u952e\u641c\u7d22\u3002

                            2. \u70b9\u51fb\u641c\u7d22\u51fa\u7684 knative-operator \uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002\u4f60\u53ef\u4ee5\u5728\u8be5\u754c\u9762\u67e5\u770b\u53ef\u7528\u7248\u672c\u4ee5\u53ca Helm values \u7684 Parameters \u53ef\u9009\u9879\u3002

                            3. \u70b9\u51fb\u5b89\u88c5\u6309\u94ae\u540e\uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002

                            4. \u8f93\u5165\u540d\u79f0\uff0c\u5b89\u88c5\u79df\u6237\uff0c\u5efa\u8bae\u52fe\u9009 \u5c31\u7eea\u7b49\u5f85 \u548c \u8be6\u7ec6\u65e5\u5fd7 \u3002

                            5. \u5728\u4e0b\u65b9\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u52fe\u9009 Serving \uff0c\u5e76\u8f93\u5165 Knative Serving \u7ec4\u4ef6\u7684\u5b89\u88c5\u79df\u6237\uff0c\u4f1a\u5728\u5b89\u88c5\u540e\u90e8\u7f72 Knative Serving \u7ec4\u4ef6\uff0c\u8be5\u7ec4\u4ef6\u7531 Knative Operator \u7ba1\u7406\u3002

                            "},{"location":"kpanda/user-guide/scale/knative/knative.html","title":"Kantive \u4ecb\u7ecd","text":"

                            Knative \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u9ad8\u5c42\u6b21\u7684\u62bd\u8c61\uff0c\u7b80\u5316\u5e76\u52a0\u901f\u4e86\u5728 Kubernetes \u4e0a\u6784\u5efa\u3001\u90e8\u7f72\u548c\u7ba1\u7406\u5e94\u7528\u7684\u8fc7\u7a0b\u3002\u5b83\u4f7f\u5f97\u5f00\u53d1\u4eba\u5458\u80fd\u591f\u66f4\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u5b9e\u73b0\uff0c\u800c\u5c06\u5927\u90e8\u5206\u57fa\u7840\u8bbe\u65bd\u548c\u8fd0\u7ef4\u5de5\u4f5c\u4ea4\u7ed9 Knative \u53bb\u5904\u7406\uff0c\u4ece\u800c\u663e\u8457\u63d0\u9ad8\u751f\u4ea7\u529b\u3002

                            "},{"location":"kpanda/user-guide/scale/knative/knative.html#_1","title":"\u7ec4\u4ef6","text":"

                            knative-operator \u8fd0\u884c\u7ec4\u4ef6\u5982\u4e0b\u3002

                            knative-operator   knative-operator-58f7d7db5c-7f6r5      1/1     Running     0     6m55s\nknative-operator   operator-webhook-667dc67bc-qvrv4       1/1     Running     0     6m55s\n

                            knative-serving \u7ec4\u4ef6\u5982\u4e0b\u3002

                            knative-serving        3scale-kourier-gateway-d69fbfbd-bd8d8   1/1     Running     0                 7m13s\nknative-serving        activator-7c6fddd698-wdlng              1/1     Running     0                 7m3s\nknative-serving        autoscaler-8f4b876bb-kd25p              1/1     Running     0                 7m17s\nknative-serving        autoscaler-hpa-5f7f74679c-vkc7p         1/1     Running     0                 7m15s\nknative-serving        controller-789c896c46-tfvsv             1/1     Running     0                 7m17s\nknative-serving        net-kourier-controller-7db578c889-7gd5l 1/1     Running     0                 7m14s\nknative-serving        webhook-5c88b94c5-78x7m                 1/1     Running     0                 7m1s\nknative-serving        storage-version-migration-serving-serving-1.12.2-t7zvd   0/1  Completed   0   7m15s\n
                            \u7ec4\u4ef6 \u4f5c\u7528 Activator \u5bf9\u8bf7\u6c42\u6392\u961f\uff08\u5982\u679c\u4e00\u4e2a Knative Service \u5df2\u7ecf\u7f29\u51cf\u5230\u96f6\uff09\u3002\u8c03\u7528 autoscaler\uff0c\u5c06\u7f29\u51cf\u5230 0 \u7684\u670d\u52a1\u6062\u590d\u5e76\u8f6c\u53d1\u6392\u961f\u7684\u8bf7\u6c42\u3002Activator \u8fd8\u53ef\u4ee5\u5145\u5f53\u8bf7\u6c42\u7f13\u51b2\u5668\uff0c\u5904\u7406\u7a81\u53d1\u6d41\u91cf\u3002 Autoscaler Autoscaler \u8d1f\u8d23\u6839\u636e\u914d\u7f6e\u3001\u6307\u6807\u548c\u8fdb\u5165\u7684\u8bf7\u6c42\u6765\u7f29\u653e Knative \u670d\u52a1\u3002 Controller \u7ba1\u7406 Knative CR \u7684\u72b6\u6001\u3002\u5b83\u4f1a\u76d1\u89c6\u591a\u4e2a\u5bf9\u8c61\uff0c\u7ba1\u7406\u4f9d\u8d56\u8d44\u6e90\u7684\u751f\u547d\u5468\u671f\uff0c\u5e76\u66f4\u65b0\u8d44\u6e90\u72b6\u6001\u3002 Queue-Proxy Sidecar \u5bb9\u5668\uff0c\u6bcf\u4e2a Knative Service \u90fd\u4f1a\u6ce8\u5165\u4e00\u4e2a\u3002\u8d1f\u8d23\u6536\u96c6\u6d41\u91cf\u6570\u636e\u5e76\u62a5\u544a\u7ed9 Autoscaler\uff0cAutoscaler \u6839\u636e\u8fd9\u4e9b\u6570\u636e\u548c\u9884\u8bbe\u7684\u89c4\u5219\u6765\u53d1\u8d77\u6269\u5bb9\u6216\u7f29\u5bb9\u8bf7\u6c42\u3002 Webhooks Knative Serving \u6709\u51e0\u4e2a Webhooks \u8d1f\u8d23\u9a8c\u8bc1\u548c\u53d8\u66f4 Knative \u8d44\u6e90\u3002"},{"location":"kpanda/user-guide/scale/knative/knative.html#ingress","title":"Ingress \u6d41\u91cf\u5165\u53e3\u65b9\u6848","text":"\u65b9\u6848 \u9002\u7528\u573a\u666f Istio \u5982\u679c\u5df2\u7ecf\u7528\u4e86 Istio\uff0c\u53ef\u4ee5\u9009\u62e9 Istio \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Contour \u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u7ecf\u542f\u7528\u4e86 Contour\uff0c\u53ef\u4ee5\u9009\u62e9 Contour \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Kourier \u5982\u679c\u5728\u6ca1\u6709\u4e0a\u8ff0 2 \u79cd Ingress \u7ec4\u4ef6\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 Knative \u57fa\u4e8e Envoy \u5b9e\u73b0\u7684 Kourier Ingress \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u3002"},{"location":"kpanda/user-guide/scale/knative/knative.html#autoscaler","title":"Autoscaler \u65b9\u6848\u5bf9\u6bd4","text":"Autoscaler \u7c7b\u578b \u662f\u5426\u4e3a Knative Serving \u6838\u5fc3\u90e8\u5206 \u9ed8\u8ba4\u542f\u7528 Scale to Zero \u652f\u6301 \u57fa\u4e8e CPU \u7684 Autoscaling \u652f\u6301 Knative Pod Autoscaler (KPA) \u662f \u662f \u662f \u5426 Horizontal Pod Autoscaler (HPA) \u5426 \u9700\u5b89\u88c5 Knative Serving \u540e\u542f\u7528 \u5426 \u662f"},{"location":"kpanda/user-guide/scale/knative/knative.html#crd","title":"CRD","text":"\u8d44\u6e90\u7c7b\u578b API \u540d\u79f0 \u63cf\u8ff0 Services service.serving.knative.dev \u81ea\u52a8\u7ba1\u7406 Workload \u7684\u6574\u4e2a\u751f\u547d\u5468\u671f\uff0c\u63a7\u5236\u5176\u4ed6\u5bf9\u8c61\u7684\u521b\u5efa\uff0c\u786e\u4fdd\u5e94\u7528\u5177\u6709 Routes\u3001Configurations \u4ee5\u53ca\u6bcf\u6b21\u66f4\u65b0\u65f6\u7684\u65b0 revision\u3002 Routes route.serving.knative.dev \u5c06\u7f51\u7edc\u7aef\u70b9\u6620\u5c04\u5230\u4e00\u4e2a\u6216\u591a\u4e2a\u4fee\u8ba2\u7248\u672c\uff0c\u652f\u6301\u6d41\u91cf\u5206\u914d\u548c\u7248\u672c\u8def\u7531\u3002 Configurations configuration.serving.knative.dev \u7ef4\u62a4\u90e8\u7f72\u7684\u671f\u671b\u72b6\u6001\uff0c\u63d0\u4f9b\u4ee3\u7801\u548c\u914d\u7f6e\u4e4b\u95f4\u7684\u5206\u79bb\uff0c\u9075\u5faa Twelve-Factor \u5e94\u7528\u7a0b\u5e8f\u65b9\u6cd5\u8bba\uff0c\u4fee\u6539\u914d\u7f6e\u4f1a\u521b\u5efa\u65b0\u7684 revision\u3002 Revisions revision.serving.knative.dev \u6bcf\u6b21\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u4fee\u6539\u7684\u65f6\u95f4\u70b9\u5feb\u7167\uff0c\u662f\u4e0d\u53ef\u53d8\u5bf9\u8c61\uff0c\u53ef\u6839\u636e\u6d41\u91cf\u81ea\u52a8\u6269\u5bb9\u548c\u7f29\u5bb9\u3002"},{"location":"kpanda/user-guide/scale/knative/playground.html","title":"Knative \u4f7f\u7528\u5b9e\u8df5","text":"

                            \u5728\u672c\u8282\u4e2d\uff0c\u6211\u4eec\u5c06\u901a\u8fc7\u51e0\u4e2a\u5b9e\u8df5\u6765\u6df1\u5165\u4e86\u89e3\u5b66\u4e60 Knative\u3002

                            "},{"location":"kpanda/user-guide/scale/knative/playground.html#case-1-hello-world","title":"case 1 - Hello World","text":"
                            apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                            \u53ef\u4ee5\u4f7f\u7528 kubectl \u5df2\u90e8\u7f72\u7684\u5e94\u7528\u7684\u72b6\u6001\uff0c\u8fd9\u4e2a\u5e94\u7528\u7531 knative \u81ea\u52a8\u914d\u7f6e\u4e86 ingress \u548c\u4f38\u7f29\u5668\u3002

                            ~ kubectl get service.serving.knative.dev/hello\nNAME    URL                                              LATESTCREATED   LATESTREADY   READY   REASON\nhello   http://hello.knative-serving.knative.loulan.me   hello-00001     hello-00001   True\n

                            \u90e8\u7f72\u51fa\u7684 Pod YAML \u5982\u4e0b\uff0c\u7531 2 \u4e2a Pod \u7ec4\u6210\uff1auser-container \u548c queue-proxy\u3002

                            apiVersion: v1\nkind: Pod\nmetadata:\n  name: hello-00003-deployment-5fcb8ccbf-7qjfk\nspec:\n  containers:\n  - name: user-container\n  - name: queue-proxy\n

                            \u8bf7\u6c42\u6d41\uff1a

                            1. case1 \u5728\u4f4e\u6d41\u91cf\u6216\u96f6\u6d41\u91cf\u65f6\uff0c\u6d41\u91cf\u5c06\u8def\u7531\u5230 activator
                            2. case2 \u6d41\u91cf\u5927\u65f6\uff0c\u6d41\u91cf\u5927\u4e8e target-burst-capacity \u65f6\u624d\u76f4\u63a5\u8def\u7531\u5230 Pod
                              1. \u914d\u7f6e\u4e3a 0\uff0c\u53ea\u6709\u4ece 0 \u6269\u5bb9\u5b58\u5728
                              2. \u914d\u7f6e\u4e3a -1\uff0cactivator \u4f1a\u4e00\u76f4\u5b58\u5728\u8bf7\u6c42\u8def\u5f84
                              3. \u914d\u7f6e\u4e3a >0\uff0c\u89e6\u53d1\u6269\u7f29\u5bb9\u4e4b\u524d\uff0c\u7cfb\u7edf\u80fd\u591f\u989d\u5916\u5904\u7406\u7684\u5e76\u53d1\u8bf7\u6c42\u6570\u91cf\u3002
                            3. case3 \u6d41\u91cf\u518d\u53d8\u5c0f\u65f6\uff0c\u6d41\u91cf\u4f4e\u4e8e current_demand + target-burst-capacity > (pods * concurrency-target) \u65f6\u5c06\u518d\u6b21\u8def\u7531\u5230 activator

                              \u5f85\u5904\u7406\u7684\u8bf7\u6c42\u603b\u6570 + \u80fd\u63a5\u53d7\u7684\u8d85\u8fc7\u76ee\u6807\u5e76\u53d1\u6570\u7684\u8bf7\u6c42\u6570\u91cf > \u6bcf\u4e2a Pod \u7684\u76ee\u6807\u5e76\u53d1\u6570 * Pod \u6570\u91cf

                            "},{"location":"kpanda/user-guide/scale/knative/playground.html#case-2-","title":"case 2 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29","text":"

                            \u6211\u4eec\u9996\u5148\u5728\u96c6\u7fa4\u5e94\u7528\u4e0b\u9762 YAML \u5b9a\u4e49\u3002

                            apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                            \u6267\u884c\u4e0b\u9762\u547d\u4ee4\u6d4b\u8bd5\uff0c\u5e76\u53ef\u4ee5\u901a\u8fc7 kubectl get pods -A -w \u6765\u89c2\u5bdf\u6269\u5bb9\u7684 Pod\u3002

                            wrk -t2 -c4 -d6s http://hello.knative-serving.knative.daocloud.io/\n
                            "},{"location":"kpanda/user-guide/scale/knative/playground.html#case-3-","title":"case 3 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29\uff0c\u8fbe\u5230\u7279\u5b9a\u6bd4\u4f8b\u63d0\u524d\u6269\u5bb9","text":"

                            \u6211\u4eec\u53ef\u4ee5\u5f88\u8f7b\u677e\u7684\u5b9e\u73b0\uff0c\u4f8b\u5982\u9650\u5236\u6bcf\u4e2a\u5bb9\u5668\u5e76\u53d1\u4e3a 10\uff0c\u53ef\u4ee5\u901a\u8fc7 autoscaling.knative.dev/target-utilization-percentage: 70 \u6765\u5b9e\u73b0\uff0c\u8fbe\u5230 70% \u5c31\u5f00\u59cb\u6269\u5bb9 Pod\u3002

                            apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"10\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/target-utilization-percentage: \"70\" \n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/metric: \"concurrency\"\n \u00a0 \u00a0 spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n
                            "},{"location":"kpanda/user-guide/scale/knative/playground.html#case-4-","title":"case 4 - \u7070\u5ea6\u53d1\u5e03/\u6d41\u91cf\u767e\u5206\u6bd4","text":"

                            \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 spec.traffic \u5b9e\u73b0\u5230\u6bcf\u4e2a\u7248\u672c\u6d41\u91cf\u7684\u63a7\u5236\u3002

                            apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"  \n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"         \n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n  traffic:\n  - latestRevision: true\n    percent: 50\n  - latestRevision: false\n    percent: 50\n    revisionName: hello-00001\n
                            "},{"location":"kpanda/user-guide/scale/knative/scene.html","title":"\u4f7f\u7528\u573a\u666f","text":""},{"location":"kpanda/user-guide/scale/knative/scene.html#_2","title":"\u9002\u5408\u7684\u573a\u666f","text":"
                            • \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1
                            • \u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1
                            • \u5927\u91cf\u5e94\u7528\u9700\u8981\u7f29\u5bb9\u5230 0 \u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387
                            • AI Serving \u670d\u52a1\uff0c\u57fa\u4e8e\u7279\u5b9a\u6307\u6807\u8fdb\u884c\u6269\u5bb9

                            Tip

                            \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1\u4ee5\u53ca\u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1\uff0c\u63a8\u8350\u4f7f\u7528 HPA \u548c VPA \u80fd\u529b\u3002

                            "},{"location":"kpanda/user-guide/scale/knative/scene.html#_3","title":"\u4e0d\u9002\u5408\u7684\u573a\u666f","text":"
                            • \u957f\u8fde\u63a5\u4e1a\u52a1
                            • \u5ef6\u65f6\u654f\u611f\u4e1a\u52a1
                            • \u57fa\u4e8e cookie \u7684\u6d41\u91cf\u5206\u6d41
                            • \u57fa\u4e8e header \u7684\u6d41\u91cf\u5206\u6d41
                            "},{"location":"kpanda/user-guide/security/index.html","title":"\u5b89\u5168\u626b\u63cf\u7c7b\u578b","text":"

                            \u5728Kubernetes\uff08\u7b80\u79f0K8s\uff09\u73af\u5883\u4e2d\uff0c\u5b89\u5168\u626b\u63cf\u662f\u786e\u4fdd\u96c6\u7fa4\u5b89\u5168\u6027\u7684\u5173\u952e\u63aa\u65bd\u4e4b\u4e00\u3002\u5176\u4e2d\uff0c\u5408\u89c4\u6027\u626b\u63cf\uff08\u57fa\u4e8eCIS Benchmark\uff09\u3001\u6743\u9650\u626b\u63cf\uff08\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\uff09\u3001\u6f0f\u6d1e\u626b\u63cf\uff08\u57fa\u4e8e kube-hunter\uff09\u662f\u4e09\u79cd\u5e38\u89c1\u4e14\u91cd\u8981\u7684\u5b89\u5168\u626b\u63cf\u624b\u6bb5\uff1a

                            • \u5408\u89c4\u6027\u626b\u63cf\uff1a\u57fa\u4e8e CIS Benchmark \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u5b89\u5168\u626b\u63cf\u3002CIS Benchmark \u662f\u4e00\u5957\u5168\u7403\u516c\u8ba4\u7684\u6700\u4f73\u5b9e\u8df5\u6807\u51c6\uff0c\u4e3a Kubernetes \u96c6\u7fa4\u63d0\u4f9b\u4e86\u8be6\u7ec6\u7684\u5b89\u5168\u914d\u7f6e\u6307\u5357\u548c\u81ea\u52a8\u5316\u68c0\u67e5\u5de5\u5177\uff08\u5982Kube-Bench\uff09\uff0c\u5e2e\u52a9\u7ec4\u7ec7\u786e\u4fdd\u5176K8s\u96c6\u7fa4\u7b26\u5408\u5b89\u5168\u57fa\u7ebf\u8981\u6c42\uff0c\u4fdd\u62a4\u7cfb\u7edf\u548c\u6570\u636e\u514d\u53d7\u5a01\u80c1\u3002

                            • \u6743\u9650\u626b\u63cf\uff1a\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\u3002\u6743\u9650\u626b\u63cf\u4e3b\u8981\u89e3\u51b3\u96c6\u7fa4\u8bbf\u95ee\u63a7\u5236\u548c\u64cd\u4f5c\u900f\u660e\u5ea6\u7684\u95ee\u9898\u3002\u901a\u8fc7\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u96c6\u7fa4\u7ba1\u7406\u5458\u80fd\u591f\u8ffd\u6eaf\u96c6\u7fa4\u8d44\u6e90\u7684\u8bbf\u95ee\u5386\u53f2\uff0c\u8bc6\u522b\u5f02\u5e38\u884c\u4e3a\uff0c\u5982\u672a\u7ecf\u6388\u6743\u7684\u8bbf\u95ee\u3001\u654f\u611f\u6570\u636e\u7684\u6cc4\u9732\u3001\u6709\u5b89\u5168\u6f0f\u6d1e\u7684\u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002\u8fd9\u5bf9\u4e8e\u6545\u969c\u6392\u67e5\u3001\u5b89\u5168\u4e8b\u4ef6\u54cd\u5e94\u4ee5\u53ca\u6ee1\u8db3\u5408\u89c4\u6027\u8981\u6c42\u81f3\u5173\u91cd\u8981\u3002\u6b64\u5916\uff0c\u6743\u9650\u626b\u63cf\u8fd8\u53ef\u4ee5\u5e2e\u52a9\u7ec4\u7ec7\u53d1\u73b0\u6f5c\u5728\u7684\u6743\u9650\u6ee5\u7528\u95ee\u9898\uff0c\u53ca\u65f6\u91c7\u53d6\u63aa\u65bd\u9632\u6b62\u5b89\u5168\u4e8b\u4ef6\u7684\u53d1\u751f\u3002

                            • \u6f0f\u6d1e\u626b\u63cf\uff1a\u57fa\u4e8e kube-hunter\uff0c\u4e3b\u8981\u89e3\u51b3 Kubernetes \u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5df2\u77e5\u6f0f\u6d1e\u548c\u914d\u7f6e\u9519\u8bef\u95ee\u9898\u3002kube-hunter \u901a\u8fc7\u6a21\u62df\u653b\u51fb\u884c\u4e3a\uff0c\u80fd\u591f\u8bc6\u522b\u96c6\u7fa4\u4e2d\u53ef\u88ab\u6076\u610f\u5229\u7528\u7684\u6f0f\u6d1e\uff0c\u5982\u672a\u6388\u6743\u8bbf\u95ee\u3001\u66b4\u9732\u7684\u670d\u52a1\u548cAPI\u7aef\u70b9\u3001\u914d\u7f6e\u9519\u8bef\u7684\u89d2\u8272\u548c\u7ed1\u5b9a\u7b56\u7565\u7b49\u3002\u7279\u522b\u5730\uff0ckube-hunter\u80fd\u591f\u8bc6\u522b\u5e76\u62a5\u544a CVE \u6f0f\u6d1e\uff0c\u8fd9\u4e9b\u6f0f\u6d1e\u5982\u679c\u88ab\u6076\u610f\u5229\u7528\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u6cc4\u9732\u3001\u670d\u52a1\u4e2d\u65ad\u7b49\u4e25\u91cd\u540e\u679c\u3002CVE \u6f0f\u6d1e\u662f\u7531\u56fd\u9645\u77e5\u540d\u7684\u5b89\u5168\u7ec4\u7ec7\u5982MITRE\u6240\u5b9a\u4e49\u548c\u7ef4\u62a4\u7684\uff0cCVE\u6570\u636e\u5e93\u4e3a\u8f6f\u4ef6\u548c\u56fa\u4ef6\u4e2d\u7684\u5df2\u77e5\u6f0f\u6d1e\u63d0\u4f9b\u4e86\u552f\u4e00\u6807\u8bc6\u7b26\uff0c\u6210\u4e3a\u5168\u7403\u5b89\u5168\u793e\u533a\u5171\u540c\u9075\u5faa\u7684\u6807\u51c6\u3002kube-hunter \u901a\u8fc7\u5229\u7528 CVE \u6570\u636e\u5e93\u4e2d\u7684\u4fe1\u606f\uff0c\u80fd\u591f\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u8bc6\u522b\u5e76\u54cd\u5e94Kubernetes\u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\u3002

                            "},{"location":"kpanda/user-guide/security/index.html#_2","title":"\u5408\u89c4\u6027\u626b\u63cf","text":"

                            \u5408\u89c4\u6027\u626b\u63cf\u7684\u5bf9\u8c61\u662f\u96c6\u7fa4\u8282\u70b9\u3002\u626b\u63cf\u7ed3\u679c\u4e2d\u4f1a\u5217\u51fa\u626b\u63cf\u9879\u4ee5\u53ca\u626b\u63cf\u7ed3\u679c\uff0c\u5e76\u9488\u5bf9\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u4fee\u590d\u5efa\u8bae\u3002\u6709\u5173\u626b\u63cf\u65f6\u7528\u5230\u7684\u5177\u4f53\u5b89\u5168\u89c4\u5219\uff0c\u53ef\u53c2\u8003 CIS Kubernetes Benchmark

                            \u68c0\u67e5\u4e0d\u540c\u7c7b\u578b\u7684\u8282\u70b9\u65f6\uff0c\u626b\u63cf\u7684\u4fa7\u91cd\u70b9\u6709\u6240\u4e0d\u540c\u3002

                            • \u626b\u63cf\u63a7\u5236\u5e73\u9762\u8282\u70b9\uff08Controller\uff09

                              • \u5173\u6ce8 API Server \u3001 controller-manager \u3001 scheduler \u3001 kubelet \u7b49\u7cfb\u7edf\u7ec4\u4ef6\u7684\u5b89\u5168\u6027
                              • \u68c0\u67e5 Etcd \u6570\u636e\u5e93\u7684\u5b89\u5168\u914d\u7f6e
                              • \u68c0\u67e5\u96c6\u7fa4\u8eab\u4efd\u9a8c\u8bc1\u673a\u5236\u3001\u6388\u6743\u7b56\u7565\u548c\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u662f\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                            • \u626b\u63cf\u5de5\u4f5c\u8282\u70b9\uff08Worker\uff09

                              • \u68c0\u67e5 kubelet\u3001Docker\u7b49\u5bb9\u5668\u8fd0\u884c\u65f6\u7684\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                              • \u68c0\u67e5\u5bb9\u5668\u955c\u50cf\u662f\u5426\u7ecf\u8fc7\u4fe1\u4efb\u9a8c\u8bc1
                              • \u68c0\u67e5\u8282\u70b9\u7684\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6

                            Tip

                            \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\uff0c\u7136\u540e\u57fa\u4e8e\u8be5\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002

                            "},{"location":"kpanda/user-guide/security/index.html#_3","title":"\u6743\u9650\u626b\u63cf","text":"

                            \u6743\u9650\u626b\u63cf\u4fa7\u91cd\u4e8e\u6743\u9650\u95ee\u9898\u5f15\u53d1\u7684\u5b89\u5168\u6f0f\u6d1e\u3002\u6743\u9650\u626b\u63cf\u53ef\u4ee5\u5e2e\u52a9\u7528\u6237\u8bc6\u522b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\uff0c\u6807\u8bc6\u54ea\u4e9b\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u5ba1\u67e5\u548c\u4fdd\u62a4\u63aa\u65bd\u3002\u901a\u8fc7\u6267\u884c\u8fd9\u4e9b\u68c0\u67e5\u9879\uff0c\u7528\u6237\u53ef\u4ee5\u66f4\u6e05\u695a\u3001\u66f4\u5168\u9762\u5730\u4e86\u89e3\u81ea\u5df1\u7684 Kubernetes \u73af\u5883\uff0c\u786e\u4fdd\u96c6\u7fa4\u73af\u5883\u7b26\u5408 Kubernetes \u7684\u6700\u4f73\u5b9e\u8df5\u548c\u5b89\u5168\u6807\u51c6\u3002

                            \u5177\u4f53\u800c\u8a00\uff0c\u6743\u9650\u626b\u63cf\u652f\u6301\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                            • \u626b\u63cf\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u8282\u70b9\u7684\u5065\u5eb7\u72b6\u6001\u3002

                            • \u626b\u63cf\u96c6\u7fa4\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u51b5\uff0c\u5982 kube-apiserver \u3001 kube-controller-manager \u3001 kube-scheduler \u7b49\u3002

                            • \u626b\u63cf\u5b89\u5168\u914d\u7f6e\uff1a\u68c0\u67e5 Kubernetes \u7684\u5b89\u5168\u914d\u7f6e

                              • API \u5b89\u5168\uff1a\u542f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 API \u7248\u672c\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u9002\u5f53\u7684 RBAC \u89d2\u8272\u548c\u6743\u9650\u9650\u5236\u7b49
                              • \u5bb9\u5668\u5b89\u5168\uff1a\u662f\u5426\u4f7f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 Image\u3001\u662f\u5426\u5f00\u653e\u4e86\u7279\u6743\u6a21\u5f0f\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u5408\u9002\u7684\u5b89\u5168\u4e0a\u4e0b\u6587\u7b49
                              • \u7f51\u7edc\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u5408\u9002\u7684\u7f51\u7edc\u7b56\u7565\u6765\u9650\u5236\u6d41\u91cf\uff0c\u662f\u5426\u4f7f\u7528\u4e86 TLS \u52a0\u5bc6\u7b49
                              • \u5b58\u50a8\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u9002\u5f53\u7684\u52a0\u5bc6\u3001\u8bbf\u95ee\u63a7\u5236\u7b49\u3002
                              • \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\uff1a\u662f\u5426\u8bbe\u7f6e\u4e86\u5fc5\u8981\u7684\u5b89\u5168\u63aa\u65bd\uff0c\u4f8b\u5982\u5bc6\u7801\u7ba1\u7406\u3001\u8de8\u7ad9\u811a\u672c\u653b\u51fb\u9632\u5fa1\u7b49\u3002
                            • \u63d0\u4f9b\u8b66\u544a\u548c\u5efa\u8bae\uff1a\u5efa\u8bae\u96c6\u7fa4\u7ba1\u7406\u5458\u6267\u884c\u7684\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff0c\u4f8b\u5982\u5b9a\u671f\u8f6e\u6362\u8bc1\u4e66\u3001\u4f7f\u7528\u5f3a\u5bc6\u7801\u3001\u9650\u5236\u7f51\u7edc\u8bbf\u95ee\u7b49\u3002

                            Tip

                            \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5b89\u5168\u626b\u63cf\u3002

                            "},{"location":"kpanda/user-guide/security/index.html#_4","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                            \u6f0f\u6d1e\u626b\u63cf\u4fa7\u91cd\u4e8e\u626b\u63cf\u6f5c\u5728\u7684\u6076\u610f\u653b\u51fb\u548c\u5b89\u5168\u6f0f\u6d1e\uff0c\u4f8b\u5982\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\u3001SQL \u6ce8\u5165\u3001XSS \u653b\u51fb\u7b49\uff0c\u4ee5\u53ca\u4e00\u4e9b\u9488\u5bf9 Kubernetes \u7279\u5b9a\u7684\u653b\u51fb\u3002\u6700\u7ec8\u7684\u626b\u63cf\u62a5\u544a\u4f1a\u5217\u51fa\u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u6f0f\u6d1e\uff0c\u5e76\u63d0\u51fa\u4fee\u590d\u5efa\u8bae\u3002

                            Tip

                            \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6f0f\u6d1e\u626b\u63cf\u3002

                            "},{"location":"kpanda/user-guide/security/audit.html","title":"\u6743\u9650\u626b\u63cf","text":"

                            \u4e3a\u4e86\u4f7f\u7528\u6743\u9650\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                            "},{"location":"kpanda/user-guide/security/audit.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                            1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6743\u9650\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                            3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                              • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                              • \u626b\u63cf\u7c7b\u578b\uff1a

                                • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                              • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                            "},{"location":"kpanda/user-guide/security/audit.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                            \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                            \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                            • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                              • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                              • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                              • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                              • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                            • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                            "},{"location":"kpanda/user-guide/security/audit.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                            1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                              \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                            2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                              • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                              • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                              • \u626b\u63cf\u9879\u603b\u6570\u3001\u8b66\u544a\u6570\u3001\u9519\u8bef\u6570
                              • \u5728\u5468\u671f\u6027\u626b\u63cf\u7b56\u7565\u751f\u6210\u7684\u626b\u63cf\u62a5\u544a\u4e2d\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u9891\u7387
                              • \u626b\u63cf\u5f00\u59cb\u7684\u65f6\u95f4
                              • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u88ab\u68c0\u67e5\u7684\u8d44\u6e90\u3001\u8d44\u6e90\u7c7b\u578b\u3001\u626b\u63cf\u7ed3\u679c\u3001\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u8be6\u60c5

                            "},{"location":"kpanda/user-guide/security/hunter.html","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                            \u4e3a\u4e86\u4f7f\u7528\u6f0f\u6d1e\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                            "},{"location":"kpanda/user-guide/security/hunter.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                            1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6f0f\u6d1e\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                            3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                              • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                              • \u626b\u63cf\u7c7b\u578b\uff1a

                                • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                              • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                            "},{"location":"kpanda/user-guide/security/hunter.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                            \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                            \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                            • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                              • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                              • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                              • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                              • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                            • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                            "},{"location":"kpanda/user-guide/security/hunter.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                            1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                              \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                            2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                              • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                              • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                              • \u626b\u63cf\u9891\u7387
                              • \u98ce\u9669\u603b\u6570\u3001\u9ad8\u98ce\u9669\u6570\u3001\u4e2d\u98ce\u9669\u6570\u3001\u4f4e\u98ce\u9669\u6570
                              • \u626b\u63cf\u65f6\u95f4
                              • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u6f0f\u6d1e ID\u3001\u6f0f\u6d1e\u7c7b\u578b\u3001\u6f0f\u6d1e\u540d\u79f0\u3001\u6f0f\u6d1e\u63cf\u8ff0\u7b49

                            "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html","title":"\u79bb\u7ebf\u5347\u7ea7\u5b89\u5168\u7ba1\u7406\u6a21\u5757","text":"

                            \u672c\u9875\u8bf4\u660e\u4e0b\u8f7d\u5b89\u5168\u7ba1\u7406\u6a21\u5757\u540e\uff0c\u5e94\u8be5\u5982\u4f55\u5b89\u88c5\u6216\u5347\u7ea7\u3002

                            Info

                            \u4e0b\u8ff0\u547d\u4ee4\u6216\u811a\u672c\u5185\u51fa\u73b0\u7684 dowl \u5b57\u6837\u662f\u5b89\u5168\u7ba1\u7406\u6a21\u5757\u7684\u5185\u90e8\u5f00\u53d1\u4ee3\u53f7\u3002

                            "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html#_2","title":"\u4ece\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u52a0\u8f7d\u955c\u50cf","text":"

                            \u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u9762\u4e24\u79cd\u65b9\u5f0f\u4e4b\u4e00\u52a0\u8f7d\u955c\u50cf\uff0c\u5f53\u73af\u5883\u4e2d\u5b58\u5728\u955c\u50cf\u4ed3\u5e93\u65f6\uff0c\u5efa\u8bae\u9009\u62e9 chart-syncer \u540c\u6b65\u955c\u50cf\u5230\u955c\u50cf\u4ed3\u5e93\uff0c\u8be5\u65b9\u6cd5\u66f4\u52a0\u9ad8\u6548\u4fbf\u6377\u3002

                            "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html#chart-syncer","title":"\u65b9\u5f0f\u4e00\uff1a\u4f7f\u7528 chart-syncer \u540c\u6b65\u955c\u50cf","text":"

                            \u4f7f\u7528 chart-syncer \u53ef\u4ee5\u5c06\u60a8\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\u4e2d\u7684 chart \u53ca\u5176\u4f9d\u8d56\u7684\u955c\u50cf\u5305\u4e0a\u4f20\u81f3\u5b89\u88c5\u5668\u90e8\u7f72 DCE \u65f6\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u3002

                            \u9996\u5148\u627e\u5230\u4e00\u53f0\u80fd\u591f\u8fde\u63a5\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7684\u8282\u70b9\uff08\u5982\u706b\u79cd\u8282\u70b9\uff09\uff0c\u5728\u8282\u70b9\u4e0a\u521b\u5efa load-image.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u586b\u5165\u955c\u50cf\u4ed3\u5e93\u548c helm \u4ed3\u5e93\u7b49\u914d\u7f6e\u4fe1\u606f\u3002

                            1. \u521b\u5efa load-image.yaml

                              Note

                              \u8be5 YAML \u6587\u4ef6\u4e2d\u7684\u5404\u9879\u53c2\u6570\u5747\u4e3a\u5fc5\u586b\u9879\u3002

                              \u5df2\u6dfb\u52a0 Helm repo\u672a\u6dfb\u52a0 Helm repo

                              \u82e5\u5f53\u524d\u73af\u5883\u5df2\u5b89\u88c5 chart repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\u3002

                              load-image.yaml
                              source:\n  intermediateBundlesPath: dowl # \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84\ntarget:\n  containerRegistry: 10.16.10.111 # \u955c\u50cf\u4ed3\u5e93\u5730\u5740\n  containerRepository: release.daocloud.io/dowl # \u955c\u50cf\u4ed3\u5e93\u8def\u5f84\n  repo:\n    kind: HARBOR # Helm Chart \u4ed3\u5e93\u7c7b\u522b\n    url: http://10.16.10.111/chartrepo/release.daocloud.io # Helm \u4ed3\u5e93\u5730\u5740\n    auth:\n    username: \"admin\" # \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d\n    password: \"Harbor12345\" # \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801\n  containers:\n    auth:\n      username: \"admin\" # Helm \u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # Helm \u4ed3\u5e93\u5bc6\u7801\n

                              \u82e5\u5f53\u524d\u8282\u70b9\u4e0a\u672a\u6dfb\u52a0 helm repo\uff0cchart-syncer \u4e5f\u652f\u6301\u5c06 chart \u5bfc\u51fa\u4e3a tgz \u6587\u4ef6\uff0c\u5e76\u5b58\u653e\u5728\u6307\u5b9a\u8def\u5f84\u3002

                              load-image.yaml
                              source:\n  intermediateBundlesPath: dowl # \u4f7f\u7528 chart-syncer \u4e4b\u540e .tar.gz \u5305\u6240\u5728\u7684\u8def\u5f84\ntarget:\n  containerRegistry: 10.16.10.111 # \u955c\u50cf\u4ed3\u5e93 url\n  containerRepository: release.daocloud.io/dowl # \u955c\u50cf\u4ed3\u5e93\u8def\u5f84\n  repo:\n    kind: LOCAL\n    path: ./local-repo # chart \u672c\u5730\u8def\u5f84\n  containers:\n    auth:\n      username: \"admin\" # \u955c\u50cf\u4ed3\u5e93\u7528\u6237\u540d\n      password: \"Harbor12345\" # \u955c\u50cf\u4ed3\u5e93\u5bc6\u7801\n
                            2. \u6267\u884c\u540c\u6b65\u955c\u50cf\u547d\u4ee4\u3002

                              charts-syncer sync --config load-image.yaml\n
                            "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html#docker-containerd","title":"\u65b9\u5f0f\u4e8c\uff1a\u4f7f\u7528 Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf","text":"

                            \u89e3\u538b\u5e76\u52a0\u8f7d\u955c\u50cf\u6587\u4ef6\u3002

                            1. \u89e3\u538b\u7b2c\u4e00\u5c42\u538b\u7f29\u5305\u3002

                              tar xvf dowl.amd64.tar\n

                              \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 1 \u4e2a\u65b0\u7684\u538b\u7f29\u5305\uff1a

                              • dowl.bundle.tar
                            2. \u89e3\u538b\u65b0\u7684\u538b\u7f29\u5305\u3002

                              tar xvf dowl.bundle.tar\n

                              \u89e3\u538b\u6210\u529f\u540e\u4f1a\u5f97\u5230 3 \u4e2a\u6587\u4ef6\uff1a

                              • hints.yaml
                              • images.tar
                              • original-chart
                            3. \u4ece\u672c\u5730\u52a0\u8f7d\u955c\u50cf\u5230 Docker \u6216 containerd\u3002

                              Dockercontainerd
                              docker load -i images.tar\n
                              ctr -n k8s.io image import images.tar\n

                            Note

                            \u6bcf\u4e2a node \u90fd\u9700\u8981\u505a Docker \u6216 containerd \u52a0\u8f7d\u955c\u50cf\u64cd\u4f5c\uff0c \u52a0\u8f7d\u5b8c\u6210\u540e\u9700\u8981 tag \u955c\u50cf\uff0c\u4fdd\u6301 Registry\u3001Repository \u4e0e\u5b89\u88c5\u65f6\u4e00\u81f4\u3002

                            "},{"location":"kpanda/user-guide/security/offline-upgrade-dowl.html#_3","title":"\u5347\u7ea7","text":"

                            \u6709\u4e24\u79cd\u5347\u7ea7\u65b9\u5f0f\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u524d\u7f6e\u64cd\u4f5c\uff0c\u9009\u62e9\u5bf9\u5e94\u7684\u5347\u7ea7\u65b9\u6848\uff1a

                            \u901a\u8fc7 helm repo \u5347\u7ea7\u901a\u8fc7 chart \u5305\u5347\u7ea7
                            1. \u68c0\u67e5\u5b89\u5168\u7ba1\u7406 helm \u4ed3\u5e93\u662f\u5426\u5b58\u5728\u3002

                              helm repo list | grep dowl\n

                              \u82e5\u8fd4\u56de\u7ed3\u679c\u4e3a\u7a7a\u6216\u5982\u4e0b\u63d0\u793a\uff0c\u5219\u8fdb\u884c\u4e0b\u4e00\u6b65\uff1b\u53cd\u4e4b\u5219\u8df3\u8fc7\u4e0b\u4e00\u6b65\u3002

                              Error: no repositories to show\n
                            2. \u6dfb\u52a0\u5b89\u5168\u7ba1\u7406\u7684 helm \u4ed3\u5e93\u3002

                              helm repo add dowl http://{harbor url}/chartrepo/{project}\n
                            3. \u66f4\u65b0\u5b89\u5168\u7ba1\u7406\u7684 helm \u4ed3\u5e93\u3002

                              helm repo update dowl\n

                              helm \u7248\u672c\u8fc7\u4f4e\u4f1a\u5bfc\u81f4\u5931\u8d25\uff0c\u82e5\u5931\u8d25\uff0c\u8bf7\u5c1d\u8bd5\u6267\u884c helm update repo

                            4. \u9009\u62e9\u60a8\u60f3\u5b89\u88c5\u7684\u5b89\u5168\u7ba1\u7406\u7248\u672c\uff08\u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\uff09\u3002

                              helm search repo dowl/dowl --versions\n
                              [root@master ~]# helm search repo dowl/dowl --versions\nNAME                   CHART VERSION  APP VERSION  DESCRIPTION\ndowl/dowl  0.4.0          v0.4.0       A Helm chart for dowl\n...\n
                            5. \u5907\u4efd --set \u53c2\u6570\u3002

                              \u5728\u5347\u7ea7\u5b89\u5168\u7ba1\u7406\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                              helm get values dowl -n dowl-system -o yaml > bak.yaml\n
                            6. \u66f4\u65b0 dowl crds (\u9700\u8981\u5148\u89e3\u538b\u5e76\u8fdb\u5165 original-chart \u6587\u4ef6)

                              helm pull dowl/dowl --version 0.4.0 && tar -zxf dowl-0.4.0.tgz\nkubectl apply -f dowl/crds\n
                            7. \u6267\u884c helm upgrade \u3002

                              \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u5b57\u6bb5\u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                              export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                              helm upgrade dowl dowl/dowl \\\n  -n dowl-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry \\\n  --version 0.4.0\n
                            1. \u5907\u4efd --set \u53c2\u6570\u3002

                              \u5728\u5347\u7ea7\u5b89\u5168\u7ba1\u7406\u7248\u672c\u4e4b\u524d\uff0c\u5efa\u8bae\u60a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5907\u4efd\u8001\u7248\u672c\u7684 --set \u53c2\u6570\u3002

                              helm get values dowl -n dowl-system -o yaml > bak.yaml\n
                            2. \u66f4\u65b0 dowl crds (\u9700\u8981\u5148\u89e3\u538b\u5e76\u8fdb\u5165 original-chart \u6587\u4ef6)

                              kubectl apply -f ./crds\n
                            3. \u6267\u884c helm upgrade \u3002

                              \u5347\u7ea7\u524d\u5efa\u8bae\u60a8\u8986\u76d6 bak.yaml \u4e2d\u7684 global.imageRegistry \u4e3a\u5f53\u524d\u4f7f\u7528\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3002

                              export imageRegistry={\u4f60\u7684\u955c\u50cf\u4ed3\u5e93}\n
                              helm upgrade dowl . \\\n  -n dowl-system \\\n  -f ./bak.yaml \\\n  --set global.imageRegistry=$imageRegistry\n
                            "},{"location":"kpanda/user-guide/security/cis/config.html","title":"\u626b\u63cf\u914d\u7f6e","text":"

                            \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u7684\u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\u3002\u57fa\u4e8e\u626b\u63cf\u914d\u7f6e\u518d\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3001\u6267\u884c\u626b\u63cf\u7b56\u7565\uff0c\u6700\u540e\u67e5\u770b\u626b\u63cf\u7ed3\u679c\u3002

                            "},{"location":"kpanda/user-guide/security/cis/config.html#_2","title":"\u521b\u5efa\u626b\u63cf\u914d\u7f6e","text":"

                            \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                            2. \u9ed8\u8ba4\u8fdb\u5165 \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\uff0c\u70b9\u51fb \u626b\u63cf\u914d\u7f6e \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u914d\u7f6e \u3002

                            3. \u586b\u5199\u914d\u7f6e\u540d\u79f0\u3001\u9009\u62e9\u914d\u7f6e\u6a21\u677f\u3001\u6309\u9700\u52fe\u9009\u626b\u63cf\u9879\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                              \u626b\u63cf\u6a21\u677f\uff1a\u76ee\u524d\u63d0\u4f9b\u4e86\u4e24\u4e2a\u6a21\u677f\u3002 kubeadm \u6a21\u677f\u9002\u7528\u4e8e\u4e00\u822c\u60c5\u51b5\u4e0b\u7684 Kubernetes \u96c6\u7fa4\u3002 daocloud \u6a21\u677f\u5728 kubeadm \u6a21\u677f\u57fa\u7840\u4e0a\uff0c\u7ed3\u5408 DCE 5.0 \u7684\u5e73\u53f0\u8bbe\u8ba1\u5ffd\u7565\u4e86\u4e0d\u9002\u7528\u4e8e DCE 5.0 \u7684\u626b\u63cf\u9879\u3002

                            "},{"location":"kpanda/user-guide/security/cis/config.html#_3","title":"\u67e5\u770b\u626b\u63cf\u914d\u7f6e","text":"

                            \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u626b\u63cf\u914d\u7f6e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u914d\u7f6e\u7684\u7c7b\u578b\u3001\u626b\u63cf\u9879\u6570\u91cf\u3001\u521b\u5efa\u65f6\u95f4\u3001\u914d\u7f6e\u6a21\u677f\uff0c\u4ee5\u53ca\u8be5\u914d\u7f6e\u542f\u7528\u7684\u5177\u4f53\u626b\u63cf\u9879\u3002

                            "},{"location":"kpanda/user-guide/security/cis/config.html#_4","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u914d\u7f6e","text":"

                            \u626b\u63cf\u914d\u7f6e\u521b\u5efa\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u66f4\u65b0\u914d\u7f6e\u6216\u5220\u9664\u8be5\u914d\u7f6e\u3002

                            \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                            • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u63cf\u8ff0\u3001\u6a21\u677f\u548c\u626b\u63cf\u9879\u3002\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u3002
                            • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e\u3002

                            "},{"location":"kpanda/user-guide/security/cis/policy.html","title":"\u626b\u63cf\u7b56\u7565","text":""},{"location":"kpanda/user-guide/security/cis/policy.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"

                            \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u4e4b\u540e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                            1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                            2. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                              • \u626b\u63cf\u914d\u7f6e\uff1a\u9009\u62e9\u4e8b\u5148\u521b\u5efa\u597d\u7684\u626b\u63cf\u914d\u7f6e\u3002\u626b\u63cf\u914d\u7f6e\u89c4\u5b9a\u4e86\u9700\u8981\u6267\u884c\u54ea\u4e9b\u5177\u4f53\u7684\u626b\u63cf\u9879\u3002
                              • \u626b\u63cf\u7c7b\u578b\uff1a

                                • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                              • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                            "},{"location":"kpanda/user-guide/security/cis/policy.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                            \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                            \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                            • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                              • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                              • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                              • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                              • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                            • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                            "},{"location":"kpanda/user-guide/security/cis/report.html","title":"\u626b\u63cf\u62a5\u544a","text":"

                            hide\uff1a - toc

                            "},{"location":"kpanda/user-guide/security/cis/report.html#_1","title":"\u626b\u63cf\u62a5\u544a","text":"

                            \u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u3002\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a\u6216\u5c06\u5176\u4e0b\u8f7d\u5230\u672c\u5730\u67e5\u770b\u3002

                            • \u4e0b\u8f7d\u67e5\u770b\u626b\u63cf\u62a5\u544a

                              \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u70b9\u51fb\u62a5\u544a\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u4e0b\u8f7d \u3002

                            • \u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a

                              \u70b9\u51fb\u67d0\u4e2a\u62a5\u544a\u7684\u540d\u79f0\uff0c\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b CIS \u5408\u89c4\u6027\u626b\u63cf\u7684\u62a5\u544a\u5185\u5bb9\u3002\u5177\u4f53\u5305\u62ec\uff1a

                              • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                              • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565\u548c\u626b\u63cf\u914d\u7f6e
                              • \u626b\u63cf\u5f00\u59cb\u65f6\u95f4
                              • \u626b\u63cf\u9879\u603b\u6570\u3001\u901a\u8fc7\u6570\u4e0e\u672a\u901a\u8fc7\u6570
                              • \u5bf9\u4e8e\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u5bf9\u5e94\u7684\u4fee\u590d\u5efa\u8bae
                              • \u5bf9\u4e8e\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u66f4\u5b89\u5168\u7684\u64cd\u4f5c\u5efa\u8bae

                            "},{"location":"kpanda/user-guide/storage/pv.html","title":"\u6570\u636e\u5377(PV)","text":"

                            \u6570\u636e\u5377\uff08PersistentVolume\uff0cPV\uff09\u662f\u96c6\u7fa4\u4e2d\u7684\u4e00\u5757\u5b58\u50a8\uff0c\u53ef\u7531\u7ba1\u7406\u5458\u4e8b\u5148\u5236\u5907\uff0c\u6216\u4f7f\u7528\u5b58\u50a8\u7c7b\uff08Storage Class\uff09\u6765\u52a8\u6001\u5236\u5907\u3002PV \u662f\u96c6\u7fa4\u8d44\u6e90\uff0c\u4f46\u62e5\u6709\u72ec\u7acb\u7684\u751f\u547d\u5468\u671f\uff0c\u4e0d\u4f1a\u968f\u7740 Pod \u8fdb\u7a0b\u7ed3\u675f\u800c\u88ab\u5220\u9664\u3002\u5c06 PV \u6302\u8f7d\u5230\u5de5\u4f5c\u8d1f\u8f7d\u53ef\u4ee5\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6301\u4e45\u5316\u3002PV \u4e2d\u4fdd\u5b58\u4e86\u53ef\u88ab Pod \u4e2d\u5bb9\u5668\u8bbf\u95ee\u7684\u6570\u636e\u76ee\u5f55\u3002

                            "},{"location":"kpanda/user-guide/storage/pv.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377","text":"

                            \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                            • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                            • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                            "},{"location":"kpanda/user-guide/storage/pv.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> YAML \u521b\u5efa \u3002

                            2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                            "},{"location":"kpanda/user-guide/storage/pv.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> \u521b\u5efa\u6570\u636e\u5377(PV) \u3002

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                              • \u6570\u636e\u5377\u540d\u79f0\u3001\u6570\u636e\u5377\u7c7b\u578b\u3001\u6302\u8f7d\u8def\u5f84\u3001\u5377\u6a21\u5f0f\u3001\u8282\u70b9\u4eb2\u548c\u6027\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                              • \u6570\u636e\u5377\u7c7b\u578b\uff1a\u6709\u5173\u5377\u7c7b\u578b\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5377\u3002

                              • Local\uff1a\u5c06 Node \u8282\u70b9\u7684\u672c\u5730\u5b58\u50a8\u5305\u88c5\u6210 PVC \u63a5\u53e3\uff0c\u5bb9\u5668\u76f4\u63a5\u4f7f\u7528 PVC \u800c\u65e0\u9700\u5173\u6ce8\u5e95\u5c42\u7684\u5b58\u50a8\u7c7b\u578b\u3002Local \u5377\u4e0d\u652f\u6301\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\uff0c\u4f46\u652f\u6301\u914d\u7f6e\u8282\u70b9\u4eb2\u548c\u6027\uff0c\u53ef\u4ee5\u9650\u5236\u80fd\u4ece\u54ea\u4e9b\u8282\u70b9\u4e0a\u8bbf\u95ee\u8be5\u6570\u636e\u5377\u3002

                              • HostPath\uff1a\u4f7f\u7528 Node \u8282\u70b9\u7684\u6587\u4ef6\u7cfb\u7edf\u4e0a\u7684\u6587\u4ef6\u6216\u76ee\u5f55\u4f5c\u4e3a\u6570\u636e\u5377\uff0c\u4e0d\u652f\u6301\u57fa\u4e8e\u8282\u70b9\u4eb2\u548c\u6027\u7684 Pod \u8c03\u5ea6\u3002

                              • \u6302\u8f7d\u8def\u5f84\uff1a\u5c06\u6570\u636e\u5377\u6302\u8f7d\u5230\u5bb9\u5668\u4e2d\u7684\u67d0\u4e2a\u5177\u4f53\u76ee\u5f55\u4e0b\u3002

                              • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                                • ReadWriteOnce\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                • ReadWriteMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                • ReadOnlyMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                                • ReadWriteOncePod\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                              • \u56de\u6536\u7b56\u7565\uff1a

                                • Retain\uff1a\u4e0d\u5220\u9664 PV\uff0c\u4ec5\u5c06\u5176\u72b6\u6001\u53d8\u4e3a released \uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u56de\u6536\u3002\u6709\u5173\u5982\u4f55\u624b\u52a8\u56de\u6536\uff0c\u53ef\u53c2\u8003\u6301\u4e45\u5377\u3002
                                • Recycle\uff1a\u4fdd\u7559 PV \u4f46\u6e05\u7a7a\u5176\u4e2d\u7684\u6570\u636e\uff0c\u6267\u884c\u57fa\u672c\u7684\u64e6\u9664\u64cd\u4f5c\uff08 rm -rf /thevolume/* \uff09\u3002
                                • Delete\uff1a\u5220\u9664 PV \u65f6\u53ca\u5176\u4e2d\u7684\u6570\u636e\u3002
                              • \u5377\u6a21\u5f0f\uff1a

                                • \u6587\u4ef6\u7cfb\u7edf\uff1a\u6570\u636e\u5377\u5c06\u88ab Pod \u6302\u8f7d\u5230\u67d0\u4e2a\u76ee\u5f55\u3002\u5982\u679c\u6570\u636e\u5377\u7684\u5b58\u50a8\u6765\u81ea\u67d0\u5757\u8bbe\u5907\u800c\u8be5\u8bbe\u5907\u76ee\u524d\u4e3a\u7a7a\uff0c\u7b2c\u4e00\u6b21\u6302\u8f7d\u5377\u4e4b\u524d\u4f1a\u5728\u8bbe\u5907\u4e0a\u521b\u5efa\u6587\u4ef6\u7cfb\u7edf\u3002
                                • \u5757\uff1a\u5c06\u6570\u636e\u5377\u4f5c\u4e3a\u539f\u59cb\u5757\u8bbe\u5907\u6765\u4f7f\u7528\u3002\u8fd9\u7c7b\u5377\u4ee5\u5757\u8bbe\u5907\u7684\u65b9\u5f0f\u4ea4\u7ed9 Pod \u4f7f\u7528\uff0c\u5176\u4e0a\u6ca1\u6709\u4efb\u4f55\u6587\u4ef6\u7cfb\u7edf\uff0c\u53ef\u4ee5\u8ba9 Pod \u66f4\u5feb\u5730\u8bbf\u95ee\u6570\u636e\u5377\u3002
                              • \u8282\u70b9\u4eb2\u548c\u6027\uff1a

                            "},{"location":"kpanda/user-guide/storage/pv.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377","text":"

                            \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \u3002

                            • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                            • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                            • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                            "},{"location":"kpanda/user-guide/storage/pv.html#_4","title":"\u514b\u9686\u6570\u636e\u5377","text":"

                            \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u3002

                            1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                              • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                                \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                            2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"kpanda/user-guide/storage/pv.html#_5","title":"\u66f4\u65b0\u6570\u636e\u5377","text":"

                            \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u3002

                            Note

                            \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u7684\u522b\u540d\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u3001\u56de\u6536\u7b56\u7565\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            "},{"location":"kpanda/user-guide/storage/pv.html#_6","title":"\u5220\u9664\u6570\u636e\u5377","text":"

                            \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                            \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html","title":"\u6570\u636e\u5377\u58f0\u660e(PVC)","text":"

                            \u6301\u4e45\u5377\u58f0\u660e\uff08PersistentVolumeClaim\uff0cPVC\uff09\u8868\u8fbe\u7684\u662f\u7528\u6237\u5bf9\u5b58\u50a8\u7684\u8bf7\u6c42\u3002PVC \u6d88\u8017 PV \u8d44\u6e90\uff0c\u7533\u9886\u4f7f\u7528\u7279\u5b9a\u5927\u5c0f\u3001\u7279\u5b9a\u8bbf\u95ee\u6a21\u5f0f\u7684\u6570\u636e\u5377\uff0c\u4f8b\u5982\u8981\u6c42 PV \u5377\u4ee5 ReadWriteOnce\u3001ReadOnlyMany \u6216 ReadWriteMany \u7b49\u6a21\u5f0f\u6765\u6302\u8f7d\u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                            • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u58f0\u660e\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                            • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> YAML \u521b\u5efa \u3002

                            2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e (PVC) \u3002

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                              • \u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65b9\u5f0f\u3001\u6570\u636e\u5377\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                              • \u521b\u5efa\u65b9\u5f0f\uff1a\u5728\u5df2\u6709\u7684\u5b58\u50a8\u6c60\u6216\u8005\u6570\u636e\u5377\u4e2d\u52a8\u6001\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u6216\u8005\u57fa\u4e8e\u6570\u636e\u5377\u58f0\u660e\u7684\u5feb\u7167\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                                \u57fa\u4e8e\u5feb\u7167\u521b\u5efa\u65f6\u65e0\u6cd5\u4fee\u6539\u6570\u636e\u5377\u58f0\u660e\u7684\u5bb9\u91cf\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5b8c\u6210\u540e\u518d\u8fdb\u884c\u4fee\u6539\u3002

                              • \u9009\u62e9\u521b\u5efa\u65b9\u5f0f\u4e4b\u540e\uff0c\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u60f3\u8981\u4f7f\u7528\u7684\u5b58\u50a8\u6c60/\u6570\u636e\u5377/\u5feb\u7167\u3002

                              • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                              • ReadWriteOnce\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                              • ReadWriteMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                              • ReadOnlyMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                              • ReadWriteOncePod\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \u3002

                            • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\u58f0\u660e\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u58f0\u660e\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                            • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                            • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u58f0\u660e\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html#_4","title":"\u6269\u5bb9\u6570\u636e\u5377\u58f0\u660e","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230\u60f3\u8981\u8c03\u6574\u5bb9\u91cf\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                            2. \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u6269\u5bb9 \u3002

                            3. \u8f93\u5165\u76ee\u6807\u5bb9\u91cf\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html#_5","title":"\u514b\u9686\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                            1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                              • \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                                \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                            2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html#_6","title":"\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002

                            Note

                            \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u7684\u522b\u540d\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html#_7","title":"\u5220\u9664\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                            \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                            "},{"location":"kpanda/user-guide/storage/pvc.html#_8","title":"\u5e38\u89c1\u95ee\u9898","text":"
                            1. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5b58\u50a8\u6c60\u6216\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u521b\u5efa\u5b58\u50a8\u6c60\u6216\u521b\u5efa\u6570\u636e\u5377\u3002

                            2. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5feb\u7167\uff0c\u53ef\u4ee5\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u5236\u4f5c\u5feb\u7167\u3002

                            3. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u542f\u7528\u5feb\u7167\uff0c\u5219\u65e0\u6cd5\u5236\u4f5c\u5feb\u7167\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u201c\u5236\u4f5c\u5feb\u7167\u201d\u9009\u9879\u3002

                            4. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u5f00\u542f\u6269\u5bb9\u529f\u80fd\uff0c\u5219\u8be5\u6570\u636e\u5377\u4e0d\u652f\u6301\u6269\u5bb9\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u6269\u5bb9\u9009\u9879\u3002

                            "},{"location":"kpanda/user-guide/storage/sc-share.html","title":"\u5171\u4eab\u5b58\u50a8\u6c60","text":"

                            DCE 5.0 \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5c06\u4e00\u4e2a\u5b58\u50a8\u6c60\u5171\u4eab\u7ed9\u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u4f7f\u7528\uff0c\u4ee5\u4fbf\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                            1. \u5728\u5b58\u50a8\u6c60\u5217\u8868\u4e2d\u627e\u5230\u9700\u8981\u5171\u4eab\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u64cd\u4f5c\u680f\u4e0b\u70b9\u51fb \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u3002

                            2. \u70b9\u51fb \u81ea\u5b9a\u4e49\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u9010\u4e00\u9009\u62e9\u9700\u8981\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u54ea\u4e9b\u547d\u540d\u7a7a\u95f4\u3002

                              • \u70b9\u51fb \u6388\u6743\u6240\u6709\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u4e00\u6b21\u6027\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u5f53\u524d\u96c6\u7fa4\u4e0b\u7684\u6240\u6709\u547d\u540d\u7a7a\u95f4\u3002
                              • \u5728\u5217\u8868\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u65b9\u70b9\u51fb \u79fb\u9664\u6388\u6743 \uff0c\u53ef\u4ee5\u89e3\u9664\u6388\u6743\uff0c\u505c\u6b62\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u8be5\u547d\u540d\u7a7a\u95f4\u3002

                            "},{"location":"kpanda/user-guide/storage/sc.html","title":"\u5b58\u50a8\u6c60(SC)","text":"

                            \u5b58\u50a8\u6c60\u6307\u5c06\u8bb8\u591a\u7269\u7406\u78c1\u76d8\u7ec4\u6210\u4e00\u4e2a\u5927\u578b\u5b58\u50a8\u8d44\u6e90\u6c60\uff0c\u672c\u5e73\u53f0\u652f\u6301\u63a5\u5165\u5404\u7c7b\u5b58\u50a8\u5382\u5546\u540e\u521b\u5efa\u5757\u5b58\u50a8\u6c60\u3001\u672c\u5730\u5b58\u50a8\u6c60\u3001\u81ea\u5b9a\u4e49\u5b58\u50a8\u6c60\uff0c\u7136\u540e\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\u3002

                            "},{"location":"kpanda/user-guide/storage/sc.html#sc_1","title":"\u521b\u5efa\u5b58\u50a8\u6c60(SC)","text":"

                            \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b58\u50a8\u6c60\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                            • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                            • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                            "},{"location":"kpanda/user-guide/storage/sc.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> YAML \u521b\u5efa \u3002

                            2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                            "},{"location":"kpanda/user-guide/storage/sc.html#_1","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> \u521b\u5efa\u5b58\u50a8\u6c60(SC) \u3002

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u7136\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              \u81ea\u5b9a\u4e49\u5b58\u50a8\u7cfb\u7edf

                              • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                              • CSI \u5b58\u50a8\u9a71\u52a8\uff1a\u57fa\u4e8e\u6807\u51c6 Kubernetes \u7684\u5bb9\u5668\u5b58\u50a8\u63a5\u53e3\u63d2\u4ef6\uff0c\u9700\u9075\u5b88\u5b58\u50a8\u5382\u5546\u89c4\u5b9a\u7684\u683c\u5f0f\uff0c\u4f8b\u5982 rancher.io/local-path \u3002

                                • \u6709\u5173\u5982\u4f55\u586b\u5199\u4e0d\u540c\u5382\u5546\u63d0\u4f9b\u7684 CSI \u9a71\u52a8\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5b58\u50a8\u7c7b\u3002
                                  • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                                  • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                              HwameiStor \u5b58\u50a8\u7cfb\u7edf

                              • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                              • \u5b58\u50a8\u7cfb\u7edf\uff1aHwameiStor \u5b58\u50a8\u7cfb\u7edf\u3002
                              • \u5b58\u50a8\u7c7b\u578b\uff1a\u652f\u6301 LVM\uff0c\u88f8\u78c1\u76d8\u7c7b\u578b
                                • LVM \u7c7b\u578b \uff1aHwameiStor \u63a8\u8350\u4f7f\u7528\u6b64\u65b9\u5f0f\uff0c\u53ef\u4f7f\u7528\u9ad8\u53ef\u7528\u6570\u636e\u5377\uff0c\u5bf9\u5e94\u7684\u7684 CSI \u5b58\u50a8\u9a71\u52a8\u4e3a lvm.hwameistor.io\u3002
                                • \u88f8\u78c1\u76d8\u6570\u636e\u5377 \uff1a \u9002\u7528\u4e8e\u975e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u65e0\u9ad8\u53ef\u7528\u80fd\u529b\uff0c\u5bf9\u5e94\u7684 CSI \u9a71\u52a8\u4e3a hdd.hwameistor.io
                              • \u9ad8\u53ef\u7528\u6a21\u5f0f\uff1a\u4f7f\u7528\u9ad8\u53ef\u7528\u80fd\u529b\u4e4b\u524d\u8bf7\u786e\u8ba4 DRBD \u7ec4\u4ef6 \u5df2\u5b89\u88c5\u3002\u5f00\u542f\u9ad8\u53ef\u7528\u6a21\u5f0f\u540e\uff0c\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u6570\u8bbe\u7f6e\u4e3a 1 \u548c 2\u3002 \u5982\u9700\u8981\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u4ece 1 Convert \u6210 1
                              • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                              • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                              Note

                              \u76ee\u524d HwameiStor xfs\u3001ext4 \u4e24\u79cd\u6587\u4ef6\u7cfb\u7edf\uff0c\u5176\u4e2d\u9ed8\u8ba4\u4f7f\u7528\u7684\u662f xfs \u6587\u4ef6\u7cfb\u7edf\uff0c\u5982\u679c\u60f3\u8981\u66ff\u6362\u4e3a ext4\uff0c\u53ef\u4ee5\u5728\u81ea\u5b9a\u4e49\u53c2\u6570\u6dfb\u52a0 csi.storage.k8s.io/fstype: ext4

                            "},{"location":"kpanda/user-guide/storage/sc.html#sc_2","title":"\u66f4\u65b0\u5b58\u50a8\u6c60(SC)","text":"

                            \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u7f16\u8f91 \u5373\u53ef\u901a\u8fc7\u66f4\u65b0\u5b58\u50a8\u6c60\u3002

                            Info

                            \u9009\u62e9 \u67e5\u770b YAML \u53ef\u4ee5\u67e5\u770b\u8be5\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\uff0c\u4f46\u4e0d\u652f\u6301\u7f16\u8f91\u3002

                            "},{"location":"kpanda/user-guide/storage/sc.html#sc_3","title":"\u5220\u9664\u5b58\u50a8\u6c60(SC)","text":"

                            \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                            "},{"location":"kpanda/user-guide/workloads/create-cronjob.html","title":"\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u3002

                            \u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u9002\u7528\u4e8e\u4e8e\u6267\u884c\u5468\u671f\u6027\u7684\u64cd\u4f5c\uff0c\u4f8b\u5982\u5907\u4efd\u3001\u62a5\u544a\u751f\u6210\u7b49\u3002\u8fd9\u4e9b\u4efb\u52a1\u53ef\u4ee5\u914d\u7f6e\u4e3a\u5468\u671f\u6027\u91cd\u590d\u7684\uff08\u4f8b\u5982\uff1a\u6bcf\u5929/\u6bcf\u5468/\u6bcf\u6708\u4e00\u6b21\uff09\uff0c\u53ef\u4ee5\u5b9a\u4e49\u4efb\u52a1\u5f00\u59cb\u6267\u884c\u7684\u65f6\u95f4\u95f4\u9694\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b9a\u65f6\u4efb\u52a1\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b9a\u65f6\u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            \u5728 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b9a\u65f6\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                            "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e","text":"
                            • \u5e76\u53d1\u7b56\u7565\uff1a\u662f\u5426\u5141\u8bb8\u591a\u4e2a Job \u4efb\u52a1\u5e76\u884c\u6267\u884c\u3002

                              • Allow \uff1a\u53ef\u4ee5\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u672a\u5b8c\u6210\u65f6\u5c31\u521b\u5efa\u65b0\u7684\u5b9a\u65f6\u4efb\u52a1\uff0c\u800c\u4e14\u591a\u4e2a\u4efb\u52a1\u53ef\u4ee5\u5e76\u884c\u3002\u4efb\u52a1\u592a\u591a\u53ef\u80fd\u62a2\u5360\u96c6\u7fa4\u8d44\u6e90\u3002
                              • Forbid \uff1a\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u5b8c\u6210\u4e4b\u524d\uff0c\u4e0d\u80fd\u521b\u5efa\u65b0\u4efb\u52a1\uff0c\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\u800c\u4e4b\u524d\u7684\u4efb\u52a1\u4ecd\u672a\u6267\u884c\u5b8c\uff0cCronJob \u4f1a\u5ffd\u7565\u65b0\u4efb\u52a1\u7684\u6267\u884c\u3002
                              • Replace \uff1a\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\uff0c\u4f46\u524d\u4e00\u4e2a\u4efb\u52a1\u8fd8\u672a\u5b8c\u6210\uff0c\u65b0\u7684\u4efb\u52a1\u4f1a\u53d6\u4ee3\u524d\u4e00\u4e2a\u4efb\u52a1\u3002

                              \u4e0a\u8ff0\u89c4\u5219\u4ec5\u9002\u7528\u4e8e\u540c\u4e00\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u3002\u591a\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u603b\u662f\u5141\u8bb8\u5e76\u53d1\u6267\u884c\u3002

                            • \u5b9a\u65f6\u89c4\u5219\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002

                            • \u4efb\u52a1\u8bb0\u5f55\uff1a\u8bbe\u5b9a\u4fdd\u7559\u591a\u5c11\u6761\u4efb\u52a1\u6267\u884c\u6210\u529f\u6216\u5931\u8d25\u7684\u8bb0\u5f55\u3002 0 \u8868\u793a\u4e0d\u4fdd\u7559\u3002
                            • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u5c31\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002\u9ed8\u8ba4\u503c\u4e3a 360 s\u3002
                            • \u91cd\u8bd5\u6b21\u6570\uff1a\u4efb\u52a1\u53ef\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba4\u503c\u4e3a 6\u3002
                            • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u4efb\u52a1\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002
                            "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_6","title":"\u670d\u52a1\u914d\u7f6e","text":"

                            \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                            1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                            2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u5b9a\u65f6\u4efb\u52a1\u7684\u9ad8\u7ea7\u914d\u7f6e\u4e3b\u8981\u6d89\u53ca\u6807\u7b7e\u4e0e\u6ce8\u89e3\u3002

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-cronjob.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                            apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  creationTimestamp: '2022-12-26T09:45:47Z'\n  generation: 1\n  name: demo\n  namespace: default\n  resourceVersion: '92726617'\n  uid: d030d8d7-a405-4dcd-b09a-176942ef36c9\nspec:\n  concurrencyPolicy: Allow\n  failedJobsHistoryLimit: 1\n  jobTemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      activeDeadlineSeconds: 360\n      backoffLimit: 6\n      template:\n        metadata:\n          creationTimestamp: null\n        spec:\n          containers:\n            - image: nginx\n              imagePullPolicy: IfNotPresent\n              lifecycle: {}\n              name: container-3\n              resources:\n                limits:\n                  cpu: 250m\n                  memory: 512Mi\n                requests:\n                  cpu: 250m\n                  memory: 512Mi\n              securityContext:\n                privileged: false\n              terminationMessagePath: /dev/termination-log\n              terminationMessagePolicy: File\n          dnsPolicy: ClusterFirst\n          restartPolicy: Never\n          schedulerName: default-scheduler\n          securityContext: {}\n          terminationGracePeriodSeconds: 30\n  schedule: 0 0 13 * 5\n  successfulJobsHistoryLimit: 3\n  suspend: false\nstatus: {}\n
                            "},{"location":"kpanda/user-guide/workloads/create-daemonset.html","title":"\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b(DaemonSet)","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u3002

                            \u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u901a\u8fc7\u8282\u70b9\u4eb2\u548c\u6027\u4e0e\u6c61\u70b9\u529f\u80fd\u786e\u4fdd\u5728\u5168\u90e8\u6216\u90e8\u5206\u8282\u70b9\u4e0a\u8fd0\u884c\u4e00\u4e2a Pod \u7684\u526f\u672c\u3002\u5bf9\u4e8e\u65b0\u52a0\u5165\u96c6\u7fa4\u7684\u8282\u70b9\uff0cDaemonSet \u81ea\u52a8\u5728\u65b0\u8282\u70b9\u4e0a\u90e8\u7f72\u76f8\u5e94\u7684 Pod\uff0c\u5e76\u8ddf\u8e2a Pod \u7684\u8fd0\u884c\u72b6\u6001\u3002\u5f53\u8282\u70b9\u88ab\u79fb\u9664\u65f6\uff0cDaemonSet \u5219\u5220\u9664\u5176\u521b\u5efa\u7684\u6240\u6709 Pod\u3002

                            \u5b88\u62a4\u8fdb\u7a0b\u7684\u5e38\u89c1\u7528\u4f8b\u5305\u62ec\uff1a

                            • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u96c6\u7fa4\u5b88\u62a4\u8fdb\u7a0b\u3002

                            • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u65e5\u5fd7\u6536\u96c6\u5b88\u62a4\u8fdb\u7a0b\u3002

                            • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u76d1\u63a7\u5b88\u62a4\u8fdb\u7a0b\u3002

                            \u7b80\u5355\u8d77\u89c1\uff0c\u53ef\u4ee5\u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u4e3a\u6bcf\u79cd\u7c7b\u578b\u7684\u5b88\u62a4\u8fdb\u7a0b\u90fd\u542f\u52a8\u4e00\u4e2a DaemonSet\u3002\u5982\u9700\u66f4\u7cbe\u7ec6\u3001\u66f4\u9ad8\u7ea7\u5730\u7ba1\u7406\u5b88\u62a4\u8fdb\u7a0b\uff0c\u4e5f\u53ef\u4ee5\u4e3a\u540c\u4e00\u79cd\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u591a\u4e2a DaemonSet\u3002\u6bcf\u4e2a DaemonSet \u5177\u6709\u4e0d\u540c\u7684\u6807\u5fd7\uff0c\u5e76\u4e14\u5bf9\u4e0d\u540c\u786c\u4ef6\u7c7b\u578b\u5177\u6709\u4e0d\u540c\u7684\u5185\u5b58\u3001CPU \u8981\u6c42\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u521b\u5efa DaemonSet \u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b88\u62a4\u8fdb\u7a0b\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b88\u62a4\u8fdb\u7a0b \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b88\u62a4\u8fdb\u7a0b\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            \u5728 \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                            "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                            \u4e3a\u5b88\u62a4\u8fdb\u7a0b\u521b\u5efa\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u5b88\u62a4\u8fdb\u7a0b\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                            1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                            2. \u914d\u7f6e\u670d\u52a1\u53c2\u6570\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u521b\u5efa\u670d\u52a1\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3

                            \u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                            • DNS \u7b56\u7565

                              • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                              • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                              • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                              • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                            • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                            • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                            • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                            • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                            • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                            • \u6700\u5927\u65e0\u6548 Pod \u6570\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                            • \u6700\u5927\u6d6a\u6d8c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                            • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                            • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                            • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                            • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                            • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                            • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                            \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-daemonset.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u7684 YAML \u793a\u4f8b
                            kind: DaemonSet\napiVersion: apps/v1\nmetadata:\n  name: hwameistor-local-disk-manager\n  namespace: hwameistor\n  uid: ccbdc098-7de3-4a8a-96dd-d1cee159c92b\n  resourceVersion: '90999552'\n  generation: 1\n  creationTimestamp: '2022-12-15T09:03:44Z'\n  labels:\n    app.kubernetes.io/managed-by: Helm\n  annotations:\n    deprecated.daemonset.template.generation: '1'\n    meta.helm.sh/release-name: hwameistor\n    meta.helm.sh/release-namespace: hwameistor\nspec:\n  selector:\n    matchLabels:\n      app: hwameistor-local-disk-manager\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: hwameistor-local-disk-manager\n    spec:\n      volumes:\n        - name: udev\n          hostPath:\n            path: /run/udev\n            type: Directory\n        - name: procmount\n          hostPath:\n            path: /proc\n            type: Directory\n        - name: devmount\n          hostPath:\n            path: /dev\n            type: Directory\n        - name: socket-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins/disk.hwameistor.io\n            type: DirectoryOrCreate\n        - name: registration-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins_registry/\n            type: Directory\n        - name: plugin-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins\n            type: DirectoryOrCreate\n        - name: pods-mount-dir\n          hostPath:\n            path: /var/lib/kubelet/pods\n            type: DirectoryOrCreate\n      containers:\n        - name: registrar\n          image: k8s-gcr.m.daocloud.io/sig-storage/csi-node-driver-registrar:v2.5.0\n          args:\n            - '--v=5'\n            - '--csi-address=/csi/csi.sock'\n            - >-\n              --kubelet-registration-path=/var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n          env:\n            - name: KUBE_NODE_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n          resources: {}\n          volumeMounts:\n            - name: socket-dir\n              mountPath: /csi\n            - name: registration-dir\n              mountPath: /registration\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - /bin/sh\n                  - '-c'\n                  - >-\n                    rm -rf /registration/disk.hwameistor.io \n                    /registration/disk.hwameistor.io-reg.sock\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: manager\n          image: ghcr.m.daocloud.io/hwameistor/local-disk-manager:v0.6.1\n          command:\n            - /local-disk-manager\n          args:\n            - '--endpoint=$(CSI_ENDPOINT)'\n            - '--nodeid=$(NODENAME)'\n            - '--csi-enable=true'\n          env:\n            - name: CSI_ENDPOINT\n              value: unix://var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n            - name: NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: WATCH_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: NODENAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n            - name: OPERATOR_NAME\n              value: local-disk-manager\n          resources: {}\n          volumeMounts:\n            - name: udev\n              mountPath: /run/udev\n            - name: procmount\n              readOnly: true\n              mountPath: /host/proc\n            - name: devmount\n              mountPath: /dev\n            - name: registration-dir\n              mountPath: /var/lib/kubelet/plugins_registry\n            - name: plugin-dir\n              mountPath: /var/lib/kubelet/plugins\n              mountPropagation: Bidirectional\n            - name: pods-mount-dir\n              mountPath: /var/lib/kubelet/pods\n              mountPropagation: Bidirectional\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: true\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      serviceAccountName: hwameistor-admin\n      serviceAccount: hwameistor-admin\n      hostNetwork: true\n      hostPID: true\n      securityContext: {}\n      schedulerName: default-scheduler\n      tolerations:\n        - key: CriticalAddonsOnly\n          operator: Exists\n        - key: node.kubernetes.io/not-ready\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/master\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/control-plane\n          operator: Exists\n          effect: NoSchedule\n        - key: node.cloudprovider.kubernetes.io/uninitialized\n          operator: Exists\n          effect: NoSchedule\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      maxUnavailable: 1\n      maxSurge: 0\n  revisionHistoryLimit: 10\nstatus:\n  currentNumberScheduled: 4\n  numberMisscheduled: 0\n  desiredNumberScheduled: 4\n  numberReady: 4\n  observedGeneration: 1\n  updatedNumberScheduled: 4\n  numberAvailable: 4\n
                            "},{"location":"kpanda/user-guide/workloads/create-deployment.html","title":"\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                            \u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u4e3b\u8981\u4e3a Pod \u548c ReplicaSet \u63d0\u4f9b\u58f0\u660e\u5f0f\u66f4\u65b0\uff0c\u652f\u6301\u5f39\u6027\u4f38\u7f29\u3001\u6eda\u52a8\u5347\u7ea7\u3001\u7248\u672c\u56de\u9000\u7b49\u529f\u80fd\u3002\u5728 Deployment \u4e2d\u58f0\u660e\u671f\u671b\u7684 Pod \u72b6\u6001\uff0cDeployment Controller \u4f1a\u901a\u8fc7 ReplicaSet \u4fee\u6539\u5f53\u524d\u72b6\u6001\uff0c\u4f7f\u5176\u8fbe\u5230\u9884\u5148\u58f0\u660e\u7684\u671f\u671b\u72b6\u6001\u3002Deployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u652f\u6301\u6570\u636e\u6301\u4e45\u5316\uff0c\u9002\u7528\u4e8e\u90e8\u7f72\u65e0\u72b6\u6001\u7684\u3001\u4e0d\u9700\u8981\u4fdd\u5b58\u6570\u636e\u3001\u968f\u65f6\u53ef\u4ee5\u91cd\u542f\u56de\u6eda\u7684\u5e94\u7528\u3002

                            \u901a\u8fc7 DCE 5.0 \u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u65e0\u72b6\u6001\u8d1f\u8f7d \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002\u5982\u679c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u5b89\u88c5 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                            \u4e3a\u65e0\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u65e0\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                            1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                            2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            "},{"location":"kpanda/user-guide/workloads/create-deployment.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                            • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002\u8be6\u60c5\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u4f7f\u7528 IP \u6c60\u3002

                            • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                            • DNS \u7b56\u7565

                              • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                              • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                              • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                              • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                            • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                            • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                            • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                            • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                            • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                            • \u6700\u5927\u4e0d\u53ef\u7528\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                            • \u6700\u5927\u5cf0\u503c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                            • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                            • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                            • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                            • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                            • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                            • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002

                            \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-deployment.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\nspec:\n  selector:\n    matchLabels:\n      app: nginx\n  replicas: 2 # \u544a\u77e5 Deployment \u8fd0\u884c 2 \u4e2a\u4e0e\u8be5\u6a21\u677f\u5339\u914d\u7684 Pod\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.14.2\n        ports:\n        - containerPort: 80\n
                            "},{"location":"kpanda/user-guide/workloads/create-job.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u4efb\u52a1\uff08Job\uff09\u3002

                            \u4efb\u52a1\uff08Job\uff09\u9002\u7528\u4e8e\u6267\u884c\u4e00\u6b21\u6027\u4efb\u52a1\u3002Job \u4f1a\u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod\uff0cJob \u4f1a\u4e00\u76f4\u91cd\u65b0\u5c1d\u8bd5\u6267\u884c Pod\uff0c\u76f4\u5230\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u4e00\u5b9a\u6570\u91cf\u3002\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u6307\u5b9a\u7684\u6570\u91cf\u540e\uff0cJob \u4e5f\u968f\u4e4b\u7ed3\u675f\u3002\u5220\u9664 Job \u65f6\u4f1a\u4e00\u540c\u6e05\u9664\u8be5 Job \u521b\u5efa\u7684\u6240\u6709 Pod\u3002\u6682\u505c Job \u65f6\u5220\u9664\u8be5 Job \u4e2d\u7684\u6240\u6709\u6d3b\u8dc3 Pod\uff0c\u76f4\u5230 Job \u88ab\u7ee7\u7eed\u6267\u884c\u3002\u6709\u5173\u4efb\u52a1\uff08Job\uff09\u7684\u66f4\u591a\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003Job\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-job.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-job.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-job.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            \u5728 \u521b\u5efa\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u57fa\u672c\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\u3002\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                            "},{"location":"kpanda/user-guide/workloads/create-job.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-job.html#_5","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u4efb\u52a1\u8bbe\u7f6e\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4e24\u90e8\u5206\u3002

                            \u4efb\u52a1\u8bbe\u7f6e\u6807\u7b7e\u4e0e\u6ce8\u89e3

                            • \u5e76\u884c\u6570\uff1a\u4efb\u52a1\u6267\u884c\u8fc7\u7a0b\u4e2d\u5141\u8bb8\u540c\u65f6\u521b\u5efa\u7684\u6700\u5927 Pod \u6570\uff0c\u5e76\u884c\u6570\u5e94\u4e0d\u5927\u4e8e Pod \u603b\u6570\u3002\u9ed8\u8ba4\u4e3a 1\u3002
                            • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002
                            • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-job.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u4efb\u52a1\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                            kind: Job\napiVersion: batch/v1\nmetadata:\n  name: demo\n  namespace: default\n  uid: a9708239-0358-4aa1-87d3-a092c080836e\n  resourceVersion: '92751876'\n  generation: 1\n  creationTimestamp: '2022-12-26T10:52:22Z'\n  labels:\n    app: demo\n    controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n    job-name: demo\n  annotations:\n    revisions: >-\n      {\"1\":{\"status\":\"running\",\"uid\":\"a9708239-0358-4aa1-87d3-a092c080836e\",\"start-time\":\"2022-12-26T10:52:22Z\",\"completion-time\":\"0001-01-01T00:00:00Z\"}}\nspec:\n  parallelism: 1\n  backoffLimit: 6\n  selector:\n    matchLabels:\n      controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: demo\n        controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n        job-name: demo\n    spec:\n      containers:\n        - name: container-4\n          image: nginx\n          resources:\n            limits:\n              cpu: 250m\n              memory: 512Mi\n            requests:\n              cpu: 250m\n              memory: 512Mi\n          lifecycle: {}\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: false\n      restartPolicy: Never\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext: {}\n      schedulerName: default-scheduler\n  completionMode: NonIndexed\n  suspend: false\nstatus:\n  startTime: '2022-12-26T10:52:22Z'\n  active: 1\n
                            "},{"location":"kpanda/user-guide/workloads/create-statefulset.html","title":"\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u3002

                            \u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u548c\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u7c7b\u4f3c\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406 Pod \u96c6\u5408\u7684\u90e8\u7f72\u548c\u4f38\u7f29\u3002\u4e8c\u8005\u7684\u4e3b\u8981\u533a\u522b\u5728\u4e8e\uff0cDeployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u4fdd\u5b58\u6570\u636e\uff0c\u800c StatefulSet \u662f\u6709\u72b6\u6001\u7684\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406\u6709\u72b6\u6001\u5e94\u7528\u3002\u6b64\u5916\uff0cStatefulSet \u4e2d\u7684 Pod \u5177\u6709\u6c38\u4e45\u4e0d\u53d8\u7684 ID\uff0c\u4fbf\u4e8e\u5728\u5339\u914d\u5b58\u50a8\u5377\u65f6\u8bc6\u522b\u5bf9\u5e94\u7684 Pod\u3002

                            \u901a\u8fc7 DCE 5.0 \u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u53f3\u4e0a\u89d2 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \u5217\u8868\uff0c\u7b49\u5f85\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                              \u70b9\u51fb\u65b0\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u5217\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165 DCE 5.0 \u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\u3002\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                            \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                            1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                            2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u5bb9\u5668\u7ba1\u7406\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                            • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002\u8be6\u60c5\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u4f7f\u7528 IP \u6c60\u3002

                            • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                            • DNS \u7b56\u7565

                              • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                              • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                              • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                              • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                            • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                            • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                            • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                            • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                            • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                            • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                            • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                            Kubernetes v1.7 \u53ca\u5176\u4e4b\u540e\u7684\u7248\u672c\u53ef\u4ee5\u901a\u8fc7 .spec.podManagementPolicy \u8bbe\u7f6e Pod \u7684\u7ba1\u7406\u7b56\u7565\uff0c\u652f\u6301\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\uff1a

                            • \u6309\u5e8f\u7b56\u7565\uff08OrderedReady\uff09 \uff1a\u9ed8\u8ba4\u7684 Pod \u7ba1\u7406\u7b56\u7565\uff0c\u8868\u793a\u6309\u987a\u5e8f\u90e8\u7f72 Pod\uff0c\u53ea\u6709\u524d\u4e00\u4e2a Pod \u90e8\u7f72 \u6210\u529f\u5b8c\u6210\u540e\uff0c\u6709\u72b6\u6001\u8d1f\u8f7d\u624d\u4f1a\u5f00\u59cb\u90e8\u7f72\u4e0b\u4e00\u4e2a Pod\u3002\u5220\u9664 Pod \u65f6\u5219\u91c7\u7528\u9006\u5e8f\uff0c\u6700\u540e\u521b\u5efa\u7684\u6700\u5148\u88ab\u5220\u9664\u3002

                            • \u5e76\u884c\u7b56\u7565\uff08Parallel\uff09 \uff1a\u5e76\u884c\u521b\u5efa\u6216\u5220\u9664\u5bb9\u5668\uff0c\u548c Deployment \u7c7b\u578b\u7684 Pod \u4e00\u6837\u3002StatefulSet \u63a7\u5236\u5668\u5e76\u884c\u5730\u542f\u52a8\u6216\u7ec8\u6b62\u6240\u6709\u7684\u5bb9\u5668\u3002\u542f\u52a8\u6216\u8005\u7ec8\u6b62\u5176\u4ed6 Pod \u524d\uff0c\u65e0\u9700\u7b49\u5f85 Pod \u8fdb\u5165 Running \u548c ready \u6216\u8005\u5b8c\u5168\u505c\u6b62\u72b6\u6001\u3002 \u8fd9\u4e2a\u9009\u9879\u53ea\u4f1a\u5f71\u54cd\u6269\u7f29\u64cd\u4f5c\u7684\u884c\u4e3a\uff0c\u4e0d\u5f71\u54cd\u66f4\u65b0\u65f6\u7684\u987a\u5e8f\u3002

                            • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                            • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                            \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                            ![\u8c03\u5ea6\u7b56\u7565](../../../images/deploy15_1.png)\n

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"kpanda/user-guide/workloads/create-statefulset.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                            kind: StatefulSet\napiVersion: apps/v1\nmetadata:\n  name: test-mysql-123-mysql\n  namespace: default\n  uid: d3f45527-a0ab-4b22-9013-5842a06f4e0e\n  resourceVersion: '20504385'\n  generation: 1\n  creationTimestamp: '2022-09-22T09:34:10Z'\n  ownerReferences:\n    - apiVersion: mysql.presslabs.org/v1alpha1\n      kind: MysqlCluster\n      name: test-mysql-123\n      uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app.kubernetes.io/managed-by: mysql.presslabs.org\n      app.kubernetes.io/name: mysql\n      mysql.presslabs.org/cluster: test-mysql-123\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app.kubernetes.io/component: database\n        app.kubernetes.io/instance: test-mysql-123\n        app.kubernetes.io/managed-by: mysql.presslabs.org\n        app.kubernetes.io/name: mysql\n        app.kubernetes.io/version: 5.7.31\n        mysql.presslabs.org/cluster: test-mysql-123\n      annotations:\n        config_rev: '13941099'\n        prometheus.io/port: '9125'\n        prometheus.io/scrape: 'true'\n        secret_rev: '13941101'\n    spec:\n      volumes:\n        - name: conf\n          emptyDir: {}\n        - name: init-scripts\n          emptyDir: {}\n        - name: config-map\n          configMap:\n            name: test-mysql-123-mysql\n            defaultMode: 420\n        - name: data\n          persistentVolumeClaim:\n            claimName: data\n      initContainers:\n        - name: init\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - clone-and-init\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: BACKUP_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_USER\n                  optional: true\n            - name: BACKUP_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_PASSWORD\n                  optional: true\n          resources: {}\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: config-map\n              mountPath: /mnt/conf\n            - name: data\n              mountPath: /var/lib/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      containers:\n        - name: mysql\n          image: docker.m.daocloud.io/mysql:5.7.31\n          ports:\n            - name: mysql\n              containerPort: 3306\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: ORCH_CLUSTER_ALIAS\n              value: test-mysql-123.default\n            - name: ORCH_HTTP_API\n              value: http://mysql-operator.mcamel-system/api\n            - name: MYSQL_ROOT_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: ROOT_PASSWORD\n                  optional: false\n            - name: MYSQL_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: USER\n                  optional: true\n            - name: MYSQL_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: PASSWORD\n                  optional: true\n            - name: MYSQL_DATABASE\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: DATABASE\n                  optional: true\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 100m\n              memory: 512Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          livenessProbe:\n            exec:\n              command:\n                - mysqladmin\n                - '--defaults-file=/etc/mysql/client.conf'\n                - ping\n            initialDelaySeconds: 60\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          readinessProbe:\n            exec:\n              command:\n                - /bin/sh\n                - '-c'\n                - >-\n                  test $(mysql --defaults-file=/etc/mysql/client.conf -NB -e\n                  'SELECT COUNT(*) FROM sys_operator.status WHERE\n                  name=\"configured\" AND value=\"1\"') -eq 1\n            initialDelaySeconds: 5\n            timeoutSeconds: 5\n            periodSeconds: 2\n            successThreshold: 1\n            failureThreshold: 3\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - bash\n                  - /etc/mysql/pre-shutdown-ha.sh\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: sidecar\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - config-and-serve\n          ports:\n            - name: sidecar-http\n              containerPort: 8080\n              protocol: TCP\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: XTRABACKUP_TARGET_DIR\n              value: /tmp/xtrabackup_backupfiles/\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 10m\n              memory: 64Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          readinessProbe:\n            httpGet:\n              path: /health\n              port: 8080\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: metrics-exporter\n          image: prom/mysqld-exporter:v0.13.0\n          args:\n            - '--web.listen-address=0.0.0.0:9125'\n            - '--web.telemetry-path=/metrics'\n            - '--collect.heartbeat'\n            - '--collect.heartbeat.database=sys_operator'\n          ports:\n            - name: prometheus\n              containerPort: 9125\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_USER\n                  optional: false\n            - name: PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_PASSWORD\n                  optional: false\n            - name: DATA_SOURCE_NAME\n              value: $(USER):$(PASSWORD)@(127.0.0.1:3306)/\n          resources:\n            limits:\n              cpu: 100m\n              memory: 128Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          livenessProbe:\n            httpGet:\n              path: /metrics\n              port: 9125\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 30\n            periodSeconds: 30\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: pt-heartbeat\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - pt-heartbeat\n            - '--update'\n            - '--replace'\n            - '--check-read-only'\n            - '--create-table'\n            - '--database'\n            - sys_operator\n            - '--table'\n            - heartbeat\n            - '--utc'\n            - '--defaults-file'\n            - /etc/mysql/heartbeat.conf\n            - '--fail-successive-errors=20'\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n          resources:\n            limits:\n              cpu: 100m\n              memory: 64Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext:\n        runAsUser: 999\n        fsGroup: 999\n      affinity:\n        podAntiAffinity:\n          preferredDuringSchedulingIgnoredDuringExecution:\n            - weight: 100\n              podAffinityTerm:\n                labelSelector:\n                  matchLabels:\n                    app.kubernetes.io/component: database\n                    app.kubernetes.io/instance: test-mysql-123\n                    app.kubernetes.io/managed-by: mysql.presslabs.org\n                    app.kubernetes.io/name: mysql\n                    app.kubernetes.io/version: 5.7.31\n                    mysql.presslabs.org/cluster: test-mysql-123\n                topologyKey: kubernetes.io/hostname\n      schedulerName: default-scheduler\n  volumeClaimTemplates:\n    - kind: PersistentVolumeClaim\n      apiVersion: v1\n      metadata:\n        name: data\n        creationTimestamp: null\n        ownerReferences:\n          - apiVersion: mysql.presslabs.org/v1alpha1\n            kind: MysqlCluster\n            name: test-mysql-123\n            uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n            controller: true\n      spec:\n        accessModes:\n          - ReadWriteOnce\n        resources:\n          limits:\n            storage: 1Gi\n          requests:\n            storage: 1Gi\n        storageClassName: local-path\n        volumeMode: Filesystem\n      status:\n        phase: Pending\n  serviceName: mysql\n  podManagementPolicy: OrderedReady\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      partition: 0\n  revisionHistoryLimit: 10\nstatus:\n  observedGeneration: 1\n  replicas: 1\n  readyReplicas: 1\n  currentReplicas: 1\n  updatedReplicas: 1\n  currentRevision: test-mysql-123-mysql-6b8f5577c7\n  updateRevision: test-mysql-123-mysql-6b8f5577c7\n  collisionCount: 0\n  availableReplicas: 1\n
                            "},{"location":"kpanda/user-guide/workloads/pod-config/env-variables.html","title":"\u914d\u7f6e\u73af\u5883\u53d8\u91cf","text":"

                            \u73af\u5883\u53d8\u91cf\u662f\u6307\u5bb9\u5668\u8fd0\u884c\u73af\u5883\u4e2d\u8bbe\u5b9a\u7684\u4e00\u4e2a\u53d8\u91cf\uff0c\u7528\u4e8e\u7ed9 Pod \u6dfb\u52a0\u73af\u5883\u6807\u5fd7\u6216\u4f20\u9012\u914d\u7f6e\u7b49\uff0c\u652f\u6301\u901a\u8fc7\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                            DCE \u5bb9\u5668\u7ba1\u7406\u5728\u539f\u751f Kubernetes \u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u56fe\u5f62\u5316\u754c\u9762\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u914d\u7f6e\u65b9\u5f0f\uff1a

                            • \u952e\u503c\u5bf9\uff08Key/Value Pair\uff09\uff1a\u5c06\u81ea\u5b9a\u4e49\u7684\u952e\u503c\u5bf9\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf

                            • \u8d44\u6e90\u5f15\u7528\uff08Resource\uff09\uff1a\u5c06 Container \u5b9a\u4e49\u7684\u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982\u5bb9\u5668\u7684\u5185\u5b58\u9650\u5236\u3001\u526f\u672c\u6570\u7b49

                            • \u53d8\u91cf/\u53d8\u91cf\u5f15\u7528\uff08Pod Field\uff09\uff1a\u5c06 Pod \u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982 Pod \u7684\u540d\u79f0

                            • \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\uff08ConfigMap key\uff09\uff1a\u5bfc\u5165\u914d\u7f6e\u9879\u4e2d\u67d0\u4e2a\u952e\u7684\u503c\u4f5c\u4e3a\u67d0\u4e2a\u73af\u5883\u53d8\u91cf\u7684\u503c

                            • \u5bc6\u94a5\u952e\u503c\u5bfc\u5165\uff08Secret Key\uff09\uff1a\u4f7f\u7528\u6765\u81ea Secret \u4e2d\u7684\u6570\u636e\u5b9a\u4e49\u73af\u5883\u53d8\u91cf\u7684\u503c

                            • \u5bc6\u94a5\u5bfc\u5165\uff08Secret\uff09\uff1a\u5c06 Secret \u4e2d\u7684\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf

                            • \u914d\u7f6e\u9879\u5bfc\u5165\uff08ConfigMap\uff09\uff1a\u5c06\u914d\u7f6e\u9879\u4e2d\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf

                            "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html","title":"\u5bb9\u5668\u7684\u5065\u5eb7\u68c0\u67e5","text":"

                            \u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u6839\u636e\u7528\u6237\u9700\u6c42\uff0c\u68c0\u67e5\u5bb9\u5668\u7684\u5065\u5eb7\u72b6\u51b5\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5185\u7684\u5e94\u7528\u7a0b\u5e8f\u5165\u5982\u679c\u5f02\u5e38\uff0c\u5bb9\u5668\u4f1a\u81ea\u52a8\u8fdb\u884c\u91cd\u542f\u6062\u590d\u3002Kubernetes \u63d0\u4f9b\u4e86\u5b58\u6d3b\uff08Liveness\uff09\u68c0\u67e5\u3001\u5c31\u7eea\uff08Readiness\uff09\u68c0\u67e5\u548c\u542f\u52a8\uff08Startup\uff09\u68c0\u67e5\u3002

                            • \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09 \u53ef\u63a2\u6d4b\u5230\u5e94\u7528\u6b7b\u9501\uff08\u5e94\u7528\u7a0b\u5e8f\u5728\u8fd0\u884c\uff0c\u4f46\u662f\u65e0\u6cd5\u7ee7\u7eed\u6267\u884c\u540e\u9762\u7684\u6b65\u9aa4\uff09\u60c5\u51b5\u3002 \u91cd\u542f\u8fd9\u79cd\u72b6\u6001\u4e0b\u7684\u5bb9\u5668\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\uff0c\u5373\u4f7f\u5176\u4e2d\u5b58\u5728\u7f3a\u9677\u3002

                            • \u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09 \u53ef\u63a2\u77e5\u5bb9\u5668\u4f55\u65f6\u51c6\u5907\u597d\u63a5\u53d7\u8bf7\u6c42\u6d41\u91cf\uff0c\u5f53\u4e00\u4e2a Pod \u5185\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5c31\u7eea\u65f6\uff0c\u624d\u80fd\u8ba4\u4e3a\u8be5 Pod \u5c31\u7eea\u3002 \u8fd9\u79cd\u4fe1\u53f7\u7684\u4e00\u4e2a\u7528\u9014\u5c31\u662f\u63a7\u5236\u54ea\u4e2a Pod \u4f5c\u4e3a Service \u7684\u540e\u7aef\u3002 \u82e5 Pod \u5c1a\u672a\u5c31\u7eea\uff0c\u4f1a\u88ab\u4ece Service \u7684\u8d1f\u8f7d\u5747\u8861\u5668\u4e2d\u5254\u9664\u3002

                            • \u542f\u52a8\u68c0\u67e5\uff08StartupProbe\uff09 \u53ef\u4ee5\u4e86\u89e3\u5e94\u7528\u5bb9\u5668\u4f55\u65f6\u542f\u52a8\uff0c\u914d\u7f6e\u540e\uff0c\u53ef\u63a7\u5236\u5bb9\u5668\u5728\u542f\u52a8\u6210\u529f\u540e\u518d\u8fdb\u884c\u5b58\u6d3b\u6027\u548c\u5c31\u7eea\u6001\u68c0\u67e5\uff0c \u786e\u4fdd\u8fd9\u4e9b\u5b58\u6d3b\u3001\u5c31\u7eea\u63a2\u6d4b\u5668\u4e0d\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u542f\u52a8\u3002 \u542f\u52a8\u63a2\u6d4b\u53ef\u4ee5\u7528\u4e8e\u5bf9\u6162\u542f\u52a8\u5bb9\u5668\u8fdb\u884c\u5b58\u6d3b\u6027\u68c0\u6d4b\uff0c\u907f\u514d\u5b83\u4eec\u5728\u542f\u52a8\u8fd0\u884c\u4e4b\u524d\u5c31\u88ab\u6740\u6389\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#_2","title":"\u5b58\u6d3b\u548c\u5c31\u7eea\u68c0\u67e5","text":"

                            \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09\u7684\u914d\u7f6e\u548c\u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09\u7684\u914d\u7f6e\u53c2\u6570\u76f8\u4f3c\uff0c \u552f\u4e00\u533a\u522b\u662f\u8981\u4f7f\u7528 readinessProbe \u5b57\u6bb5\uff0c\u800c\u4e0d\u662f livenessProbe \u5b57\u6bb5\u3002

                            HTTP GET \u53c2\u6570\u8bf4\u660e\uff1a

                            \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u8def\u5f84\uff08 Path\uff09 \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\u3002\u5982\uff1a \u793a\u4f8b\u4e2d\u7684 /healthz \u8def\u5f84 \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u534f\u8bae \u8bbf\u95ee\u534f\u8bae\uff0cHttp \u6216\u8005Https \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u6210\u529f\u9608\u503c\uff08successThreshold\uff09 \u63a2\u6d4b\u5931\u8d25\u540e\uff0c\u88ab\u89c6\u4e3a\u6210\u529f\u7684\u6700\u5c0f\u8fde\u7eed\u6210\u529f\u6570\u3002\u9ed8\u8ba4\u503c\u662f 1\uff0c\u6700\u5c0f\u503c\u662f 1\u3002\u5b58\u6d3b\u548c\u542f\u52a8\u63a2\u6d4b\u7684\u8fd9\u4e2a\u503c\u5fc5\u987b\u662f 1\u3002 \u6700\u5927\u5931\u8d25\u6b21\u6570\uff08failureThreshold\uff09 \u5f53\u63a2\u6d4b\u5931\u8d25\u65f6\u91cd\u8bd5\u7684\u6b21\u6570\u3002\u5b58\u6d3b\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03\u5c31\u610f\u5473\u7740\u91cd\u65b0\u542f\u52a8\u5bb9\u5668\u3002\u5c31\u7eea\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03 Pod \u4f1a\u88ab\u6253\u4e0a\u672a\u5c31\u7eea\u7684\u6807\u7b7e\u3002\u9ed8\u8ba4\u503c\u662f 3\u3002\u6700\u5c0f\u503c\u662f 1\u3002"},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#http-get","title":"\u4f7f\u7528 HTTP GET \u8bf7\u6c42\u68c0\u67e5","text":"

                            YAML \u793a\u4f8b\uff1a

                            apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-http\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/liveness\n    args:\n    - /server\n    livenessProbe:\n      httpGet:\n        path: /healthz  # \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\n        port: 8080  # \u670d\u52a1\u76d1\u542c\u7aef\u53e3\n        httpHeaders:\n        - name: Custom-Header\n          value: Awesome\n      initialDelaySeconds: 3  # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u5e94\u8be5\u7b49\u5f85 3 \u79d2\n      periodSeconds: 3   #kubelet \u6bcf\u9694 3 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                            \u6309\u7167\u8bbe\u5b9a\u7684\u89c4\u5219\uff0cKubelet \u5411\u5bb9\u5668\u5185\u8fd0\u884c\u7684\u670d\u52a1\uff08\u670d\u52a1\u5728\u76d1\u542c 8080 \u7aef\u53e3\uff09\u53d1\u9001\u4e00\u4e2a HTTP GET \u8bf7\u6c42\u6765\u6267\u884c\u63a2\u6d4b\u3002\u5982\u679c\u670d\u52a1\u5668\u4e0a /healthz \u8def\u5f84\u4e0b\u7684\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u6210\u529f\u4ee3\u7801\uff0c\u5219 kubelet \u8ba4\u4e3a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u5931\u8d25\u4ee3\u7801\uff0c\u5219 kubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u5c06\u5176\u91cd\u542f\u3002\u8fd4\u56de\u5927\u4e8e\u6216\u7b49\u4e8e 200 \u5e76\u4e14\u5c0f\u4e8e 400 \u7684\u4efb\u4f55\u4ee3\u7801\u90fd\u6807\u793a\u6210\u529f\uff0c\u5176\u5b83\u8fd4\u56de\u4ee3\u7801\u90fd\u6807\u793a\u5931\u8d25\u3002 \u5bb9\u5668\u5b58\u6d3b\u671f\u95f4\u7684\u6700\u5f00\u59cb 10 \u79d2\u4e2d\uff0c /healthz \u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 200 \u7684\u72b6\u6001\u7801\u3002 \u4e4b\u540e\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 500 \u7684\u72b6\u6001\u7801\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#tcp","title":"\u4f7f\u7528 TCP \u7aef\u53e3\u68c0\u67e5","text":"

                            TCP \u7aef\u53e3\u53c2\u6570\u8bf4\u660e\uff1a

                            \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002

                            \u5bf9\u4e8e\u63d0\u4f9bTCP\u901a\u4fe1\u670d\u52a1\u7684\u5bb9\u5668\uff0c\u57fa\u4e8e\u6b64\u914d\u7f6e\uff0c\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\u96c6\u7fa4\u5bf9\u8be5\u5bb9\u5668\u5efa\u7acbTCP\u8fde\u63a5\uff0c\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u5219\u8bc1\u660e\u63a2\u6d4b\u6210\u529f\uff0c\u5426\u5219\u63a2\u6d4b\u5931\u8d25\u3002\u9009\u62e9TCP\u7aef\u53e3\u63a2\u6d4b\u65b9\u5f0f\uff0c\u5fc5\u987b\u6307\u5b9a\u5bb9\u5668\u76d1\u542c\u7684\u7aef\u53e3\u3002

                            YAML \u793a\u4f8b\uff1a

                            apiVersion: v1\nkind: Pod\nmetadata:\n  name: goproxy\n  labels:\n    app: goproxy\nspec:\n  containers:\n  - name: goproxy\n    image: k8s.gcr.io/goproxy:0.1\n    ports:\n    - containerPort: 8080\n    readinessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 5\n      periodSeconds: 10\n    livenessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 15\n      periodSeconds: 20\n

                            \u6b64\u793a\u4f8b\u540c\u65f6\u4f7f\u7528\u5c31\u7eea\u548c\u5b58\u6d3b\u63a2\u9488\u3002kubelet \u5728\u5bb9\u5668\u542f\u52a8 5 \u79d2\u540e\u53d1\u9001\u7b2c\u4e00\u4e2a\u5c31\u7eea\u63a2\u6d4b\u3002 \u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\uff0c \u5982\u679c\u63a2\u6d4b\u6210\u529f\uff0c\u8fd9\u4e2a Pod \u4f1a\u88ab\u6807\u8bb0\u4e3a\u5c31\u7eea\u72b6\u6001\uff0ckubelet \u5c06\u7ee7\u7eed\u6bcf\u9694 10 \u79d2\u8fd0\u884c\u4e00\u6b21\u68c0\u6d4b\u3002

                            \u9664\u4e86\u5c31\u7eea\u63a2\u6d4b\uff0c\u8fd9\u4e2a\u914d\u7f6e\u5305\u62ec\u4e86\u4e00\u4e2a\u5b58\u6d3b\u63a2\u6d4b\u3002 kubelet \u4f1a\u5728\u5bb9\u5668\u542f\u52a8 15 \u79d2\u540e\u8fdb\u884c\u7b2c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\u3002 \u5c31\u7eea\u63a2\u6d4b\u4f1a\u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\u3002 \u5982\u679c\u5b58\u6d3b\u63a2\u6d4b\u5931\u8d25\uff0c\u5bb9\u5668\u4f1a\u88ab\u91cd\u65b0\u542f\u52a8\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#_3","title":"\u6267\u884c\u547d\u4ee4\u68c0\u67e5","text":"

                            YAML \u793a\u4f8b:

                            apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-exec\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/busybox\n    args:\n    - /bin/sh\n    - -c\n    - touch /tmp/healthy; sleep 30; rm -f /tmp/healthy; sleep 600\n    livenessProbe:\n      exec:\n        command:\n        - cat\n        - /tmp/healthy\n      initialDelaySeconds: 5 # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\n      periodSeconds: 5  #kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                            periodSeconds \u5b57\u6bb5\u6307\u5b9a\u4e86 kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\uff0c initialDelaySeconds \u5b57\u6bb5\u6307\u5b9a kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\u3002\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\uff0c\u96c6\u7fa4\u5468\u671f\u6027\u7684\u901a\u8fc7 kubelet \u5728\u5bb9\u5668\u5185\u6267\u884c\u547d\u4ee4 cat /tmp/healthy \u6765\u8fdb\u884c\u63a2\u6d4b\u3002 \u5982\u679c\u547d\u4ee4\u6267\u884c\u6210\u529f\u5e76\u4e14\u8fd4\u56de\u503c\u4e3a 0\uff0ckubelet \u5c31\u4f1a\u8ba4\u4e3a\u8fd9\u4e2a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u8fd9\u4e2a\u547d\u4ee4\u8fd4\u56de\u975e 0 \u503c\uff0ckubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u91cd\u65b0\u542f\u52a8\u5b83\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/health-check.html#_4","title":"\u4f7f\u7528\u542f\u52a8\u524d\u68c0\u67e5\u4fdd\u62a4\u6162\u542f\u52a8\u5bb9\u5668","text":"

                            \u6709\u4e9b\u5e94\u7528\u5728\u542f\u52a8\u65f6\u9700\u8981\u8f83\u957f\u7684\u521d\u59cb\u5316\u65f6\u95f4\uff0c\u9700\u8981\u4f7f\u7528\u76f8\u540c\u7684\u547d\u4ee4\u6765\u8bbe\u7f6e\u542f\u52a8\u63a2\u6d4b\uff0c\u9488\u5bf9 HTTP \u6216 TCP \u68c0\u6d4b\uff0c\u53ef\u4ee5\u901a\u8fc7\u5c06 failureThreshold * periodSeconds \u53c2\u6570\u8bbe\u7f6e\u4e3a\u8db3\u591f\u957f\u7684\u65f6\u95f4\u6765\u5e94\u5bf9\u542f\u52a8\u9700\u8981\u8f83\u957f\u65f6\u95f4\u7684\u573a\u666f\u3002

                            YAML \u793a\u4f8b\uff1a

                            ports:\n- name: liveness-port\n  containerPort: 8080\n  hostPort: 8080\n\nlivenessProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 1\n  periodSeconds: 10\n\nstartupProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 30\n  periodSeconds: 10\n

                            \u5982\u4e0a\u8bbe\u7f6e\uff0c\u5e94\u7528\u5c06\u6709\u6700\u591a 5 \u5206\u949f\uff0830 * 10 = 300s\uff09\u7684\u65f6\u95f4\u6765\u5b8c\u6210\u542f\u52a8\u8fc7\u7a0b\uff0c \u4e00\u65e6\u542f\u52a8\u63a2\u6d4b\u6210\u529f\uff0c\u5b58\u6d3b\u63a2\u6d4b\u4efb\u52a1\u5c31\u4f1a\u63a5\u7ba1\u5bf9\u5bb9\u5668\u7684\u63a2\u6d4b\uff0c\u5bf9\u5bb9\u5668\u6b7b\u9501\u4f5c\u51fa\u5feb\u901f\u54cd\u5e94\u3002 \u5982\u679c\u542f\u52a8\u63a2\u6d4b\u4e00\u76f4\u6ca1\u6709\u6210\u529f\uff0c\u5bb9\u5668\u4f1a\u5728 300 \u79d2\u540e\u88ab\u6740\u6b7b\uff0c\u5e76\u4e14\u6839\u636e restartPolicy \u6765 \u6267\u884c\u8fdb\u4e00\u6b65\u5904\u7f6e\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/job-parameters.html","title":"\u4efb\u52a1\u53c2\u6570\u8bf4\u660e","text":"

                            \u6839\u636e .spec.completions \u548c .spec.Parallelism \u7684\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u5c06\u4efb\u52a1\uff08Job\uff09\u5212\u5206\u4e3a\u4ee5\u4e0b\u51e0\u79cd\u7c7b\u578b:

                            Job \u7c7b\u578b \u8bf4\u660e \u975e\u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176 Job \u6210\u529f\u7ed3\u675f \u5177\u6709\u786e\u5b9a\u5b8c\u6210\u8ba1\u6570\u7684\u5e76\u884c Job \u5f53\u6210\u529f\u7684 Pod \u4e2a\u6570\u8fbe\u5230 .spec.completions \u65f6\uff0cJob \u88ab\u89c6\u4e3a\u5b8c\u6210 \u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod \u76f4\u81f3\u6709\u4e00\u4e2a\u6210\u529f\u7ed3\u675f

                            \u53c2\u6570\u8bf4\u660e

                            RestartPolicy \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176\u6210\u529f\u7ed3\u675f .spec.completions \u8868\u793a Job \u7ed3\u675f\u9700\u8981\u6210\u529f\u8fd0\u884c\u7684 Pod \u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 .spec.parallelism \u8868\u793a\u5e76\u884c\u8fd0\u884c\u7684 Pod \u7684\u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 spec.backoffLimit \u8868\u793a\u5931\u8d25 Pod \u7684\u91cd\u8bd5\u6700\u5927\u6b21\u6570\uff0c\u8d85\u8fc7\u8fd9\u4e2a\u6b21\u6570\u4e0d\u4f1a\u7ee7\u7eed\u91cd\u8bd5\u3002 .spec.activeDeadlineSeconds \u8868\u793a Pod \u8fd0\u884c\u65f6\u95f4\uff0c\u4e00\u65e6\u8fbe\u5230\u8fd9\u4e2a\u65f6\u95f4\uff0cJob \u5373\u5176\u6240\u6709\u7684 Pod \u90fd\u4f1a\u505c\u6b62\u3002\u4e14activeDeadlineSeconds \u4f18\u5148\u7ea7\u9ad8\u4e8e backoffLimit\uff0c\u5373\u5230\u8fbe activeDeadlineSeconds \u7684 Job \u4f1a\u5ffd\u7565backoffLimit \u7684\u8bbe\u7f6e\u3002

                            \u4ee5\u4e0b\u662f\u4e00\u4e2a Job \u914d\u7f6e\u793a\u4f8b\uff0c\u4fdd\u5b58\u5728 myjob.yaml \u4e2d\uff0c\u5176\u8ba1\u7b97 \u03c0 \u5230 2000 \u4f4d\u5e76\u6253\u5370\u8f93\u51fa\u3002

                            apiVersion: batch/v1\nkind: Job            #\u5f53\u524d\u8d44\u6e90\u7684\u7c7b\u578b\nmetadata:\n  name: myjob\nspec:\n  completions: 50        # Job\u7ed3\u675f\u9700\u8981\u8fd0\u884c50\u4e2aPod\uff0c\u8fd9\u4e2a\u793a\u4f8b\u4e2d\u5c31\u662f\u6253\u5370\u03c0 50\u6b21\n  parallelism: 5        # \u5e76\u884c5\u4e2aPod\n  backoffLimit: 5        # \u6700\u591a\u91cd\u8bd55\u6b21\n  template:\n    spec:\n      containers:\n      - name: pi\n        image: perl\n        command: [\"perl\",  \"-Mbignum=bpi\", \"-wle\", \"print bpi(2000)\"]\n      restartPolicy: Never #\u91cd\u542f\u7b56\u7565\n

                            \u76f8\u5173\u547d\u4ee4

                            kubectl apply -f myjob.yaml  #\u542f\u52a8 job\nkubectl get job #\u67e5\u770b\u8fd9\u4e2ajob\nkubectl logs myjob-1122dswzs \u67e5\u770bJob Pod \u7684\u65e5\u5fd7\n
                            "},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html","title":"\u914d\u7f6e\u5bb9\u5668\u751f\u547d\u5468\u671f","text":"

                            Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c Pod \u5185\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \u72b6\u6001\u3002\u5982\u679c Pod \u4e2d\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\uff0c\u5219\u72b6\u6001\u53d8\u4e3a Failed \u3002\u4ee5\u4e0b phase \u5b57\u6bb5\u503c\u8868\u660e\u4e86\u4e00\u4e2a Pod \u5904\u4e8e\u751f\u547d\u5468\u671f\u7684\u54ea\u4e2a\u9636\u6bb5\u3002

                            \u503c \u63cf\u8ff0 Pending \uff08\u60ac\u51b3\uff09 Pod \u5df2\u88ab\u7cfb\u7edf\u63a5\u53d7\uff0c\u4f46\u6709\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u5bb9\u5668\u5c1a\u672a\u521b\u5efa\u4ea6\u672a\u8fd0\u884c\u3002\u8fd9\u4e2a\u9636\u6bb5\u5305\u62ec\u7b49\u5f85 Pod \u88ab\u8c03\u5ea6\u7684\u65f6\u95f4\u548c\u901a\u8fc7\u7f51\u7edc\u4e0b\u8f7d\u955c\u50cf\u7684\u65f6\u95f4\u3002 Running \uff08\u8fd0\u884c\u4e2d\uff09 Pod \u5df2\u7ecf\u7ed1\u5b9a\u5230\u4e86\u67d0\u4e2a\u8282\u70b9\uff0cPod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u88ab\u521b\u5efa\u3002\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u4ecd\u5728\u8fd0\u884c\uff0c\u6216\u8005\u6b63\u5904\u4e8e\u542f\u52a8\u6216\u91cd\u542f\u72b6\u6001\u3002 Succeeded \uff08\u6210\u529f\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u6210\u529f\u7ec8\u6b62\uff0c\u5e76\u4e14\u4e0d\u4f1a\u518d\u91cd\u542f\u3002 Failed \uff08\u5931\u8d25\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u7ec8\u6b62\uff0c\u5e76\u4e14\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u662f\u56e0\u4e3a\u5931\u8d25\u800c\u7ec8\u6b62\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u5bb9\u5668\u4ee5\u975e 0 \u72b6\u6001\u9000\u51fa\u6216\u8005\u88ab\u7cfb\u7edf\u7ec8\u6b62\u3002 Unknown \uff08\u672a\u77e5\uff09 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\uff0c\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u6240\u81f4\u3002

                            \u5728 DCE \u5bb9\u5668\u7ba1\u7406\u4e2d\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u955c\u50cf\u6765\u6307\u5b9a\u5bb9\u5668\u4e2d\u7684\u8fd0\u884c\u73af\u5883\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5728\u6784\u5efa\u955c\u50cf\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 Entrypoint \u548c CMD \u4e24\u4e2a\u5b57\u6bb5\u6765\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u65f6\u6267\u884c\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002\u5982\u679c\u9700\u8981\u66f4\u6539\u5bb9\u5668\u955c\u50cf\u542f\u52a8\u524d\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u7684\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u5bb9\u5668\u7684\u751f\u547d\u5468\u671f\u4e8b\u4ef6\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u6765\u8986\u76d6\u955c\u50cf\u4e2d\u9ed8\u8ba4\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html#_2","title":"\u751f\u547d\u5468\u671f\u914d\u7f6e","text":"

                            \u6839\u636e\u4e1a\u52a1\u9700\u8981\u5bf9\u5bb9\u5668\u7684\u542f\u52a8\u547d\u4ee4\u3001\u542f\u52a8\u540e\u547d\u4ee4\u3001\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u542f\u52a8\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5c06\u6309\u7167\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u542f\u52a8\u3002 \u542f\u52a8\u540e\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u542f\u52a8\u540e\u51fa\u53d1\u7684\u547d\u4ee4 \u505c\u6b62\u524d\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5728\u6536\u5230\u505c\u6b62\u547d\u4ee4\u540e\u6267\u884c\u7684\u547d\u4ee4\u3002\u786e\u4fdd\u5347\u7ea7\u6216\u5b9e\u4f8b\u5220\u9664\u65f6\u53ef\u63d0\u524d\u5c06\u5b9e\u4f8b\u4e2d\u8fd0\u884c\u7684\u4e1a\u52a1\u6392\u6c34\u3002 --"},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html#_3","title":"\u542f\u52a8\u547d\u4ee4","text":"

                            \u6839\u636e\u4e0b\u8868\u5bf9\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html#_4","title":"\u542f\u52a8\u540e\u547d\u4ee4","text":"

                            DCE \u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u542f\u52a8\u540e\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                            \u547d\u4ee4\u884c\u811a\u672c\u914d\u7f6e

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"kpanda/user-guide/workloads/pod-config/lifecycle.html#_5","title":"\u505c\u6b62\u524d\u547d\u4ee4","text":"

                            DCE \u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                            HTTP \u8bf7\u6c42\u914d\u7f6e

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c URL \u8def\u5f84 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684URL\u8def\u5f84\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u7aef\u53e3 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684\u7aef\u53e3\u3002 port=8080 \u8282\u70b9\u5730\u5740 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684 IP \u5730\u5740\uff0c\u9ed8\u8ba4\u662f\u5bb9\u5668\u6240\u5728\u7684\u8282\u70b9 IP\u3002 --"},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                            \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8282\u70b9\u4e5f\u6709\u6807\u7b7e\u3002\u60a8\u53ef\u4ee5\u624b\u52a8\u6dfb\u52a0\u6807\u7b7e\u3002 Kubernetes \u4e5f\u4f1a\u4e3a\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u6dfb\u52a0\u4e00\u4e9b\u6807\u51c6\u7684\u6807\u7b7e\u3002\u53c2\u89c1\u5e38\u7528\u7684\u6807\u7b7e\u3001\u6ce8\u89e3\u548c\u6c61\u70b9\u4ee5\u4e86\u89e3\u5e38\u89c1\u7684\u8282\u70b9\u6807\u7b7e\u3002\u901a\u8fc7\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u60a8\u53ef\u4ee5\u8ba9 Pod \u8c03\u5ea6\u5230\u7279\u5b9a\u8282\u70b9\u6216\u8282\u70b9\u7ec4\u4e0a\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u529f\u80fd\u6765\u786e\u4fdd\u7279\u5b9a\u7684 Pod \u53ea\u80fd\u8fd0\u884c\u5728\u5177\u6709\u4e00\u5b9a\u9694\u79bb\u6027\uff0c\u5b89\u5168\u6027\u6216\u76d1\u7ba1\u5c5e\u6027\u7684\u8282\u70b9\u4e0a\u3002

                            nodeSelector \u662f\u8282\u70b9\u9009\u62e9\u7ea6\u675f\u7684\u6700\u7b80\u5355\u63a8\u8350\u5f62\u5f0f\u3002\u60a8\u53ef\u4ee5\u5c06 nodeSelector \u5b57\u6bb5\u6dfb\u52a0\u5230 Pod \u7684\u89c4\u7ea6\u4e2d\u8bbe\u7f6e\u60a8\u5e0c\u671b\u76ee\u6807\u8282\u70b9\u6240\u5177\u6709\u7684\u8282\u70b9\u6807\u7b7e\u3002Kubernetes \u53ea\u4f1a\u5c06 Pod \u8c03\u5ea6\u5230\u62e5\u6709\u6307\u5b9a\u6bcf\u4e2a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002 nodeSelector \u63d0\u4f9b\u4e86\u4e00\u79cd\u6700\u7b80\u5355\u7684\u65b9\u6cd5\u6765\u5c06 Pod \u7ea6\u675f\u5230\u5177\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002\u4eb2\u548c\u6027\u548c\u53cd\u4eb2\u548c\u6027\u6269\u5c55\u4e86\u60a8\u53ef\u4ee5\u5b9a\u4e49\u7684\u7ea6\u675f\u7c7b\u578b\u3002\u4f7f\u7528\u4eb2\u548c\u6027\u4e0e\u53cd\u4eb2\u548c\u6027\u7684\u4e00\u4e9b\u597d\u5904\u6709\uff1a

                            • \u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u8bed\u8a00\u7684\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002 nodeSelector \u53ea\u80fd\u9009\u62e9\u62e5\u6709\u6240\u6709\u6307\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u3002\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u4e3a\u60a8\u63d0\u4f9b\u5bf9\u9009\u62e9\u903b\u8f91\u7684\u66f4\u5f3a\u63a7\u5236\u80fd\u529b\u3002

                            • \u60a8\u53ef\u4ee5\u6807\u660e\u67d0\u89c4\u5219\u662f\u201c\u8f6f\u9700\u6c42\u201d\u6216\u8005\u201c\u504f\u597d\u201d\uff0c\u8fd9\u6837\u8c03\u5ea6\u5668\u5728\u65e0\u6cd5\u627e\u5230\u5339\u914d\u8282\u70b9\u65f6\uff0c\u4f1a\u5ffd\u7565\u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027\u89c4\u5219\uff0c\u786e\u4fdd Pod \u8c03\u5ea6\u6210\u529f\u3002

                            • \u60a8\u53ef\u4ee5\u4f7f\u7528\u8282\u70b9\u4e0a\uff08\u6216\u5176\u4ed6\u62d3\u6251\u57df\u4e2d\uff09\u8fd0\u884c\u7684\u5176\u4ed6 Pod \u7684\u6807\u7b7e\u6765\u5b9e\u65bd\u8c03\u5ea6\u7ea6\u675f\uff0c\u800c\u4e0d\u662f\u53ea\u80fd\u4f7f\u7528\u8282\u70b9\u672c\u8eab\u7684\u6807\u7b7e\u3002\u8fd9\u4e2a\u80fd\u529b\u8ba9\u60a8\u80fd\u591f\u5b9a\u4e49\u89c4\u5219\u5141\u8bb8\u54ea\u4e9b Pod \u53ef\u4ee5\u88ab\u653e\u7f6e\u5728\u4e00\u8d77\u3002

                            \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u4eb2\u548c\uff08affinity\uff09\u4e0e\u53cd\u4eb2\u548c\uff08anti-affinity\uff09\u6765\u9009\u62e9 Pod \u8981\u90e8\u7f72\u7684\u8282\u70b9\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_2","title":"\u5bb9\u5fcd\u65f6\u95f4","text":"

                            \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u7cfb\u7edf\u5c06\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\u7a97\u3002\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#nodeaffinity","title":"\u8282\u70b9\u4eb2\u548c\u6027\uff08nodeAffinity\uff09","text":"

                            \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u5b83\u4f7f\u60a8\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

                            • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                            • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_3","title":"\u6807\u7b7e\u540d","text":"

                            \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_4","title":"\u64cd\u4f5c\u7b26","text":"
                            • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                            • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                            • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            • Gt\uff1a\u6807\u7b7e\u7684\u503c\u5927\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                            • Lt\uff1a\u6807\u7b7e\u7684\u503c\u5c0f\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_5","title":"\u6743\u91cd","text":"

                            \u4ec5\u652f\u6301\u5728\u201c\u5c3d\u91cf\u6ee1\u8db3\u201d\u7b56\u7565\u4e2d\u6dfb\u52a0\uff0c\u53ef\u4ee5\u7406\u89e3\u4e3a\u8c03\u5ea6\u7684\u4f18\u5148\u7ea7\uff0c\u6743\u91cd\u5927\u7684\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u53d6\u503c\u8303\u56f4\u662f 1 \u5230 100\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_6","title":"\u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027","text":"

                            \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                            • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                            • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                            \u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u53ef\u4ee5\u548c\u54ea\u4e9b Pod\u90e8 \u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e\u76f8\u4e92\u901a\u4fe1\u7684\u670d\u52a1\uff0c\u53ef\u901a\u8fc7\u5e94\u7528\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u5c06\u5176\u90e8\u7f72\u5230\u540c\u4e00\u62d3\u6251\u57df\uff08\u5982\u540c\u4e00\u53ef\u7528\u533a\uff09\u4e2d\uff0c\u51cf\u5c11\u5b83\u4eec\u4e4b\u95f4\u7684\u7f51\u7edc\u5ef6\u8fdf\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_7","title":"\u6807\u7b7e\u540d","text":"

                            \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_8","title":"\u547d\u540d\u7a7a\u95f4","text":"

                            \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_9","title":"\u64cd\u4f5c\u7b26","text":"
                            • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                            • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                            • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_10","title":"\u62d3\u6251\u57df","text":"

                            \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_11","title":"\u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027","text":"

                            \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                            • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                            • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                            \u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u4e0d\u53ef\u4ee5\u548c\u54ea\u4e9b Pod \u90e8\u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5c06\u4e00\u4e2a\u8d1f\u8f7d\u7684\u76f8\u540c Pod \u5206\u6563\u90e8\u7f72\u5230\u4e0d\u540c\u7684\u62d3\u6251\u57df\uff08\u4f8b\u5982\u4e0d\u540c\u4e3b\u673a\uff09\u4e2d\uff0c\u63d0\u9ad8\u8d1f\u8f7d\u672c\u8eab\u7684\u7a33\u5b9a\u6027\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_12","title":"\u6807\u7b7e\u540d","text":"

                            \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_13","title":"\u547d\u540d\u7a7a\u95f4","text":"

                            \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_14","title":"\u64cd\u4f5c\u7b26","text":"
                            • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                            • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                            • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            "},{"location":"kpanda/user-guide/workloads/pod-config/scheduling-policy.html#_15","title":"\u62d3\u6251\u57df","text":"

                            \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                            \u5de5\u4f5c\u8d1f\u8f7d\u662f\u8fd0\u884c\u5728 Kubernetes \u4e0a\u7684\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5728 Kubernetes \u4e2d\uff0c\u65e0\u8bba\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u662f\u7531\u5355\u4e2a\u540c\u4e00\u7ec4\u4ef6\u6216\u662f\u7531\u591a\u4e2a\u4e0d\u540c\u7684\u7ec4\u4ef6\u6784\u6210\uff0c\u90fd\u53ef\u4ee5\u4f7f\u7528\u4e00\u7ec4 Pod \u6765\u8fd0\u884c\u5b83\u3002Kubernetes \u63d0\u4f9b\u4e86\u4e94\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u7ba1\u7406 Pod\uff1a

                            • \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                            • \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                            • \u5b88\u62a4\u8fdb\u7a0b
                            • \u4efb\u52a1
                            • \u5b9a\u65f6\u4efb\u52a1

                            \u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u8d44\u6e90 CRD \u6765\u5b9e\u73b0\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u7684\u6269\u5c55\u3002\u5728\u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u4e2d\uff0c\u652f\u6301\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u521b\u5efa\u3001\u66f4\u65b0\u3001\u6269\u5bb9\u3001\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5220\u9664\u3001\u7248\u672c\u7ba1\u7406\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#pod","title":"Pod \u72b6\u6001","text":"

                            Pod \u662f Kuberneters \u4e2d\u521b\u5efa\u548c\u7ba1\u7406\u7684\u3001\u6700\u5c0f\u7684\u8ba1\u7b97\u5355\u5143\uff0c\u5373\u4e00\u7ec4\u5bb9\u5668\u7684\u96c6\u5408\u3002\u8fd9\u4e9b\u5bb9\u5668\u5171\u4eab\u5b58\u50a8\u3001\u7f51\u7edc\u4ee5\u53ca\u7ba1\u7406\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u65b9\u5f0f\u7684\u7b56\u7565\u3002 Pod \u901a\u5e38\u4e0d\u7531\u7528\u6237\u76f4\u63a5\u521b\u5efa\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u521b\u5efa\u3002 Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c\u81f3\u5c11\u5176\u4e2d\u6709\u4e00\u4e2a\u4e3b\u8981\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \uff0c\u4e4b\u540e\u53d6\u51b3\u4e8e Pod \u4e2d\u662f\u5426\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\u800c\u8fdb\u5165 Succeeded \u6216\u8005 Failed \u9636\u6bb5\u3002

                            "},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#_2","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                            \u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f9d\u636e Pod \u7684\u72b6\u6001\u3001\u526f\u672c\u6570\u7b49\u56e0\u7d20\uff0c\u8bbe\u8ba1\u4e86\u4e00\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u751f\u547d\u5468\u671f\u7684\u72b6\u6001\u96c6\uff0c\u4ee5\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u771f\u5b9e\u7684\u611f\u77e5\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u60c5\u51b5\u3002 \u7531\u4e8e\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\uff08\u6bd4\u5982\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u548c\u4efb\u52a1\uff09\u5bf9 Pod \u7684\u7ba1\u7406\u673a\u5236\u4e0d\u4e00\u81f4\uff0c\u56e0\u6b64\uff0c\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u5448\u73b0\u4e0d\u540c\u7684\u751f\u547d\u5468\u671f\u72b6\u6001\uff0c\u5177\u4f53\u5982\u4e0b\u8868\uff1a

                            "},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#_3","title":"\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u6001\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d 1. \u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30022. \u89e6\u53d1\u5347\u7ea7\u6216\u8005\u56de\u6eda\u52a8\u4f5c\u540e\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30023. \u89e6\u53d1\u6682\u505c/\u6269\u7f29\u5bb9\u7b49\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u8fd0\u884c\u4e2d \u8d1f\u8f7d\u4e0b\u7684\u6240\u6709\u5b9e\u4f8b\u90fd\u5728\u8fd0\u884c\u4e2d\u4e14\u526f\u672c\u6570\u4e0e\u7528\u6237\u9884\u5b9a\u4e49\u7684\u6570\u91cf\u4e00\u81f4\u65f6\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u6267\u884c\u5220\u9664\u64cd\u4f5c\u65f6\uff0c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u76f4\u5230\u5220\u9664\u5b8c\u6210\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97\u5de5\u4f5c\u8d1f\u8f7d\u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002 \u672a\u5c31\u7eea \u5bb9\u5668\u5904\u4e8e\u5f02\u5e38\uff0cpending \u72b6\u6001\u65f6\uff0c\u56e0\u672a\u77e5\u9519\u8bef\u5bfc\u81f4\u8d1f\u8f7d\u65e0\u6cd5\u542f\u52a8\u65f6\u663e\u793a\u6b64\u72b6\u6001"},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#_4","title":"\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u4e2d \u4efb\u52a1\u6b63\u5728\u6267\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u5b8c\u6210 \u4efb\u52a1\u6267\u884c\u5b8c\u6210\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002"},{"location":"kpanda/user-guide/workloads/pod-config/workload-status.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u5b9a\u65f6\u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u542f\u52a8 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u6210\u529f\u540e\uff0c\u6b63\u5e38\u8fd0\u884c\u6216\u5c06\u5df2\u6682\u505c\u7684\u4efb\u52a1\u542f\u52a8\u65f6\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u505c\u6b62 \u6267\u884c\u505c\u6b62\u4efb\u52a1\u64cd\u4f5c\u65f6\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u5728\u6b64\u72b6\u6001\u3002

                            \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u5f02\u5e38\u6216\u672a\u5c31\u7eea\u72b6\u6001\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5c06\u9f20\u6807\u79fb\u52a8\u5230\u8d1f\u8f7d\u7684\u72b6\u6001\u503c\u4e0a\uff0c\u7cfb\u7edf\u5c06\u901a\u8fc7\u63d0\u793a\u6846\u5c55\u793a\u66f4\u52a0\u8be6\u7ec6\u7684\u9519\u8bef\u4fe1\u606f\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u67e5\u770b\u65e5\u5fd7\u6216\u4e8b\u4ef6\u6765\u83b7\u53d6\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76f8\u5173\u8fd0\u884c\u4fe1\u606f\u3002

                            "},{"location":"openapi/index.html","title":"OpenAPI \u8bbf\u95ee\u5bc6\u94a5","text":"

                            \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee\u5f00\u653e API \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

                            "},{"location":"openapi/index.html#_1","title":"\u83b7\u53d6\u5bc6\u94a5","text":"

                            \u767b\u5f55 DCE 5.0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                            Info

                            \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                            "},{"location":"openapi/index.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

                            \u5728\u8bbf\u95ee DCE 5.0 openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\uff0c\u5177\u4f53\u63a5\u53e3\u4fe1\u606f\u53c2\u89c1 OpenAPI \u63a5\u53e3\u6587\u6863\u3002

                            \u8bf7\u6c42\u793a\u4f8b

                            curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

                            \u8bf7\u6c42\u7ed3\u679c

                            {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
                            "},{"location":"openapi/baize/index.html","title":"AI Lab","text":""},{"location":"openapi/ghippo/index.html","title":"\u5168\u5c40\u7ba1\u7406","text":""},{"location":"openapi/insight/index.html","title":"\u53ef\u89c2\u6d4b","text":""},{"location":"openapi/kpanda/index.html","title":"\u5bb9\u5668\u7ba1\u7406","text":""},{"location":"openapi/virtnest/index.html","title":"\u4e91\u4e3b\u673a","text":""},{"location":"security/index.html","title":"\u4e91\u539f\u751f\u5b89\u5168","text":"

                            DCE 5.0 \u9488\u5bf9\u5bb9\u5668\u3001Pod\u3001\u955c\u50cf\u3001\u8fd0\u884c\u65f6\u3001\u5fae\u670d\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u81ea\u52a8\u5316\u7684\u5b89\u5168\u5b9e\u73b0\u3002 \u4e0b\u8868\u5217\u51fa\u4e86\u4e00\u4e9b\u5df2\u5b9e\u73b0\u6216\u6b63\u5728\u5b9e\u73b0\u4e2d\u7684\u5b89\u5168\u7279\u6027\u3002

                            \u5b89\u5168\u7279\u6027 \u7ec6\u76ee \u63cf\u8ff0 \u955c\u50cf\u5b89\u5168 \u53ef\u4fe1\u955c\u50cf\u5206\u53d1 \u4e3a\u5b9e\u73b0\u955c\u50cf\u7684\u5b89\u5168\u4f20\u8f93\uff0c\u9700\u5177\u5907\u5bc6\u94a5\u5bf9\u548c\u7b7e\u540d\u4fe1\u606f\uff0c\u4fdd\u8bc1\u4f20\u8f93\u5b89\u5168\u3002\u5728\u4f20\u8f93\u955c\u50cf\u65f6\u5177\u5907\u9009\u62e9\u5bc6\u94a5\u8fdb\u884c\u955c\u50cf\u7b7e\u540d\u80fd\u529b\u3002 \u8fd0\u884c\u65f6\u5b89\u5168 \u4e8b\u4ef6\u5173\u8054\u5206\u6790 \u652f\u6301\u5bf9\u8fd0\u884c\u65f6\u68c0\u6d4b\u51fa\u7684\u5b89\u5168\u4e8b\u4ef6\u505a\u5173\u8054\u4e0e\u98ce\u9669\u5206\u6790\uff0c\u589e\u52a0\u653b\u51fb\u6eaf\u6e90\u80fd\u529b\uff0c\u6536\u655b\u544a\u8b66\uff0c\u964d\u4f4e\u65e0\u6548\u544a\u8b66\uff0c\u63d0\u9ad8\u4e8b\u4ef6\u54cd\u5e94\u6548\u7387\u3002 - \u5bb9\u5668\u8bf1\u9975\u4ed3\u5e93 \u5177\u5907\u5bb9\u5668\u8bf1\u9975\u4ed3\u5e93\uff0c\u5e38\u89c1\u8bf1\u9975\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u672a\u6388\u6743\u8bbf\u95ee\u6f0f\u6d1e\u3001\u4ee3\u7801\u6267\u884c\u6f0f\u6d1e\u3001\u672c\u5730\u6587\u4ef6\u8bfb\u53d6\u6f0f\u6d1e\u3001\u8fdc\u7a0b\u547d\u4ee4\u6267\u884c RCE \u6f0f\u6d1e\u7b49\u5bb9\u5668\u8bf1\u9975\u3002 - \u5bb9\u5668\u8bf1\u9975\u90e8\u7f72 \u652f\u6301\u81ea\u5b9a\u4e49\u65b0\u589e\u8bf1\u9975\u5bb9\u5668\uff0c\u53ef\u4ee5\u81ea\u5b9a\u4e49\u670d\u52a1\u540d\u79f0\u3001\u670d\u52a1\u4f4d\u7f6e\u7b49\u3002 - \u5bb9\u5668\u8bf1\u9975\u544a\u8b66 \u652f\u6301\u5bf9\u5bb9\u5668\u8bf1\u9975\u4e2d\u53ef\u7591\u884c\u4e3a\u8fdb\u884c\u544a\u8b66\u3002 - \u504f\u79fb\u68c0\u6d4b \u5728\u626b\u63cf\u955c\u50cf\u540c\u65f6\uff0c\u5b66\u4e60\u955c\u50cf\u4e2d\u5168\u90e8\u4e8c\u8fdb\u5236\u6587\u4ef6\u4fe1\u606f\uff0c\u5e76\u5f62\u6210\u201c\u767d\u540d\u5355\u201d\uff0c\u5bb9\u5668\u4e0a\u7ebf\u540e\u4ec5\u5141\u8bb8\u201c\u767d\u540d\u5355\u201d\u4e2d\u4e8c\u8fdb\u5236\u6587\u4ef6\u8fd0\u884c\uff0c\u786e\u4fdd\u5bb9\u5668\u5185\u4e0d\u80fd\u8fd0\u884c\u4e0d\u6388\u4fe1\uff08\u5982\u975e\u6cd5\u4e0b\u8f7d\uff09\u7684\u53ef\u6267\u884c\u6587\u4ef6\u3002 \u5fae\u9694\u79bb \u9694\u79bb\u7b56\u7565\u667a\u80fd\u63a8\u8350 \u652f\u6301\u8bb0\u5f55\u8d44\u6e90\u5386\u53f2\u8bbf\u95ee\u6d41\u91cf\uff0c\u5e76\u5728\u5bf9\u8d44\u6e90\u8fdb\u884c\u9694\u79bb\u7b56\u7565\u914d\u7f6e\u65f6\u80fd\u591f\u667a\u80fd\u4f9d\u636e\u5386\u53f2\u8bbf\u95ee\u6d41\u91cf\u8fdb\u884c\u7b56\u7565\u63a8\u8350\u3002 - \u79df\u6237\u9694\u79bb \u652f\u6301\u5bf9 Kubernetes \u96c6\u7fa4\u5185\u79df\u6237\u8fdb\u884c\u9694\u79bb\u63a7\u5236\uff0c\u5177\u5907\u5bf9\u4e0d\u540c\u7684\u79df\u6237\u8bbe\u7f6e\u4e0d\u540c\u7684\u7f51\u7edc\u5b89\u5168\u7ec4\u7684\u80fd\u529b\uff0c\u652f\u6301\u79df\u6237\u7ea7\u522b\u7684\u5b89\u5168\u7b56\u7565\u8bbe\u7f6e\u529f\u80fd\uff0c\u901a\u8fc7\u4e0d\u540c\u5b89\u5168\u7ec4\u548c\u8bbe\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u5b9e\u73b0\u79df\u6237\u95f4\u7f51\u7edc\u7684\u8bbf\u95ee\u4e0e\u9694\u79bb\u3002 \u5fae\u670d\u52a1\u5b89\u5168 \u670d\u52a1\u53ca API \u5b89\u5168\u626b\u63cf \u5bf9\u96c6\u7fa4\u5185\u7684\u670d\u52a1\u53ca API \u652f\u6301\u81ea\u52a8\u626b\u63cf\u3001\u624b\u52a8\u626b\u63cf\u53ca\u5468\u671f\u6027\u626b\u63cf\u7684\u5b89\u5168\u626b\u63cf\u65b9\u5f0f\uff0c\u652f\u6301\u5168\u90e8\u7684\u4f20\u7edf web \u626b\u63cf\u9879\u76ee\u5305\u62ec XSS \u6f0f\u6d1e\u3001SQL \u6ce8\u5165\u3001\u547d\u4ee4/\u4ee3\u7801\u6ce8\u5165\u3001\u76ee\u5f55\u679a\u4e3e\u3001\u8def\u5f84\u7a7f\u8d8a\u3001XML \u5b9e\u4f53\u6ce8\u5165\u3001poc\u3001\u6587\u4ef6\u4e0a\u4f20\u3001\u5f31\u53e3\u4ee4\u3001jsonp\u3001ssrf\u3001\u4efb\u610f\u8df3\u8f6c\u3001CRLF \u6ce8\u5165\u7b49\u98ce\u9669\uff0c\u4ee5\u53ca\u5bb9\u5668\u73af\u5883\u7279\u6709\u7684\u9879\uff0c\u9488\u5bf9\u53d1\u73b0\u7684\u6f0f\u6d1e\u652f\u6301\u6f0f\u6d1e\u7c7b\u578b\u5c55\u793a\u3001url \u5c55\u793a\u3001\u53c2\u6570\u5c55\u793a\u3001\u5371\u9669\u7ea7\u522b\u5c55\u793a\u3001\u6d4b\u8bd5\u65b9\u6cd5\u5c55\u793a\u7b49\u3002"},{"location":"security/falco-exporter.html","title":"Falco-exporter","text":"

                            Falco-exporter \u662f\u4e00\u4e2a Falco \u8f93\u51fa\u4e8b\u4ef6\u7684 Prometheus Metrics \u5bfc\u51fa\u5668\u3002

                            Falco-exporter \u4f1a\u90e8\u7f72\u4e3a Kubernetes \u96c6\u7fa4\u4e0a\u7684\u5b88\u62a4\u8fdb\u7a0b\u96c6\u3002\u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5\u5e76\u8fd0\u884c Prometheus\uff0cPrometheus \u5c06\u81ea\u52a8\u53d1\u73b0 Falco-exporter \u63d0\u4f9b\u7684\u6307\u6807\u3002

                            "},{"location":"security/falco-exporter.html#falco-exporter_1","title":"\u5b89\u88c5 Falco-exporter","text":"

                            \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 Falco-exporter \u7ec4\u4ef6\u3002

                            Note

                            \u5728\u5b89\u88c5\u4f7f\u7528 Falco-exporter \u4e4b\u524d\uff0c\u9700\u8981\u5b89\u88c5\u5e76\u8fd0\u884c Falco\uff0c\u5e76\u542f\u7528 gRPC \u8f93\u51fa\uff08\u9ed8\u8ba4\u901a\u8fc7 Unix \u5957\u63a5\u5b57\u542f\u7528\uff09\u3002 \u5173\u4e8e\u542f\u7528 gRPC \u8f93\u51fa\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u9605\u5728 Falco Helm Chart \u4e2d\u542f\u7528 gRPC \u8f93\u51fa\u3002

                            \u8bf7\u786e\u8ba4\u60a8\u7684\u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Falco-exporter\u3002

                            1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb\u5bb9\u5668\u7ba1\u7406\u2014>\u96c6\u7fa4\u5217\u8868\uff0c\u7136\u540e\u627e\u5230\u51c6\u5907\u5b89\u88c5 Falco-exporter \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u9009\u62e9 Helm \u5e94\u7528 -> Helm \u6a21\u677f\uff0c\u627e\u5230\u5e76\u70b9\u51fb falco-exporter\u3002

                            3. \u5728\u7248\u672c\u9009\u62e9\u4e2d\u9009\u62e9\u5e0c\u671b\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb\u5b89\u88c5\u3002

                            4. \u5728\u5b89\u88c5\u754c\u9762\uff0c\u586b\u5199\u6240\u9700\u7684\u5b89\u88c5\u53c2\u6570\u3002

                              \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u5e94\u7528\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u7248\u672c\u7b49\u3002

                              \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570:

                              • Falco Prometheus Exporter -> Image Settings -> Registry\uff1a\u8bbe\u7f6e falco-exporter \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002
                              • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Repository\uff1a\u8bbe\u7f6e falco-exporter \u955c\u50cf\u540d\u3002
                              • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Install ServiceMonitor\uff1a\u5b89\u88c5 Prometheus Operator \u670d\u52a1\u76d1\u89c6\u5668\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                              • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Scrape Interval\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u95f4\u9694\uff1b\u5982\u679c\u672a\u6307\u5b9a\uff0c\u5219\u4f7f\u7528 Prometheus \u9ed8\u8ba4\u95f4\u9694\u3002
                              • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Scrape Timeout\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u6293\u53d6\u8d85\u65f6\u65f6\u95f4\uff1b\u5982\u679c\u672a\u6307\u5b9a\uff0c\u5219\u4f7f\u7528 Prometheus \u9ed8\u8ba4\u7684\u6293\u53d6\u8d85\u65f6\u65f6\u95f4\u3002

                              \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570:

                              • Falco Prometheus Exporter -> Prometheus prometheusRules -> Install prometheusRules\uff1a\u521b\u5efa PrometheusRules\uff0c\u5bf9\u4f18\u5148\u4e8b\u4ef6\u53d1\u51fa\u8b66\u62a5\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                              • Falco Prometheus Exporter -> Prometheus prometheusRules -> Alerts settings\uff1a\u8b66\u62a5\u8bbe\u7f6e\uff0c\u4e3a\u4e0d\u540c\u7ea7\u522b\u7684\u65e5\u5fd7\u4e8b\u4ef6\u8bbe\u7f6e\u8b66\u62a5\u662f\u5426\u542f\u7528\u3001\u8b66\u62a5\u7684\u95f4\u9694\u65f6\u95f4\u3001\u8b66\u62a5\u7684\u9608\u503c\u3002
                            5. \u70b9\u51fb\u53f3\u4e0b\u89d2\u786e\u5b9a\u6309\u94ae\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\u3002

                            "},{"location":"security/falco-install.html","title":"\u5b89\u88c5 Falco","text":"

                            \u8bf7\u786e\u8ba4\u60a8\u7684\u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Falco\u3002

                            1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb\u5bb9\u5668\u7ba1\u7406\u2014>\u96c6\u7fa4\u5217\u8868\uff0c\u7136\u540e\u627e\u5230\u51c6\u5907\u5b89\u88c5 Falco \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u9009\u62e9 Helm \u5e94\u7528 -> Helm \u6a21\u677f\uff0c\u627e\u5230\u5e76\u70b9\u51fb Falco\u3002

                            3. \u5728\u7248\u672c\u9009\u62e9\u4e2d\u9009\u62e9\u5e0c\u671b\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb\u5b89\u88c5\u3002

                            4. \u5728\u5b89\u88c5\u754c\u9762\uff0c\u586b\u5199\u6240\u9700\u7684\u5b89\u88c5\u53c2\u6570\u3002

                              \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u5e94\u7528\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u7248\u672c\u7b49\u3002

                              \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570\uff1a

                              • Falco -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                              • Falco -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco \u955c\u50cf\u540d\u3002

                              • Falco -> Falco Driver -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                              • Falco -> Falco Driver -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u540d\u3002

                              • Falco -> Falco Driver -> Image Settings -> Driver Kind\uff1a\u8bbe\u7f6e Driver Kind\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u79cd\u9009\u62e9\uff1a

                                1. ebpf\uff1a\u4f7f\u7528 ebpf \u6765\u68c0\u6d4b\u4e8b\u4ef6\uff0c\u8fd9\u9700\u8981 Linux \u5185\u6838\u652f\u6301 ebpf\uff0c\u5e76\u542f\u7528 CONFIG_BPF_JIT \u548c sysctl net.core.bpf_jit_enable=1\u3002

                                2. module\uff1a\u4f7f\u7528\u5185\u6838\u6a21\u5757\u68c0\u6d4b\uff0c\u652f\u6301\u6709\u9650\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\uff0c\u53c2\u8003 module \u652f\u6301\u7cfb\u7edf\u7248\u672c\u3002

                              • Falco -> Falco Driver -> Image Settings -> Log Level\uff1a\u8981\u5305\u542b\u5728\u65e5\u5fd7\u4e2d\u7684\u6700\u5c0f\u65e5\u5fd7\u7ea7\u522b\u3002

                                \u53ef\u9009\u62e9\u503c\u4e3a\uff1aemergency, alert, critical, error, warning, notice, info, debug\u3002

                              • Falco -> Falco Driver -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                              • Falco -> Falco Driver -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u540d\u3002

                              • Falco -> Falco Driver -> Image Settings -> Driver Kind\uff1a\u8bbe\u7f6e Driver Kind\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u79cd\u9009\u62e9\uff1a

                                1. ebpf\uff1a\u4f7f\u7528 ebpf \u6765\u68c0\u6d4b\u4e8b\u4ef6\uff0c\u8fd9\u9700\u8981 Linux \u5185\u6838\u652f\u6301 ebpf\uff0c\u5e76\u542f\u7528 CONFIG_BPF_JIT \u548c sysctl net.core.bpf_jit_enable=1\u3002
                                2. module\uff1a\u4f7f\u7528\u5185\u6838\u6a21\u5757\u68c0\u6d4b\uff0c\u652f\u6301\u6709\u9650\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\uff0c\u53c2\u8003 module \u652f\u6301\u7cfb\u7edf\u7248\u672c\u3002
                              • Falco -> Falco Driver -> Image Settings -> Log Level\uff1a\u8981\u5305\u542b\u5728\u65e5\u5fd7\u4e2d\u7684\u6700\u5c0f\u65e5\u5fd7\u7ea7\u522b\u3002

                                \u53ef\u9009\u62e9\u503c\u4e3a\uff1aemergency\u3001alert\u3001critical\u3001error\u3001warning\u3001notice\u3001info\u3001debug\u3002

                            5. \u70b9\u51fb\u53f3\u4e0b\u89d2\u786e\u5b9a\u6309\u94ae\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\u3002

                            "},{"location":"security/falco.html","title":"\u4ec0\u4e48\u662f Falco","text":"

                            Falco \u662f\u4e00\u4e2a\u4e91\u539f\u751f\u8fd0\u884c\u65f6\u5b89\u5168\u5de5\u5177\uff0c\u65e8\u5728\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u5f02\u5e38\u6d3b\u52a8\uff0c\u53ef\u7528\u4e8e\u76d1\u63a7 Kubernetes \u5e94\u7528\u7a0b\u5e8f\u548c\u5185\u90e8\u7ec4\u4ef6\u7684\u8fd0\u884c\u65f6\u5b89\u5168\u6027\u3002\u4ec5\u9700\u4e3a Falco \u64b0\u5199\u4e00\u5957\u89c4\u5219\uff0c\u5373\u53ef\u6301\u7eed\u76d1\u6d4b\u5e76\u76d1\u63a7\u5bb9\u5668\u3001\u5e94\u7528\u3001\u4e3b\u673a\u53ca\u7f51\u7edc\u7684\u5f02\u5e38\u6d3b\u52a8\u3002

                            "},{"location":"security/falco.html#falco_1","title":"Falco \u80fd\u68c0\u6d4b\u5230\u4ec0\u4e48\uff1f","text":"

                            Falco \u53ef\u5bf9\u4efb\u4f55\u6d89\u53ca Linux \u7cfb\u7edf\u8c03\u7528\u7684\u884c\u4e3a\u8fdb\u884c\u68c0\u6d4b\u548c\u62a5\u8b66\u3002Falco \u7684\u8b66\u62a5\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u7279\u5b9a\u7684\u7cfb\u7edf\u8c03\u7528\u3001\u53c2\u6570\u4ee5\u53ca\u8c03\u7528\u8fdb\u7a0b\u7684\u5c5e\u6027\u6765\u89e6\u53d1\u3002\u4f8b\u5982\uff0cFalco \u53ef\u4ee5\u8f7b\u677e\u68c0\u6d4b\u5230\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ee5\u4e0b\u4e8b\u4ef6\uff1a

                            • Kubernetes \u4e2d\u7684\u5bb9\u5668\u6216 pod \u5185\u6b63\u5728\u8fd0\u884c\u4e00\u4e2a shell \u3002
                            • \u5bb9\u5668\u4ee5\u7279\u6743\u6a21\u5f0f\u8fd0\u884c\uff0c\u6216\u4ece\u4e3b\u673a\u6302\u8f7d\u654f\u611f\u8def\u5f84\uff0c\u5982 /proc\u3002
                            • \u4e00\u4e2a\u670d\u52a1\u5668\u8fdb\u7a0b\u6b63\u5728\u751f\u6210\u4e00\u4e2a\u610f\u5916\u7c7b\u578b\u7684\u5b50\u8fdb\u7a0b\u3002
                            • \u610f\u5916\u8bfb\u53d6\u4e00\u4e2a\u654f\u611f\u6587\u4ef6\uff0c\u5982 /etc/shadow\u3002
                            • \u4e00\u4e2a\u975e\u8bbe\u5907\u6587\u4ef6\u88ab\u5199\u5230 /dev\u3002
                            • \u4e00\u4e2a\u6807\u51c6\u7684\u7cfb\u7edf\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u5982 ls\uff0c\u6b63\u5728\u8fdb\u884c\u4e00\u4e2a\u5916\u5411\u7684\u7f51\u7edc\u8fde\u63a5\u3002
                            • \u5728 Kubernetes \u96c6\u7fa4\u4e2d\u542f\u52a8\u4e00\u4e2a\u6709\u7279\u6743\u7684 Pod\u3002

                            \u5173\u4e8e Falco \u9644\u5e26\u7684\u66f4\u591a\u9ed8\u8ba4\u89c4\u5219\uff0c\u8bf7\u53c2\u8003 Rules \u6587\u6863\u3002

                            "},{"location":"security/falco.html#falco_2","title":"\u4ec0\u4e48\u662f Falco \u89c4\u5219\uff1f","text":"

                            Falco \u89c4\u5219\u5b9a\u4e49 Falco \u5e94\u76d1\u89c6\u7684\u884c\u4e3a\u53ca\u4e8b\u4ef6\uff1b\u53ef\u4ee5\u5728 Falco \u89c4\u5219\u6587\u4ef6\u6216\u901a\u7528\u914d\u7f6e\u6587\u4ef6\u64b0\u5199\u89c4\u5219\u3002\u6709\u5173\u7f16\u5199\u3001\u7ba1\u7406\u548c\u90e8\u7f72\u89c4\u5219\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 Falco Rules\u3002

                            "},{"location":"security/falco.html#falco_3","title":"\u4ec0\u4e48\u662f Falco \u8b66\u62a5\uff1f","text":"

                            \u8b66\u62a5\u662f\u53ef\u914d\u7f6e\u7684\u4e0b\u6e38\u64cd\u4f5c\uff0c\u53ef\u4ee5\u50cf\u8bb0\u5f55\u65e5\u5fd7\u4e00\u6837\u7b80\u5355\uff0c\u4e5f\u53ef\u4ee5\u50cf STDOUT \u5411\u5ba2\u6237\u7aef\u4f20\u9012 gRPC \u8c03\u7528\u4e00\u6837\u590d\u6742\u3002\u6709\u5173\u914d\u7f6e\u3001\u7406\u89e3\u548c\u5f00\u53d1\u8b66\u62a5\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605Falco \u8b66\u62a5\u3002Falco \u53ef\u4ee5\u5c06\u8b66\u62a5\u53d1\u9001\u81f3\uff1a

                            • \u6807\u51c6\u8f93\u51fa
                            • \u4e00\u4efd\u6587\u4ef6
                            • \u7cfb\u7edf\u65e5\u5fd7
                            • \u751f\u6210\u7684\u7a0b\u5e8f
                            • \u4e00\u4e2a HTTP[s] \u7aef\u70b9
                            • \u901a\u8fc7 gRPC API \u7684\u5ba2\u6237\u7aef
                            "},{"location":"security/falco.html#falco_4","title":"Falco \u7531\u54ea\u4e9b\u90e8\u5206\u7ec4\u6210\uff1f","text":"

                            Falco \u7531\u4ee5\u4e0b\u51e0\u4e2a\u4e3b\u8981\u7ec4\u4ef6\u7ec4\u6210\uff1a

                            • \u7528\u6237\u7a7a\u95f4\u7a0b\u5e8f\uff1aCLI \u5de5\u5177\uff0c\u53ef\u7528\u4e8e\u4e0e Falco \u4ea4\u4e92\u3002\u7528\u6237\u7a7a\u95f4\u7a0b\u5e8f\u5904\u7406\u4fe1\u53f7\uff0c\u89e3\u6790\u6765\u81ea Falco \u9a71\u52a8\u7684\u4fe1\u606f\uff0c\u5e76\u53d1\u9001\u8b66\u62a5\u3002

                            • \u914d\u7f6e\uff1a\u5b9a\u4e49 Falco \u7684\u8fd0\u884c\u65b9\u5f0f\u3001\u8981\u65ad\u8a00\u7684\u89c4\u5219\u4ee5\u53ca\u5982\u4f55\u6267\u884c\u8b66\u62a5\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u914d\u7f6e\u3002

                            • Driver\uff1a\u4e00\u6b3e\u9075\u5faa Falco \u9a71\u52a8\u89c4\u8303\u5e76\u53d1\u9001\u7cfb\u7edf\u8c03\u7528\u4fe1\u606f\u6d41\u7684\u8f6f\u4ef6\u3002\u5982\u679c\u4e0d\u5b89\u88c5\u9a71\u52a8\u7a0b\u5e8f\uff0c\u5c06\u65e0\u6cd5\u8fd0\u884c Falco\u3002\u76ee\u524d\uff0cFalco \u652f\u6301\u4ee5\u4e0b\u9a71\u52a8\u7a0b\u5e8f\uff1a

                              • \u57fa\u4e8e C++ \u5e93\u6784\u5efa libscap \u7684\u5185\u6838\u6a21\u5757 libsinsp\uff08\u9ed8\u8ba4\uff09
                              • \u7531\u76f8\u540c\u6a21\u5757\u6784\u5efa\u7684 BPF \u63a2\u9488
                              • \u7528\u6237\u7a7a\u95f4\u68c0\u6d4b

                                \u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 Falco \u9a71\u52a8\u7a0b\u5e8f\u3002

                            • \u63d2\u4ef6\uff1a\u53ef\u7528\u4e8e\u6269\u5c55 falco libraries/falco \u53ef\u6267\u884c\u6587\u4ef6\u7684\u529f\u80fd\uff0c\u6269\u5c55\u65b9\u5f0f\u662f\u901a\u8fc7\u6dfb\u52a0\u65b0\u7684\u4e8b\u4ef6\u6e90\u548c\u4ece\u4e8b\u4ef6\u4e2d\u63d0\u53d6\u4fe1\u606f\u7684\u65b0\u5b57\u6bb5\u3002 \u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u63d2\u4ef6\u3002

                            "},{"location":"stylesheets/tags.html","title":"Tags","text":"

                            Following is a list of relevant tags:

                            [TAGS]

                            "},{"location":"virtnest/gpu/vm-gpu.html","title":"\u865a\u62df\u673a\u914d\u7f6e GPU\uff08\u76f4\u901a\u6a21\u5f0f\uff09","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\uff0c\u914d\u7f6e GPU \u7684\u524d\u63d0\u6761\u4ef6\u3002

                            \u914d\u7f6e\u865a\u62df\u673a\u7684 GPU \u7684\u91cd\u70b9\u662f\u5bf9 GPU Operator \u8fdb\u884c\u914d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u5de5\u4f5c\u8282\u70b9\u4e0a\u90e8\u7f72\u4e0d\u540c\u7684\u8f6f\u4ef6\u7ec4\u4ef6\uff0c \u5177\u4f53\u53d6\u51b3\u4e8e\u8fd9\u4e9b\u8282\u70b9\u4e0a\u914d\u7f6e\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u3002\u4ee5\u4e0b\u4e09\u4e2a\u8282\u70b9\u4e3a\u4f8b\uff1a

                            • controller-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5bb9\u5668\u3002
                            • work-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u76f4\u901a GPU \u7684\u865a\u62df\u673a\u3002
                            • work-node-2 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u865a\u62df vGPU \u7684\u865a\u62df\u673a\u3002
                            "},{"location":"virtnest/gpu/vm-gpu.html#_1","title":"\u5047\u8bbe\u3001\u9650\u5236\u548c\u4f9d\u8d56\u6027","text":"

                            \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\uff0c\u4e5f\u53ef\u4ee5\u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4f46\u4e0d\u80fd\u8fd0\u884c\u5176\u4e2d\u4efb\u4f55\u4e00\u4e2a\u7684\u7ec4\u5408\u3002

                            1. \u96c6\u7fa4\u7ba1\u7406\u5458\u6216\u5f00\u53d1\u4eba\u5458\u9700\u8981\u63d0\u524d\u4e86\u89e3\u96c6\u7fa4\u60c5\u51b5\uff0c\u5e76\u6b63\u786e\u6807\u8bb0\u8282\u70b9\u4ee5\u6307\u793a\u5b83\u4eec\u5c06\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u3002
                            2. \u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u6216 vGPU \u7684 GPU \u52a0\u901f VM \u7684\u5de5\u4f5c\u8282\u70b9\u88ab\u5047\u5b9a\u4e3a\u88f8\u673a\uff0c\u5982\u679c\u5de5\u4f5c\u8282\u70b9\u662f\u865a\u62df\u673a\uff0c \u5219\u9700\u8981\u5728\u865a\u62df\u673a\u5e73\u53f0\u4e0a\u542f\u7528 GPU \u76f4\u901a\u529f\u80fd\uff0c\u8bf7\u5411\u865a\u62df\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u54a8\u8be2\u3002
                            3. \u4e0d\u652f\u6301 Nvidia MIG \u7684 vGPU\u3002
                            4. GPU Operator \u4e0d\u4f1a\u81ea\u52a8\u5728 VM \u4e2d\u5b89\u88c5 GPU \u9a71\u52a8\u7a0b\u5e8f\u3002
                            "},{"location":"virtnest/gpu/vm-gpu.html#iommu","title":"\u542f\u7528 IOMMU","text":"

                            \u4e3a\u4e86\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u96c6\u7fa4\u8282\u70b9\u9700\u8981\u5f00\u542fIOMMU\u3002\u8bf7\u53c2\u8003\u5982\u4f55\u5f00\u542f IOMMU\u3002 \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u662f\u5728\u865a\u62df\u673a\u4e0a\u8fd0\u884c\uff0c\u8bf7\u54a8\u8be2\u60a8\u7684\u865a\u62df\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u3002

                            "},{"location":"virtnest/gpu/vm-gpu.html#_2","title":"\u6807\u8bb0\u96c6\u7fa4\u8282\u70b9","text":"

                            \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \u7684\u64cd\u4f5c\u680f \u4fee\u6539\u6807\u7b7e \uff0c\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u6bcf\u4e2a\u8282\u70b9\u53ea\u80fd\u6709\u4e00\u79cd\u6807\u7b7e\u3002

                            \u60a8\u53ef\u4ee5\u4e3a\u6807\u7b7e\u5206\u914d\u4ee5\u4e0b\u503c\uff1acontainer\u3001vm-passthrough \u548c vm-vgpu\u3002

                            "},{"location":"virtnest/gpu/vm-gpu.html#nvidia-operator","title":"\u5b89\u88c5 Nvidia Operator","text":"
                            1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u9009\u62e9\u5e76\u5b89\u88c5 gpu-operator\u3002 \u9700\u8981\u4fee\u6539\u4e00\u4e9b yaml \u4e2d\u7684\u76f8\u5173\u5b57\u6bb5\u3002

                              gpu-operator.sandboxWorkloads.enabled=true\ngpu-operator.vfioManager.enabled=true\ngpu-operator.sandboxDevicePlugin.enabled=true\ngpu-operator.sandboxDevicePlugin.version=v1.2.4   # (1)!\ngpu-operator.toolkit.version=v1.14.3-ubuntu20.04\n
                              1. version \u9700\u8981 >= v1.2.4
                            2. \u7b49\u5f85\u5b89\u88c5\u6210\u529f\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                            "},{"location":"virtnest/gpu/vm-gpu.html#virtnest-agent-cr","title":"\u5b89\u88c5 virtnest-agent \u5e76\u914d\u7f6e CR","text":"
                            1. \u5b89\u88c5 virtnest-agent\uff0c\u53c2\u8003\u5b89\u88c5 virtnest-agent\u3002

                            2. \u5c06 vGPU \u548c GPU \u76f4\u901a\u52a0\u5165 Virtnest Kubevirt CR\uff0c\u4ee5\u4e0b\u793a\u4f8b\u662f\u6dfb\u52a0 vGPU \u548c GPU \u76f4\u901a\u540e\u7684 \u90e8\u5206\u5173\u952e yaml\uff1a

                              spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:            # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com /GRID_P4-1Q\n      pciHostDevices:             # (3)!\n      - externalResourceProvider:  true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com /GP104GL_TESLA_P4\n
                              1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                              2. vGPU
                              3. GPU \u76f4\u901a
                            3. \u5728 kubevirt CR yaml \u4e2d\uff0cpermittedHostDevices \u7528\u4e8e\u5bfc\u5165 VM \u8bbe\u5907\uff0cvGPU \u9700\u5728\u5176\u4e2d\u6dfb\u52a0 mediatedDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                              mediatedDevices:          \n- mdevNameSelector: GRID P4-1Q          # (1)!\n  resourceName: nvidia.com/GRID_P4-1Q   # (2)!\n
                              1. \u8bbe\u5907\u540d\u79f0
                              2. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 vGPU \u4fe1\u606f
                            4. GPU \u76f4\u901a\u9700\u8981\u5728 permittedHostDevices \u4e0b\u6dfb\u52a0 pciHostDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                              pciHostDevices:           \n- externalResourceProvider: true            # (1)!\n  pciVendorSelector: 10DE:1BB3              # (2)!\n  resourceName: nvidia.com/GP104GL_TESLA_P4 # (3)!\n
                              1. \u9ed8\u8ba4\u4e0d\u8981\u66f4\u6539
                              2. \u5f53\u524d pci \u8bbe\u5907\u7684 vednor id
                              3. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 GPU \u4fe1\u606f
                            5. \u83b7\u53d6 vGPU \u4fe1\u606f\u793a\u4f8b\uff08\u4ec5\u9002\u7528\u4e8e vGPU\uff09\uff1a\u5728\u6807\u8bb0\u4e3a nvidia.com/gpu.workload.config=vm-gpu \u7684\u8282\u70b9\uff08\u4f8b\u5982 work-node-2\uff09\u4e0a\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c Capacity \u4e2d\u7684 nvidia.com/GRID_P4-1Q: 8 \u8868\u793a\u53ef\u7528 vGPU\uff1a

                              kubectl describe node work-node-2\n
                              Capacity:\n  cpu:                                 64\n  devices.kubevirt.io/kvm:             1k\n  devices.kubevirt.io/tun:             1k\n  devices.kubevirt.io/vhost-net:       1k\n  ephemeral-storage:                   102626232Ki\n  hugepages-1Gi:                       0\n  hugepages-2Mi:                       0\n  memory:                              264010840Ki\n  nvidia.com/GRID_P4-1Q :              8\n  pods:                                110\nAllocatable:\n  cpu:                                  64\n  devices.kubevirt.io/kvm:              1k\n  devices.kubevirt.io/tun:              1k\n  devices.kubevirt.io/vhost-net:        1k\n  ephemeral-storage:                    94580335255\n  hugepages-1Gi:                        0\n  hugepages-2Mi:                        0\n  memory:                               263908440Ki\n  nvidia.com/GRID_P4-1Q:                8\n  pods:                                 110\n

                              \u90a3\u4e48 mdevNameSelector \u5e94\u8be5\u662f \u201cGRID P4-1Q\u201d\uff0cresourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d

                            6. \u83b7\u53d6 GPU \u76f4\u901a\u4fe1\u606f\uff1a\u5728\u6807\u8bb0 nvidia.com/gpu.workload.config=vm-passthrough \u7684 node \u4e0a\uff08\u672c\u6587\u6863\u793a\u4f8b node \u4e3a work-node-1\uff09\uff0c \u67e5\u770b node \u4fe1\u606f\uff0cCapacity \u4e2d nvidia.com/GP104GL_TESLA_P4: 2 \u5c31\u662f\u53ef\u7528 vGPU\uff1a

                              kubectl describe node work-node-1\n
                              Capacity:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              102626232Ki\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         264010840Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\nAllocatable:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              94580335255\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         263908440Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\n

                              \u90a3\u4e48 resourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d, \u5982\u4f55\u83b7\u53d6 pciVendorSelector \u5462\uff1f\u901a\u8fc7 ssh \u767b\u5f55\u5230 work-node-1 \u76ee\u6807\u8282\u70b9\uff0c \u901a\u8fc7 lspci -nnk -d 10de: \u547d\u4ee4\u83b7\u53d6 Nvidia GPU PCI \u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\uff1a\u7ea2\u6846\u6240\u793a\u5373\u662f pciVendorSelector \u4fe1\u606f\u3002

                            7. \u7f16\u8f91 kubevirt CR \u63d0\u793a\uff1a\u5982\u679c\u540c\u4e00\u578b\u53f7 GPU \u6709\u591a\u4e2a\uff0c\u53ea\u9700\u5728 CR \u4e2d\u5199\u5165\u4e00\u4e2a\u5373\u53ef\uff0c\u65e0\u9700\u5217\u51fa\u6bcf\u4e2a GPU\u3002

                              kubectl -n virtnest-system edit kubevirt kubevirt\n
                              spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:                    # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com/GRID_P4-1Q\n      pciHostDevices:                     # (3)!\n      - externalResourceProvider: true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com/GP104GL_TESLA_P4 \n

                              1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                              2. vGPU
                              3. GPU \u76f4\u901a\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d TEESLA P4 \u6709\u4e24\u4e2a GPU\uff0c\u8fd9\u91cc\u53ea\u9700\u8981\u6ce8\u518c\u4e00\u4e2a\u5373\u53ef
                            "},{"location":"virtnest/gpu/vm-gpu.html#yaml-vm-gpu","title":"\u901a\u8fc7 YAML \u521b\u5efa VM \u5e76\u4f7f\u7528 GPU \u52a0\u901f","text":"

                            \u4e0e\u666e\u901a\u865a\u62df\u673a\u552f\u4e00\u7684\u533a\u522b\u662f\u5728 devices \u4e2d\u6dfb\u52a0 GPU \u76f8\u5173\u4fe1\u606f\u3002

                            \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                            apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: testvm-gpu1\n  namespace: default\nspec:\n  dataVolumeTemplates:\n  - metadata:\n      creationTimestamp: null\n      name: systemdisk-testvm-gpu1\n      namespace: default\n    spec:\n      pvc:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 10Gi\n        storageClassName: www\n      source:\n        registry:\n          url: docker://release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1\nrunStrategy: Manual\ntemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n          - bootOrder: 1\n            disk:\n              bus: virtio\n            name: systemdisk-testvm-gpu1\n          - disk:\n              bus: virtio\n            name: cloudinitdisk\n        gpus:\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n            name: gpu-0-0\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n          name: gpu-0-1\n        interfaces:\n        - masquerade: {}\n          name: default\n      machine:\n        type: q35\n      resources:\n        requests:\n          memory: 2Gi\n    networks:\n    - name: default\n      pod: {}\n    volumes:\n    - dataVolume:\n        name: systemdisk-testvm-gpu1\n      name: systemdisk-testvm-gpu1\n    - cloudInitNoCloud:\n        userDataBase64: I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OmRhbmdlcm91cyIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n        name: cloudinitdisk\n
                            "},{"location":"virtnest/gpu/vm-vgpu.html","title":"\u865a\u62df\u673a\u914d\u7f6e GPU\uff08vGPU\uff09","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\uff0c\u914d\u7f6e GPU \u7684\u524d\u63d0\u6761\u4ef6\u3002

                            \u914d\u7f6e\u865a\u62df\u673a\u7684 GPU \u7684\u91cd\u70b9\u662f\u5bf9 GPU Operator \u8fdb\u884c\u914d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u5de5\u4f5c\u8282\u70b9\u4e0a\u90e8\u7f72\u4e0d\u540c\u7684\u8f6f\u4ef6\u7ec4\u4ef6\uff0c \u5177\u4f53\u53d6\u51b3\u4e8e\u8fd9\u4e9b\u8282\u70b9\u4e0a\u914d\u7f6e\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u3002\u4ee5\u4e0b\u4e09\u4e2a\u8282\u70b9\u4e3a\u4f8b\uff1a

                            • controller-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5bb9\u5668\u3002
                            • work-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u76f4\u901a GPU \u7684\u865a\u62df\u673a\u3002
                            • work-node-2 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u865a\u62df vGPU \u7684\u865a\u62df\u673a\u3002
                            "},{"location":"virtnest/gpu/vm-vgpu.html#_1","title":"\u5047\u8bbe\u3001\u9650\u5236\u548c\u4f9d\u8d56\u6027","text":"

                            \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\uff0c\u4e5f\u53ef\u4ee5\u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4f46\u4e0d\u80fd\u8fd0\u884c\u5176\u4e2d\u4efb\u4f55\u4e00\u4e2a\u7684\u7ec4\u5408\u3002

                            1. \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u5355\u72ec\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\u3001\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4e0d\u652f\u6301\u4efb\u4f55\u7ec4\u5408\u5f62\u5f0f\u3002
                            2. \u96c6\u7fa4\u7ba1\u7406\u5458\u6216\u5f00\u53d1\u4eba\u5458\u9700\u8981\u63d0\u524d\u4e86\u89e3\u96c6\u7fa4\u60c5\u51b5\uff0c\u5e76\u6b63\u786e\u6807\u8bb0\u8282\u70b9\u4ee5\u6307\u793a\u5b83\u4eec\u5c06\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u3002
                            3. \u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u6216vGPU\u7684 GPU \u52a0\u901f VM\u7684\u5de5\u4f5c\u8282\u70b9\u88ab\u5047\u5b9a\u4e3a\u88f8\u673a\uff0c\u5982\u679c\u5de5\u4f5c\u8282\u70b9\u662f\u865a\u62df\u673a\uff0c\u5219\u9700\u8981\u5728\u865a\u62df\u673a\u5e73\u53f0\u4e0a\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u8bf7\u5411\u865a\u62df\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u54a8\u8be2\u3002
                            4. \u4e0d\u652f\u6301 Nvidia MIG \u7684 vGPU\u3002
                            5. GPU Operator \u4e0d\u4f1a\u81ea\u52a8\u5728 VM \u4e2d\u5b89\u88c5 GPU \u9a71\u52a8\u7a0b\u5e8f\u3002
                            "},{"location":"virtnest/gpu/vm-vgpu.html#iommu","title":"\u542f\u7528 IOMMU","text":"

                            \u4e3a\u4e86\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u96c6\u7fa4\u8282\u70b9\u9700\u8981\u5f00\u542fIOMMU\u3002\u8bf7\u53c2\u8003\u5982\u4f55\u5f00\u542fIOMMU\u3002 \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u662f\u5728\u865a\u62df\u673a\u4e0a\u8fd0\u884c\uff0c\u8bf7\u54a8\u8be2\u60a8\u7684\u865a\u62df\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u3002

                            "},{"location":"virtnest/gpu/vm-vgpu.html#vgpu-manager","title":"\u6784\u5efa vGPU Manager \u955c\u50cf","text":"

                            \u6ce8\u610f\uff1a\u4ec5\u5f53\u4f7f\u7528 NVIDIA vGPU \u65f6\u624d\u9700\u8981\u6784\u5efa vGPU Manager \u955c\u50cf\u3002\u5982\u679c\u60a8\u8ba1\u5212\u4ec5\u4f7f\u7528 GPU \u76f4\u901a\uff0c\u8bf7\u8df3\u8fc7\u6b64\u90e8\u5206\u3002

                            \u4ee5\u4e0b\u662f\u6784\u5efa vGPU Manager \u955c\u50cf\u5e76\u5c06\u5176\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u6b65\u9aa4\uff1a

                            1. \u4ece NVIDIA Licensing Portal \u4e0b\u8f7d vGPU \u8f6f\u4ef6\u3002

                              • \u767b\u5f55 NVIDIA Licensing Portal\uff0c\u8f6c\u5230 Software Downloads \u9875\u9762\u3002
                              • NVIDIA vGPU \u8f6f\u4ef6\u4f4d\u4e8e Software Downloads \u9875\u9762\u7684 Driver downloads \u9009\u9879\u5361\u4e2d\u3002
                              • \u5728\u7b5b\u9009\u6761\u4ef6\u4e2d\u9009\u62e9 VGPU + Linux \uff0c\u70b9\u51fb \u4e0b\u8f7d \u4ee5\u83b7\u53d6 Linux KVM \u7684\u8f6f\u4ef6\u5305\u3002 \u8bf7\u89e3\u538b\u4e0b\u8f7d\u7684\u6587\u4ef6\uff08NVIDIA-Linux-x86_64-<version>-vgpu-kvm.run\uff09\u3002

                            2. \u6253\u5f00\u7ec8\u7aef\u514b\u9686 container-images/driver \u4ed3\u5e93

                              git clone https://gitlab.com/nvidia/container-images/driver cd driver\n
                            3. \u5207\u6362\u5230\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 vgpu-manager \u76ee\u5f55

                              cd vgpu-manager/<your-os>\n
                            4. \u5c06\u6b65\u9aa4 1 \u4e2d\u63d0\u53d6\u7684 .run \u6587\u4ef6 copy \u5230\u5f53\u524d\u76ee\u5f55

                              cp <local-driver-download-directory>/*-vgpu-kvm.run ./\n
                            5. \u8bbe\u7f6e\u73af\u5883\u53d8\u91cf

                              • PRIVATE_REGISTRY\uff1a\u4e13\u7528\u6ce8\u518c\u8868\u7684\u540d\u79f0\uff0c\u7528\u4e8e\u5b58\u50a8\u9a71\u52a8\u7a0b\u5e8f\u6620\u50cf\u3002
                              • VERSION\uff1aNVIDIA vGPU\u7ba1\u7406\u5668\u7684\u7248\u672c\uff0c\u4eceNVIDIA\u8f6f\u4ef6\u95e8\u6237\u4e0b\u8f7d\u3002
                              • OS_TAG\uff1a\u5fc5\u987b\u4e0e\u96c6\u7fa4\u8282\u70b9\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u5339\u914d\u3002
                              • CUDA_VERSION\uff1a\u7528\u4e8e\u6784\u5efa\u9a71\u52a8\u7a0b\u5e8f\u6620\u50cf\u7684CUDA\u57fa\u672c\u6620\u50cf\u7248\u672c\u3002
                              export PRIVATE_REGISTRY=my/private/registry VERSION=510.73.06 OS_TAG=ubuntu22.04 CUDA_VERSION=12.2.0\n
                            6. \u6784\u5efa NVIDIA vGPU Manager Image

                              docker build \\\n  --build-arg DRIVER_VERSION=${VERSION} \\\n  --build-arg CUDA_VERSION=${CUDA_VERSION} \\\n  -t ${PRIVATE_REGISTRY}/vgpu-manager:${VERSION}-${OS_TAG} .\n
                            7. \u5c06 NVIDIA vGPU Manager \u6620\u50cf\u63a8\u9001\u5230\u60a8\u7684\u955c\u50cf\u4ed3\u5e93

                              docker push ${PRIVATE_REGISTRY}/vgpu-manager:${VERSION}-${OS_TAG}\n
                            "},{"location":"virtnest/gpu/vm-vgpu.html#_2","title":"\u6807\u8bb0\u96c6\u7fa4\u8282\u70b9","text":"

                            \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u7136\u540e\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 , \u8fdb\u5165\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u4fee\u6539\u6807\u7b7e \uff0c\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u6bcf\u4e2a\u8282\u70b9\u53ea\u80fd\u6709\u4e00\u79cd\u6807\u7b7e\u3002

                            \u60a8\u53ef\u4ee5\u4e3a\u6807\u7b7e\u5206\u914d\u4ee5\u4e0b\u503c\uff1acontainer\u3001vm-passthrough \u548c vm-vgpu\u3002

                            "},{"location":"virtnest/gpu/vm-vgpu.html#nvidia-operator","title":"\u5b89\u88c5 Nvidia Operator","text":"
                            1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u9009\u62e9\u5e76\u5b89\u88c5 gpu-operator\u3002\u9700\u8981\u4fee\u6539\u4e00\u4e9b yaml \u4e2d\u7684\u76f8\u5173\u5b57\u6bb5\u3002

                              gpu-operator.sandboxWorkloads.enabled=true\ngpu-operator.vgpuManager.enabled=true\ngpu-operator.vgpuManager.repository=<your-register-url>      # (1)!\ngpu-operator.vgpuManager.image=vgpu-manager\ngpu-operator.vgpuManager.version=<your-vgpu-manager-version> # (2)!\ngpu-operator.vgpuDeviceManager.enabled=true\n
                              1. \u201c\u6784\u5efa vGPU Manager \u955c\u50cf\u201d \u6b65\u9aa4\u4e2d\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740
                              2. \u201c\u6784\u5efa vGPU Manager \u955c\u50cf\u201d \u6b65\u9aa4\u4e2d\u7684 VERSION
                            2. \u7b49\u5f85\u5b89\u88c5\u6210\u529f\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                            "},{"location":"virtnest/gpu/vm-vgpu.html#virtnest-agent-cr","title":"\u5b89\u88c5 virtnest-agent \u5e76\u914d\u7f6e CR","text":"
                            1. \u5b89\u88c5 virtnest-agent\uff0c\u53c2\u8003\u5b89\u88c5 virtnest-agent\u3002

                            2. \u5c06 vGPU \u548c GPU \u76f4\u901a\u52a0\u5165 Virtnest Kubevirt CR\uff0c\u4ee5\u4e0b\u793a\u4f8b\u662f\u6dfb\u52a0 vGPU \u548c GPU \u76f4\u901a\u540e\u7684 \u90e8\u5206\u5173\u952e yaml\uff1a

                              spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:            # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com /GRID_P4-1Q\n      pciHostDevices:             # (3)!\n      - externalResourceProvider:  true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com /GP104GL_TESLA_P4\n
                              1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                              2. vGPU
                              3. GPU \u76f4\u901a
                            3. \u5728 kubevirt CR yaml \u4e2d\uff0cpermittedHostDevices \u7528\u4e8e\u5bfc\u5165 VM \u8bbe\u5907\uff0cvGPU \u9700\u5728\u5176\u4e2d\u6dfb\u52a0 mediatedDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                              mediatedDevices:          \n- mdevNameSelector: GRID P4-1Q          # (1)!\n  resourceName: nvidia.com/GRID_P4-1Q   # (2)!\n
                              1. \u8bbe\u5907\u540d\u79f0
                              2. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 vGPU \u4fe1\u606f
                            4. GPU \u76f4\u901a\u9700\u8981\u5728 permittedHostDevices \u4e0b\u6dfb\u52a0 pciHostDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                              pciHostDevices:           \n- externalResourceProvider: true            # (1)!\n  pciVendorSelector: 10DE:1BB3              # (2)!\n  resourceName: nvidia.com/GP104GL_TESLA_P4 # (3)!\n
                              1. \u9ed8\u8ba4\u4e0d\u8981\u66f4\u6539
                              2. \u5f53\u524d pci \u8bbe\u5907\u7684 vednor id
                              3. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 GPU \u4fe1\u606f
                            5. \u83b7\u53d6 vGPU \u4fe1\u606f\u793a\u4f8b\uff08\u4ec5\u9002\u7528\u4e8e vGPU\uff09\uff1a\u5728\u6807\u8bb0\u4e3a nvidia.com/gpu.workload.config=vm-gpu \u7684\u8282\u70b9\uff08\u4f8b\u5982 work-node-2\uff09\u4e0a\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c Capacity \u4e2d\u7684 nvidia.com/GRID_P4-1Q: 8 \u8868\u793a\u53ef\u7528 vGPU\uff1a

                              kubectl describe node work-node-2\n
                              Capacity:\n  cpu:                                 64\n  devices.kubevirt.io/kvm:             1k\n  devices.kubevirt.io/tun:             1k\n  devices.kubevirt.io/vhost-net:       1k\n  ephemeral-storage:                   102626232Ki\n  hugepages-1Gi:                       0\n  hugepages-2Mi:                       0\n  memory:                              264010840Ki\n  nvidia.com/GRID_P4-1Q :              8\n  pods:                                110\nAllocatable:\n  cpu:                                  64\n  devices.kubevirt.io/kvm:              1k\n  devices.kubevirt.io/tun:              1k\n  devices.kubevirt.io/vhost-net:        1k\n  ephemeral-storage:                    94580335255\n  hugepages-1Gi:                        0\n  hugepages-2Mi:                        0\n  memory:                               263908440Ki\n  nvidia.com/GRID_P4-1Q:                8\n  pods:                                 110\n

                              \u90a3\u4e48 mdevNameSelector \u5e94\u8be5\u662f \u201cGRID P4-1Q\u201d\uff0cresourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d

                            6. \u83b7\u53d6 GPU \u76f4\u901a\u4fe1\u606f\uff1a\u5728\u6807\u8bb0 nvidia.com/gpu.workload.config=vm-passthrough \u7684 node \u4e0a\uff08\u672c\u6587\u6863\u793a\u4f8b node \u4e3a work-node-1\uff09\uff0c \u67e5\u770b node \u4fe1\u606f\uff0cCapacity \u4e2d nvidia.com/GP104GL_TESLA_P4: 2 \u5c31\u662f\u53ef\u7528 vGPU\uff1a

                              kubectl describe node work-node-1\n
                              Capacity:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              102626232Ki\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         264010840Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\nAllocatable:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              94580335255\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         263908440Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\n

                              \u90a3\u4e48 resourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d, \u5982\u4f55\u83b7\u53d6 pciVendorSelector \u5462\uff1f\u901a\u8fc7 ssh \u767b\u5f55\u5230 work-node-1 \u76ee\u6807\u8282\u70b9\uff0c \u901a\u8fc7 lspci -nnk -d 10de: \u547d\u4ee4\u83b7\u53d6 Nvidia GPU PCI \u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\uff1a\u7ea2\u6846\u6240\u793a\u5373\u662f pciVendorSelector \u4fe1\u606f\u3002

                            7. \u7f16\u8f91 kubevirt CR \u63d0\u793a\uff1a\u5982\u679c\u540c\u4e00\u578b\u53f7 GPU \u6709\u591a\u4e2a\uff0c\u53ea\u9700\u5728 CR \u4e2d\u5199\u5165\u4e00\u4e2a\u5373\u53ef\uff0c\u65e0\u9700\u5217\u51fa\u6bcf\u4e2a GPU\u3002

                              kubectl -n virtnest-system edit kubevirt kubevirt\n
                              spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:                    # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com/GRID_P4-1Q\n      pciHostDevices:                       # (3)!\n      - externalResourceProvider: true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com/GP104GL_TESLA_P4 \n

                              1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                              2. vGPU
                              3. GPU \u76f4\u901a\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d TEESLA P4 \u6709\u4e24\u4e2a GPU\uff0c\u8fd9\u91cc\u53ea\u9700\u8981\u6ce8\u518c\u4e00\u4e2a\u5373\u53ef
                            "},{"location":"virtnest/gpu/vm-vgpu.html#yaml-vm-gpu","title":"\u901a\u8fc7 YAML \u521b\u5efa VM \u5e76\u4f7f\u7528 GPU \u52a0\u901f","text":"

                            \u4e0e\u666e\u901a\u865a\u62df\u673a\u552f\u4e00\u7684\u533a\u522b\u662f\u5728 devices \u4e2d\u6dfb\u52a0 gpu \u76f8\u5173\u4fe1\u606f\u3002

                            \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                            apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: testvm-gpu1\n  namespace: default\nspec:\n  dataVolumeTemplates:\n  - metadata:\n      creationTimestamp: null\n      name: systemdisk-testvm-gpu1\n      namespace: default\n    spec:\n      pvc:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 10Gi\n        storageClassName: www\n      source:\n        registry:\n          url: docker://release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1\nrunStrategy: Manual\ntemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n          - bootOrder: 1\n            disk:\n              bus: virtio\n            name: systemdisk-testvm-gpu1\n          - disk:\n              bus: virtio\n            name: cloudinitdisk\n        gpus:\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n            name: gpu-0-0\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n          name: gpu-0-1\n        interfaces:\n        - masquerade: {}\n          name: default\n      machine:\n        type: q35\n      resources:\n        requests:\n          memory: 2Gi\n    networks:\n    - name: default\n      pod: {}\n    volumes:\n    - dataVolume:\n        name: systemdisk-testvm-gpu1\n      name: systemdisk-testvm-gpu1\n    - cloudInitNoCloud:\n        userDataBase64: I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OmRhbmdlcm91cyIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n        name: cloudinitdisk\n
                            "},{"location":"virtnest/quickstart/index.html","title":"\u521b\u5efa\u865a\u62df\u673a","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u865a\u62df\u673a\u3002

                            \u865a\u62df\u673a\u57fa\u4e8e KubeVirt \u6280\u672f\u5c06\u865a\u62df\u673a\u4f5c\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u8fdb\u884c\u7ba1\u7406\uff0c\u4e0e\u5bb9\u5668\u65e0\u7f1d\u5730\u8854\u63a5\u5728\u4e00\u8d77\uff0c \u4f7f\u7528\u6237\u80fd\u591f\u8f7b\u677e\u5730\u90e8\u7f72\u865a\u62df\u673a\u5e94\u7528\uff0c\u4eab\u53d7\u4e0e\u5bb9\u5668\u5e94\u7528\u4e00\u81f4\u7684\u4e1d\u6ed1\u4f53\u9a8c\u3002

                            "},{"location":"virtnest/quickstart/index.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u521b\u5efa\u865a\u62df\u673a\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5411\u7528\u6237\u673a\u64cd\u4f5c\u7cfb\u7edf\u516c\u5f00\u786c\u4ef6\u8f85\u52a9\u7684\u865a\u62df\u5316\u3002
                            • \u5728\u6307\u5b9a\u96c6\u7fa4\u5b89\u88c5 virtnest-agent\uff0c\u64cd\u4f5c\u7cfb\u7edf\u5185\u6838\u7248\u672c\u9700\u8981\u5728 3.15 \u4ee5\u4e0a\u3002
                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002
                            • \u63d0\u524d\u51c6\u5907\u597d\u955c\u50cf\uff0c\u5e73\u53f0\u5185\u7f6e\u4e09\u79cd\u955c\u50cf (\u5982\u4e0b\u6587\u6240\u793a)\uff0c\u5982\u9700\u5236\u4f5c\u955c\u50cf\uff0c\u53ef\u53c2\u8003\u5f00\u6e90\u9879\u76ee\u5236\u4f5c\u955c\u50cf\u3002
                            • \u8fdb\u884c\u7f51\u7edc\u914d\u7f6e\u65f6\uff0c\u82e5\u9009\u62e9\u4f7f\u7528 Passt \u7f51\u7edc\u6a21\u5f0f\uff0c\u5219\u9700\u8981\u5347\u7ea7\u81f3 0.4.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                            "},{"location":"virtnest/quickstart/index.html#_3","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u865a\u62df\u673a\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165 \u865a\u62df\u673a \u9875\u9762\u3002

                            2. \u5728\u865a\u62df\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb \u521b\u5efa\u865a\u62df\u673a -> \u9009\u62e9 \u901a\u8fc7\u955c\u50cf\u521b\u5efa \u3002

                            3. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u9875\u9762\uff0c\u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u955c\u50cf\u914d\u7f6e\u3001\u5b58\u50a8\u4e0e\u7f51\u7edc\u3001\u767b\u5f55\u8bbe\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u865a\u62df\u673a\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u865a\u62df\u673a\u6267\u884c\u5173\u673a/\u5f00\u542f\u3001\u91cd\u542f\u3001\u514b\u9686\u3001\u66f4\u65b0\u3001\u521b\u5efa\u5feb\u7167\u3001\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002 \u514b\u9686\u548c\u5feb\u7167\u80fd\u529b\u4f9d\u8d56\u4e8e\u5b58\u50a8\u6c60\u7684\u9009\u62e9\u3002

                            "},{"location":"virtnest/quickstart/index.html#_4","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            \u5728 \u521b\u5efa\u865a\u62df\u673a \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            • \u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002 \u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u540d\u79f0\u5728\u865a\u62df\u673a\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u522b\u540d\uff1a\u5141\u8bb8\u4efb\u4f55\u5b57\u7b26\uff0c\u6700\u957f 60 \u4e2a\u5b57\u7b26\u3002
                            • \u96c6\u7fa4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u865a\u62df\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u96c6\u7fa4\u5185\uff0c\u82e5\u6709\u4f7f\u7528 GPU \u80fd\u529b\u7684\u9700\u6c42\uff0c\u5219\u9700\u8981\u9009\u62e9\u6709 GPU/vGPU \u5361\u7684\u96c6\u7fa4\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u865a\u62df\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\u3002 \u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u6807\u7b7e/\u6ce8\u89e3\uff1a\u9009\u62e9\u4e3a\u865a\u62df\u673a\u6dfb\u52a0\u6240\u9700\u7684\u6807\u7b7e/\u6ce8\u89e3\u4fe1\u606f\u3002
                            "},{"location":"virtnest/quickstart/index.html#_5","title":"\u955c\u50cf\u914d\u7f6e","text":"

                            \u6839\u636e\u4e0b\u8868\u586b\u5199\u955c\u50cf\u76f8\u5173\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65

                            1. \u955c\u50cf\u6765\u6e90\uff1a\u652f\u6301\u4e09\u79cd\u7c7b\u578b\u7684\u6765\u6e90\u3002

                              • \u955c\u50cf\u4ed3\u5e93\u7c7b\u578b\uff1a\u955c\u50cf\u5b58\u50a8\u5728\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\u4e2d\uff0c\u652f\u6301\u4ece\u955c\u50cf\u4ed3\u5e93\u4e2d\u6309\u9700\u9009\u62e9\u955c\u50cf\uff1b
                              • HTTP \u7c7b\u578b\uff1a\u955c\u50cf\u5b58\u50a8\u4e8e HTTP \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\uff0c\u652f\u6301 HTTPS://\u548c HTTP://\u524d\u7f00\uff1b
                              • \u5bf9\u8c61\u5b58\u50a8\uff08S3\uff09\uff1a\u652f\u6301\u901a\u8fc7\u5bf9\u8c61\u5b58\u50a8\u534f\u8bae (S3) \u83b7\u53d6\u7684\u865a\u62df\u673a\u955c\u50cf\uff0c\u82e5\u662f\u65e0\u9700\u8ba4\u8bc1\u7684\u5bf9\u8c61\u5b58\u50a8\u6587\u4ef6\uff0c\u8bf7\u4f7f\u7528 HTTP \u6765\u6e90\u3002
                            2. \u4ee5\u4e0b\u662f\u5e73\u53f0\u5185\u7f6e\u7684\u955c\u50cf\u4fe1\u606f\uff0c\u5305\u62ec\u64cd\u4f5c\u7cfb\u7edf\u548c\u7248\u672c\u3001\u955c\u50cf\u5730\u5740\u3002\u540c\u65f6\u4e5f\u652f\u6301\u81ea\u5b9a\u4e49\u865a\u62df\u673a\u955c\u50cf\u3002

                              \u64cd\u4f5c\u7cfb\u7edf \u5bf9\u5e94\u7248\u672c \u955c\u50cf\u5730\u5740 CentOS CentOS 7.9 release-ci.daocloud.io/virtnest/system-images/centos-7.9-x86_64:v1 Ubuntu Ubuntu 22.04 release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1 Debian Debian 12 release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1
                            3. \u955c\u50cf\u5bc6\u94a5\uff1a\u4ec5\u652f\u6301\u9ed8\u8ba4\uff08Opaque\uff09\u7c7b\u578b\u5bc6\u94a5\uff0c\u5177\u4f53\u683c\u5f0f\u8bf7\u53c2\u8003\u521b\u5efa\u5bc6\u94a5\u3002

                              \u5e73\u53f0\u5185\u7f6e\u955c\u50cf\u5b58\u50a8\u5728\u70b9\u706b\u96c6\u7fa4\u4e2d\uff0c\u800c\u70b9\u706b\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u672a\u52a0\u5bc6\uff0c\u56e0\u6b64\u5f53\u9009\u62e9\u5185\u7f6e\u955c\u50cf\u65f6\uff0c\u65e0\u9700\u9009\u62e9\u5bc6\u94a5\u3002

                            Note

                            CPU \u548c\u5185\u5b58\u7684\u70ed\u52a0\u8f7d\u914d\u7f6e\u8981\u6c42\uff1avirtnest \u7684\u7248\u672c\u4e0d\u4f4e\u4e8e v0.10.0\uff0c\u5e76\u4e14 virtnest-agent \u7248\u672c\u4e0d\u4f4e\u4e8e v0.7.0\uff1b\u652f\u6301\u5b9e\u65f6\u8fc1\u79fb\uff08\u786e\u4fdd PVC \u8bbf\u95ee\u6a21\u5f0f\u4e3a ReadWriteMany\uff09\u3002

                            1. \u8d44\u6e90\u914d\u7f6e\uff1aCPU \u5efa\u8bae\u4f7f\u7528\u6574\u6570\uff0c\u82e5\u586b\u5199\u5c0f\u6570\u5219\u4f1a\u5411\u4e0a\u53d6\u6574\u3002\u652f\u6301 CPU\u3001\u5185\u5b58\u7684\u70ed\u52a0\u8f7d\u3002

                            2. GPU \u914d\u7f6e\uff1a\u542f\u7528 GPU \u529f\u80fd\u9700\u8981\u9700\u8981\u6ee1\u8db3\u524d\u63d0\u6761\u4ef6\uff0c\u5177\u4f53\u53ef\u53c2\u8003 \u865a\u62df\u673a\u914d\u7f6e GPU\uff08Nvidia)\u3002 \u865a\u62df\u673a\u652f\u6301 Nvidia\u2014GPU \u548c Nvidia\u2014vGPU \u4e24\u79cd\u7c7b\u578b\uff0c\u9009\u62e9\u6240\u9700\u7c7b\u578b\u540e\uff0c\u9700\u8981\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u578b\u53f7\u548c\u5361\u7684\u6570\u91cf\u3002

                            "},{"location":"virtnest/quickstart/index.html#_6","title":"\u5b58\u50a8\u4e0e\u7f51\u7edc\u914d\u7f6e","text":"
                            • \u5b58\u50a8\uff1a

                              • \u5b58\u50a8\u548c\u865a\u62df\u673a\u7684\u529f\u80fd\u606f\u606f\u76f8\u5173\uff0c\u4e3b\u8981\u662f\u901a\u8fc7\u4f7f\u7528 Kubernetes \u7684\u6301\u4e45\u5377\u548c\u5b58\u50a8\u7c7b\uff0c\u63d0\u4f9b\u4e86\u7075\u6d3b\u4e14\u53ef\u6269\u5c55\u7684\u865a\u62df\u673a\u5b58\u50a8\u80fd\u529b\u3002\u6bd4\u5982\u865a\u62df\u673a\u955c\u50cf\u5b58\u50a8\u5728 pvc \u91cc\uff0c\u652f\u6301\u548c\u5176\u4ed6\u6570\u636e\u4e00\u8d77\u514b\u9686\u3001\u5feb\u7167\u7b49\u3002

                              • \u7cfb\u7edf\u76d8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002

                              • \u6570\u636e\u76d8\uff1a\u6570\u636e\u76d8\u662f\u865a\u62df\u673a\u4e2d\u7528\u4e8e\u5b58\u50a8\u7528\u6237\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u6570\u636e\u6216\u5176\u4ed6\u975e\u64cd\u4f5c\u7cfb\u7edf\u76f8\u5173\u6587\u4ef6\u7684\u5b58\u50a8\u8bbe\u5907\u3002\u4e0e\u7cfb\u7edf\u76d8\u76f8\u6bd4\uff0c\u6570\u636e\u76d8\u662f\u975e\u5fc5\u9009\u7684\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u52a8\u6001\u6dfb\u52a0\u6216\u79fb\u9664\u3002\u6570\u636e\u76d8\u7684\u5bb9\u91cf\u4e5f\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u8fdb\u884c\u7075\u6d3b\u914d\u7f6e\u3002

                              • \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u5df2\u7ecf\u521b\u5efa\u4e86\u5bf9\u5e94\u7684 VolumeSnapshotClass\uff0c \u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u793a\u4f8b\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u652f\u6301\u5e76\u9009\u62e9\u4e86 ReadWriteMany \u7684\u8bbf\u95ee\u6a21\u5f0f \u3002

                                \u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5b58\u50a8\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u81ea\u52a8\u521b\u5efa\u8fd9\u6837\u7684 VolumeSnapshotClass\uff0c\u56e0\u6b64\u60a8\u9700\u8981\u624b\u52a8\u521b\u5efa VolumeSnapshotClass\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a HwameiStor \u521b\u5efa VolumeSnapshotClass \u7684\u793a\u4f8b\uff1a

                                kind: VolumeSnapshotClass\napiVersion: snapshot.storage.k8s.io/v1\nmetadata:\n  name: hwameistor-storage-lvm-snapshot\n  annotations:\n    snapshot.storage.kubernetes.io/is-default-class: \"true\"\nparameters:\n  snapsize: \"1073741824\"\ndriver: lvm.hwameistor.io\ndeletionPolicy: Delete\n
                              • \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5 VolumeSnapshotClass \u662f\u5426\u521b\u5efa\u6210\u529f\u3002

                                kubectl get VolumeSnapshotClass\n
                              • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass\uff0c\u5e76\u4e14\u786e\u8ba4 provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002

                            • \u7f51\u7edc\uff1a

                              • \u7f51\u7edc\u914d\u7f6e\u53ef\u4ee5\u6839\u636e\u8868\u683c\u4fe1\u606f\u6309\u9700\u7ec4\u5408\u3002

                                \u7f51\u7edc\u6a21\u5f0f CNI \u662f\u5426\u5b89\u88c5 Spiderpool \u7f51\u5361\u6a21\u5f0f \u56fa\u5b9a IP \u5b9e\u65f6\u8fc1\u79fb Masquerade\uff08NAT\uff09 Calico \u274c \u5355\u7f51\u5361 \u274c \u2705 Cilium \u274c \u5355\u7f51\u5361 \u274c \u2705 Flannel \u274c \u5355\u7f51\u5361 \u274c \u2705 Bridge\uff08\u6865\u63a5\uff09 OVS \u2705 \u591a\u7f51\u5361 \u2705 \u2705

                              • \u7f51\u7edc\u6a21\u5f0f\u5206\u4e3a Masquerade\uff08NAT\uff09\u548c Bridge\uff08\u6865\u63a5\uff09\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u9700\u8981\u5b89\u88c5\u4e86 Spiderpool \u7ec4\u4ef6\u540e\u65b9\u53ef\u4f7f\u7528\u3002

                                • \u9ed8\u8ba4\u9009\u62e9 Masquerade\uff08NAT\uff09\u7684\u7f51\u7edc\u6a21\u5f0f\uff0c\u4f7f\u7528 eth0 \u9ed8\u8ba4\u7f51\u5361\u3002
                                • \u82e5\u96c6\u7fa4\u5185\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\uff0c\u5219\u652f\u6301\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u652f\u6301\u591a\u7f51\u5361\u5f62\u5f0f\u3002

                              • \u6dfb\u52a0\u7f51\u5361

                                • Passt\uff08\u76f4\u901a\uff09/Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u4e0b\u652f\u6301\u624b\u52a8\u6dfb\u52a0\u7f51\u5361\u3002\u70b9\u51fb \u6dfb\u52a0\u7f51\u5361 \uff0c\u8fdb\u884c\u7f51\u5361 IP \u6c60\u7684\u914d\u7f6e\u3002\u9009\u62e9\u548c\u7f51\u7edc\u6a21\u5f0f\u5339\u914d\u7684 Multus CR\uff0c\u82e5\u6ca1\u6709\u5219\u9700\u8981\u81ea\u884c\u521b\u5efa\u3002
                                • \u82e5\u6253\u5f00 \u4f7f\u7528\u9ed8\u8ba4 IP \u6c60 \u5f00\u5173\uff0c\u5219\u4f7f\u7528 multus CR \u914d\u7f6e\u4e2d\u7684\u9ed8\u8ba4 IP \u6c60\u3002\u82e5\u5173\u95ed\u5f00\u5173\uff0c\u5219\u624b\u52a8\u9009\u62e9 IP \u6c60\u3002

                            "},{"location":"virtnest/quickstart/index.html#_7","title":"\u767b\u5f55\u8bbe\u7f6e","text":"
                            • \u7528\u6237\u540d/\u5bc6\u7801\uff1a\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u81f3\u865a\u62df\u673a\u3002
                            • SSH\uff1a\u9009\u62e9 SSH \u767b\u5f55\u65b9\u5f0f\u65f6\u53ef\u4e3a\u865a\u62df\u673a\u7ed1\u5b9a SSH \u5bc6\u94a5\uff0c\u7528\u4e8e\u65e5\u540e\u767b\u5f55\u865a\u62df\u673a\u3002
                            "},{"location":"virtnest/quickstart/index.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u865a\u62df\u673a\u3002

                            \u8fdb\u5165\u865a\u62df\u673a\u5217\u8868\u9875\uff0c\u70b9\u51fb \u901a\u8fc7 YAML \u521b\u5efa \u6309\u94ae\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u865a\u62df\u673a\u7684 YAML \u793a\u4f8b
                            apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: demo\n  namespace: default\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        name: systemdisk-demo\n        namespace: default\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n              docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Always\n  template:\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: systemdisk-demo\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      volumes:\n        - dataVolume:\n            name: systemdisk-demo\n          name: systemdisk-demo\n        - cloudInitNoCloud:\n            userDataBase64: >-\n              I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OjEyMzQ1NiIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n          name: cloudinitdisk\n
                            "},{"location":"virtnest/quickstart/access.html","title":"\u8fde\u63a5\u865a\u62df\u673a","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u4e24\u79cd\u8fde\u63a5\u865a\u62df\u673a\u7684\u65b9\u5f0f\uff0c\u5206\u522b\u4e3a \u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u548c\u7ec8\u7aef\u65b9\u5f0f\u3002

                            "},{"location":"virtnest/quickstart/access.html#_2","title":"\u7ec8\u7aef","text":"

                            \u901a\u8fc7\u7ec8\u7aef\u8bbf\u95ee\u865a\u62df\u673a\u7684\u65b9\u5f0f\u66f4\u52a0\u7075\u6d3b\u548c\u8f7b\u91cf\uff0c\u4f46\u662f\u65e0\u6cd5\u76f4\u63a5\u5c55\u793a\u56fe\u5f62\u754c\u9762\uff0c\u4ea4\u4e92\u6027\u8f83\u5dee\uff0c\u4e14\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                            \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u652f\u6301\u901a\u8fc7\u7ec8\u7aef\u65b9\u5f0f\u8bbf\u95ee\u865a\u62df\u673a\u3002

                            "},{"location":"virtnest/quickstart/access.html#vnc","title":"\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09","text":"

                            \u901a\u8fc7 VNC \u8bbf\u95ee\u865a\u62df\u673a\u7684\u65b9\u5f0f\u53ef\u4ee5\u5b9e\u73b0\u5bf9\u8fdc\u7a0b\u8ba1\u7b97\u673a\u7684\u5b8c\u6574\u56fe\u5f62\u754c\u9762\u7684\u8bbf\u95ee\u548c\u63a7\u5236\uff0c\u80fd\u591f\u76f4\u89c2\u5730\u64cd\u4f5c\u8fdc\u7a0b\u8bbe\u5907\uff0c\u4ea4\u4e92\u6027\u66f4\u52a0\u597d\uff0c\u4f46\u662f\u6027\u80fd\u4f1a\u53d7\u5230\u4e00\u5b9a\u5f71\u54cd\uff0c\u4e14\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                            Windows \u7cfb\u7edf\u9009\u62e9 VNC\u3002

                            \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u652f\u6301\u901a\u8fc7\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u7684\u65b9\u5f0f\u8bbf\u95ee\u865a\u62df\u673a\u3002

                            "},{"location":"virtnest/quickstart/detail.html","title":"\u865a\u62df\u673a\u8be6\u60c5","text":"

                            \u6210\u529f\u521b\u5efa\u865a\u62df\u673a\u540e\uff0c\u53ef\u8fdb\u5165\u865a\u62df\u673a\u8be6\u60c5\u9875\u9762\uff0c\u652f\u6301\u67e5\u770b\u57fa\u672c\u4fe1\u606f\u3001\u914d\u7f6e\u4fe1\u606f\u3001GPU \u4fe1\u606f\u3001\u6982\u89c8\u3001\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u5feb\u7167\u3001\u4e8b\u4ef6\u7b49\u3002

                            \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u96c6\u7fa4\u5217\u8868 \uff0c\u8fdb\u5165\u865a\u62df\u673a\u6240\u5728\u96c6\u7fa4\u8be6\u60c5\uff0c\u70b9\u51fb\u865a\u62df\u673a\u540d\u79f0\u67e5\u770b\u865a\u62df\u673a\u8be6\u60c5\u3002

                            "},{"location":"virtnest/quickstart/detail.html#_2","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            \u865a\u62df\u673a\u57fa\u672c\u4fe1\u606f\u5305\u542b\u72b6\u6001\u3001\u522b\u540d\u3001\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001IP\u3001\u6807\u7b7e\u3001\u8282\u70b9\u3001\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u3002\u5176\u4e2d\uff0c

                            • \u72b6\u6001\uff1a\u865a\u62df\u673a\u5f53\u524d\u7684\u8fd0\u884c\u72b6\u6001\uff08\u8fd0\u884c\u4e2d/\u5904\u7406\u4e2d/\u5173\u673a/\u9519\u8bef\uff09\u3002
                            • IP \uff1a\u865a\u62df\u673a\u7684 IP \u5730\u5740\u3002\u5bf9\u4e8e\u6dfb\u52a0\u591a\u5f20\u7f51\u5361\u7684\u865a\u62df\u673a\uff0c\u4f1a\u4e3a\u5176\u5206\u914d\u591a\u4e2a IP \u5730\u5740\u3002
                            "},{"location":"virtnest/quickstart/detail.html#gpu","title":"\u914d\u7f6e\u4fe1\u606f & GPU \u914d\u7f6e","text":"

                            \u865a\u62df\u673a\u914d\u7f6e\u4fe1\u606f\u5305\u62ec\uff1a

                            • \u64cd\u4f5c\u7cfb\u7edf\uff1a\u5b89\u88c5\u5728\u865a\u62df\u673a\u4e0a\u7528\u4e8e\u6267\u884c\u7a0b\u5e8f\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002
                            • \u955c\u50cf\u5730\u5740\uff1a\u5411\u4e00\u4e2a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u6216\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u4ecb\u8d28\u7684\u94fe\u63a5\uff0c\u8fd9\u4e2a\u5730\u5740\u7528\u4e8e\u5728\u865a\u62df\u673a\u8f6f\u4ef6\u4e2d\u52a0\u8f7d\u548c\u5b89\u88c5\u64cd\u4f5c\u7cfb\u7edf\u3002
                            • \u7f51\u7edc\u6a21\u5f0f\uff1a\u865a\u62df\u673a\u914d\u7f6e\u7684\u7f51\u7edc\u6a21\u5f0f\uff0cBridge\uff08\u6865\u63a5\uff09\u6216 Masquerade\uff08NAT\uff09\u3002
                            • CPU\u3001\u5185\u5b58\uff1a\u4e3a\u865a\u62df\u673a\u5206\u914d\u7684\u8d44\u6e90\u3002

                            GPU \u914d\u7f6e\u4fe1\u606f\u5305\u542b GPU \u7c7b\u578b\u3001GPU \u578b\u53f7\u4ee5\u53ca\u5361\u6570\u91cf\u3002

                            "},{"location":"virtnest/quickstart/detail.html#_3","title":"\u5176\u4ed6\u4fe1\u606f","text":"\u6982\u89c8\u50a8\u5b58\u7f51\u7edc\u5feb\u7167\u4e8b\u4ef6\u5217\u8868

                            \u865a\u62df\u673a\u6982\u89c8\u9875\u53ef\u67e5\u770b\u865a\u62df\u673a\u7684\u76d1\u63a7\u5185\u5bb9\u3002\u8bf7\u6ce8\u610f\uff0c\u82e5\u672a\u5b89\u88c5 insight-agent \u7ec4\u4ef6\uff0c\u5219\u65e0\u6cd5\u83b7\u53d6\u76d1\u63a7\u4fe1\u606f\u3002

                            \u5c55\u793a\u865a\u62df\u673a\u6240\u7528\u7684\u5b58\u50a8\uff0c\u5305\u62ec\u7cfb\u7edf\u76d8\u548c\u6570\u636e\u76d8\u7684\u4fe1\u606f\u3002

                            \u5c55\u793a\u865a\u62df\u673a\u7684\u7f51\u7edc\u914d\u7f6e\uff0c\u5305\u62ec Multus CR\u3001\u7f51\u5361\u540d\u79f0\u3001IP \u5730\u5740\u7b49\u4fe1\u606f\u3002

                            \u82e5\u5df2\u7ecf\u521b\u5efa\u5feb\u7167\uff0c\u672c\u9875\u5c06\u5c55\u793a\u865a\u62df\u673a\u7684\u5feb\u7167\u4fe1\u606f\uff0c\u652f\u6301\u901a\u8fc7\u5feb\u7167\u6062\u590d\u865a\u62df\u673a\u3002

                            \u4e8b\u4ef6\u5217\u8868\u5305\u542b\u865a\u62df\u673a\u7684\u751f\u547d\u5468\u671f\u4e2d\u53d1\u751f\u7684\u5404\u79cd\u72b6\u6001\u53d8\u5316\u3001\u64cd\u4f5c\u8bb0\u5f55\u548c\u7cfb\u7edf\u6d88\u606f\u7b49\u3002

                            "},{"location":"virtnest/quickstart/nodeport.html","title":"\u901a\u8fc7 NodePort \u8bbf\u95ee\u865a\u62df\u673a","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 NodePort \u8bbf\u95ee\u865a\u62df\u673a\u3002

                            "},{"location":"virtnest/quickstart/nodeport.html#_1","title":"\u73b0\u6709\u8bbf\u95ee\u65b9\u5f0f\u7684\u7f3a\u9677","text":"
                            1. \u865a\u62df\u673a\u652f\u6301\u901a\u8fc7 VNC \u6216\u8005 console \u8bbf\u95ee\uff0c\u4f46\u8fd9\u4e24\u79cd\u8bbf\u95ee\u65b9\u5f0f\u90fd\u6709\u4e00\u4e2a\u5f0a\u7aef\uff0c\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                            2. \u901a\u8fc7 NodePort \u5f62\u5f0f\u7684 Service\uff0c\u53ef\u4ee5\u5e2e\u52a9\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002

                            "},{"location":"virtnest/quickstart/nodeport.html#service","title":"\u521b\u5efa service \u7684\u65b9\u5f0f","text":"
                            1. \u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u9875\u9762

                              • \u9009\u62e9\u76ee\u6807\u8bbf\u95ee\u7684\u865a\u62df\u673a\u6240\u5728\u96c6\u7fa4\u9875\u9762\u521b\u5efa\u670d\u52a1\uff08Service\uff09
                              • \u9009\u62e9\u8bbf\u95ee\u7c7b\u578b\u4e3a\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09
                              • \u9009\u62e9\u547d\u540d\u7a7a\u95f4\uff08\u865a\u62df\u673a\u6240\u5728 namespace\uff09
                              • \u6807\u7b7e\u9009\u62e9\u5668\u586b\u5199 vm.kubevirt.io/name: you-vm-name
                              • \u7aef\u53e3\u914d\u7f6e\uff1a\u534f\u8bae\u9009\u62e9 TCP\uff0c\u7aef\u53e3\u540d\u79f0\u81ea\u5b9a\u4e49\uff0c\u670d\u52a1\u7aef\u53e3\u3001\u5bb9\u5668\u7aef\u53e3\u586b\u5199 22
                            2. \u521b\u5efa\u6210\u529f\u540e\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7 ssh username@nodeip -p port \u6765\u8bbf\u95ee\u865a\u62df\u673a

                            "},{"location":"virtnest/quickstart/nodeport.html#kubectl-svc","title":"\u901a\u8fc7 kubectl \u521b\u5efa svc","text":"
                            1. \u7f16\u5199 YAML \u6587\u4ef6\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                              apiVersion: v1\nkind: Service\n  metadata:\n    name: test-ssh\nspec:\n  ports:\n  - name: tcp-ssh\n    nodePort: 32090\n    protocol: TCP\n    // 22 \u7aef\u53e3\uff0c\u4e0d\u8981\u66f4\u6539\n    port: 22 \n    targetPort: 22\n  selector:\n    // \u865a\u62df\u673a\u7684 name\n\u00a0 \u00a0vm.kubevirt.io/name: test-image-s3\n  type: NodePort\n
                            2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4

                              kubectl apply -f you-svc.yaml\n
                            3. \u521b\u5efa\u6210\u529f\u540e\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7 ssh username@nodeip -p 32090 \u6765\u8bbf\u95ee\u865a\u62df\u673a

                            "},{"location":"virtnest/quickstart/update.html","title":"\u66f4\u65b0\u865a\u62df\u673a","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u8868\u5355\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u66f4\u65b0\u865a\u62df\u673a\u3002

                            "},{"location":"virtnest/quickstart/update.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5f00\u673a\u72b6\u6001\u4e0b\u66f4\u65b0\u865a\u62df\u673a CPU\u3001\u5185\u5b58\u3001\u6570\u636e\u76d8\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u865a\u62df\u673a\u652f\u6301\u5b9e\u65f6\u8fc1\u79fb\u80fd\u529b\u3002
                            "},{"location":"virtnest/quickstart/update.html#_3","title":"\u8868\u5355\u66f4\u65b0\u865a\u62df\u673a","text":"

                            \u5728\u865a\u62df\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb \u66f4\u65b0 \u8fdb\u5165\u865a\u62df\u673a\u66f4\u65b0\u9875\u9762\u3002

                            \u57fa\u672c\u4fe1\u606f\u955c\u50cf\u914d\u7f6e\u5b58\u50a8\u4e0e\u7f51\u7edc\u767b\u5f55\u8bbe\u7f6e

                            \u57fa\u672c\u4fe1\u606f\u9875\u9762\u4e2d\uff0c \u522b\u540d \u4e0e \u6807\u7b7e\u6ce8\u89e3 \u652f\u6301\u66f4\u65b0\uff0c\u5176\u4ed6\u4fe1\u606f\u65e0\u6cd5\u66f4\u6539\u3002\u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u955c\u50cf\u914d\u7f6e\u7684\u754c\u9762\u3002

                            \u5728\u955c\u50cf\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u955c\u50cf\u6765\u6e90\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7248\u672c\u7b49\u53c2\u6570\u4e00\u65e6\u9009\u62e9\u540e\u65e0\u6cd5\u66f4\u6539\uff0c\u5141\u8bb8\u7528\u6237\u66f4\u65b0 GPU \u914d\u7f6e \uff0c \u5305\u62ec\u542f\u7528\u6216\u7981\u7528 GPU \u652f\u6301\uff0c\u9009\u62e9 GPU \u7684\u7c7b\u578b\uff0c\u6307\u5b9a\u6240\u9700\u7684\u578b\u53f7\uff0c\u4ee5\u53ca\u914d\u7f6e GPU \u5361\u7684\u6570\u91cf\uff0c\u66f4\u65b0\u540e\u9700\u8981\u91cd\u542f\u624d\u80fd\u751f\u6548\u3002 \u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u5b58\u50a8\u4e0e\u7f51\u7edc\u7684\u754c\u9762\u3002

                            \u5728\u5b58\u50a8\u4e0e\u7f51\u7edc\u9875\u9762\u4e2d\uff0c\u7cfb\u7edf\u76d8\u7684\u5b58\u50a8\u6c60\u548c PVC \u8bbf\u95ee\u6a21\u5f0f\u4e00\u65e6\u9009\u62e9\u540e\u65e0\u6cd5\u66f4\u6539\uff0c\u652f\u6301\u589e\u52a0\u78c1\u76d8\u5bb9\u91cf\uff0c\u4e0d\u53ef\u51cf\u5c11\u3002 \u6b64\u5916\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u7531\u6dfb\u52a0\u6216\u8005\u79fb\u9664\u6570\u636e\u76d8\u3002\u4e0d\u652f\u6301\u66f4\u65b0\u7f51\u7edc\u914d\u7f6e\u3002\u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u767b\u5f55\u8bbe\u7f6e\u7684\u754c\u9762\u3002

                            Note

                            \u5efa\u8bae\u5728\u4fee\u6539\u5b58\u50a8\u5bb9\u91cf\u6216\u589e\u52a0\u6570\u636e\u76d8\u540e\u91cd\u542f\u865a\u62df\u673a\uff0c\u4ee5\u786e\u4fdd\u914d\u7f6e\u751f\u6548\u3002

                            \u5728\u767b\u5f55\u8bbe\u7f6e\u9875\u9762\u4e2d\uff0c\u7528\u6237\u540d\u3001\u5bc6\u7801\u4ee5\u53ca SSH \u5bc6\u94a5\u914d\u7f6e\u4e00\u65e6\u8bbe\u7f6e\uff0c\u4e0d\u5141\u8bb8\u66f4\u6539\u3002\u786e\u8ba4\u60a8\u7684\u767b\u5f55\u4fe1\u606f\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u786e\u5b9a\u6309\u94ae\u4ee5\u5b8c\u6210\u66f4\u65b0\u6d41\u7a0b\u3002

                            "},{"location":"virtnest/quickstart/update.html#yaml","title":"\u7f16\u8f91 YAML","text":"

                            \u9664\u4e86\u901a\u8fc7\u8868\u5355\u65b9\u5f0f\u66f4\u65b0\u865a\u62df\u673a\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u66f4\u65b0\u865a\u62df\u673a\u3002

                            \u8fdb\u5165\u865a\u62df\u673a\u5217\u8868\u9875\uff0c\u70b9\u51fb \u7f16\u8f91 YAML \u6309\u94ae\u3002

                            "},{"location":"virtnest/template/index.html","title":"\u901a\u8fc7\u6a21\u677f\u521b\u5efa\u865a\u62df\u673a","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u6a21\u677f\u521b\u5efa\u865a\u62df\u673a\u3002

                            \u901a\u8fc7\u5185\u7f6e\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u521b\u5efa\u65b0\u7684\u865a\u62df\u673a\u3002\u6b64\u5916\uff0c\u6211\u4eec\u8fd8\u63d0\u4f9b\u5c06\u73b0\u6709\u865a\u62df\u673a\u8f6c\u6362\u4e3a\u865a\u62df\u673a\u6a21\u677f\u7684\u529f\u80fd\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u7075\u6d3b\u5730\u7ba1\u7406\u548c\u4f7f\u7528\u8d44\u6e90\u3002

                            "},{"location":"virtnest/template/index.html#_2","title":"\u6a21\u677f\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u6a21\u677f\u521b\u5efa\u4e00\u4e2a\u865a\u62df\u673a\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165 \u865a\u62df\u673a\u7ba1\u7406 \u9875\u9762\u3002\u5728\u865a\u62df\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u521b\u5efa\u865a\u62df\u673a-\u9009\u62e9\u6a21\u677f\u521b\u5efa\u865a\u62df\u673a\u3002

                            2. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u9875\u9762\uff0c\u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u6a21\u677f\u914d\u7f6e\u3001\u5b58\u50a8\u4e0e\u7f51\u7edc\u3001\u767b\u5f55\u8bbe\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u865a\u62df\u673a\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u865a\u62df\u673a\u6267\u884c\u5173\u673a/\u5f00\u542f\u3001\u91cd\u542f\u3001\u514b\u9686\u3001\u66f4\u65b0\u3001\u521b\u5efa\u5feb\u7167\u3001\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3001\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002 \u514b\u9686\u548c\u5feb\u7167\u80fd\u529b\u4f9d\u8d56\u4e8e\u5b58\u50a8\u6c60\u7684\u9009\u62e9\u3002

                            "},{"location":"virtnest/template/index.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            \u5728\u521b\u5efa\u865a\u62df\u673a\u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            • \u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002 \u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u540d\u79f0\u5728\u865a\u62df\u673a\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u522b\u540d\uff1a\u5141\u8bb8\u4efb\u4f55\u5b57\u7b26\uff0c\u6700\u957f60\u4e2a\u5b57\u7b26\u3002
                            • \u96c6\u7fa4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u865a\u62df\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u96c6\u7fa4\u5185\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u865a\u62df\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\u3002 \u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            "},{"location":"virtnest/template/index.html#_4","title":"\u6a21\u677f\u914d\u7f6e","text":"

                            \u51fa\u73b0\u6a21\u677f\u5217\u8868\uff0c\u6309\u9700\u9009\u62e9\u5185\u7f6e\u6a21\u677f/\u81ea\u5b9a\u4e49\u6a21\u677f\u3002

                            • \u9009\u62e9\u5185\u7f6e\u6a21\u677f\uff1a\u5e73\u53f0\u5185\u7f6e\u4e862\u4e2a\u6807\u51c6\u6a21\u677f\uff0c\u4e0d\u5141\u8bb8\u7f16\u8f91\u548c\u5220\u9664\u3002\u9009\u62e9\u5185\u7f6e\u6a21\u677f\u540e\uff0c\u955c\u50cf\u6765\u6e90\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u955c\u50cf\u5730\u5740\u7b49\u5c06\u4f7f\u7528\u6a21\u677f\u5185\u7684\u4fe1\u606f\uff0c\u65e0\u6cd5\u4fee\u6539\uff1b\u8d44\u6e90\u914d\u989d\u4e5f\u5c06\u4f7f\u7528\u6a21\u677f\u5185\u7684\u4fe1\u606f\uff0c\u5141\u8bb8\u4fee\u6539\u3002

                            • \u9009\u62e9\u81ea\u5b9a\u4e49\u6a21\u677f\uff1a\u7531\u865a\u62df\u673a\u914d\u7f6e\u8f6c\u5316\u800c\u6765\u7684\u6a21\u677f\uff0c\u652f\u6301\u7f16\u8f91\u548c\u5220\u9664\u3002\u4f7f\u7528\u81ea\u5b9a\u4e49\u6a21\u677f\u5219\u6839\u636e\u5177\u4f53\u60c5\u51b5\u652f\u6301\u4fee\u6539\u955c\u50cf\u6765\u6e90\u7b49\u4fe1\u606f\u3002

                            "},{"location":"virtnest/template/index.html#_5","title":"\u5b58\u50a8\u4e0e\u7f51\u7edc\u914d\u7f6e","text":"
                            • \u5b58\u50a8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002 \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u652f\u6301 VolumeSnapshots \u529f\u80fd\uff0c \u5e76\u5728\u5b58\u50a8\u6c60\uff08SC\uff09\u4e2d\u8fdb\u884c\u521b\u5efa\u3002\u8bf7\u6ce8\u610f\uff0c\u5b58\u50a8\u6c60\uff08SC\uff09\u8fd8\u6709\u5176\u4ed6\u4e00\u4e9b\u5148\u51b3\u6761\u4ef6\u9700\u8981\u6ee1\u8db3\u3002

                              • \u5148\u51b3\u6761\u4ef6\uff1a

                                • KubeVirt \u5229\u7528 Kubernetes CSI \u9a71\u52a8\u7a0b\u5e8f\u7684 VolumeSnapshot\u529f\u80fd\u6765\u6355\u83b7\u6301\u4e45\u5316\u865a\u62df\u673a\u72b6\u6001\u3002 \u56e0\u6b64\uff0c\u60a8\u9700\u8981\u786e\u4fdd\u60a8\u7684\u865a\u62df\u673a\u4f7f\u7528\u7531\u652f\u6301 VolumeSnapshots \u7684 StorageClass \u5e76\u914d\u7f6e\u4e86\u6b63\u786e\u7684 VolumeSnapshotClass\u3002
                                • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass \uff0c\u5e76\u4e14\u786e\u8ba4 provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002
                              • \u652f\u6301\u6dfb\u52a0\u4e00\u5757\u7cfb\u7edf\u76d8\u548c\u591a\u5757\u6570\u636e\u76d8\u3002

                            • \u7f51\u7edc\uff1a\u82e5\u60a8\u4e0d\u505a\u4efb\u4f55\u914d\u7f6e\uff0c\u7cfb\u7edf\u5c06\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684\u7f51\u7edc\u3002

                            "},{"location":"virtnest/template/index.html#_6","title":"\u767b\u5f55\u8bbe\u7f6e","text":"
                            • \u7528\u6237\u540d/\u5bc6\u7801\uff1a\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u81f3\u865a\u62df\u673a\u3002
                            • SSH\uff1a\u9009\u62e9 SSH \u767b\u5f55\u65b9\u5f0f\u65f6\u53ef\u4e3a\u865a\u62df\u673a\u7ed1\u5b9a SSH \u5bc6\u94a5\uff0c\u7528\u4e8e\u65e5\u540e\u767b\u5f55\u865a\u62df\u673a\u3002
                            "},{"location":"virtnest/template/tep.html","title":"\u865a\u62df\u673a\u6a21\u677f","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5185\u7f6e\u865a\u62df\u673a\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u865a\u62df\u673a\u6a21\u677f\u3002

                            \u901a\u8fc7\u5185\u7f6e\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u521b\u5efa\u65b0\u7684\u865a\u62df\u673a\u3002\u6b64\u5916\uff0c\u6211\u4eec\u8fd8\u63d0\u4f9b\u5c06\u73b0\u6709\u865a\u62df\u673a\u8f6c\u6362\u4e3a\u865a\u62df\u673a\u6a21\u677f\u7684\u529f\u80fd\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u7075\u6d3b\u5730\u7ba1\u7406\u548c\u4f7f\u7528\u8d44\u6e90\u3002

                            "},{"location":"virtnest/template/tep.html#_2","title":"\u865a\u62df\u673a\u6a21\u677f","text":"
                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a\u6a21\u677f \uff0c\u8fdb\u5165 \u865a\u62df\u673a\u6a21\u677f \u9875\u9762\uff0c\u82e5\u8be5\u6a21\u677f\u662f\u7531\u914d\u7f6e\u4e86 GPU \u7684\u865a\u62df\u673a\u8f6c\u6362\u800c\u6765\uff0c\u6a21\u677f\u4e5f\u4f1a\u5e26\u6709 GPU \u7684\u4fe1\u606f\uff0c\u5c06\u5728\u6a21\u677f\u5217\u8868\u4e2d\u5c55\u793a\u3002

                            2. \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5185\u7f6e\u6a21\u677f\u6267\u884c\u521b\u5efa\u865a\u62df\u673a\u548c\u67e5\u770b YAML \u64cd\u4f5c\uff1b\u5bf9\u81ea\u5b9a\u4e49\u6a21\u677f\u652f\u6301\u521b\u5efa\u865a\u62df\u673a\u3001\u7f16\u8f91 YAML \u548c\u5220\u9664\u64cd\u4f5c\u3002

                            "},{"location":"virtnest/template/tep.html#_3","title":"\u5185\u7f6e\u6a21\u677f","text":"
                            • \u5e73\u53f0\u5185\u5185\u7f6e\u4e24\u79cd\u6a21\u677f\uff0c\u5206\u522b\u662f CentOS \u548c Ubuntu\u3002

                            "},{"location":"virtnest/template/tep.html#_4","title":"\u81ea\u5b9a\u4e49\u6a21\u677f","text":"

                            \u81ea\u5b9a\u4e49\u6a21\u677f\u662f\u7531\u865a\u62df\u673a\u914d\u7f6e\u8f6c\u5316\u800c\u6765\u7684\u6a21\u677f\u3002\u4ee5\u4e0b\u4ecb\u7ecd\u5982\u4f55\u4ece\u865a\u62df\u673a\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u652f\u6301\u5c06\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3002\u53ea\u6709\u8fd0\u884c\u4e2d/\u5173\u95ed\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u652f\u6301\u8f6c\u5316\u3002

                            2. \u586b\u5199\u65b0\u6a21\u677f\u7684\u540d\u79f0\uff0c\u63d0\u793a\u539f\u59cb\u865a\u62df\u673a\u5c06\u4f1a\u4fdd\u7559\u5e76\u4e14\u53ef\u7528\u3002\u8f6c\u6362\u6210\u529f\u540e\uff0c\u5c06\u4f1a\u5728\u6a21\u677f\u5217\u8868\u65b0\u589e\u4e00\u6761\u6570\u636e\u3002

                            "},{"location":"virtnest/template/tep.html#_5","title":"\u6a21\u677f\u8be6\u60c5","text":"

                            \u6210\u529f\u521b\u5efa\u51fa\u6765\u4e00\u4e2a\u6a21\u677f\u540e\uff0c\u70b9\u51fb\u6a21\u677f\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u865a\u62df\u673a\u8be6\u60c5\uff0c\u5305\u62ec\u57fa\u672c\u4fe1\u606f\u3001GPU \u4fe1\u606f\u3001\u5b58\u50a8\u3001\u7f51\u7edc\u7b49\u3002\u5982\u679c\u9700\u8981\u5feb\u901f\u57fa\u4e8e\u8be5\u6a21\u677f\u90e8\u7f72\u65b0\u7684\u865a\u62df\u673a\uff0c\u53ea\u9700\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u865a\u62df\u673a \u6309\u94ae\u5373\u53ef\u4fbf\u6377\u64cd\u4f5c\u3002

                            "},{"location":"virtnest/vm/auto-migrate.html","title":"\u865a\u62df\u673a\u81ea\u52a8\u6f02\u79fb","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5f53\u96c6\u7fa4\u5185\u67d0\u4e2a\u8282\u70b9\u56e0\u4e3a\u65ad\u7535\u6216\u7f51\u7edc\u6545\u969c\uff0c\u5bfc\u81f4\u8be5\u8282\u70b9\u4e0a\u7684\u865a\u62df\u673a\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c \u5982\u4f55\u5c06\u6b63\u5728\u8fd0\u884c\u7684\u865a\u62df\u673a\u65e0\u7f1d\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u8282\u70b9\u4e0a\uff0c\u540c\u65f6\u4fdd\u8bc1\u4e1a\u52a1\u7684\u8fde\u7eed\u6027\u548c\u6570\u636e\u7684\u5b89\u5168\u6027\u3002

                            \u4e0e\u5b9e\u65f6\u8fc1\u79fb\u76f8\u6bd4\uff0c\u81ea\u52a8\u6f02\u79fb\u4e0d\u9700\u8981\u60a8\u5728\u754c\u9762\u4e2d\u4e3b\u52a8\u64cd\u4f5c\uff0c\u800c\u662f\u7cfb\u7edf\u81ea\u52a8\u89e6\u53d1\u8fc1\u79fb\u8fc7\u7a0b\u3002

                            "},{"location":"virtnest/vm/auto-migrate.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5b9e\u73b0\u81ea\u52a8\u6f02\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u865a\u62df\u673a\u672a\u8fdb\u884c\u78c1\u76d8\u843d\u76d8\u64cd\u4f5c\uff0c\u6216\u4f7f\u7528 Rook-Ceph\u3001HwameiStor HA \u6a21\u5f0f\u4f5c\u4e3a\u5b58\u50a8\u7cfb\u7edf
                            • \u8282\u70b9\u5931\u8054\u65f6\u95f4\u8d85\u8fc7\u4e94\u5206\u949f
                            • \u786e\u4fdd\u96c6\u7fa4\u5185\u81f3\u5c11\u6709\u4e24\u4e2a\u8282\u70b9\u53ef\u4f9b\u4f7f\u7528\uff0c\u5e76\u4e14\u865a\u62df\u673a\u6ca1\u6709\u6307\u5b9a\u8c03\u5ea6\u8282\u70b9
                            • \u865a\u62df\u673a\u7684 launcher pod \u5df2\u88ab\u5220\u9664
                            "},{"location":"virtnest/vm/auto-migrate.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u68c0\u67e5\u865a\u62df\u673a launcher pod \u72b6\u6001\uff1a

                              kubectl get pod\n

                              \u67e5\u770b launcher pod \u662f\u5426\u5904\u4e8e Terminating \u72b6\u6001\u3002

                            2. \u5f3a\u5236\u5220\u9664 launcher pod\uff1a

                              \u5982\u679c launcher pod \u72b6\u6001\u4e3a Terminating\uff0c\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5f3a\u5236\u5220\u9664\uff1a

                              kubectl delete <launcher pod> --force\n

                              \u66ff\u6362 <launcher pod> \u4e3a\u4f60\u7684 launcher pod \u540d\u79f0\u3002

                            3. \u7b49\u5f85\u91cd\u65b0\u521b\u5efa\u5e76\u68c0\u67e5\u72b6\u6001\uff1a

                              \u5220\u9664\u540e\uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u91cd\u65b0\u521b\u5efa launcher pod\u3002 \u7b49\u5f85\u5176\u72b6\u6001\u53d8\u4e3a running\uff0c\u7136\u540e\u5237\u65b0\u865a\u62df\u673a\u5217\u8868\uff0c\u89c2\u5bdf\u865a\u62df\u673a\u662f\u5426\u6210\u529f\u8fc1\u79fb\u5230\u65b0\u8282\u70b9\u3002

                            "},{"location":"virtnest/vm/auto-migrate.html#_4","title":"\u6ce8\u610f\u4e8b\u9879","text":"

                            \u5982\u679c\u4f7f\u7528 rook-ceph \u4f5c\u4e3a\u5b58\u50a8\uff0c\u9700\u8981\u914d\u7f6e\u4e3a ReadWriteOnce \u6a21\u5f0f\uff1a

                            1. \u5f3a\u5236\u5220\u9664 pod \u540e\uff0c\u9700\u8981\u7b49\u5f85\u5927\u7ea6\u516d\u5206\u949f\u4ee5\u8ba9 launcher pod \u542f\u52a8\uff0c\u6216\u8005\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u7acb\u5373\u542f\u52a8 pod\uff1a

                              kubectl get pv | grep <vm name>\nkubectl get VolumeAttachment | grep <pv name>\n

                              \u66ff\u6362 <vm name> \u548c <pv name> \u4e3a\u4f60\u7684\u865a\u62df\u673a\u540d\u79f0\u548c\u6301\u4e45\u5377\u540d\u79f0\u3002

                            2. \u7136\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5220\u9664\u5bf9\u5e94\u7684 VolumeAttachment\uff1a

                              kubectl delete VolumeAttachment <vm>\n

                              \u66ff\u6362 <vm> \u4e3a\u4f60\u7684\u865a\u62df\u673a\u540d\u79f0\u3002

                            "},{"location":"virtnest/vm/clone.html","title":"\u514b\u9686\u865a\u62df\u673a","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u514b\u9686\u4e00\u53f0\u65b0\u7684\u865a\u62df\u673a\u3002

                            \u7528\u6237\u53ef\u4ee5\u514b\u9686\u4e00\u53f0\u65b0\u7684\u865a\u62df\u673a\uff0c\u514b\u9686\u540e\u7684\u865a\u62df\u673a\u5c06\u5177\u6709\u4e0e\u539f\u59cb\u865a\u62df\u673a\u76f8\u540c\u7684\u64cd\u4f5c\u7cfb\u7edf\u548c\u7cfb\u7edf\u914d\u7f6e\uff0c\u80fd\u591f\u5b9e\u73b0\u5feb\u901f\u90e8\u7f72\u548c\u6269\u5c55\uff0c\u5feb\u901f\u521b\u5efa\u76f8\u4f3c\u914d\u7f6e\u7684\u65b0\u865a\u62df\u673a\uff0c\u800c\u65e0\u9700\u4ece\u5934\u5f00\u59cb\u5b89\u88c5\u3002

                            "},{"location":"virtnest/vm/clone.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u4f7f\u7528\u514b\u9686\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff08\u548c\u5feb\u7167\u529f\u80fd\u7684\u524d\u63d0\u6761\u4ef6\u4e00\u81f4\uff09\uff1a

                            • \u53ea\u6709\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u624d\u80fd\u4f7f\u7528\u514b\u9686\u529f\u80fd\u3002
                            • \u5b89\u88c5 Snapshot CRDs\u3001Snapshot Controller\u3001CSI Driver\u3002 \u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u53ef\u53c2\u8003 CSI Snapshotter\u3002
                            • \u7b49\u5f85 snapshot-controller \u7ec4\u4ef6\u51c6\u5907\u5c31\u7eea, \u8be5\u7ec4\u4ef6\u4f1a\u76d1\u63a7 VolumeSnapshot \u548c VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                            • \u7b49\u5f85 CSI Driver \u51c6\u5907\u5c31\u7eea, \u786e\u4fdd csi-snapshotter sidecar \u8dd1\u5728 CSI Driver \u91cc\uff0ccsi-snapshotter sidecar \u4f1a\u76d1\u63a7 VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                              • \u5982\u5b58\u50a8\u662f Rook-Ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                              • \u5982\u5b58\u50a8\u662f HwameiStor\uff0c\u53ef\u53c2\u8003 huameistor-snapshot
                            "},{"location":"virtnest/vm/clone.html#_3","title":"\u514b\u9686\u865a\u62df\u673a","text":"
                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u6267\u884c\u5feb\u7167\u64cd\u4f5c\u3002

                            2. \u5f39\u51fa\u5f39\u6846\uff0c\u9700\u8981\u586b\u5199\u514b\u9686\u65b0\u7684\u865a\u62df\u673a\u7684\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u514b\u9686\u64cd\u4f5c\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u865a\u62df\u673a\u7684\u5927\u5c0f\u548c\u5b58\u50a8\u6027\u80fd\u3002

                            3. \u514b\u9686\u6210\u529f\u540e\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u5185\u67e5\u770b\u5230\u65b0\u7684\u865a\u62df\u673a\uff0c\u65b0\u521b\u5efa\u51fa\u6765\u7684\u865a\u62df\u673a\u5904\u4e8e\u5173\u673a\u72b6\u6001\uff0c\u82e5\u9700\u8981\u5f00\u673a\u9700\u8981\u624b\u52a8\u64cd\u4f5c\u3002

                            4. \u514b\u9686\u524d\u5efa\u8bae\u5bf9\u539f\u6709\u865a\u62df\u673a\u8fdb\u884c\u5feb\u7167\uff0c\u5982\u679c\u514b\u9686\u8fc7\u7a0b\u4e2d\u9047\u5230\u95ee\u9898\uff0c\u8bf7\u68c0\u67e5\u5148\u51b3\u6761\u4ef6\u662f\u5426\u6ee1\u8db3\uff0c\u5e76\u5c1d\u8bd5\u91cd\u65b0\u6267\u884c\u514b\u9686\u64cd\u4f5c\u3002

                            "},{"location":"virtnest/vm/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

                            \u5f53\u521b\u5efa\u865a\u62df\u673a\u4f7f\u7528\u5bf9\u8c61\u5b58\u50a8\uff08S3\uff09\u4f5c\u4e3a\u955c\u50cf\u6765\u6e90\u65f6\uff0c\u6709\u65f6\u5019\u9700\u8981\u586b\u5199\u5bc6\u94a5\u6765\u83b7\u53d6\u901a\u8fc7 S3 \u7684\u9a8c\u8bc1\u3002\u4ee5\u4e0b\u5c06\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u7b26\u5408\u865a\u62df\u673a\u8981\u6c42\u7684\u5bc6\u94a5\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u96c6\u7fa4\u5217\u8868 \uff0c\u8fdb\u5165\u865a\u62df\u673a\u6240\u5728\u96c6\u7fa4\u8be6\u60c5\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 \uff0c\u9009\u62e9 \u5bc6\u94a5 \uff0c\u70b9\u51fb \u521b\u5efa\u5bc6\u94a5 \u3002

                            2. \u8fdb\u5165\u521b\u5efa\u9875\u9762\uff0c\u586b\u5199\u5bc6\u94a5\u540d\u79f0\uff0c\u9009\u62e9\u548c\u865a\u62df\u673a\u76f8\u540c\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6ce8\u610f\u9700\u8981\u9009\u62e9 \u9ed8\u8ba4\uff08Opaque\uff09 \u7c7b\u578b\u3002\u5bc6\u94a5\u6570\u636e\u9700\u8981\u9075\u5faa\u4ee5\u4e0b\u539f\u5219

                              • accessKeyId: \u9700\u8981\u4ee5 Base64 \u7f16\u7801\u65b9\u5f0f\u8868\u793a\u7684\u6570\u636e
                              • secretKey: \u9700\u8981\u4ee5 Base64 \u7f16\u7801\u65b9\u5f0f\u8868\u793a\u7684\u6570\u636e

                            3. \u521b\u5efa\u6210\u529f\u540e\u53ef\u4ee5\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\u4f7f\u7528\u6240\u9700\u5bc6\u94a5\uff0c\u6700\u540e\u901a\u8fc7\u9a8c\u8bc1\u3002

                            "},{"location":"virtnest/vm/cross-cluster-migrate.html","title":"\u865a\u62df\u673a\u8de8\u96c6\u7fa4\u8fc1\u79fb","text":"

                            \u672c\u529f\u80fd\u6682\u672a\u505a UI \u754c\u9762\u80fd\u529b\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u64cd\u4f5c\u6b65\u9aa4\u6267\u884c\u3002

                            "},{"location":"virtnest/vm/cross-cluster-migrate.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
                            • \u5f53\u539f\u96c6\u7fa4\u53d1\u751f\u6545\u969c\u6216\u6027\u80fd\u4e0b\u964d\u5bfc\u81f4\u8be5\u96c6\u7fa4\u4e0a\u7684\u865a\u62df\u673a\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c\u5c06\u865a\u62df\u673a\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u3002
                            • \u9700\u8981\u5bf9\u96c6\u7fa4\u8fdb\u884c\u8ba1\u5212\u5185\u7684\u7ef4\u62a4\u6216\u5347\u7ea7\u65f6\uff0c\u5c06\u865a\u62df\u673a\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u3002
                            • \u5f53\u7279\u5b9a\u5e94\u7528\u7684\u6027\u80fd\u9700\u6c42\u53d8\u5316\uff0c\u9700\u8981\u8c03\u6574\u8d44\u6e90\u5206\u914d\u65f6\uff0c\u8fc1\u79fb\u865a\u62df\u673a\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u4ee5\u5339\u914d\u66f4\u5408\u9002\u7684\u8d44\u6e90\u914d\u7f6e\u3002
                            "},{"location":"virtnest/vm/cross-cluster-migrate.html#_3","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5b9e\u73b0\u865a\u62df\u673a\u8de8\u96c6\u7fa4\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u96c6\u7fa4\u7f51\u7edc\u4e92\u901a\uff1a\u786e\u4fdd\u539f\u6709\u96c6\u7fa4\u4e0e\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u4e4b\u95f4\u7684\u7f51\u7edc\u662f\u4e92\u901a\u7684
                            • \u76f8\u540c\u5b58\u50a8\u7c7b\u578b\uff1a\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u9700\u652f\u6301\u4e0e\u539f\u6709\u96c6\u7fa4\u76f8\u540c\u7684\u5b58\u50a8\u7c7b\u578b\uff08\u4f8b\u5982\uff0c\u5982\u679c\u5bfc\u51fa\u96c6\u7fa4\u4f7f\u7528 rook-ceph-block \u7c7b\u578b\u7684 StorageClass\uff0c\u5219\u5bfc\u5165\u96c6\u7fa4\u4e5f\u5fc5\u987b\u652f\u6301\u6b64\u7c7b\u578b\uff09\u3002
                            • \u5728\u539f\u6709\u96c6\u7fa4\u7684 KubeVirt \u4e2d\u5f00\u542f VMExport Feature Gate\u3002
                            "},{"location":"virtnest/vm/cross-cluster-migrate.html#vmexport-feature-gate","title":"\u5f00\u542f VMExport Feature Gate","text":"

                            \u6fc0\u6d3b VMExport Feature Gate\uff0c\u5728\u539f\u6709\u96c6\u7fa4\u5185\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c \u53ef\u53c2\u8003How to activate a feature gate

                            kubectl edit kubevirt kubevirt -n virtnest-system\n

                            \u8fd9\u6761\u547d\u4ee4\u5c06\u4fee\u6539 featureGates \uff0c\u589e\u52a0 VMExport \u3002

                            apiVersion: kubevirt.io/v1\nkind: KubeVirt\nmetadata:\n  name: kubevirt\n  namespace: virtnest-system\nspec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n        - DataVolumes\n        - LiveMigration\n        - VMExport\n
                            "},{"location":"virtnest/vm/cross-cluster-migrate.html#ingress","title":"\u914d\u7f6e\u539f\u6709\u96c6\u7fa4\u7684 Ingress","text":"

                            \u4ee5 Nginx Ingress \u4e3a\u4f8b\uff0c\u914d\u7f6e Ingress \u4ee5\u6307\u5411 virt-exportproxy Service\uff1a

                            apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n  name: ingress-vm-export\n  namespace: virtnest-system\nspec:\n  tls:\n    - hosts:\n        - upgrade-test.com\n      secretName: nginx-tls\n  rules:\n    - host: upgrade-test.com\n      http:\n        paths:\n          - path: /\n            pathType: Prefix\n            backend:\n              service:\n                name: virt-exportproxy\n                port:\n                  number: 8443\n  ingressClassName: nginx\n
                            "},{"location":"virtnest/vm/cross-cluster-migrate.html#_4","title":"\u8fc1\u79fb\u6b65\u9aa4","text":"
                            1. \u521b\u5efa VirtualMachineExport CR

                              • \u5982\u679c \u865a\u62df\u673a\u5173\u673a\u72b6\u6001 \u4e0b\u8fdb\u884c\u8fc1\u79fb\uff08\u51b7\u8fc1\u79fb\uff09\uff1a

                                apiVersion: v1\nkind: Secret\nmetadata:\n  name: example-token # \u5bfc\u51fa\u865a\u62df\u673a\u6240\u7528 token\n  namespace: default # \u865a\u62df\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nstringData:\n  token: 1234567890ab # \u5bfc\u51fa\u4f7f\u7528\u7684 token,\u53ef\u4fee\u6539\n\n---\napiVersion: export.kubevirt.io/v1alpha1\nkind: VirtualMachineExport\nmetadata:\n  name: example-export # \u5bfc\u51fa\u540d\u79f0, \u53ef\u81ea\u884c\u4fee\u6539\n  namespace: default # \u865a\u62df\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nspec:\n  tokenSecretRef: example-token # \u548c\u4e0a\u9762\u521b\u5efa\u7684token\u540d\u79f0\u4fdd\u6301\u4e00\u81f4\n  source:\n    apiGroup: \"kubevirt.io\"\n    kind: VirtualMachine\n    name: testvm # \u865a\u62df\u673a\u540d\u79f0\n
                              • \u5982\u679c\u8981\u5728 \u865a\u62df\u673a\u4e0d\u5173\u673a \u7684\u72b6\u6001\u4e0b\uff0c\u4f7f\u7528\u865a\u62df\u673a\u5feb\u7167\u8fdb\u884c\u8fc1\u79fb\uff08\u70ed\u8fc1\u79fb\uff09\uff1a

                                apiVersion: v1\nkind: Secret\nmetadata:\n  name: example-token # \u5bfc\u51fa\u865a\u62df\u673a\u6240\u7528 token\n  namespace: default # \u865a\u62df\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nstringData:\n  token: 1234567890ab # \u5bfc\u51fa\u4f7f\u7528\u7684 token ,\u53ef\u4fee\u6539\n\n---\napiVersion: export.kubevirt.io/v1alpha1\nkind: VirtualMachineExport\nmetadata:\n  name: export-snapshot # \u5bfc\u51fa\u540d\u79f0, \u53ef\u81ea\u884c\u4fee\u6539\n  namespace: default # \u865a\u62df\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nspec:\n  tokenSecretRef: export-token # \u548c\u4e0a\u9762\u521b\u5efa\u7684token\u540d\u79f0\u4fdd\u6301\u4e00\u81f4\n  source:\n    apiGroup: \"snapshot.kubevirt.io\"\n    kind: VirtualMachineSnapshot\n    name: export-snap-202407191524 # \u5bf9\u5e94\u7684\u865a\u62df\u673a\u5feb\u7167\u540d\u79f0\n
                            2. \u68c0\u67e5 VirtualMachineExport \u662f\u5426\u51c6\u5907\u5c31\u7eea\uff1a

                              # \u8fd9\u91cc\u7684 example-export \u9700\u8981\u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0\nkubectl get VirtualMachineExport example-export -n default\n\nNAME             SOURCEKIND       SOURCENAME   PHASE\nexample-export   VirtualMachine   testvm       Ready\n
                            3. \u5f53 VirtualMachineExport \u51c6\u5907\u5c31\u7eea\u540e\uff0c\u5bfc\u51fa\u865a\u62df\u673a YAML\u3002

                              • \u5982\u679c\u5df2\u5b89\u88c5 virtctl \uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bfc\u51fa\u865a\u62df\u673a\u7684 YAML\uff1a

                                # \u81ea\u884c\u5c06 example-export\u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0\n# \u81ea\u884c\u901a\u8fc7 -n \u6307\u5b9a\u547d\u540d\u7a7a\u95f4\nvirtctl vmexport download example-export --manifest --include-secret --output=manifest.yaml\n
                              • \u5982\u679c\u6ca1\u6709\u5b89\u88c5 virtctl \uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bfc\u51fa\u865a\u62df\u673a YAML\uff1a

                                # \u81ea\u884c\u66ff\u6362 example-export \u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0 \u548c\u547d\u540d\u7a7a\u95f4\nmanifesturl=$(kubectl get VirtualMachineExport example-export -n default -o=jsonpath='{.status.links.internal.manifests[0].url}')\nsecreturl=$(kubectl get VirtualMachineExport example-export -n default -o=jsonpath='{.status.links.internal.manifests[1].url}')\n# \u81ea\u884c\u66ff\u6362 secert \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\ntoken=$(kubectl get secret example-token -n default -o=jsonpath='{.data.token}' | base64 -d)\n\ncurl -H \"Accept: application/yaml\" -H \"x-kubevirt-export-token: $token\"  --insecure  $secreturl > manifest.yaml\ncurl -H \"Accept: application/yaml\" -H \"x-kubevirt-export-token: $token\"  --insecure  $manifesturl >> manifest.yaml\n
                            4. \u5bfc\u5165\u865a\u62df\u673a

                              \u5c06\u5bfc\u51fa\u7684 manifest.yaml \u590d\u5236\u5230\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u5e76\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff08\u5982\u679c\u547d\u540d\u7a7a\u95f4\u4e0d\u5b58\u5728\u5219\u9700\u8981\u63d0\u524d\u521b\u5efa\uff09\uff1a

                              kubectl apply -f manifest.yaml\n
                              \u521b\u5efa\u6210\u529f\u540e\uff0c\u91cd\u542f\u865a\u62df\u673a\uff0c\u865a\u62df\u673a\u6210\u529f\u8fd0\u884c\u540e\uff0c\u5728\u539f\u6709\u96c6\u7fa4\u5185\u5220\u9664\u539f\u865a\u62df\u673a\uff08\u865a\u62df\u673a\u672a\u542f\u52a8\u6210\u529f\u65f6\uff0c\u8bf7\u52ff\u5220\u9664\u539f\u865a\u62df\u673a\uff09\u3002

                            "},{"location":"virtnest/vm/health-check.html","title":"\u5065\u5eb7\u68c0\u67e5","text":"

                            \u5f53\u914d\u7f6e\u865a\u62df\u673a\u7684\u5b58\u6d3b\uff08Liveness\uff09\u548c\u5c31\u7eea\uff08Readiness\uff09\u63a2\u9488\u65f6\uff0c\u4e0e Kubernetes \u7684\u914d\u7f6e\u8fc7\u7a0b\u76f8\u4f3c\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 YAML \u4e3a\u865a\u62df\u673a\u914d\u7f6e\u5065\u5eb7\u68c0\u67e5\u53c2\u6570\u3002

                            \u4f46\u662f\u9700\u8981\u6ce8\u610f\uff1a\u9700\u8981\u5728\u865a\u62df\u673a\u521b\u5efa\u6210\u529f\u5e76\u4e14\u5904\u4e8e\u5173\u673a\u72b6\u6001\u4e0b\uff0c\u4fee\u6539 YAML \u8fdb\u884c\u914d\u7f6e\u3002

                            "},{"location":"virtnest/vm/health-check.html#http-liveness-probe","title":"\u914d\u7f6e HTTP Liveness Probe","text":"
                            1. \u5728 spec.template.spec \u4e2d\u914d\u7f6e livenessProbe.httpGet\u3002
                            2. \u4fee\u6539 cloudInitNoCloud \u4ee5\u542f\u52a8\u4e00\u4e2a HTTP \u670d\u52a1\u5668\u3002

                              \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                              apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      livenessProbe:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        httpGet:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                            3. \u6839\u636e\u64cd\u4f5c\u7cfb\u7edf\uff08\u5982 Ubuntu/Debian \u6216 CentOS\uff09\uff0cuserData \u7684\u914d\u7f6e\u53ef\u80fd\u6709\u6240\u4e0d\u540c\u3002\u4e3b\u8981\u533a\u522b\uff1a

                              • \u5305\u7ba1\u7406\u5668\uff1a

                                Ubuntu/Debian \u4f7f\u7528 apt-get \u4f5c\u4e3a\u5305\u7ba1\u7406\u5668\u3002 CentOS \u4f7f\u7528 yum \u4f5c\u4e3a\u5305\u7ba1\u7406\u5668\u3002

                              • SSH \u670d\u52a1\u91cd\u542f\u547d\u4ee4\uff1a

                                Ubuntu/Debian \u4f7f\u7528 systemctl restart ssh.service\u3002 CentOS \u4f7f\u7528 systemctl restart sshd.service\uff08\u6ce8\u610f CentOS 7 \u53ca\u4e4b\u524d\u7248\u672c\u4f7f\u7528 service sshd restart\uff09\u3002

                              • \u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\uff1a

                                Ubuntu/Debian \u5b89\u88c5 ncat\u3002 CentOS \u5b89\u88c5 nmap-ncat\uff08\u56e0\u4e3a ncat \u5728 CentOS \u7684\u9ed8\u8ba4\u4ed3\u5e93\u4e2d\u53ef\u80fd\u4e0d\u53ef\u7528\uff09\u3002

                            "},{"location":"virtnest/vm/health-check.html#tcp-liveness-probe","title":"\u914d\u7f6e TCP Liveness Probe","text":"

                            \u5728 spec.template.spec \u4e2d\u914d\u7f6e livenessProbe.tcpSocket\u3002

                            \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                            apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      livenessProbe:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        tcpSocket:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                            "},{"location":"virtnest/vm/health-check.html#readiness-probes","title":"\u914d\u7f6e Readiness Probes","text":"

                            \u5728 spec.template.spec \u4e2d\u914d\u7f6e readiness\u3002

                            \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                            apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      readiness:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        httpGet:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                            "},{"location":"virtnest/vm/live-migration.html","title":"\u5b9e\u65f6\u8fc1\u79fb","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u865a\u62df\u673a\u4ece\u4e00\u4e2a\u8282\u70b9\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\u3002

                            \u5f53\u8282\u70b9\u7ef4\u62a4\u6216\u8005\u5347\u7ea7\u65f6\uff0c\u7528\u6237\u53ef\u4ee5\u5c06\u6b63\u5728\u8fd0\u884c\u7684\u865a\u62df\u673a\u65e0\u7f1d\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u8282\u70b9\u4e0a\uff0c\u540c\u65f6\u53ef\u4ee5\u4fdd\u8bc1\u4e1a\u52a1\u7684\u8fde\u7eed\u6027\u548c\u6570\u636e\u7684\u5b89\u5168\u6027\u3002

                            "},{"location":"virtnest/vm/live-migration.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u865a\u62df\u673a\u5fc5\u987b\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\u624d\u80fd\u8fdb\u884c\u5b9e\u65f6\u8fc1\u79fb\u3002
                            • \u786e\u4fdd\u60a8\u7684 PVC \u8bbf\u95ee\u6a21\u5f0f\u4e3a ReadWriteMany\uff0c\u4ee5\u4fbf\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\u3002
                            • \u786e\u4fdd\u96c6\u7fa4\u5185\u81f3\u5c11\u6709\u4e24\u4e2a\u8282\u70b9\u53ef\u4f9b\u4f7f\u7528\u3002
                            "},{"location":"virtnest/vm/live-migration.html#_3","title":"\u5b9e\u65f6\u8fc1\u79fb","text":"
                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8fd0\u884c\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u8fdb\u884c\u8fc1\u79fb\u52a8\u4f5c\u3002\u76ee\u524d\u865a\u62df\u673a\u6240\u5728\u8282\u70b9\u4e3a controller-node-3 \u3002

                            2. \u5f39\u51fa\u5f39\u6846\uff0c\u63d0\u793a\u5728\u5b9e\u65f6\u8fc1\u79fb\u671f\u95f4\uff0c\u6b63\u5728\u8fd0\u884c\u7684\u865a\u62df\u673a\u5b9e\u4f8b\u4f1a\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\uff0c\u53ef\u4ee5\u9009\u62e9\u6307\u5b9a\u8282\u70b9\u8fc1\u79fb\uff0c\u4e5f\u53ef\u4ee5\u968f\u673a\u8fc1\u79fb\uff0c\u8bf7\u786e\u4fdd\u5176\u4ed6\u8282\u70b9\u8d44\u6e90\u5145\u8db3\u3002

                            3. \u8fc1\u79fb\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u5185\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c\u6b64\u65f6\u8282\u70b9\u8fc1\u79fb\u5230 controller-node-1 \u3002

                            "},{"location":"virtnest/vm/migratiom.html","title":"\u96c6\u7fa4\u5185\u51b7\u8fc1\u79fb","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u5173\u673a\u72b6\u6001\u4e0b\u5982\u4f55\u5c06\u865a\u62df\u673a\u5728\u540c\u4e00\u96c6\u7fa4\u5185\u4ece\u4e00\u4e2a\u8282\u70b9\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\u3002

                            \u51b7\u8fc1\u79fb\u7684\u4e3b\u8981\u7279\u70b9\u662f\uff0c\u865a\u62df\u673a\u5728\u8fc1\u79fb\u8fc7\u7a0b\u4e2d\u4f1a\u5904\u4e8e\u79bb\u7ebf\u72b6\u6001\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5bf9\u4e1a\u52a1\u8fde\u7eed\u6027\u4ea7\u751f\u5f71\u54cd\u3002\u56e0\u6b64\uff0c \u5728\u5b9e\u65bd\u51b7\u8fc1\u79fb\u65f6\u9700\u8981\u4ed4\u7ec6\u89c4\u5212\u8fc1\u79fb\u65f6\u95f4\u7a97\u53e3\uff0c\u5e76\u8003\u8651\u4e1a\u52a1\u9700\u6c42\u548c\u7cfb\u7edf\u53ef\u7528\u6027\u3002\u901a\u5e38\uff0c\u51b7\u8fc1\u79fb\u9002\u7528\u4e8e\u5bf9\u505c\u673a\u65f6\u95f4\u8981\u6c42\u4e0d\u662f\u975e\u5e38\u4e25\u683c\u7684\u573a\u666f\u3002

                            "},{"location":"virtnest/vm/migratiom.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u4f7f\u7528\u51b7\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u865a\u62df\u673a\u5fc5\u987b\u5904\u4e8e\u5173\u673a\u72b6\u6001\u624d\u80fd\u8fdb\u884c\u51b7\u8fc1\u79fb\u3002
                            "},{"location":"virtnest/vm/migratiom.html#_3","title":"\u51b7\u8fc1\u79fb","text":"
                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c \u53ef\u4ee5\u5bf9\u5173\u673a\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u8fdb\u884c\u8fc1\u79fb\u52a8\u4f5c\u3002\u865a\u62df\u673a\u5728\u5173\u673a\u72b6\u6001\u4e0b\u65f6\u65e0\u6cd5\u67e5\u770b\u6240\u5728\u8282\u70b9\uff0c\u9700\u8981\u63d0\u524d\u89c4\u5212\u6216\u8005\u5f00\u673a\u67e5\u8be2\u3002

                              Note

                              \u5982\u679c\u60a8\u5728\u539f\u59cb\u8282\u70b9\u7684\u5b58\u50a8\u6c60\u4e2d\u4f7f\u7528\u4e86 local-path\uff0c\u8de8\u8282\u70b9\u8fc1\u79fb\u65f6\u53ef\u80fd\u51fa\u73b0\u95ee\u9898\uff0c\u8bf7\u8c28\u614e\u9009\u62e9\u3002

                            2. \u70b9\u51fb\u8fc1\u79fb\u540e\uff0c\u63d0\u793a\u5728\u8fc1\u79fb\u671f\u95f4\uff0c\u53ef\u4ee5\u9009\u62e9\u6307\u5b9a\u8282\u70b9\u8fc1\u79fb\uff0c\u4e5f\u53ef\u4ee5\u968f\u673a\u8fc1\u79fb\uff0c\u82e5\u9700\u8981\u4fee\u6539\u5b58\u50a8\u6c60\uff0c \u9700\u8981\u786e\u4fdd\u76ee\u6807\u8282\u70b9\u5185\u6709\u53ef\u7528\u5b58\u50a8\u6c60\u3002\u540c\u65f6\u9700\u8981\u76ee\u6807\u8282\u70b9\u8d44\u6e90\u5145\u8db3\uff0c\u8fc1\u79fb\u8fc7\u7a0b\u8017\u8d39\u65f6\u95f4\u8f83\u957f\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002

                            3. \u8fc1\u79fb\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u6210\u529f\u540e\u9700\u8981\u91cd\u542f\u67e5\u770b\u662f\u5426\u8fc1\u79fb\u6210\u529f\u3002\u672c\u793a\u4f8b\u5df2\u7ecf\u5f00\u673a\u67e5\u770b\u8fc1\u79fb\u6548\u679c\u3002

                            "},{"location":"virtnest/vm/monitor.html","title":"\u865a\u62df\u673a\u76d1\u63a7","text":"

                            \u865a\u62df\u673a\u57fa\u4e8e Kubevirt \u5f00\u6e90\u7684 Grafana Dashboard\uff0c\u4e3a\u4e86\u6bcf\u4e00\u4e2a\u865a\u62df\u673a\u751f\u6210\u4e86\u76d1\u63a7\u770b\u677f

                            \u865a\u62df\u673a\u7684\u76d1\u63a7\u4fe1\u606f\u53ef\u4ee5\u66f4\u597d\u7684\u4e86\u89e3\u865a\u62df\u673a\u7684\u8d44\u6e90\u6d88\u8017\u60c5\u51b5\uff0c\u6bd4\u5982 CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u548c\u7f51\u7edc\u7b49\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c \u4ece\u800c\u8fdb\u884c\u8d44\u6e90\u7684\u4f18\u5316\u548c\u89c4\u5212\uff0c\u63d0\u5347\u6574\u4f53\u7684\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                            "},{"location":"virtnest/vm/monitor.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u67e5\u770b\u865a\u62df\u673a\u76d1\u63a7\u7684\u76f8\u5173\u4fe1\u606f\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u865a\u62df\u673a\u6240\u5728\u7684\u540c\u4e00\u96c6\u7fa4\u5185\u5b89\u88c5 Insight-agent \u7ec4\u4ef6\uff0c\u5e76\u4e14\u4fdd\u8bc1 Insight-agent \u7ec4\u4ef6\u6b63\u5e38\u53ef\u7528\u3002
                            "},{"location":"virtnest/vm/monitor.html#_3","title":"\u865a\u62df\u673a\u76d1\u63a7","text":"

                            \u8fdb\u5165\u865a\u62df\u673a\u7684\u8be6\u7ec6\u4fe1\u606f\u5e76\u70b9\u51fb \u6982\u89c8 \uff0c\u5373\u53ef\u67e5\u770b\u865a\u62df\u673a\u7684\u76d1\u63a7\u5185\u5bb9\u3002\u8bf7\u6ce8\u610f\uff0c\u82e5\u672a\u5b89\u88c5 Insight-agent \u7ec4\u4ef6\uff0c\u5219\u65e0\u6cd5\u83b7\u53d6\u76d1\u63a7\u4fe1\u606f\u3002\u4ee5\u4e0b\u662f\u8be6\u7ec6\u4fe1\u606f\uff1a

                            • CPU \u603b\u91cf\u3001CPU \u4f7f\u7528\u91cf\u3001\u5185\u5b58\u603b\u91cf\u3001\u5185\u5b58\u4f7f\u7528\u91cf\u3002

                            • CPU \u4f7f\u7528\u7387\uff1a\u6307\u5f53\u524d\u865a\u62df\u673a\u6b63\u5728\u4f7f\u7528\u7684 CPU \u8d44\u6e90\u7684\u767e\u5206\u6bd4\uff1b

                            • \u5185\u5b58\u4f7f\u7528\u7387\uff1a\u6307\u5f53\u524d\u865a\u62df\u673a\u6b63\u5728\u4f7f\u7528\u7684\u5185\u5b58\u8d44\u6e90\u5360\u603b\u53ef\u7528\u5185\u5b58\u7684\u767e\u5206\u6bd4\u3002

                            • \u7f51\u7edc\u6d41\u91cf\uff1a\u6307\u865a\u62df\u673a\u5728\u7279\u5b9a\u65f6\u95f4\u6bb5\u5185\u53d1\u9001\u548c\u63a5\u6536\u7684\u7f51\u7edc\u6570\u636e\u91cf\uff1b

                            • \u7f51\u7edc\u4e22\u5305\u7387\uff1a\u6307\u5728\u6570\u636e\u4f20\u8f93\u8fc7\u7a0b\u4e2d\u4e22\u5931\u7684\u6570\u636e\u5305\u5360\u603b\u53d1\u9001\u6570\u636e\u5305\u6570\u91cf\u7684\u6bd4\u4f8b\u3002

                            • \u7f51\u7edc\u9519\u8bef\u7387\uff1a\u6307\u5728\u7f51\u7edc\u4f20\u8f93\u8fc7\u7a0b\u4e2d\u53d1\u751f\u7684\u9519\u8bef\u7684\u6bd4\u7387\uff1b

                            • \u78c1\u76d8\u541e\u5410\uff1a\u6307\u865a\u62df\u673a\u7cfb\u7edf\u5728\u4e00\u5b9a\u65f6\u95f4\u5185\u8bfb\u53d6\u548c\u5199\u5165\u78c1\u76d8\u7684\u901f\u5ea6\u548c\u80fd\u529b\u3002

                            • IOPS\uff1a\u6307\u7684\u662f\u5728\u4e00\u79d2\u949f\u5185\u865a\u62df\u673a\u7cfb\u7edf\u8fdb\u884c\u7684\u8f93\u5165/\u8f93\u51fa\u64cd\u4f5c\u7684\u6b21\u6570\u3002\u78c1\u76d8\u5ef6\u8fdf\uff1a\u6307\u865a\u62df\u673a\u7cfb\u7edf\u5728\u8fdb\u884c\u78c1\u76d8\u8bfb\u5199\u64cd\u4f5c\u65f6\u6240\u7ecf\u5386\u7684\u65f6\u95f4\u5ef6\u8fdf\u3002

                            "},{"location":"virtnest/vm/scheduled-snapshot.html","title":"\u5b9a\u65f6\u5feb\u7167","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u865a\u62df\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\u3002

                            \u7528\u6237\u53ef\u4ee5\u4e3a\u865a\u62df\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\uff0c\u80fd\u591f\u4e3a\u6570\u636e\u63d0\u4f9b\u6301\u7eed\u7684\u4fdd\u62a4\uff0c\u786e\u4fdd\u5728\u53d1\u751f\u6570\u636e\u4e22\u5931\u3001\u635f\u574f\u6216\u5220\u9664\u7684\u60c5\u51b5\u4e0b\u53ef\u4ee5\u8fdb\u884c\u6709\u6548\u7684\u6570\u636e\u6062\u590d\u3002

                            "},{"location":"virtnest/vm/scheduled-snapshot.html#_2","title":"\u5b9a\u65f6\u5feb\u7167\u6b65\u9aa4","text":"
                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u5728\u5217\u8868\u9875\u9762\uff0c\u9009\u62e9\u76ee\u6807\u865a\u62df\u673a\u6240\u5728\u7684\u96c6\u7fa4\u3002 \u8fdb\u5165\u96c6\u7fa4\u540e\uff0c\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u9009\u62e9 YAML \u521b\u5efa \u5b9a\u65f6\u4efb\u52a1\uff0c\u53c2\u8003\u4ee5\u4e0b YAML \u793a\u4f8b\u53ef\u4e3a\u6307\u5b9a\u865a\u62df\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\u3002

                              \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                              apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  name: xxxxx-xxxxx-cronjob # \u5b9a\u65f6\u4efb\u52a1\u540d\u79f0, \u53ef\u81ea\u5b9a\u4e49\n  namespace: virtnest-system # \u8bf7\u52ff\u4fee\u6539\u6b64namespace\nspec:\n  schedule: \"5 * * * *\" # \u6309\u9700\u4fee\u6539\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u95f4\u9694\n  concurrencyPolicy: Allow\n  suspend: false\n  successfulJobsHistoryLimit: 10\n  failedJobsHistoryLimit: 3\n  startingDeadlineSeconds: 60\n  jobTemplate:\n    spec:\n      template:\n        metadata:\n          labels:\n            virtnest.io/vm: xxxx # \u4fee\u6539\u4e3a\u9700\u8981\u5feb\u7167\u7684\u865a\u62df\u673a\u540d\u79f0\n            virtnest.io/namespace: xxxx # \u4fee\u6539\u4e3a\u865a\u62df\u673a\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\n        spec:\n          serviceAccountName: kubevirt-operator\n          containers:\n            - name: snapshot-job\n              image: release.daocloud.io/virtnest/tools:v0.1.5 # \u79bb\u7ebf\u73af\u5883\u4e0b,\u4ed3\u5e93\u5730\u5740\u4fee\u6539\u4e3a\u5bf9\u5e94\u706b\u79cd\u96c6\u7fa4\u4ed3\u5e93\u5730\u5740\n              imagePullPolicy: IfNotPresent\n              env:\n                - name: NS\n                  valueFrom:\n                    fieldRef:\n                      fieldPath: metadata.labels['virtnest.io/namespace']\n                - name: VM\n                  valueFrom:\n                    fieldRef:\n                      fieldPath: metadata.labels['virtnest.io/vm']\n              command:\n                - /bin/sh\n                - -c\n                - |\n                  export SUFFIX=$(date +\"%Y%m%d-%H%M%S\")\n                  cat <<EOF | kubectl apply -f -\n                  apiVersion: snapshot.kubevirt.io/v1alpha1\n                  kind: VirtualMachineSnapshot\n                  metadata:\n                    name: $(VM)-snapshot-$SUFFIX\n                    namespace: $(NS)\n                  spec:\n                    source:\n                      apiGroup: kubevirt.io\n                      kind: VirtualMachine\n                      name: $(VM)\n                  EOF\n          restartPolicy: OnFailure\n
                            2. \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u5e76\u6210\u529f\u8fd0\u884c\u540e\uff0c\u53ef\u70b9\u51fb \u865a\u62df\u673a \u5728\u5217\u8868\u9875\u9762\u9009\u62e9\u76ee\u6807\u865a\u62df\u673a\uff0c\u8fdb\u5165\u8be6\u60c5\u540e\u53ef\u67e5\u770b\u5feb\u7167\u5217\u8868\u3002

                            "},{"location":"virtnest/vm/snapshot.html","title":"\u5feb\u7167\u7ba1\u7406","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u865a\u62df\u673a\u521b\u5efa\u5feb\u7167\uff0c\u5e76\u4ece\u5feb\u7167\u4e2d\u6062\u590d\u7684\u3002

                            \u7528\u6237\u53ef\u4ee5\u4e3a\u865a\u62df\u673a\u521b\u5efa\u5feb\u7167\uff0c\u4fdd\u5b58\u865a\u62df\u673a\u5f53\u4e0b\u7684\u72b6\u6001\uff0c\u4e00\u4e2a\u5feb\u7167\u53ef\u4ee5\u652f\u6301\u591a\u6b21\u6062\u590d\uff0c\u6bcf\u6b21\u6062\u590d\u65f6\uff0c \u865a\u62df\u673a\u5c06\u88ab\u8fd8\u539f\u5230\u5feb\u7167\u521b\u5efa\u65f6\u7684\u72b6\u6001\u3002\u901a\u5e38\u53ef\u4ee5\u7528\u4e8e\u5907\u4efd\u3001\u6062\u590d\u3001\u56de\u6eda\u7b49\u573a\u666f\u3002

                            "},{"location":"virtnest/vm/snapshot.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u4f7f\u7528\u5feb\u7167\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u53ea\u6709\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u624d\u80fd\u4f7f\u7528\u5feb\u7167\u529f\u80fd\u3002
                            • \u5b89\u88c5 Snapshot CRDs\u3001Snapshot Controller\u3001CSI Driver\u3002 \u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u53ef\u53c2\u8003 CSI Snapshotter\u3002
                            • \u7b49\u5f85 snapshot-controller \u7ec4\u4ef6\u51c6\u5907\u5c31\u7eea, \u8be5\u7ec4\u4ef6\u4f1a\u76d1\u63a7 VolumeSnapshot \u548c VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                            • \u7b49\u5f85 CSI Driver \u51c6\u5907\u5c31\u7eea, \u786e\u4fdd csi-snapshotter sidecar \u8dd1\u5728 CSI Driver \u91cc\uff0ccsi-snapshotter sidecar \u4f1a\u76d1\u63a7 VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002\u5982 POC \u4f7f\u7528\u7684\u5b58\u50a8\u662f rook-ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                              • \u5982\u5b58\u50a8\u662f Rook-Ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                              • \u5982\u5b58\u50a8\u662f HwameiStor\uff0c\u53ef\u53c2\u8003 huameistor-snapshot
                            "},{"location":"virtnest/vm/snapshot.html#_3","title":"\u521b\u5efa\u5feb\u7167","text":"
                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u865a\u62df\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u865a\u62df\u673a\u6267\u884c\u5feb\u7167\u64cd\u4f5c\u3002

                            2. \u5f39\u51fa\u5f39\u6846\uff0c\u9700\u8981\u586b\u5199\u5feb\u7167\u7684\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u521b\u5efa\u5feb\u7167\u5927\u6982\u9700\u8981\u51e0\u5206\u949f\u7684\u65f6\u95f4\uff0c\u5728\u6b64\u671f\u95f4\u65e0\u6cd5\u5bf9\u865a\u62df\u673a\u505a\u4efb\u4f55\u64cd\u4f5c\u3002

                            3. \u521b\u5efa\u6210\u529f\u540e\u53ef\u4ee5\u5728\u865a\u62df\u673a\u8be6\u60c5\u5185\u67e5\u770b\u5feb\u7167\u4fe1\u606f\uff0c\u652f\u6301\u7f16\u8f91\u63cf\u8ff0\u3001\u4ece\u5feb\u7167\u4e2d\u6062\u590d\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"virtnest/vm/snapshot.html#_4","title":"\u4ece\u5feb\u7167\u4e2d\u6062\u590d","text":"
                            1. \u70b9\u51fb \u4ece\u5feb\u7167\u6062\u590d \uff0c\u9700\u8981\u586b\u5199\u865a\u62df\u673a\u6062\u590d\u8bb0\u5f55\u7684\u540d\u79f0\uff0c\u540c\u65f6\u6062\u590d\u64cd\u4f5c\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\u6765\u5b8c\u6210\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u5feb\u7167\u7684\u5927\u5c0f\u548c\u5176\u4ed6\u56e0\u7d20\u3002\u6062\u590d\u6210\u529f\u540e\uff0c\u865a\u62df\u673a\u5c06\u56de\u5230\u5feb\u7167\u521b\u5efa\u65f6\u7684\u72b6\u6001\u3002

                            2. \u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u4e0b\u62c9\u5feb\u7167\u4fe1\u606f\uff0c\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u5feb\u7167\u7684\u6240\u6709\u6062\u590d\u8bb0\u5f55\uff0c\u5e76\u4e14\u652f\u6301\u5c55\u793a\u5b9a\u4f4d\u6062\u590d\u7684\u4f4d\u7f6e\u3002

                            "},{"location":"virtnest/vm/vm-network.html","title":"\u865a\u62df\u673a\u7f51\u7edc","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\uff0c\u914d\u7f6e\u7f51\u7edc\u4fe1\u606f\u3002

                            \u5728\u865a\u62df\u673a\u4e2d\uff0c\u7f51\u7edc\u7ba1\u7406\u662f\u4e00\u4e2a\u5173\u952e\u7684\u90e8\u5206\uff0c\u5b83\u4f7f\u5f97\u6211\u4eec\u80fd\u591f\u5728 Kubernetes \u73af\u5883\u4e2d\u7ba1\u7406\u548c\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u8fde\u63a5\uff0c\u53ef\u4ee5\u6839\u636e\u4e0d\u540c\u7684\u9700\u6c42\u548c\u573a\u666f\u6765\u8fdb\u884c\u914d\u7f6e\uff0c\u5b9e\u73b0\u66f4\u7075\u6d3b\u548c\u591a\u6837\u5316\u7684\u7f51\u7edc\u67b6\u6784\u3002

                            1. \u5355\u7f51\u5361\u573a\u666f\uff1a\u5bf9\u4e8e\u4e00\u4e9b\u7b80\u5355\u7684\u53ea\u9700\u8981\u57fa\u672c\u7f51\u7edc\u8fde\u63a5\u7684\u5e94\u7528\uff0c\u6216\u8005\u5b58\u5728\u8d44\u6e90\u9650\u5236\u7684\u65f6\u5019\uff0c\u4f7f\u7528\u5355\u7f51\u5361\u53ef\u4ee5\u8282\u7ea6\u7f51\u7edc\u8d44\u6e90\uff0c\u5e76\u907f\u514d\u8d44\u6e90\u7684\u6d6a\u8d39\u3002
                            2. \u591a\u7f51\u5361\u573a\u666f\uff1a\u5f53\u9700\u8981\u5b9e\u73b0\u4e0d\u540c\u7f51\u7edc\u73af\u5883\u4e4b\u95f4\u7684\u5b89\u5168\u9694\u79bb\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528\u591a\u7f51\u5361\u6765\u5212\u5206\u4e0d\u540c\u7684\u7f51\u7edc\u533a\u57df\u3002\u540c\u65f6\u4e5f\u53ef\u4ee5\u5bf9\u63a7\u5236\u548c\u6d41\u91cf\u8fdb\u884c\u7ba1\u7406\u3002
                            "},{"location":"virtnest/vm/vm-network.html#_2","title":"\u7f51\u7edc\u914d\u7f6e\u524d\u63d0","text":"

                            \u5728\u4f7f\u7528\u865a\u62df\u673a\u7f51\u7edc\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6839\u636e\u7f51\u7edc\u6a21\u5f0f\u7684\u4e0d\u540c\u914d\u7f6e\u4e0d\u540c\u7684\u4fe1\u606f\uff1a

                            • \u9009\u62e9 Bridge \u7f51\u7edc\u6a21\u5f0f\u65f6\u9700\u8981\u63d0\u524d\u914d\u7f6e\u4e00\u4e9b\u4fe1\u606f\uff1a

                              • \u5728\u4e3b\u673a\u8282\u70b9\u4e0a\u5b89\u88c5\u5e76\u8fd0\u884c Open vSwitch, \u53ef\u53c2\u8003\u8fd9\u91cc
                              • \u5728\u4e3b\u673a\u8282\u70b9\u4e0a\u914d\u7f6e Open vSwitch \u7f51\u6865, \u53ef\u53c2\u8003\u8fd9\u91cc
                              • \u5b89\u88c5 Spiderpool\uff0c\u53ef\u53c2\u8003\u5b89\u88c5 Spiderpool, Spiderpool \u9ed8\u8ba4\u4f1a\u628a Multus CNI \u548c Ovs CNI \u90fd\u88c5\u4e0a
                              • \u521b\u5efa ovs \u7c7b\u578b\u7684 Multus CR\uff0c\u53ef\u53c2\u8003\u754c\u9762\u521b\u5efa Multus CR \u6216 YAML \u521b\u5efa Multus CR
                              • \u521b\u5efa\u5b50\u7f51\u53ca IP \u6c60\uff0c\u53c2\u8003\u521b\u5efa\u5b50\u7f51\u548c IP \u6c60
                            "},{"location":"virtnest/vm/vm-network.html#_3","title":"\u7f51\u7edc\u914d\u7f6e","text":"
                            1. \u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u914d\u7f6e\uff0c\u53ef\u4ee5\u6839\u636e\u8868\u683c\u4fe1\u606f\u6309\u9700\u7ec4\u5408\u3002

                              \u7f51\u7edc\u6a21\u5f0f CNI \u662f\u5426\u5b89\u88c5 Spiderpool \u7f51\u5361\u6a21\u5f0f \u56fa\u5b9a IP \u5b9e\u65f6\u8fc1\u79fb Masquerade\uff08NAT\uff09 Calico \u274c \u5355\u7f51\u5361 \u274c \u2705 Cilium \u274c \u5355\u7f51\u5361 \u274c \u2705 Flannel \u274c \u5355\u7f51\u5361 \u274c \u2705 Bridge\uff08\u6865\u63a5\uff09 OVS \u2705 \u591a\u7f51\u5361 \u2705 \u2705

                            2. \u7f51\u7edc\u6a21\u5f0f\uff1a\u5206\u4e3a Masquerade\uff08NAT\uff09\u3001Bridge\uff08\u6865\u63a5\uff09\u4e24\u79cd\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u9700\u8981\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\u540e\u65b9\u53ef\u4f7f\u7528\u3002

                              1. \u9ed8\u8ba4\u9009\u62e9 Masquerade\uff08NAT\uff09\u7684\u7f51\u7edc\u6a21\u5f0f\uff0c\u4f7f\u7528 eth0 \u9ed8\u8ba4\u7f51\u5361\u3002

                              2. \u82e5\u96c6\u7fa4\u5185\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\uff0c\u5219\u652f\u6301\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\uff0c\u652f\u6301\u591a\u7f51\u5361\u5f62\u5f0f\u3002

                                • \u9009\u62e9 Bridge \u6a21\u5f0f\u65f6\uff0c\u9700\u8981\u6709\u4e00\u4e9b\u524d\u63d0\u6761\u4ef6
                            3. \u6dfb\u52a0\u7f51\u5361

                              1. Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u4e0b\u652f\u6301\u624b\u52a8\u6dfb\u52a0\u7f51\u5361\u3002\u70b9\u51fb \u6dfb\u52a0\u7f51\u5361 \uff0c\u8fdb\u884c\u7f51\u5361 IP \u6c60\u7684\u914d\u7f6e\u3002\u9009\u62e9\u548c\u7f51\u7edc\u6a21\u5f0f\u5339\u914d\u7684 Multus CR\uff0c\u82e5\u6ca1\u6709\u5219\u9700\u8981\u81ea\u884c\u521b\u5efa\u3002

                              2. \u82e5\u6253\u5f00 \u4f7f\u7528\u9ed8\u8ba4 IP \u6c60 \u5f00\u5173\uff0c\u5219\u4f7f\u7528 multus CR \u914d\u7f6e\u4e2d\u7684\u9ed8\u8ba4 IP \u6c60\u3002\u82e5\u5173\u95ed\u5f00\u5173\uff0c\u5219\u624b\u52a8\u9009\u62e9 IP \u6c60\u3002

                            "},{"location":"virtnest/vm/vm-sc.html","title":"\u865a\u62df\u673a\u5b58\u50a8","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\uff0c\u914d\u7f6e\u5b58\u50a8\u4fe1\u606f\u3002

                            \u5b58\u50a8\u548c\u865a\u62df\u673a\u7684\u529f\u80fd\u606f\u606f\u76f8\u5173\uff0c\u4e3b\u8981\u662f\u901a\u8fc7\u4f7f\u7528 Kubernetes \u7684\u6301\u4e45\u5377\u548c\u5b58\u50a8\u7c7b\uff0c\u63d0\u4f9b\u4e86\u7075\u6d3b\u4e14\u53ef\u6269\u5c55\u7684\u865a\u62df\u673a\u5b58\u50a8\u80fd\u529b\u3002 \u6bd4\u5982\u865a\u62df\u673a\u955c\u50cf\u5b58\u50a8\u5728 PVC \u91cc\uff0c\u652f\u6301\u548c\u5176\u4ed6\u6570\u636e\u4e00\u8d77\u514b\u9686\u3001\u5feb\u7167\u7b49

                            "},{"location":"virtnest/vm/vm-sc.html#_2","title":"\u90e8\u7f72\u4e0d\u540c\u7684\u5b58\u50a8","text":"

                            \u5728\u4f7f\u7528\u865a\u62df\u673a\u5b58\u50a8\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6839\u636e\u9700\u8981\u90e8\u7f72\u4e0d\u540c\u7684\u5b58\u50a8\uff1a

                            1. \u53c2\u8003\u90e8\u7f72 hwameistor\uff0c \u6216\u8005\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 hwameistor-operator\u3002
                            2. \u53c2\u8003\u90e8\u7f72 rook-ceph
                            3. \u90e8\u7f72 localpath\uff0c\u4f7f\u7528\u547d\u4ee4 kubectl apply -f \u521b\u5efa\u4ee5\u4e0b YAML\uff1a
                            \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                            ---\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: local-path-storage\n\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: local-path-provisioner-service-account\n  namespace: local-path-storage\n\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: local-path-provisioner-role\nrules:\n- apiGroups: [\"\"]\n  resources: [\"nodes\", \"persistentvolumeclaims\", \"configmaps\"]\n  verbs: [\"get\", \"list\", \"watch\"]\n- apiGroups: [\"\"]\n  resources: [\"endpoints\", \"persistentvolumes\", \"pods\"]\n  verbs: [\"*\"]\n- apiGroups: [\"\"]\n  resources: [\"events\"]\n  verbs: [\"create\", \"patch\"]\n- apiGroups: [\"storage.k8s.io\"]\n  resources: [\"storageclasses\"]\n  verbs: [\"get\", \"list\", \"watch\"]\n\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: local-path-provisioner-bind\nroleRef:\n  apiGroup: rbac.authorization.k8s.io\n  kind: ClusterRole\n  name: local-path-provisioner-role\nsubjects:\n- kind: ServiceAccount\n  name: local-path-provisioner-service-account\n  namespace: local-path-storage\n\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: local-path-provisioner\n  namespace: local-path-storage\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: local-path-provisioner\n  template:\n    metadata:\n      labels:\n        app: local-path-provisioner\n    spec:\n      serviceAccountName: local-path-provisioner-service-account\n      containers:\n      - name: local-path-provisioner\n        image: rancher/local-path-provisioner:v0.0.22\n        imagePullPolicy: IfNotPresent\n        command:\n        - local-path-provisioner\n        - --debug\n        - start\n        - --config\n        - /etc/config/config.json\n        volumeMounts:\n        - name: config-volume\n          mountPath: /etc/config/\n        env:\n        - name: POD_NAMESPACE\n          valueFrom:\n            fieldRef:\n              fieldPath: metadata.namespace\n      volumes:\n      - name: config-volume\n        configMap:\n          name: local-path-config\n\n---\napiVersion: storage.k8s.io/v1\nkind: StorageClass\nmetadata:\n  name: local-path\nprovisioner: rancher.io/local-path\nvolumeBindingMode: WaitForFirstConsumer\nreclaimPolicy: Delete\n\n---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: local-path-config\n  namespace: local-path-storage\ndata:\n  config.json: |-\n    {\n      \"nodePathMap\": [\n        {\n          \"node\": \"DEFAULT_PATH_FOR_NON_LISTED_NODES\",\n          \"paths\": [\"/opt/local-path-provisioner\"]\n        }\n      ]\n    }\n  setup: |-\n    #!/bin/sh\n    set -eu\n    mkdir -m 0777 -p \"$VOL_DIR\"\n  teardown: |-\n    #!/bin/sh\n    set -eu\n    rm -rf \"$VOL_DIR\"\n  helperPod.yaml: |-\n    apiVersion: v1\n    kind: Pod\n    metadata:\n      name: helper-pod\n    spec:\n      containers:\n      - name: helper-pod\n        image: busybox\n        imagePullPolicy: IfNotPresent\n
                            "},{"location":"virtnest/vm/vm-sc.html#_3","title":"\u865a\u62df\u673a\u5b58\u50a8","text":"
                            1. \u7cfb\u7edf\u76d8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002

                            2. \u6570\u636e\u76d8\uff1a\u6570\u636e\u76d8\u662f\u865a\u62df\u673a\u4e2d\u7528\u4e8e\u5b58\u50a8\u7528\u6237\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u6570\u636e\u6216\u5176\u4ed6\u975e\u64cd\u4f5c\u7cfb\u7edf\u76f8\u5173\u6587\u4ef6\u7684\u5b58\u50a8\u8bbe\u5907\u3002\u4e0e\u7cfb\u7edf\u76d8\u76f8\u6bd4\uff0c\u6570\u636e\u76d8\u662f\u975e\u5fc5\u9009\u7684\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u52a8\u6001\u6dfb\u52a0\u6216\u79fb\u9664\u3002\u6570\u636e\u76d8\u7684\u5bb9\u91cf\u4e5f\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u8fdb\u884c\u7075\u6d3b\u914d\u7f6e\u3002

                              \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u5df2\u7ecf\u521b\u5efa\u4e86\u5bf9\u5e94\u7684 VolumeSnapshotClass\uff0c \u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u793a\u4f8b\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u652f\u6301\u5e76\u9009\u62e9\u4e86 ReadWriteMany \u7684\u8bbf\u95ee\u6a21\u5f0f \u3002

                              \u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5b58\u50a8\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u81ea\u52a8\u521b\u5efa\u8fd9\u6837\u7684 VolumeSnapshotClass\uff0c\u56e0\u6b64\u60a8\u9700\u8981\u624b\u52a8\u521b\u5efa VolumeSnapshotClass\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a HwameiStor \u521b\u5efa VolumeSnapshotClass \u7684\u793a\u4f8b\uff1a

                              kind: VolumeSnapshotClass\napiVersion: snapshot.storage.k8s.io/v1\nmetadata:\n  name: hwameistor-storage-lvm-snapshot\n  annotations:\n    snapshot.storage.kubernetes.io/is-default-class: \"true\"\nparameters:\n  snapsize: \"1073741824\"\ndriver: lvm.hwameistor.io\ndeletionPolicy: Delete\n
                              • \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5 VolumeSnapshotClass \u662f\u5426\u521b\u5efa\u6210\u529f\u3002

                                kubectl get VolumeSnapshotClass\n
                              • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass\uff0c\u5e76\u4e14\u786e\u8ba4 Provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002

                            "},{"location":"virtnest/vm-image/index.html","title":"\u6784\u5efa\u865a\u62df\u673a\u955c\u50cf","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u9700\u8981\u7684\u865a\u62df\u673a\u955c\u50cf\u3002

                            \u865a\u62df\u673a\u955c\u50cf\u5176\u5b9e\u5c31\u662f\u526f\u672c\u6587\u4ef6\uff0c\u662f\u5b89\u88c5\u6709\u64cd\u4f5c\u7cfb\u7edf\u7684\u4e00\u4e2a\u78c1\u76d8\u5206\u533a\u3002\u5e38\u89c1\u7684\u955c\u50cf\u6587\u4ef6\u683c\u5f0f\u5305\u62ec raw\u3001qcow2\u3001vmdk\u7b49\u3002

                            "},{"location":"virtnest/vm-image/index.html#_2","title":"\u6784\u5efa\u955c\u50cf","text":"

                            \u4e0b\u9762\u662f\u6784\u5efa\u865a\u62df\u673a\u955c\u50cf\u7684\u4e00\u4e9b\u8be6\u7ec6\u6b65\u9aa4\uff1a

                            1. \u4e0b\u8f7d\u7cfb\u7edf\u955c\u50cf

                              \u5728\u6784\u5efa\u865a\u62df\u673a\u955c\u50cf\u4e4b\u524d\uff0c\u60a8\u9700\u8981\u4e0b\u8f7d\u6240\u9700\u7684\u7cfb\u7edf\u955c\u50cf\u3002\u6211\u4eec\u63a8\u8350\u4f7f\u7528 qcow2\u3001raw \u6216 vmdk \u683c\u5f0f\u7684\u955c\u50cf\u3002\u53ef\u4ee5\u8bbf\u95ee\u4ee5\u4e0b\u94fe\u63a5\u83b7\u53d6 CentOS \u548c Fedora \u7684\u955c\u50cf\uff1a

                              • CentOS Cloud Images\uff1a\u652f\u6301\u4ece\u5b98\u65b9 CentOS \u9879\u76ee\u6216\u5176\u4ed6\u8d44\u6e90\u4e2d\u83b7\u53d6 CentOS \u955c\u50cf\u3002\u8bf7\u786e\u4fdd\u9009\u62e9\u4e0e\u60a8\u7684\u865a\u62df\u5316\u5e73\u53f0\u517c\u5bb9\u7684\u7248\u672c\u3002
                              • Fedora Cloud Images\uff1a \u652f\u6301\u4ece\u5b98\u65b9 Fedora \u9879\u76ee\u83b7\u53d6\u955c\u50cf\u3002\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u7248\u672c\u3002
                            2. \u6784\u5efa Docker \u955c\u50cf\u5e76\u63a8\u9001\u5230\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93

                              \u5728\u6b64\u6b65\u9aa4\u4e2d\uff0c\u6211\u4eec\u5c06\u4f7f\u7528 Docker \u6784\u5efa\u4e00\u4e2a\u955c\u50cf\uff0c\u5e76\u5c06\u5176\u63a8\u9001\u5230\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u80fd\u591f\u65b9\u4fbf\u5730\u90e8\u7f72\u548c\u4f7f\u7528\u3002

                              • \u521b\u5efa Dockerfile \u6587\u4ef6

                                FROM scratch\nADD --chown=107:107 CentOS-7-x86_64-GenericCloud.qcow2 /disk/\n

                                \u5411\u57fa\u4e8e\u7a7a\u767d\u955c\u50cf\u6784\u5efa\u7684\u955c\u50cf\u4e2d\u6dfb\u52a0\u540d\u4e3a CentOS-7-x86_64-GenericCloud.qcow2 \u7684\u6587\u4ef6\uff0c\u5e76\u5c06\u5176\u653e\u7f6e\u5728\u955c\u50cf\u4e2d\u7684 /disk/ \u76ee\u5f55\u4e0b\u3002\u901a\u8fc7\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u955c\u50cf\u5c31\u5305\u542b\u4e86\u8fd9\u4e2a\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\u4f7f\u7528\u5b83\u6765\u63d0\u4f9b CentOS 7 x86_64 \u7684\u64cd\u4f5c\u7cfb\u7edf\u73af\u5883\u3002

                              • \u6784\u5efa\u955c\u50cf

                                docker build -t release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1 .\n

                                \u4e0a\u8ff0\u547d\u4ee4\u5c06\u4f7f\u7528 Dockerfile \u4e2d\u7684\u6307\u4ee4\u6784\u5efa\u4e00\u4e2a\u540d\u4e3a release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1 \u7684\u955c\u50cf\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u9879\u76ee\u9700\u6c42\u4fee\u6539\u955c\u50cf\u540d\u79f0\u3002

                              • \u63a8\u9001\u955c\u50cf\u81f3\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93

                                \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u6784\u5efa\u597d\u7684\u955c\u50cf\u63a8\u9001\u5230\u540d\u4e3a release-ci.daocloud.io \u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u60a8\u8fd8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u4fee\u6539\u955c\u50cf\u4ed3\u5e93\u7684\u540d\u79f0\u548c\u5730\u5740\u3002

                                docker push release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1\n

                            \u4ee5\u4e0a\u662f\u6784\u5efa\u865a\u62df\u673a\u955c\u50cf\u7684\u8be6\u7ec6\u6b65\u9aa4\u548c\u8bf4\u660e\u3002\u901a\u8fc7\u6309\u7167\u8fd9\u4e9b\u6b65\u9aa4\u64cd\u4f5c\uff0c\u60a8\u5c06\u80fd\u591f\u6210\u529f\u6784\u5efa\u5e76\u63a8\u9001\u7528\u4e8e\u865a\u62df\u673a\u7684\u955c\u50cf\uff0c\u4ee5\u6ee1\u8db3\u60a8\u7684\u4f7f\u7528\u9700\u6c42\u3002

                            "}]} \ No newline at end of file diff --git a/security/falco-exporter.html b/security/falco-exporter.html index cf96467341..df042d74ef 100644 --- a/security/falco-exporter.html +++ b/security/falco-exporter.html @@ -561,21 +561,21 @@

                            安装 Falco-exporter

                            +

                            falco_cluster

                          • 在左侧导航栏中选择 Helm 应用 -> Helm 模板,找到并点击 falco-exporter

                            -

                            falco-exporter_helm-1

                            +

                            falco-exporter_helm-1

                          • 版本选择中选择希望安装的版本,点击安装

                            -

                            falco-exporter_helm-2

                            +

                            falco-exporter_helm-2

                          • 在安装界面,填写所需的安装参数。

                            -

                            falco-exporter_helm-3

                            +

                            falco-exporter_helm-3

                            在如上界面中,填写应用名称命名空间版本等。

                            -

                            falco-exporter_helm-4

                            +

                            falco-exporter_helm-4

                            在如上界面中,填写以下参数:

    diff --git a/virtnest/quickstart/index.html b/virtnest/quickstart/index.html index a13bc64f12..d6b9c344b2 100644 --- a/virtnest/quickstart/index.html +++ b/virtnest/quickstart/index.html @@ -527,7 +527,7 @@

    镜像创建

  • 在虚拟机列表页面,点击 创建虚拟机 -> 选择 通过镜像创建

    -

    镜像创建

    +

    镜像创建

  • 进入镜像创建页面,依次填写基本信息、镜像配置、存储与网络、登录设置后,在页面右下角点击 确定 完成创建。

    @@ -550,7 +550,7 @@

    基本信息

    镜像配置

    根据下表填写镜像相关信息后,点击 下一步

    -

    使用镜像仓库

    +

    使用镜像仓库

    1. 镜像来源:支持三种类型的来源。

      @@ -727,11 +727,11 @@

      登录设置
    2. 用户名/密码:可以通过用户名和密码登录至虚拟机。
    3. SSH:选择 SSH 登录方式时可为虚拟机绑定 SSH 密钥,用于日后登录虚拟机。
    4. -

      登录设置

      +

      登录设置

      YAML 创建

      除了通过镜像方式外,还可以通过 YAML 文件更快速地创建创建虚拟机。

      进入虚拟机列表页,点击 通过 YAML 创建 按钮。

      -

      yaml 创建

      +

      yaml 创建

      点击查看创建虚拟机的 YAML 示例
      apiVersion: kubevirt.io/v1
      diff --git a/virtnest/template/index.html b/virtnest/template/index.html
      index 07a7cfd00e..749080c839 100644
      --- a/virtnest/template/index.html
      +++ b/virtnest/template/index.html
      @@ -288,18 +288,18 @@ 

      模板创建
      1. 点击左侧导航栏上的 容器管理 ,然后点击 虚拟机 ,进入 虚拟机管理 页面。在虚拟机列表页面,点击创建虚拟机-选择模板创建虚拟机。

        -

        虚拟机模板创建

        +

        虚拟机模板创建

      2. 进入镜像创建页面,依次填写基本信息、模板配置、存储与网络、登录设置后,在页面右下角点击 确定 完成创建。

        系统将自动返回虚拟机列表。点击列表右侧的 ,可以对虚拟机执行关机/开启、重启、克隆、更新、创建快照、配置转换为模板、控制台访问(VNC)、删除等操作。 克隆和快照能力依赖于存储池的选择。

        -

        虚拟机操作

        +

        虚拟机操作

      基本信息

      在创建虚拟机页面中,根据下表输入信息后,点击 下一步

      -

      虚拟机基础信息

      +

      虚拟机基础信息

      diff --git a/virtnest/template/tep.html b/virtnest/template/tep.html index 76042290ea..9029f13aea 100644 --- a/virtnest/template/tep.html +++ b/virtnest/template/tep.html @@ -301,11 +301,11 @@

      自定义模板

      +

      点击转化为模板

    5. 填写新模板的名称,提示原始虚拟机将会保留并且可用。转换成功后,将会在模板列表新增一条数据。

      -

      转化模板

      +

      转化模板

    模板详情

    diff --git a/virtnest/vm/create-secret.html b/virtnest/vm/create-secret.html index 0a16b183b4..8c80a6d6a6 100644 --- a/virtnest/vm/create-secret.html +++ b/virtnest/vm/create-secret.html @@ -504,7 +504,7 @@

    创建密钥
    1. 点击左侧导航栏上的 容器管理 ,然后点击 集群列表 ,进入虚拟机所在集群详情,点击 配置与密钥 ,选择 密钥 ,点击 创建密钥

      -

      创建密钥

      +

      创建密钥

    2. 进入创建页面,填写密钥名称,选择和虚拟机相同的命名空间,注意需要选择 默认(Opaque) 类型。密钥数据需要遵循以下原则

      @@ -512,11 +512,11 @@

      创建密钥
    3. accessKeyId: 需要以 Base64 编码方式表示的数据
    4. secretKey: 需要以 Base64 编码方式表示的数据
    5. -

      密钥要求

      +

      密钥要求

    6. 创建成功后可以在创建虚拟机时使用所需密钥,最后通过验证。

      -

      使用密钥

      +

      使用密钥

    diff --git a/virtnest/vm/snapshot.html b/virtnest/vm/snapshot.html index 9af82bb4c4..1c257b254c 100644 --- a/virtnest/vm/snapshot.html +++ b/virtnest/vm/snapshot.html @@ -582,26 +582,26 @@

    创建快照
    1. 点击左侧导航栏上的 容器管理 ,然后点击 虚拟机 ,进入列表页面,点击列表右侧的 ,可以对非错误状态下的虚拟机执行快照操作。

      -

      创建快照

      +

      创建快照

    2. 弹出弹框,需要填写快照的名称和描述,创建快照大概需要几分钟的时间,在此期间无法对虚拟机做任何操作。

      -

      快照名称

      +

      快照名称

    3. 创建成功后可以在虚拟机详情内查看快照信息,支持编辑描述、从快照中恢复、删除等操作。

      -

      虚拟机详情

      +

      虚拟机详情

    从快照中恢复

    1. 点击 从快照恢复 ,需要填写虚拟机恢复记录的名称,同时恢复操作可能需要一些时间来完成,具体取决于快照的大小和其他因素。恢复成功后,虚拟机将回到快照创建时的状态。

      -

      快照恢复

      +

      快照恢复

    2. 一段时间后,下拉快照信息,可以查看当前快照的所有恢复记录,并且支持展示定位恢复的位置。

      -

      恢复记录

      +

      恢复记录