@umacloud/knowledge 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/00-governance/governance-capabilities.md +557 -0
  2. package/00-governance/knowledge-map.md +39 -0
  3. package/00-governance/maintenance-policy.md +76 -0
  4. package/00-governance/review-checklist.md +81 -0
  5. package/README.md +13 -0
  6. package/ai/01-standards/agent-development-complete.md +691 -0
  7. package/ai/01-standards/llm-application-complete.md +488 -0
  8. package/ai/01-standards/mlops-complete.md +798 -0
  9. package/ai/01-standards/prompt-engineering-complete.md +646 -0
  10. package/ai/01-standards/rag-architecture-complete.md +649 -0
  11. package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
  12. package/ai/03-checklists/ai-project-checklist.md +215 -0
  13. package/ai/04-antipatterns/ai-antipatterns.md +661 -0
  14. package/ai/05-cases/case-rag-production.md +147 -0
  15. package/ai/06-glossary/ai-glossary.md +162 -0
  16. package/ai/agent-evaluation-benchmark.md +53 -0
  17. package/ai/ai-agent-memory-context-management.md +41 -0
  18. package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
  19. package/ai/ai-data-security-and-compliance-playbook.md +37 -0
  20. package/ai/ai-domain-index-and-checklist.md +40 -0
  21. package/ai/ai-governance-maturity-model.md +50 -0
  22. package/ai/ai-model-selection-and-routing-strategy.md +47 -0
  23. package/ai/ai-observability-and-oncall-runbook.md +52 -0
  24. package/ai/ai-rag-engineering-playbook.md +42 -0
  25. package/ai/ai-red-team-and-safety-evaluation.md +42 -0
  26. package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
  27. package/ai/llm-agent-engineering-deep-dive.md +57 -0
  28. package/ai/prompt-and-tool-guardrails.md +52 -0
  29. package/api/01-standards/enterprise-api-standards.md +198 -0
  30. package/api/01-standards/rest-api-design-guide.md +63 -0
  31. package/api/02-playbooks/api-pagination-playbook.md +93 -0
  32. package/api/02-playbooks/graphql-production-playbook.md +176 -0
  33. package/api/03-checklists/api-review-checklist.md +55 -0
  34. package/api/04-antipatterns/api-antipatterns.md +112 -0
  35. package/architecture/01-standards/api-gateway-patterns.md +496 -0
  36. package/architecture/01-standards/cloud-native-patterns.md +644 -0
  37. package/architecture/01-standards/distributed-systems-patterns.md +591 -0
  38. package/architecture/01-standards/event-driven-architecture.md +595 -0
  39. package/architecture/01-standards/microservices-patterns-complete.md +968 -0
  40. package/architecture/01-standards/microservices-patterns.md +495 -0
  41. package/architecture/01-standards/system-design-interview.md +664 -0
  42. package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
  43. package/architecture/02-playbooks/migration-playbook.md +780 -0
  44. package/architecture/02-playbooks/system-design-playbook.md +779 -0
  45. package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
  46. package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
  47. package/architecture/05-cases/case-netflix-microservices.md +413 -0
  48. package/architecture/06-glossary/architecture-glossary.md +164 -0
  49. package/architecture/adr-template-and-examples.md +38 -0
  50. package/architecture/api-gateway-deep-dive.md +1291 -0
  51. package/architecture/configuration-management.md +1162 -0
  52. package/architecture/distributed-transactions.md +1220 -0
  53. package/architecture/microservices-complete.md +735 -0
  54. package/architecture/resilience-and-disaster-patterns.md +37 -0
  55. package/architecture/service-governance.md +1198 -0
  56. package/architecture/system-architecture-deep-dive.md +37 -0
  57. package/backend/01-standards/analytics-and-growth.md +65 -0
  58. package/backend/01-standards/api-and-error-conventions.md +120 -0
  59. package/backend/01-standards/application-layering-and-packaging.md +160 -0
  60. package/backend/01-standards/auth-implementation.md +104 -0
  61. package/backend/01-standards/backend-framework-idioms.md +74 -0
  62. package/backend/01-standards/background-jobs-and-async.md +66 -0
  63. package/backend/01-standards/caching-strategies-complete.md +390 -0
  64. package/backend/01-standards/config-and-observability.md +77 -0
  65. package/backend/01-standards/data-modeling-and-persistence.md +94 -0
  66. package/backend/01-standards/django-complete.md +1765 -0
  67. package/backend/01-standards/email-and-notifications.md +64 -0
  68. package/backend/01-standards/fastapi-complete.md +925 -0
  69. package/backend/01-standards/file-upload-and-storage.md +66 -0
  70. package/backend/01-standards/graphql-api-complete.md +416 -0
  71. package/backend/01-standards/llm-application-standard.md +78 -0
  72. package/backend/01-standards/message-queue-patterns.md +379 -0
  73. package/backend/01-standards/microservices-and-distributed.md +78 -0
  74. package/backend/01-standards/nestjs-complete.md +2167 -0
  75. package/backend/01-standards/payment-integration.md +80 -0
  76. package/backend/01-standards/rate-limiting-complete.md +451 -0
  77. package/backend/01-standards/realtime-and-websocket.md +65 -0
  78. package/backend/01-standards/search-and-filtering.md +64 -0
  79. package/backend/01-standards/spring-boot-complete.md +445 -0
  80. package/backend/02-playbooks/api-design-playbook.md +718 -0
  81. package/backend/02-playbooks/email-send-playbook.md +130 -0
  82. package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
  83. package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
  84. package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
  85. package/backend/03-checklists/api-launch-checklist.md +189 -0
  86. package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
  87. package/blockchain/01-standards/blockchain-basics.md +557 -0
  88. package/blockchain/01-standards/smart-contract-development.md +1315 -0
  89. package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
  90. package/cicd/01-standards/github-actions-complete.md +473 -0
  91. package/cicd/01-standards/release-and-store-submission.md +75 -0
  92. package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
  93. package/cicd/02-playbooks/release-management-playbook.md +605 -0
  94. package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
  95. package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
  96. package/cicd/05-cases/case-deployment-automation.md +221 -0
  97. package/cicd/05-cases/case-gitops-transformation.md +212 -0
  98. package/cicd/06-glossary/cicd-glossary.md +114 -0
  99. package/cicd/cicd-blueprint-deep-dive.md +38 -0
  100. package/cicd/release-readiness-gate.md +37 -0
  101. package/cloud-native/01-standards/container-security.md +741 -0
  102. package/cloud-native/01-standards/kubernetes-complete.md +812 -0
  103. package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
  104. package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
  105. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
  106. package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
  107. package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
  108. package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
  109. package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
  110. package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
  111. package/cloud-native/03-checklists/container-security-checklist.md +431 -0
  112. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
  113. package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
  114. package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
  115. package/cloud-native/05-cases/case-k8s-migration.md +478 -0
  116. package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
  117. package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
  118. package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
  119. package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
  120. package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
  121. package/data/01-standards/elasticsearch-complete.md +2098 -0
  122. package/data/01-standards/postgresql-complete.md +1613 -0
  123. package/data/01-standards/redis-complete.md +1527 -0
  124. package/data/02-playbooks/database-optimization-playbook.md +403 -0
  125. package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
  126. package/data/03-checklists/database-launch-checklist.md +187 -0
  127. package/data/04-antipatterns/database-antipatterns.md +873 -0
  128. package/data/05-cases/case-database-migration.md +310 -0
  129. package/data/06-glossary/database-glossary.md +440 -0
  130. package/data/data-governance-and-modeling-deep-dive.md +39 -0
  131. package/data-engineering/01-standards/airflow-complete.md +523 -0
  132. package/data-engineering/01-standards/kafka-complete.md +1521 -0
  133. package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
  134. package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
  135. package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
  136. package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
  137. package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
  138. package/database/01-standards/database-schema-standards.md +147 -0
  139. package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
  140. package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
  141. package/database/02-playbooks/postgresql-production-playbook.md +146 -0
  142. package/database/02-playbooks/redis-caching-playbook.md +117 -0
  143. package/database/03-checklists/database-review-checklist.md +50 -0
  144. package/database/04-antipatterns/database-antipatterns.md +112 -0
  145. package/design/01-standards/ui-design-system-complete.md +423 -0
  146. package/design/02-playbooks/design-handoff-playbook.md +254 -0
  147. package/design/02-playbooks/design-review-playbook.md +388 -0
  148. package/design/03-checklists/design-review-checklist.md +246 -0
  149. package/design/04-antipatterns/design-antipatterns.md +378 -0
  150. package/design/05-cases/case-design-system-adoption.md +328 -0
  151. package/design/06-glossary/design-glossary.md +329 -0
  152. package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
  153. package/design/ux-system-deep-dive.md +38 -0
  154. package/design-systems/00-craft-rules.md +71 -0
  155. package/design-systems/aesthetic-families.md +43 -0
  156. package/design-systems/anti-ai-slop.md +162 -0
  157. package/design-systems/bold-geometric.md +120 -0
  158. package/design-systems/brutalist-bold.md +103 -0
  159. package/design-systems/editorial-clean.md +109 -0
  160. package/design-systems/glass-aurora.md +108 -0
  161. package/design-systems/modern-minimal.md +145 -0
  162. package/design-systems/premium-luxury.md +106 -0
  163. package/design-systems/product-type-design-map.md +48 -0
  164. package/design-systems/soft-warm.md +123 -0
  165. package/design-systems/tech-utility.md +113 -0
  166. package/desktop/01-standards/desktop-app-standard.md +72 -0
  167. package/desktop/01-standards/desktop-design.md +71 -0
  168. package/development/00-governance/document-template.md +41 -0
  169. package/development/01-standards/api-versioning-strategies.md +432 -0
  170. package/development/01-standards/authentication-patterns-complete.md +479 -0
  171. package/development/01-standards/css-architecture-complete.md +550 -0
  172. package/development/01-standards/database-migration-strategies.md +484 -0
  173. package/development/01-standards/elasticsearch-complete.md +347 -0
  174. package/development/01-standards/git-complete.md +371 -0
  175. package/development/01-standards/golang-complete.md +1565 -0
  176. package/development/01-standards/graphql-complete.md +298 -0
  177. package/development/01-standards/javascript-bundlers-complete.md +469 -0
  178. package/development/01-standards/javascript-typescript-complete.md +528 -0
  179. package/development/01-standards/jest-complete.md +275 -0
  180. package/development/01-standards/linux-complete.md +234 -0
  181. package/development/01-standards/logging-observability-complete.md +526 -0
  182. package/development/01-standards/microservices-communication.md +502 -0
  183. package/development/01-standards/mongodb-complete.md +406 -0
  184. package/development/01-standards/oauth2-complete.md +285 -0
  185. package/development/01-standards/performance-optimization-complete.md +289 -0
  186. package/development/01-standards/playwright-complete.md +247 -0
  187. package/development/01-standards/postgresql-complete.md +456 -0
  188. package/development/01-standards/pytest-complete.md +340 -0
  189. package/development/01-standards/python-async-programming.md +902 -0
  190. package/development/01-standards/python-complete.md +956 -0
  191. package/development/01-standards/python-decorators-complete.md +799 -0
  192. package/development/01-standards/python-design-patterns.md +2854 -0
  193. package/development/01-standards/python-packaging-distribution.md +420 -0
  194. package/development/01-standards/python-testing-strategies.md +607 -0
  195. package/development/01-standards/python-web-frameworks-comparison.md +471 -0
  196. package/development/01-standards/redis-complete.md +317 -0
  197. package/development/01-standards/rest-api-complete.md +316 -0
  198. package/development/01-standards/rust-complete.md +578 -0
  199. package/development/01-standards/typescript-advanced-types.md +1513 -0
  200. package/development/01-standards/web-security-complete.md +292 -0
  201. package/development/02-playbooks/api-design-playbook.md +810 -0
  202. package/development/02-playbooks/database-migration-playbook.md +580 -0
  203. package/development/02-playbooks/debugging-playbook.md +692 -0
  204. package/development/02-playbooks/feature-delivery-playbook.md +430 -0
  205. package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
  206. package/development/02-playbooks/performance-optimization-playbook.md +531 -0
  207. package/development/02-playbooks/performance-tuning-playbook.md +652 -0
  208. package/development/02-playbooks/refactor-playbook.md +403 -0
  209. package/development/02-playbooks/release-playbook.md +469 -0
  210. package/development/03-checklists/architecture-review-checklist.md +168 -0
  211. package/development/03-checklists/data-migration-checklist.md +157 -0
  212. package/development/03-checklists/oncall-handover-checklist.md +173 -0
  213. package/development/03-checklists/pr-checklist.md +158 -0
  214. package/development/03-checklists/production-readiness-checklist.md +190 -0
  215. package/development/03-checklists/release-readiness-checklist.md +154 -0
  216. package/development/03-checklists/security-review-checklist.md +182 -0
  217. package/development/04-antipatterns/api-antipatterns.md +657 -0
  218. package/development/04-antipatterns/architecture-antipatterns.md +686 -0
  219. package/development/04-antipatterns/backend-antipatterns.md +648 -0
  220. package/development/04-antipatterns/cicd-antipatterns.md +540 -0
  221. package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
  222. package/development/04-antipatterns/data-antipatterns.md +658 -0
  223. package/development/04-antipatterns/database-antipatterns.md +578 -0
  224. package/development/04-antipatterns/frontend-antipatterns.md +635 -0
  225. package/development/04-antipatterns/reliability-antipatterns.md +700 -0
  226. package/development/04-antipatterns/security-antipatterns.md +747 -0
  227. package/development/05-cases/case-api-version-migration.md +428 -0
  228. package/development/05-cases/case-authorization-hardening.md +383 -0
  229. package/development/05-cases/case-bluegreen-rollback.md +466 -0
  230. package/development/05-cases/case-cache-snowball-protection.md +485 -0
  231. package/development/05-cases/case-ci-cd-pipeline.md +544 -0
  232. package/development/05-cases/case-database-scaling.md +500 -0
  233. package/development/05-cases/case-db-hotspot-optimization.md +487 -0
  234. package/development/05-cases/case-incident-mttr-reduction.md +563 -0
  235. package/development/05-cases/case-microservice-migration.md +375 -0
  236. package/development/05-cases/case-performance-optimization.md +406 -0
  237. package/development/05-cases/case-security-incident-response.md +345 -0
  238. package/development/06-glossary/full-stack-glossary.md +166 -0
  239. package/development/09-maturity/quarterly-audit-template.md +35 -0
  240. package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
  241. package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
  242. package/development/12-scenarios/development-scenarios-guide.md +565 -0
  243. package/development/13-implementation-assets/implementation-toolkit.md +282 -0
  244. package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
  245. package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
  246. package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
  247. package/development/api-contract-and-versioning-guide.md +36 -0
  248. package/development/api-governance-complete.md +43 -0
  249. package/development/backend-engineering-complete.md +43 -0
  250. package/development/code-review-quality-complete.md +43 -0
  251. package/development/concurrency-reliability-complete.md +43 -0
  252. package/development/database-engineering-complete.md +43 -0
  253. package/development/engineering-effectiveness-complete.md +43 -0
  254. package/development/engineering-standards-deep-dive.md +38 -0
  255. package/development/frontend-engineering-complete.md +43 -0
  256. package/development/performance-capacity-complete.md +43 -0
  257. package/development/refactor-migration-complete.md +42 -0
  258. package/development/refactoring-and-techdebt-playbook.md +37 -0
  259. package/development/security-in-development-complete.md +43 -0
  260. package/devops/01-standards/cicd-pipeline-complete.md +262 -0
  261. package/devops/01-standards/docker-complete.md +1490 -0
  262. package/devops/01-standards/github-actions-complete.md +337 -0
  263. package/devops/01-standards/kubernetes-complete.md +638 -0
  264. package/devops/01-standards/terraform-complete.md +2117 -0
  265. package/devops/02-playbooks/docker-compose-playbook.md +233 -0
  266. package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
  267. package/devops/02-playbooks/docker-production-playbook.md +952 -0
  268. package/edge-iot/01-standards/edge-iot-complete.md +473 -0
  269. package/experts/architect/api-design.md +178 -0
  270. package/experts/architect/methodology.md +124 -0
  271. package/experts/architect/security.md +75 -0
  272. package/experts/backend-lead/methodology.md +216 -0
  273. package/experts/devops/methodology.md +160 -0
  274. package/experts/frontend-lead/methodology.md +178 -0
  275. package/experts/product-manager/industry/ecommerce.md +43 -0
  276. package/experts/product-manager/industry/saas.md +40 -0
  277. package/experts/product-manager/methodology.md +97 -0
  278. package/experts/qa-lead/methodology.md +123 -0
  279. package/experts/qa-lead/test-strategy.md +128 -0
  280. package/experts/uiux-designer/methodology.md +125 -0
  281. package/frontend/01-standards/accessibility-complete.md +532 -0
  282. package/frontend/01-standards/accessibility-standard.md +74 -0
  283. package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
  284. package/frontend/01-standards/design-tokens-complete.md +444 -0
  285. package/frontend/01-standards/forms-and-validation.md +77 -0
  286. package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
  287. package/frontend/01-standards/i18n-and-localization.md +65 -0
  288. package/frontend/01-standards/nextjs-complete.md +451 -0
  289. package/frontend/01-standards/react-complete.md +713 -0
  290. package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
  291. package/frontend/01-standards/react-hooks-complete.md +1171 -0
  292. package/frontend/01-standards/seo-and-web-vitals.md +77 -0
  293. package/frontend/01-standards/state-management-complete.md +444 -0
  294. package/frontend/01-standards/vue-complete.md +499 -0
  295. package/frontend/01-standards/vue3-complete.md +2002 -0
  296. package/frontend/01-standards/web-framework-best-practices.md +64 -0
  297. package/frontend/01-standards/web-performance-complete.md +495 -0
  298. package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
  299. package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
  300. package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
  301. package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
  302. package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
  303. package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
  304. package/frontend/03-checklists/component-quality-checklist.md +166 -0
  305. package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
  306. package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
  307. package/frontend/05-cases/case-performance-optimization.md +274 -0
  308. package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
  309. package/harmony/01-standards/harmonyos-design.md +65 -0
  310. package/high-quality-engineering-playbook.md +54 -0
  311. package/incident/01-standards/incident-response-complete.md +303 -0
  312. package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
  313. package/incident/02-playbooks/postmortem-playbook.md +398 -0
  314. package/incident/03-checklists/incident-readiness-checklist.md +181 -0
  315. package/incident/04-antipatterns/incident-antipatterns.md +490 -0
  316. package/incident/05-cases/case-cascade-failure.md +176 -0
  317. package/incident/06-glossary/incident-glossary.md +114 -0
  318. package/incident/postmortem-and-response-deep-dive.md +39 -0
  319. package/industries/ecommerce/ecommerce-complete.md +631 -0
  320. package/industries/education/education-complete.md +555 -0
  321. package/industries/fintech/fintech-complete.md +501 -0
  322. package/industries/gaming/gaming-complete.md +587 -0
  323. package/industries/healthcare/healthcare-complete.md +452 -0
  324. package/low-code/01-standards/low-code-complete.md +944 -0
  325. package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
  326. package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
  327. package/miniprogram/01-standards/miniprogram-design.md +61 -0
  328. package/miniprogram/01-standards/miniprogram-standard.md +81 -0
  329. package/mobile/01-standards/android-material-design.md +70 -0
  330. package/mobile/01-standards/flutter-complete.md +384 -0
  331. package/mobile/01-standards/ios-design-hig.md +78 -0
  332. package/mobile/01-standards/mobile-app-standard.md +85 -0
  333. package/mobile/01-standards/react-native-complete.md +352 -0
  334. package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
  335. package/mobile/02-playbooks/mobile-performance.md +473 -0
  336. package/mobile/03-checklists/mobile-release-checklist.md +234 -0
  337. package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
  338. package/mobile/05-cases/case-app-performance.md +500 -0
  339. package/mobile/05-cases/case-app-startup-optimization.md +218 -0
  340. package/mobile/06-glossary/mobile-glossary.md +484 -0
  341. package/observability/01-standards/observability-standards.md +103 -0
  342. package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
  343. package/observability/02-playbooks/structured-logging-playbook.md +73 -0
  344. package/observability/03-checklists/observability-checklist.md +54 -0
  345. package/observability/04-antipatterns/observability-antipatterns.md +106 -0
  346. package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
  347. package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
  348. package/operations/03-checklists/production-launch-checklist.md +365 -0
  349. package/operations/04-antipatterns/operations-antipatterns.md +664 -0
  350. package/operations/05-cases/case-sre-practices.md +581 -0
  351. package/operations/06-glossary/operations-glossary.md +120 -0
  352. package/operations/aiops-anomaly-detection.md +758 -0
  353. package/operations/capacity-planning.md +1061 -0
  354. package/operations/chaos-engineering.md +659 -0
  355. package/operations/incident-command-system.md +38 -0
  356. package/operations/observability-complete.md +442 -0
  357. package/operations/slo-sli-playbook.md +517 -0
  358. package/operations/sre-operations-deep-dive.md +39 -0
  359. package/package.json +8 -0
  360. package/performance/01-standards/performance-and-scalability.md +80 -0
  361. package/performance/01-standards/performance-standards.md +156 -0
  362. package/performance/02-playbooks/query-optimization-playbook.md +103 -0
  363. package/performance/03-checklists/performance-checklist.md +56 -0
  364. package/performance/04-antipatterns/performance-antipatterns.md +146 -0
  365. package/product/01-standards/product-management-complete.md +285 -0
  366. package/product/02-playbooks/feature-launch-playbook.md +207 -0
  367. package/product/02-playbooks/user-research-playbook.md +532 -0
  368. package/product/03-checklists/feature-launch-checklist.md +275 -0
  369. package/product/04-antipatterns/product-antipatterns.md +355 -0
  370. package/product/05-cases/case-mvp-to-scale.md +384 -0
  371. package/product/06-glossary/product-glossary.md +462 -0
  372. package/product/feature-prioritization-framework.md +40 -0
  373. package/product/kpi-and-metric-tree.md +37 -0
  374. package/product/product-discovery-and-prd-deep-dive.md +41 -0
  375. package/quantum/01-standards/quantum-complete.md +1186 -0
  376. package/security/01-standards/api-security-complete.md +511 -0
  377. package/security/01-standards/container-runtime-security.md +574 -0
  378. package/security/01-standards/data-protection-gdpr.md +543 -0
  379. package/security/01-standards/owasp-top10-complete.md +1890 -0
  380. package/security/01-standards/secure-coding-baseline.md +90 -0
  381. package/security/01-standards/supply-chain-security.md +441 -0
  382. package/security/01-standards/web-security-checklist.md +108 -0
  383. package/security/01-standards/zero-trust-architecture.md +521 -0
  384. package/security/02-playbooks/auth-sso-playbook.md +166 -0
  385. package/security/02-playbooks/incident-response-security-playbook.md +588 -0
  386. package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
  387. package/security/02-playbooks/payment-integration-playbook.md +119 -0
  388. package/security/02-playbooks/penetration-testing-playbook.md +517 -0
  389. package/security/03-checklists/security-audit-checklist.md +356 -0
  390. package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
  391. package/security/05-cases/case-log4shell-incident.md +537 -0
  392. package/security/05-cases/case-major-breaches.md +468 -0
  393. package/security/06-glossary/security-glossary.md +212 -0
  394. package/security/compliance-automation.md +993 -0
  395. package/security/container-security.md +680 -0
  396. package/security/devsecops-complete.md +426 -0
  397. package/security/sast-dast-sca.md +775 -0
  398. package/security/secrets-management.md +594 -0
  399. package/security/security-architecture-deep-dive.md +37 -0
  400. package/security/threat-modeling-stride-playbook.md +40 -0
  401. package/seed-templates/auth-system.md +59 -0
  402. package/seed-templates/blog-content.md +94 -0
  403. package/seed-templates/dashboard.md +89 -0
  404. package/seed-templates/docs-site.md +73 -0
  405. package/seed-templates/e-commerce.md +50 -0
  406. package/seed-templates/saas-landing.md +92 -0
  407. package/seed-templates/settings-page.md +51 -0
  408. package/testing/01-standards/test-strategy-and-layering.md +83 -0
  409. package/testing/01-standards/testing-strategy-complete.md +422 -0
  410. package/testing/01-standards/unit-testing-best-practices.md +118 -0
  411. package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
  412. package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
  413. package/testing/03-checklists/test-strategy-checklist.md +208 -0
  414. package/testing/04-antipatterns/testing-antipatterns.md +718 -0
  415. package/testing/05-cases/case-testing-transformation.md +300 -0
  416. package/testing/06-glossary/testing-glossary.md +110 -0
  417. package/testing/risk-based-test-matrix.md +36 -0
  418. package/testing/testing-strategy-deep-dive.md +37 -0
@@ -0,0 +1,812 @@
1
+ ---
2
+ title: Kubernetes 完整标准
3
+ version: 1.0.0
4
+ last_updated: 2025-03-20
5
+ owner: platform-team
6
+ tags: [kubernetes, container-orchestration, cloud-native]
7
+ status: production
8
+ domain: cloud-native
9
+ difficulty: intermediate
10
+ quality_score: 70
11
+ ---
12
+
13
+ # 开发:Excellent(11964948@qq.com)
14
+ # 功能:Kubernetes 完整开发与运维标准
15
+ # 作用:为 K8s 集群管理、应用部署、安全治理提供统一规范
16
+ # 创建时间:2025-03-20
17
+ # 最后修改:2025-03-20
18
+
19
+ ## 目标
20
+
21
+ 建立生产级 Kubernetes 集群的标准化管理规范,确保:
22
+ - 集群配置一致性和可重复性
23
+ - 应用部署的最佳实践
24
+ - 资源利用率和成本优化
25
+ - 安全性和合规性
26
+
27
+ ## 适用场景
28
+
29
+ - 生产环境 K8s 集群规划与建设
30
+ - 应用容器化迁移
31
+ - 多集群、多环境治理
32
+ - 平台工程团队标准化
33
+
34
+ ## 核心标准
35
+
36
+ ### 1. 集群架构标准
37
+
38
+ #### 控制平面配置
39
+
40
+ ```yaml
41
+ # 控制平面节点最低要求
42
+ apiVersion: kubeadm.k8s.io/v1beta3
43
+ kind: ClusterConfiguration
44
+ kubernetesVersion: "1.28.x"
45
+ controlPlaneEndpoint: "k8s-api.internal:6443"
46
+ etcd:
47
+ local:
48
+ dataDir: /var/lib/etcd
49
+ extraArgs:
50
+ heartbeat-interval: "500"
51
+ election-timeout: "2500"
52
+ snapshot-count: "10000"
53
+ apiServer:
54
+ extraArgs:
55
+ enable-admission-plugins: "NodeRestriction,PodSecurityPolicy,LimitRanger,ServiceAccount"
56
+ audit-log-path: /var/log/kubernetes/audit.log
57
+ audit-log-maxage: "30"
58
+ audit-log-maxbackup: "10"
59
+ audit-log-maxsize: "100"
60
+ controllerManager:
61
+ extraArgs:
62
+ node-cidr-mask-size: "24"
63
+ cluster-signing-duration: "8760h"
64
+ scheduler:
65
+ extraArgs:
66
+ bind-address: "0.0.0.0"
67
+ ```
68
+
69
+ #### 节点池规划
70
+
71
+ ```yaml
72
+ # 系统节点池
73
+ apiVersion: v1
74
+ kind: Node
75
+ metadata:
76
+ labels:
77
+ node.kubernetes.io/instance-type: system
78
+ node.kubernetes.io/pool: system
79
+ spec:
80
+ taints:
81
+ - key: node.kubernetes.io/dedicated
82
+ value: system
83
+ effect: NoSchedule
84
+ capacity:
85
+ cpu: "4"
86
+ memory: "16Gi"
87
+
88
+ ---
89
+ # 工作节点池(通用)
90
+ apiVersion: v1
91
+ kind: Node
92
+ metadata:
93
+ labels:
94
+ node.kubernetes.io/instance-type: general-purpose
95
+ node.kubernetes.io/pool: general
96
+ spec:
97
+ capacity:
98
+ cpu: "8"
99
+ memory: "32Gi"
100
+
101
+ ---
102
+ # 计算密集型节点池
103
+ apiVersion: v1
104
+ kind: Node
105
+ metadata:
106
+ labels:
107
+ node.kubernetes.io/instance-type: compute-optimized
108
+ node.kubernetes.io/pool: compute
109
+ spec:
110
+ taints:
111
+ - key: workload-type
112
+ value: compute-intensive
113
+ effect: NoSchedule
114
+ capacity:
115
+ cpu: "32"
116
+ memory: "64Gi"
117
+
118
+ ---
119
+ # 内存密集型节点池
120
+ apiVersion: v1
121
+ kind: Node
122
+ metadata:
123
+ labels:
124
+ node.kubernetes.io/instance-type: memory-optimized
125
+ node.kubernetes.io/pool: memory
126
+ spec:
127
+ taints:
128
+ - key: workload-type
129
+ value: memory-intensive
130
+ effect: NoSchedule
131
+ capacity:
132
+ cpu: "16"
133
+ memory: "256Gi"
134
+ ```
135
+
136
+ ### 2. 命名空间标准
137
+
138
+ ```yaml
139
+ apiVersion: v1
140
+ kind: Namespace
141
+ metadata:
142
+ name: production-app
143
+ labels:
144
+ environment: production
145
+ team: backend
146
+ cost-center: "12345"
147
+ annotations:
148
+ scheduler.alpha.kubernetes.io/defaultTolerations: '[]'
149
+ scheduler.alpha.kubernetes.io/tolerationsWhitelist: '[]'
150
+ resource-quota.enforcement: "strict"
151
+ spec:
152
+ finalizers:
153
+ - kubernetes
154
+ ```
155
+
156
+ #### 命名空间配额
157
+
158
+ ```yaml
159
+ apiVersion: v1
160
+ kind: ResourceQuota
161
+ metadata:
162
+ name: production-quota
163
+ namespace: production-app
164
+ spec:
165
+ hard:
166
+ requests.cpu: "100"
167
+ requests.memory: "200Gi"
168
+ limits.cpu: "200"
169
+ limits.memory: "400Gi"
170
+ persistentvolumeclaims: "50"
171
+ pods: "200"
172
+ services: "50"
173
+ secrets: "100"
174
+ configmaps: "100"
175
+ scopeSelector:
176
+ matchExpressions:
177
+ - operator: In
178
+ scopeName: PriorityClass
179
+ values:
180
+ - high-priority
181
+ - medium-priority
182
+ ```
183
+
184
+ ### 3. 工作负载标准
185
+
186
+ #### Pod 配置规范
187
+
188
+ ```yaml
189
+ apiVersion: v1
190
+ kind: Pod
191
+ metadata:
192
+ name: application-pod
193
+ namespace: production-app
194
+ labels:
195
+ app: sample-app
196
+ version: v1.2.3
197
+ tier: backend
198
+ spec:
199
+ serviceAccountName: app-service-account
200
+ securityContext:
201
+ runAsNonRoot: true
202
+ runAsUser: 1000
203
+ runAsGroup: 1000
204
+ fsGroup: 1000
205
+ seccompProfile:
206
+ type: RuntimeDefault
207
+ containers:
208
+ - name: app
209
+ image: registry.internal/app:v1.2.3
210
+ ports:
211
+ - containerPort: 8080
212
+ protocol: TCP
213
+ resources:
214
+ requests:
215
+ cpu: "500m"
216
+ memory: "1Gi"
217
+ limits:
218
+ cpu: "2000m"
219
+ memory: "4Gi"
220
+ securityContext:
221
+ allowPrivilegeEscalation: false
222
+ readOnlyRootFilesystem: true
223
+ capabilities:
224
+ drop:
225
+ - ALL
226
+ env:
227
+ - name: LOG_LEVEL
228
+ value: "info"
229
+ - name: DATABASE_URL
230
+ valueFrom:
231
+ secretKeyRef:
232
+ name: db-credentials
233
+ key: url
234
+ envFrom:
235
+ - configMapRef:
236
+ name: app-config
237
+ livenessProbe:
238
+ httpGet:
239
+ path: /health/live
240
+ port: 8080
241
+ initialDelaySeconds: 30
242
+ periodSeconds: 10
243
+ timeoutSeconds: 5
244
+ failureThreshold: 3
245
+ readinessProbe:
246
+ httpGet:
247
+ path: /health/ready
248
+ port: 8080
249
+ initialDelaySeconds: 10
250
+ periodSeconds: 5
251
+ timeoutSeconds: 3
252
+ failureThreshold: 3
253
+ startupProbe:
254
+ httpGet:
255
+ path: /health/startup
256
+ port: 8080
257
+ initialDelaySeconds: 10
258
+ periodSeconds: 5
259
+ timeoutSeconds: 3
260
+ failureThreshold: 30
261
+ volumeMounts:
262
+ - name: config
263
+ mountPath: /etc/app/config
264
+ readOnly: true
265
+ - name: tmp
266
+ mountPath: /tmp
267
+ - name: cache
268
+ mountPath: /var/cache/app
269
+ lifecycle:
270
+ preStop:
271
+ exec:
272
+ command: ["/bin/sh", "-c", "sleep 15"]
273
+ volumes:
274
+ - name: config
275
+ configMap:
276
+ name: app-config
277
+ - name: tmp
278
+ emptyDir: {}
279
+ - name: cache
280
+ emptyDir:
281
+ sizeLimit: "1Gi"
282
+ terminationGracePeriodSeconds: 60
283
+ topologySpreadConstraints:
284
+ - maxSkew: 1
285
+ topologyKey: topology.kubernetes.io/zone
286
+ whenUnsatisfiable: ScheduleAnyway
287
+ labelSelector:
288
+ matchLabels:
289
+ app: sample-app
290
+ affinity:
291
+ podAntiAffinity:
292
+ preferredDuringSchedulingIgnoredDuringExecution:
293
+ - weight: 100
294
+ podAffinityTerm:
295
+ labelSelector:
296
+ matchLabels:
297
+ app: sample-app
298
+ topologyKey: kubernetes.io/hostname
299
+ ```
300
+
301
+ #### Deployment 标准
302
+
303
+ ```yaml
304
+ apiVersion: apps/v1
305
+ kind: Deployment
306
+ metadata:
307
+ name: application
308
+ namespace: production-app
309
+ labels:
310
+ app: sample-app
311
+ spec:
312
+ replicas: 3
313
+ strategy:
314
+ type: RollingUpdate
315
+ rollingUpdate:
316
+ maxSurge: 1
317
+ maxUnavailable: 0
318
+ selector:
319
+ matchLabels:
320
+ app: sample-app
321
+ template:
322
+ metadata:
323
+ labels:
324
+ app: sample-app
325
+ version: v1.2.3
326
+ annotations:
327
+ prometheus.io/scrape: "true"
328
+ prometheus.io/port: "8080"
329
+ prometheus.io/path: "/metrics"
330
+ spec:
331
+ # 继承上述 Pod 配置
332
+ ```
333
+
334
+ ### 4. 服务与网络标准
335
+
336
+ ```yaml
337
+ apiVersion: v1
338
+ kind: Service
339
+ metadata:
340
+ name: application-service
341
+ namespace: production-app
342
+ labels:
343
+ app: sample-app
344
+ spec:
345
+ type: ClusterIP
346
+ selector:
347
+ app: sample-app
348
+ ports:
349
+ - name: http
350
+ port: 80
351
+ targetPort: 8080
352
+ protocol: TCP
353
+ ---
354
+ apiVersion: networking.k8s.io/v1
355
+ kind: Ingress
356
+ metadata:
357
+ name: application-ingress
358
+ namespace: production-app
359
+ annotations:
360
+ nginx.ingress.kubernetes.io/ssl-redirect: "true"
361
+ nginx.ingress.kubernetes.io/proxy-body-size: "10m"
362
+ nginx.ingress.kubernetes.io/rate-limit: "100"
363
+ nginx.ingress.kubernetes.io/rate-limit-window: "1m"
364
+ cert-manager.io/cluster-issuer: "letsencrypt-prod"
365
+ spec:
366
+ ingressClassName: nginx
367
+ tls:
368
+ - hosts:
369
+ - app.example.com
370
+ secretName: app-tls
371
+ rules:
372
+ - host: app.example.com
373
+ http:
374
+ paths:
375
+ - path: /
376
+ pathType: Prefix
377
+ backend:
378
+ service:
379
+ name: application-service
380
+ port:
381
+ number: 80
382
+ ```
383
+
384
+ #### 网络策略
385
+
386
+ ```yaml
387
+ apiVersion: networking.k8s.io/v1
388
+ kind: NetworkPolicy
389
+ metadata:
390
+ name: application-network-policy
391
+ namespace: production-app
392
+ spec:
393
+ podSelector:
394
+ matchLabels:
395
+ app: sample-app
396
+ policyTypes:
397
+ - Ingress
398
+ - Egress
399
+ ingress:
400
+ - from:
401
+ - namespaceSelector:
402
+ matchLabels:
403
+ name: ingress-nginx
404
+ - podSelector:
405
+ matchLabels:
406
+ app: another-app
407
+ ports:
408
+ - protocol: TCP
409
+ port: 8080
410
+ egress:
411
+ - to:
412
+ - namespaceSelector:
413
+ matchLabels:
414
+ name: database
415
+ ports:
416
+ - protocol: TCP
417
+ port: 5432
418
+ - to:
419
+ - namespaceSelector: {}
420
+ podSelector:
421
+ matchLabels:
422
+ k8s-app: kube-dns
423
+ ports:
424
+ - protocol: UDP
425
+ port: 53
426
+ ```
427
+
428
+ ### 5. 配置管理标准
429
+
430
+ ```yaml
431
+ apiVersion: v1
432
+ kind: ConfigMap
433
+ metadata:
434
+ name: app-config
435
+ namespace: production-app
436
+ labels:
437
+ app: sample-app
438
+ data:
439
+ LOG_LEVEL: "info"
440
+ MAX_CONNECTIONS: "100"
441
+ CACHE_TTL: "3600"
442
+ config.yaml: |
443
+ server:
444
+ port: 8080
445
+ timeout: 30s
446
+ database:
447
+ pool_size: 20
448
+ timeout: 5s
449
+ ---
450
+ apiVersion: v1
451
+ kind: Secret
452
+ metadata:
453
+ name: db-credentials
454
+ namespace: production-app
455
+ labels:
456
+ app: sample-app
457
+ type: Opaque
458
+ stringData:
459
+ url: "postgresql://user:pass@db:5432/appdb"
460
+ username: "app_user"
461
+ password: "secure_password_here"
462
+ ```
463
+
464
+ ### 6. 持久化存储标准
465
+
466
+ ```yaml
467
+ apiVersion: v1
468
+ kind: PersistentVolumeClaim
469
+ metadata:
470
+ name: app-data
471
+ namespace: production-app
472
+ labels:
473
+ app: sample-app
474
+ spec:
475
+ accessModes:
476
+ - ReadWriteOnce
477
+ storageClassName: ssd-storage
478
+ resources:
479
+ requests:
480
+ storage: 100Gi
481
+ ---
482
+ apiVersion: storage.k8s.io/v1
483
+ kind: StorageClass
484
+ metadata:
485
+ name: ssd-storage
486
+ provisioner: kubernetes.io/gce-pd
487
+ parameters:
488
+ type: pd-ssd
489
+ replication-type: regional-pd
490
+ reclaimPolicy: Retain
491
+ allowVolumeExpansion: true
492
+ volumeBindingMode: WaitForFirstConsumer
493
+ allowedTopologies:
494
+ - matchLabelExpressions:
495
+ - key: topology.kubernetes.io/zone
496
+ values:
497
+ - us-central1-a
498
+ - us-central1-b
499
+ ```
500
+
501
+ ### 7. 可观测性标准
502
+
503
+ ```yaml
504
+ # ServiceMonitor for Prometheus
505
+ apiVersion: monitoring.coreos.com/v1
506
+ kind: ServiceMonitor
507
+ metadata:
508
+ name: application-monitor
509
+ namespace: production-app
510
+ labels:
511
+ app: sample-app
512
+ release: prometheus
513
+ spec:
514
+ selector:
515
+ matchLabels:
516
+ app: sample-app
517
+ endpoints:
518
+ - port: http
519
+ path: /metrics
520
+ interval: 30s
521
+ scrapeTimeout: 10s
522
+
523
+ ---
524
+ # PrometheusRule for alerting
525
+ apiVersion: monitoring.coreos.com/v1
526
+ kind: PrometheusRule
527
+ metadata:
528
+ name: application-alerts
529
+ namespace: production-app
530
+ labels:
531
+ app: sample-app
532
+ release: prometheus
533
+ spec:
534
+ groups:
535
+ - name: application.rules
536
+ rules:
537
+ - alert: HighErrorRate
538
+ expr: |
539
+ sum(rate(http_requests_total{status=~"5..", app="sample-app"}[5m]))
540
+ /
541
+ sum(rate(http_requests_total{app="sample-app"}[5m])) > 0.05
542
+ for: 5m
543
+ labels:
544
+ severity: critical
545
+ annotations:
546
+ summary: "High error rate detected"
547
+ description: "Error rate is {{ $value | humanizePercentage }}"
548
+ ```
549
+
550
+ ## 执行清单
551
+
552
+ ### 集群初始化
553
+
554
+ - [ ] 配置控制平面高可用(至少 3 个 master 节点)
555
+ - [ ] 启用审计日志并配置保留策略
556
+ - [ ] 配置 RBAC 和服务账户
557
+ - [ ] 安装网络插件(Calico/Cilium)
558
+ - [ ] 配置存储类和默认 StorageClass
559
+ - [ ] 安装 metrics-server
560
+ - [ ] 配置 Pod Security Standards
561
+ - [ ] 安装 ingress controller
562
+ - [ ] 配置证书管理(cert-manager)
563
+
564
+ ### 应用部署
565
+
566
+ - [ ] 定义资源请求和限制
567
+ - [ ] 配置健康检查(liveness/readiness/startup)
568
+ - [ ] 配置优雅终止(terminationGracePeriodSeconds)
569
+ - [ ] 设置 Pod 反亲和性(跨节点/可用区)
570
+ - [ ] 配置网络策略
571
+ - [ ] 设置 PodDisruptionBudget
572
+ - [ ] 配置 HorizontalPodAutoscaler
573
+ - [ ] 添加监控和日志采集
574
+
575
+ ### 安全加固
576
+
577
+ - [ ] 禁用特权容器
578
+ - [ ] 强制非 root 用户运行
579
+ - [ ] 配置只读根文件系统
580
+ - [ ] 限制 capabilities
581
+ - [ ] 启用 seccomp 配置
582
+ - [ ] 配置网络策略
583
+ - [ ] 启用镜像签名验证
584
+ - [ ] 配置 secret 加密
585
+
586
+ ## 最佳实践
587
+
588
+ ### 1. 资源管理
589
+
590
+ ```yaml
591
+ # 推荐的资源配额层级
592
+ # Tier 1: 关键服务
593
+ resources:
594
+ requests:
595
+ cpu: "1000m"
596
+ memory: "2Gi"
597
+ limits:
598
+ cpu: "4000m"
599
+ memory: "8Gi"
600
+
601
+ # Tier 2: 核心服务
602
+ resources:
603
+ requests:
604
+ cpu: "500m"
605
+ memory: "1Gi"
606
+ limits:
607
+ cpu: "2000m"
608
+ memory: "4Gi"
609
+
610
+ # Tier 3: 一般服务
611
+ resources:
612
+ requests:
613
+ cpu: "100m"
614
+ memory: "256Mi"
615
+ limits:
616
+ cpu: "500m"
617
+ memory: "1Gi"
618
+ ```
619
+
620
+ ### 2. 更新策略
621
+
622
+ ```yaml
623
+ # 生产环境推荐配置
624
+ strategy:
625
+ type: RollingUpdate
626
+ rollingUpdate:
627
+ maxSurge: 1 # 每次最多新增 1 个 Pod
628
+ maxUnavailable: 0 # 不允许不可用
629
+
630
+ # 配合 PDB
631
+ apiVersion: policy/v1
632
+ kind: PodDisruptionBudget
633
+ metadata:
634
+ name: application-pdb
635
+ namespace: production-app
636
+ spec:
637
+ minAvailable: 2
638
+ selector:
639
+ matchLabels:
640
+ app: sample-app
641
+ ```
642
+
643
+ ### 3. 自动扩缩
644
+
645
+ ```yaml
646
+ apiVersion: autoscaling/v2
647
+ kind: HorizontalPodAutoscaler
648
+ metadata:
649
+ name: application-hpa
650
+ namespace: production-app
651
+ spec:
652
+ scaleTargetRef:
653
+ apiVersion: apps/v1
654
+ kind: Deployment
655
+ name: application
656
+ minReplicas: 3
657
+ maxReplicas: 20
658
+ metrics:
659
+ - type: Resource
660
+ resource:
661
+ name: cpu
662
+ target:
663
+ type: Utilization
664
+ averageUtilization: 70
665
+ - type: Resource
666
+ resource:
667
+ name: memory
668
+ target:
669
+ type: Utilization
670
+ averageUtilization: 80
671
+ behavior:
672
+ scaleDown:
673
+ stabilizationWindowSeconds: 300
674
+ policies:
675
+ - type: Percent
676
+ value: 10
677
+ periodSeconds: 60
678
+ scaleUp:
679
+ stabilizationWindowSeconds: 60
680
+ policies:
681
+ - type: Percent
682
+ value: 100
683
+ periodSeconds: 15
684
+ ```
685
+
686
+ ### 4. 节点维护
687
+
688
+ ```bash
689
+ # 安全驱逐 Pod 进行节点维护
690
+ kubectl cordon <node-name>
691
+ kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data --grace-period=60 --timeout=300s
692
+
693
+ # 维护完成后恢复
694
+ kubectl uncordon <node-name>
695
+ ```
696
+
697
+ ## 反模式
698
+
699
+ ### 禁止操作
700
+
701
+ - 不设置资源限制导致资源争抢
702
+ - 使用 latest 镜像标签
703
+ - 单副本部署无反亲和性
704
+ - 特权容器运行
705
+ - 硬编码配置在镜像中
706
+ - 忽略健康检查配置
707
+ - 网络策略全开放
708
+ - Secret 明文存储在 ConfigMap
709
+
710
+ ### 配置示例
711
+
712
+ ```yaml
713
+ # [FAIL] 错误示例
714
+ apiVersion: v1
715
+ kind: Pod
716
+ metadata:
717
+ name: bad-pod
718
+ spec:
719
+ containers:
720
+ - name: app
721
+ image: myapp:latest # 禁止使用 latest
722
+ # 缺少资源限制
723
+ # 缺少健康检查
724
+ securityContext:
725
+ privileged: true # 禁止特权模式
726
+ ```
727
+
728
+ ## 实战案例
729
+
730
+ ### 案例 1:生产集群升级
731
+
732
+ ```bash
733
+ # 升级前检查
734
+ kubeadm upgrade plan
735
+
736
+ # 升级控制平面
737
+ kubeadm upgrade apply v1.28.0
738
+
739
+ # 逐个升级工作节点
740
+ kubectl drain <node> --ignore-daemonsets
741
+ kubeadm upgrade node
742
+ kubectl uncordon <node>
743
+ ```
744
+
745
+ ### 案例 2:资源优化
746
+
747
+ ```yaml
748
+ # 使用 VPA 推荐资源
749
+ apiVersion: autoscaling.k8s.io/v1
750
+ kind: VerticalPodAutoscaler
751
+ metadata:
752
+ name: application-vpa
753
+ spec:
754
+ targetRef:
755
+ apiVersion: apps/v1
756
+ kind: Deployment
757
+ name: application
758
+ updatePolicy:
759
+ updateMode: "Auto"
760
+ resourcePolicy:
761
+ containerPolicies:
762
+ - containerName: app
763
+ minAllowed:
764
+ cpu: 100m
765
+ memory: 256Mi
766
+ maxAllowed:
767
+ cpu: 2000m
768
+ memory: 4Gi
769
+ controlledResources: ["cpu", "memory"]
770
+ ```
771
+
772
+ ## 检查清单
773
+
774
+ ### 部署前检查
775
+
776
+ - [ ] 镜像使用确定版本标签
777
+ - [ ] 资源请求和限制已配置
778
+ - [ ] 健康检查已配置
779
+ - [ ] 网络策略已定义
780
+ - [ ] RBAC 权限最小化
781
+ - [ ] Secret 已加密存储
782
+ - [ ] 日志和监控已配置
783
+ - [ ] 配置了 PDB
784
+ - [ ] 配置了 HPA/VPA
785
+
786
+ ### 运行时检查
787
+
788
+ - [ ] Pod 均匀分布在不同节点
789
+ - [ ] 资源利用率在合理范围
790
+ - [ ] 无 OOMKilled 或 CrashLoopBackOff
791
+ - [ ] 告警规则正常触发
792
+ - [ ] 日志正常采集
793
+ - [ ] 备份策略已执行
794
+
795
+ ### 安全检查
796
+
797
+ - [ ] 无特权容器
798
+ - [ ] 无 hostNetwork/hostPID
799
+ - [ ] Secret 已加密
800
+ - [ ] NetworkPolicy 已生效
801
+ - [ ] RBAC 权限最小化
802
+ - [ ] 镜像无已知漏洞
803
+ - [ ] 审计日志正常
804
+
805
+ ## 参考资料
806
+
807
+ - [Kubernetes 官方文档](https://kubernetes.io/docs/)
808
+ - [Kubernetes 安全最佳实践](https://kubernetes.io/docs/concepts/security/)
809
+ - [Pod Security Standards](https://kubernetes.io/docs/concepts/security/pod-security-standards/)
810
+ - [Kubernetes 网络策略](https://kubernetes.io/docs/concepts/services-networking/network-policies/)
811
+ - [CNCF 云原生 landscape](https://landscape.cncf.io/)
812
+ - [Kubernetes Pattern](https://k8spatterns.io/)