aigroup-workflow 2.2.0 → 2.2.2
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.
- package/.claude/commands/fix-build.md +10 -5
- package/.claude/commands/init-project.md +13 -8
- package/.claude/commands/plan.md +15 -8
- package/.claude/commands/review.md +12 -6
- package/.claude/commands/tdd.md +11 -5
- package/.claude/commands/workflow-start.md +20 -11
- package/.claude/settings.json +28 -0
- package/.codex/agents/architect.toml +207 -0
- package/.codex/agents/build-error-resolver.toml +110 -0
- package/.codex/agents/code-reviewer.toml +233 -0
- package/.codex/agents/doc-updater.toml +103 -0
- package/.codex/agents/e2e-runner.toml +103 -0
- package/.codex/agents/get-current-datetime.toml +23 -0
- package/.codex/agents/init-architect.toml +181 -0
- package/.codex/agents/planner.toml +208 -0
- package/.codex/agents/refactor-cleaner.toml +81 -0
- package/.codex/agents/rust-reviewer.toml +90 -0
- package/.codex/agents/security-reviewer.toml +104 -0
- package/.codex/agents/tdd-guide.toml +87 -0
- package/AGENTS.md +2 -2
- package/CLAUDE.md +23 -1
- package/LICENSE +20 -20
- package/README.md +333 -333
- package/agents/a11y-architect.md +141 -141
- package/agents/architect.md +211 -211
- package/agents/build-error-resolver.md +114 -114
- package/agents/chief-of-staff.md +151 -151
- package/agents/code-architect.md +71 -71
- package/agents/code-explorer.md +69 -69
- package/agents/code-reviewer.md +237 -237
- package/agents/code-simplifier.md +47 -47
- package/agents/comment-analyzer.md +45 -45
- package/agents/conversation-analyzer.md +52 -52
- package/agents/cpp-build-resolver.md +90 -90
- package/agents/cpp-reviewer.md +72 -72
- package/agents/csharp-reviewer.md +101 -101
- package/agents/dart-build-resolver.md +201 -201
- package/agents/database-reviewer.md +91 -91
- package/agents/doc-updater.md +107 -107
- package/agents/docs-lookup.md +68 -68
- package/agents/e2e-runner.md +107 -107
- package/agents/flutter-reviewer.md +243 -243
- package/agents/gan-evaluator.md +209 -209
- package/agents/gan-generator.md +131 -131
- package/agents/gan-planner.md +99 -99
- package/agents/get-current-datetime.md +26 -26
- package/agents/go-build-resolver.md +94 -94
- package/agents/go-reviewer.md +76 -76
- package/agents/harness-optimizer.md +35 -35
- package/agents/healthcare-reviewer.md +83 -83
- package/agents/java-build-resolver.md +153 -153
- package/agents/java-reviewer.md +92 -92
- package/agents/kotlin-build-resolver.md +118 -118
- package/agents/kotlin-reviewer.md +159 -159
- package/agents/loop-operator.md +36 -36
- package/agents/opensource-forker.md +198 -198
- package/agents/opensource-packager.md +249 -249
- package/agents/opensource-sanitizer.md +188 -188
- package/agents/performance-optimizer.md +446 -446
- package/agents/planner.md +212 -212
- package/agents/pr-test-analyzer.md +45 -45
- package/agents/python-reviewer.md +98 -98
- package/agents/pytorch-build-resolver.md +120 -120
- package/agents/refactor-cleaner.md +85 -85
- package/agents/rust-build-resolver.md +148 -148
- package/agents/rust-reviewer.md +94 -94
- package/agents/security-reviewer.md +108 -108
- package/agents/seo-specialist.md +59 -59
- package/agents/silent-failure-hunter.md +50 -50
- package/agents/tdd-guide.md +91 -91
- package/agents/type-design-analyzer.md +41 -41
- package/agents/typescript-reviewer.md +112 -112
- package/cli/commands/update.mjs +1 -1
- package/cli/utils/scaffold.mjs +53 -0
- package/docs/rules/agents.md +166 -50
- package/docs/rules/cpp/coding-style.md +44 -44
- package/docs/rules/cpp/hooks.md +39 -39
- package/docs/rules/cpp/patterns.md +51 -51
- package/docs/rules/cpp/security.md +51 -51
- package/docs/rules/cpp/testing.md +44 -44
- package/docs/rules/csharp/coding-style.md +72 -72
- package/docs/rules/csharp/hooks.md +25 -25
- package/docs/rules/csharp/patterns.md +50 -50
- package/docs/rules/csharp/security.md +58 -58
- package/docs/rules/csharp/testing.md +46 -46
- package/docs/rules/dart/coding-style.md +159 -159
- package/docs/rules/dart/hooks.md +66 -66
- package/docs/rules/dart/patterns.md +261 -261
- package/docs/rules/dart/security.md +135 -135
- package/docs/rules/dart/testing.md +215 -215
- package/docs/rules/golang/coding-style.md +32 -32
- package/docs/rules/golang/hooks.md +17 -17
- package/docs/rules/golang/patterns.md +45 -45
- package/docs/rules/golang/security.md +34 -34
- package/docs/rules/golang/testing.md +31 -31
- package/docs/rules/java/coding-style.md +114 -114
- package/docs/rules/java/hooks.md +18 -18
- package/docs/rules/java/patterns.md +146 -146
- package/docs/rules/java/security.md +100 -100
- package/docs/rules/java/testing.md +131 -131
- package/docs/rules/kotlin/coding-style.md +86 -86
- package/docs/rules/kotlin/hooks.md +17 -17
- package/docs/rules/kotlin/patterns.md +146 -146
- package/docs/rules/kotlin/security.md +82 -82
- package/docs/rules/kotlin/testing.md +128 -128
- package/docs/rules/perl/coding-style.md +46 -46
- package/docs/rules/perl/hooks.md +22 -22
- package/docs/rules/perl/patterns.md +76 -76
- package/docs/rules/perl/security.md +69 -69
- package/docs/rules/perl/testing.md +54 -54
- package/docs/rules/php/coding-style.md +40 -40
- package/docs/rules/php/hooks.md +24 -24
- package/docs/rules/php/patterns.md +33 -33
- package/docs/rules/php/security.md +37 -37
- package/docs/rules/php/testing.md +39 -39
- package/docs/rules/python/coding-style.md +42 -42
- package/docs/rules/python/hooks.md +19 -19
- package/docs/rules/python/patterns.md +39 -39
- package/docs/rules/python/security.md +30 -30
- package/docs/rules/python/testing.md +38 -38
- package/docs/rules/rust/coding-style.md +151 -151
- package/docs/rules/rust/hooks.md +16 -16
- package/docs/rules/rust/patterns.md +168 -168
- package/docs/rules/rust/security.md +141 -141
- package/docs/rules/rust/testing.md +154 -154
- package/docs/rules/swift/coding-style.md +47 -47
- package/docs/rules/swift/hooks.md +20 -20
- package/docs/rules/swift/patterns.md +66 -66
- package/docs/rules/swift/security.md +33 -33
- package/docs/rules/swift/testing.md +45 -45
- package/docs/rules/typescript/coding-style.md +199 -199
- package/docs/rules/typescript/hooks.md +22 -22
- package/docs/rules/typescript/patterns.md +52 -52
- package/docs/rules/typescript/security.md +28 -28
- package/docs/rules/typescript/testing.md +18 -18
- package/docs/rules/web/coding-style.md +96 -96
- package/docs/rules/web/design-quality.md +62 -62
- package/docs/rules/web/hooks.md +120 -120
- package/docs/rules/web/patterns.md +79 -79
- package/docs/rules/web/performance.md +64 -64
- package/docs/rules/web/security.md +57 -57
- package/docs/rules/web/testing.md +55 -55
- package/docs/templates/README.md +36 -36
- package/docs/templates/ai-project-final.md +124 -124
- package/docs/templates/ai-project.md +105 -105
- package/docs/templates/api.md +157 -157
- package/docs/templates/bug.md +62 -62
- package/docs/templates/code-review.md +87 -87
- package/docs/templates/generic.md +116 -116
- package/docs/templates/implementation-plan.md +1 -1
- package/docs/templates/meeting.md +68 -68
- package/docs/templates/prd.md +98 -98
- package/docs/templates/ui.md +134 -134
- package/docs/workflow-pipeline.md +11 -10
- package/package.json +40 -39
- package/scripts/hooks/checks/orchestration-artifacts.cjs +28 -23
- package/scripts/hooks/checks/workflow-state.cjs +4 -5
- package/scripts/orchestration/lib/orchestrator.cjs +344 -117
- package/scripts/orchestration/lib/validate.cjs +145 -0
- package/scripts/orchestration/session.cjs +88 -44
- package/skills/SUPERPOWERS-LICENSE +21 -21
- package/skills/ai-ml/fine-tuning-expert/SKILL.md +162 -162
- package/skills/ai-ml/fine-tuning-expert/references/dataset-preparation.md +540 -540
- package/skills/ai-ml/fine-tuning-expert/references/deployment-optimization.md +673 -673
- package/skills/ai-ml/fine-tuning-expert/references/evaluation-metrics.md +597 -597
- package/skills/ai-ml/fine-tuning-expert/references/hyperparameter-tuning.md +565 -565
- package/skills/ai-ml/fine-tuning-expert/references/lora-peft.md +347 -347
- package/skills/ai-ml/ml-pipeline/SKILL.md +159 -159
- package/skills/ai-ml/ml-pipeline/references/experiment-tracking.md +833 -833
- package/skills/ai-ml/ml-pipeline/references/feature-engineering.md +631 -631
- package/skills/ai-ml/ml-pipeline/references/model-validation.md +978 -978
- package/skills/ai-ml/ml-pipeline/references/pipeline-orchestration.md +907 -907
- package/skills/ai-ml/ml-pipeline/references/training-pipelines.md +782 -782
- package/skills/ai-ml/rag-architect/SKILL.md +194 -194
- package/skills/ai-ml/rag-architect/references/chunking-strategies.md +878 -878
- package/skills/ai-ml/rag-architect/references/embedding-models.md +561 -561
- package/skills/ai-ml/rag-architect/references/rag-evaluation.md +833 -833
- package/skills/ai-ml/rag-architect/references/retrieval-optimization.md +795 -795
- package/skills/ai-ml/rag-architect/references/vector-databases.md +589 -589
- package/skills/ai-ml/spark-engineer/SKILL.md +148 -148
- package/skills/ai-ml/spark-engineer/references/partitioning-caching.md +543 -543
- package/skills/ai-ml/spark-engineer/references/performance-tuning.md +544 -544
- package/skills/ai-ml/spark-engineer/references/rdd-operations.md +599 -599
- package/skills/ai-ml/spark-engineer/references/spark-sql-dataframes.md +474 -474
- package/skills/ai-ml/spark-engineer/references/streaming-patterns.md +786 -786
- package/skills/backend/api-designer/SKILL.md +217 -217
- package/skills/backend/api-designer/references/error-handling.md +541 -541
- package/skills/backend/api-designer/references/openapi.md +824 -824
- package/skills/backend/api-designer/references/pagination.md +494 -494
- package/skills/backend/api-designer/references/rest-patterns.md +335 -335
- package/skills/backend/api-designer/references/versioning.md +391 -391
- package/skills/backend/architecture-designer/SKILL.md +117 -117
- package/skills/backend/architecture-designer/references/adr-template.md +116 -116
- package/skills/backend/architecture-designer/references/architecture-patterns.md +111 -111
- package/skills/backend/architecture-designer/references/database-selection.md +102 -102
- package/skills/backend/architecture-designer/references/nfr-checklist.md +112 -112
- package/skills/backend/architecture-designer/references/system-design.md +100 -100
- package/skills/backend/code-documenter/SKILL.md +147 -147
- package/skills/backend/code-documenter/references/api-docs-fastapi-django.md +166 -166
- package/skills/backend/code-documenter/references/api-docs-nestjs-express.md +220 -220
- package/skills/backend/code-documenter/references/coverage-reports.md +125 -125
- package/skills/backend/code-documenter/references/documentation-systems.md +333 -333
- package/skills/backend/code-documenter/references/interactive-api-docs.md +531 -531
- package/skills/backend/code-documenter/references/python-docstrings.md +121 -121
- package/skills/backend/code-documenter/references/typescript-jsdoc.md +145 -145
- package/skills/backend/code-documenter/references/user-guides-tutorials.md +530 -530
- package/skills/backend/debugging-wizard/SKILL.md +105 -105
- package/skills/backend/debugging-wizard/references/common-patterns.md +132 -132
- package/skills/backend/debugging-wizard/references/debugging-tools.md +140 -140
- package/skills/backend/debugging-wizard/references/quick-fixes.md +177 -177
- package/skills/backend/debugging-wizard/references/strategies.md +142 -142
- package/skills/backend/debugging-wizard/references/systematic-debugging.md +367 -367
- package/skills/backend/feature-forge/SKILL.md +98 -98
- package/skills/backend/feature-forge/references/acceptance-criteria.md +104 -104
- package/skills/backend/feature-forge/references/ears-syntax.md +99 -99
- package/skills/backend/feature-forge/references/interview-questions.md +150 -150
- package/skills/backend/feature-forge/references/pre-discovery-subagents.md +54 -54
- package/skills/backend/feature-forge/references/specification-template.md +103 -103
- package/skills/backend/fullstack-guardian/SKILL.md +105 -105
- package/skills/backend/fullstack-guardian/references/api-design-standards.md +307 -307
- package/skills/backend/fullstack-guardian/references/architecture-decisions.md +350 -350
- package/skills/backend/fullstack-guardian/references/backend-patterns.md +237 -237
- package/skills/backend/fullstack-guardian/references/common-patterns.md +134 -134
- package/skills/backend/fullstack-guardian/references/deliverables-checklist.md +354 -354
- package/skills/backend/fullstack-guardian/references/design-template.md +91 -91
- package/skills/backend/fullstack-guardian/references/error-handling.md +135 -135
- package/skills/backend/fullstack-guardian/references/frontend-patterns.md +340 -340
- package/skills/backend/fullstack-guardian/references/integration-patterns.md +333 -333
- package/skills/backend/fullstack-guardian/references/security-checklist.md +106 -106
- package/skills/backend/graphql-architect/SKILL.md +146 -146
- package/skills/backend/graphql-architect/references/federation.md +418 -418
- package/skills/backend/graphql-architect/references/migration-from-rest.md +1141 -1141
- package/skills/backend/graphql-architect/references/resolvers.md +425 -425
- package/skills/backend/graphql-architect/references/schema-design.md +393 -393
- package/skills/backend/graphql-architect/references/security.md +569 -569
- package/skills/backend/graphql-architect/references/subscriptions.md +510 -510
- package/skills/backend/legacy-modernizer/SKILL.md +137 -137
- package/skills/backend/legacy-modernizer/references/legacy-testing.md +381 -381
- package/skills/backend/legacy-modernizer/references/migration-strategies.md +423 -423
- package/skills/backend/legacy-modernizer/references/refactoring-patterns.md +395 -395
- package/skills/backend/legacy-modernizer/references/strangler-fig-pattern.md +281 -281
- package/skills/backend/legacy-modernizer/references/system-assessment.md +487 -487
- package/skills/backend/microservices-architect/SKILL.md +164 -164
- package/skills/backend/microservices-architect/references/communication.md +499 -499
- package/skills/backend/microservices-architect/references/data.md +721 -721
- package/skills/backend/microservices-architect/references/decomposition.md +344 -344
- package/skills/backend/microservices-architect/references/observability.md +805 -805
- package/skills/backend/microservices-architect/references/patterns.md +603 -603
- package/skills/database/database-optimizer/SKILL.md +147 -147
- package/skills/database/database-optimizer/references/index-strategies.md +331 -331
- package/skills/database/database-optimizer/references/monitoring-analysis.md +501 -501
- package/skills/database/database-optimizer/references/mysql-tuning.md +452 -452
- package/skills/database/database-optimizer/references/postgresql-tuning.md +413 -413
- package/skills/database/database-optimizer/references/query-optimization.md +251 -251
- package/skills/database/postgres-pro/SKILL.md +152 -152
- package/skills/database/postgres-pro/references/extensions.md +404 -404
- package/skills/database/postgres-pro/references/jsonb.md +321 -321
- package/skills/database/postgres-pro/references/maintenance.md +481 -481
- package/skills/database/postgres-pro/references/performance.md +265 -265
- package/skills/database/postgres-pro/references/replication.md +446 -446
- package/skills/database/sql-pro/SKILL.md +129 -129
- package/skills/database/sql-pro/references/database-design.md +402 -402
- package/skills/database/sql-pro/references/dialect-differences.md +419 -419
- package/skills/database/sql-pro/references/optimization.md +384 -384
- package/skills/database/sql-pro/references/query-patterns.md +285 -285
- package/skills/database/sql-pro/references/window-functions.md +328 -328
- package/skills/dotnet/csharp-developer/SKILL.md +125 -125
- package/skills/dotnet/csharp-developer/references/aspnet-core.md +394 -394
- package/skills/dotnet/csharp-developer/references/blazor.md +553 -553
- package/skills/dotnet/csharp-developer/references/entity-framework.md +409 -409
- package/skills/dotnet/csharp-developer/references/modern-csharp.md +248 -248
- package/skills/dotnet/csharp-developer/references/performance.md +498 -498
- package/skills/dotnet/dotnet-core-expert/SKILL.md +138 -138
- package/skills/dotnet/dotnet-core-expert/references/authentication.md +546 -546
- package/skills/dotnet/dotnet-core-expert/references/clean-architecture.md +455 -455
- package/skills/dotnet/dotnet-core-expert/references/cloud-native.md +548 -548
- package/skills/dotnet/dotnet-core-expert/references/entity-framework.md +440 -440
- package/skills/dotnet/dotnet-core-expert/references/minimal-apis.md +319 -319
- package/skills/frontend/angular-architect/SKILL.md +152 -152
- package/skills/frontend/angular-architect/references/components.md +297 -297
- package/skills/frontend/angular-architect/references/ngrx.md +401 -401
- package/skills/frontend/angular-architect/references/routing.md +361 -361
- package/skills/frontend/angular-architect/references/rxjs.md +319 -319
- package/skills/frontend/angular-architect/references/testing.md +405 -405
- package/skills/frontend/design-commands/design.md +91 -91
- package/skills/frontend/design-commands/handoff.md +97 -97
- package/skills/frontend/design-commands/prototype.md +120 -120
- package/skills/frontend/design-commands/spec.md +160 -160
- package/skills/frontend/design-commands/style.md +78 -78
- package/skills/frontend/flutter-expert/SKILL.md +138 -138
- package/skills/frontend/flutter-expert/references/bloc-state.md +259 -259
- package/skills/frontend/flutter-expert/references/gorouter-navigation.md +119 -119
- package/skills/frontend/flutter-expert/references/performance.md +99 -99
- package/skills/frontend/flutter-expert/references/project-structure.md +118 -118
- package/skills/frontend/flutter-expert/references/riverpod-state.md +130 -130
- package/skills/frontend/flutter-expert/references/widget-patterns.md +123 -123
- package/skills/frontend/nextjs-developer/SKILL.md +143 -143
- package/skills/frontend/nextjs-developer/references/app-router.md +311 -311
- package/skills/frontend/nextjs-developer/references/data-fetching.md +482 -482
- package/skills/frontend/nextjs-developer/references/deployment.md +545 -545
- package/skills/frontend/nextjs-developer/references/server-actions.md +462 -462
- package/skills/frontend/nextjs-developer/references/server-components.md +384 -384
- package/skills/frontend/react-expert/SKILL.md +149 -149
- package/skills/frontend/react-expert/references/hooks-patterns.md +162 -162
- package/skills/frontend/react-expert/references/migration-class-to-modern.md +1119 -1119
- package/skills/frontend/react-expert/references/performance.md +168 -168
- package/skills/frontend/react-expert/references/react-19-features.md +174 -174
- package/skills/frontend/react-expert/references/server-components.md +143 -143
- package/skills/frontend/react-expert/references/state-management.md +171 -171
- package/skills/frontend/react-expert/references/testing-react.md +174 -174
- package/skills/frontend/react-native-expert/SKILL.md +185 -185
- package/skills/frontend/react-native-expert/references/expo-router.md +187 -187
- package/skills/frontend/react-native-expert/references/list-optimization.md +204 -204
- package/skills/frontend/react-native-expert/references/platform-handling.md +188 -188
- package/skills/frontend/react-native-expert/references/project-structure.md +171 -171
- package/skills/frontend/react-native-expert/references/storage-hooks.md +173 -173
- package/skills/frontend/senior-frontend/SKILL.md +477 -477
- package/skills/frontend/senior-frontend/references/frontend_best_practices.md +806 -806
- package/skills/frontend/senior-frontend/references/nextjs_optimization_guide.md +724 -724
- package/skills/frontend/senior-frontend/references/react_patterns.md +746 -746
- package/skills/frontend/senior-frontend/scripts/bundle_analyzer.py +407 -407
- package/skills/frontend/senior-frontend/scripts/component_generator.py +329 -329
- package/skills/frontend/senior-frontend/scripts/frontend_scaffolder.py +1005 -1005
- package/skills/frontend/ui-ux-pro-max/SKILL.md +386 -386
- package/skills/frontend/ui-ux-pro-max/data/charts.csv +26 -26
- package/skills/frontend/ui-ux-pro-max/data/colors.csv +97 -97
- package/skills/frontend/ui-ux-pro-max/data/icons.csv +101 -101
- package/skills/frontend/ui-ux-pro-max/data/landing.csv +31 -31
- package/skills/frontend/ui-ux-pro-max/data/products.csv +96 -96
- package/skills/frontend/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/skills/frontend/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/skills/frontend/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/skills/frontend/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/skills/frontend/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
- package/skills/frontend/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/skills/frontend/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/skills/frontend/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/skills/frontend/ui-ux-pro-max/data/styles.csv +68 -68
- package/skills/frontend/ui-ux-pro-max/data/typography.csv +57 -57
- package/skills/frontend/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
- package/skills/frontend/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
- package/skills/frontend/ui-ux-pro-max/data/web-interface.csv +31 -31
- package/skills/frontend/ui-ux-pro-max/scripts/core.py +253 -253
- package/skills/frontend/ui-ux-pro-max/scripts/design_system.py +1067 -1067
- package/skills/frontend/ui-ux-pro-max/scripts/search.py +114 -114
- package/skills/frontend/vue-expert/SKILL.md +98 -98
- package/skills/frontend/vue-expert/references/build-tooling.md +480 -480
- package/skills/frontend/vue-expert/references/components.md +448 -448
- package/skills/frontend/vue-expert/references/composition-api.md +299 -299
- package/skills/frontend/vue-expert/references/mobile-hybrid.md +636 -636
- package/skills/frontend/vue-expert/references/nuxt.md +669 -669
- package/skills/frontend/vue-expert/references/state-management.md +449 -449
- package/skills/frontend/vue-expert/references/typescript.md +584 -584
- package/skills/frontend/vue-expert-js/SKILL.md +167 -167
- package/skills/frontend/vue-expert-js/references/component-architecture.md +219 -219
- package/skills/frontend/vue-expert-js/references/composables-patterns.md +183 -183
- package/skills/frontend/vue-expert-js/references/jsdoc-typing.md +535 -535
- package/skills/frontend/vue-expert-js/references/state-management.md +249 -249
- package/skills/frontend/vue-expert-js/references/testing-patterns.md +237 -237
- package/skills/go-rust-cpp/cpp-pro/SKILL.md +115 -115
- package/skills/go-rust-cpp/cpp-pro/references/build-tooling.md +440 -440
- package/skills/go-rust-cpp/cpp-pro/references/concurrency.md +437 -437
- package/skills/go-rust-cpp/cpp-pro/references/memory-performance.md +397 -397
- package/skills/go-rust-cpp/cpp-pro/references/modern-cpp.md +304 -304
- package/skills/go-rust-cpp/cpp-pro/references/templates.md +357 -357
- package/skills/go-rust-cpp/golang-pro/SKILL.md +122 -122
- package/skills/go-rust-cpp/golang-pro/references/concurrency.md +329 -329
- package/skills/go-rust-cpp/golang-pro/references/generics.md +442 -442
- package/skills/go-rust-cpp/golang-pro/references/interfaces.md +432 -432
- package/skills/go-rust-cpp/golang-pro/references/project-structure.md +477 -477
- package/skills/go-rust-cpp/golang-pro/references/testing.md +451 -451
- package/skills/go-rust-cpp/rust-engineer/SKILL.md +167 -167
- package/skills/go-rust-cpp/rust-engineer/references/async.md +458 -458
- package/skills/go-rust-cpp/rust-engineer/references/error-handling.md +334 -334
- package/skills/go-rust-cpp/rust-engineer/references/ownership.md +278 -278
- package/skills/go-rust-cpp/rust-engineer/references/testing.md +470 -470
- package/skills/go-rust-cpp/rust-engineer/references/traits.md +413 -413
- package/skills/infra/cli-developer/SKILL.md +113 -113
- package/skills/infra/cli-developer/references/design-patterns.md +221 -221
- package/skills/infra/cli-developer/references/go-cli.md +540 -540
- package/skills/infra/cli-developer/references/node-cli.md +383 -383
- package/skills/infra/cli-developer/references/python-cli.md +422 -422
- package/skills/infra/cli-developer/references/ux-patterns.md +448 -448
- package/skills/infra/cloud-architect/SKILL.md +216 -216
- package/skills/infra/cloud-architect/references/aws.md +394 -394
- package/skills/infra/cloud-architect/references/azure.md +562 -562
- package/skills/infra/cloud-architect/references/cost.md +582 -582
- package/skills/infra/cloud-architect/references/gcp.md +633 -633
- package/skills/infra/cloud-architect/references/multi-cloud.md +483 -483
- package/skills/infra/devops-engineer/SKILL.md +144 -144
- package/skills/infra/devops-engineer/references/deployment-strategies.md +241 -241
- package/skills/infra/devops-engineer/references/docker-patterns.md +113 -113
- package/skills/infra/devops-engineer/references/github-actions.md +139 -139
- package/skills/infra/devops-engineer/references/incident-response.md +331 -331
- package/skills/infra/devops-engineer/references/kubernetes.md +154 -154
- package/skills/infra/devops-engineer/references/platform-engineering.md +417 -417
- package/skills/infra/devops-engineer/references/release-automation.md +527 -527
- package/skills/infra/devops-engineer/references/terraform-iac.md +141 -141
- package/skills/infra/kubernetes-specialist/SKILL.md +241 -241
- package/skills/infra/kubernetes-specialist/references/configuration.md +452 -452
- package/skills/infra/kubernetes-specialist/references/cost-optimization.md +458 -458
- package/skills/infra/kubernetes-specialist/references/custom-operators.md +563 -563
- package/skills/infra/kubernetes-specialist/references/gitops.md +530 -530
- package/skills/infra/kubernetes-specialist/references/helm-charts.md +912 -912
- package/skills/infra/kubernetes-specialist/references/multi-cluster.md +507 -507
- package/skills/infra/kubernetes-specialist/references/networking.md +447 -447
- package/skills/infra/kubernetes-specialist/references/service-mesh.md +459 -459
- package/skills/infra/kubernetes-specialist/references/storage.md +535 -535
- package/skills/infra/kubernetes-specialist/references/troubleshooting.md +414 -414
- package/skills/infra/kubernetes-specialist/references/workloads.md +377 -377
- package/skills/infra/mcp-developer/SKILL.md +143 -143
- package/skills/infra/mcp-developer/references/protocol.md +244 -244
- package/skills/infra/mcp-developer/references/python-sdk.md +367 -367
- package/skills/infra/mcp-developer/references/resources.md +554 -554
- package/skills/infra/mcp-developer/references/tools.md +480 -480
- package/skills/infra/mcp-developer/references/typescript-sdk.md +350 -350
- package/skills/infra/monitoring-expert/SKILL.md +176 -176
- package/skills/infra/monitoring-expert/references/alerting-rules.md +141 -141
- package/skills/infra/monitoring-expert/references/application-profiling.md +331 -331
- package/skills/infra/monitoring-expert/references/capacity-planning.md +344 -344
- package/skills/infra/monitoring-expert/references/dashboards.md +126 -126
- package/skills/infra/monitoring-expert/references/opentelemetry.md +123 -123
- package/skills/infra/monitoring-expert/references/performance-testing.md +269 -269
- package/skills/infra/monitoring-expert/references/prometheus-metrics.md +136 -136
- package/skills/infra/monitoring-expert/references/structured-logging.md +142 -142
- package/skills/infra/sre-engineer/SKILL.md +181 -181
- package/skills/infra/sre-engineer/references/automation-toil.md +492 -492
- package/skills/infra/sre-engineer/references/error-budget-policy.md +334 -334
- package/skills/infra/sre-engineer/references/incident-chaos.md +576 -576
- package/skills/infra/sre-engineer/references/monitoring-alerting.md +424 -424
- package/skills/infra/sre-engineer/references/slo-sli-management.md +238 -238
- package/skills/infra/terraform-engineer/SKILL.md +143 -143
- package/skills/infra/terraform-engineer/references/best-practices.md +583 -583
- package/skills/infra/terraform-engineer/references/module-patterns.md +297 -297
- package/skills/infra/terraform-engineer/references/providers.md +452 -452
- package/skills/infra/terraform-engineer/references/state-management.md +371 -371
- package/skills/infra/terraform-engineer/references/testing.md +486 -486
- package/skills/infra/websocket-engineer/SKILL.md +168 -168
- package/skills/infra/websocket-engineer/references/alternatives.md +391 -391
- package/skills/infra/websocket-engineer/references/patterns.md +400 -400
- package/skills/infra/websocket-engineer/references/protocol.md +195 -195
- package/skills/infra/websocket-engineer/references/scaling.md +333 -333
- package/skills/infra/websocket-engineer/references/security.md +474 -474
- package/skills/java/java-architect/SKILL.md +132 -132
- package/skills/java/java-architect/references/jpa-optimization.md +393 -393
- package/skills/java/java-architect/references/reactive-webflux.md +356 -356
- package/skills/java/java-architect/references/spring-boot-setup.md +269 -269
- package/skills/java/java-architect/references/spring-security.md +445 -445
- package/skills/java/java-architect/references/testing-patterns.md +500 -500
- package/skills/java/kotlin-specialist/SKILL.md +147 -147
- package/skills/java/kotlin-specialist/references/android-compose.md +419 -419
- package/skills/java/kotlin-specialist/references/coroutines-flow.md +276 -276
- package/skills/java/kotlin-specialist/references/dsl-idioms.md +421 -421
- package/skills/java/kotlin-specialist/references/ktor-server.md +426 -426
- package/skills/java/kotlin-specialist/references/multiplatform-kmp.md +380 -380
- package/skills/java/spring-boot-engineer/SKILL.md +195 -195
- package/skills/java/spring-boot-engineer/references/cloud.md +498 -498
- package/skills/java/spring-boot-engineer/references/data.md +381 -381
- package/skills/java/spring-boot-engineer/references/security.md +459 -459
- package/skills/java/spring-boot-engineer/references/testing.md +545 -545
- package/skills/java/spring-boot-engineer/references/web.md +295 -295
- package/skills/javascript/javascript-pro/SKILL.md +132 -132
- package/skills/javascript/javascript-pro/references/async-patterns.md +334 -334
- package/skills/javascript/javascript-pro/references/browser-apis.md +398 -398
- package/skills/javascript/javascript-pro/references/modern-syntax.md +272 -272
- package/skills/javascript/javascript-pro/references/modules.md +357 -357
- package/skills/javascript/javascript-pro/references/node-essentials.md +471 -471
- package/skills/javascript/nestjs-expert/SKILL.md +206 -206
- package/skills/javascript/nestjs-expert/references/authentication.md +166 -166
- package/skills/javascript/nestjs-expert/references/controllers-routing.md +111 -111
- package/skills/javascript/nestjs-expert/references/dtos-validation.md +153 -153
- package/skills/javascript/nestjs-expert/references/migration-from-express.md +1237 -1237
- package/skills/javascript/nestjs-expert/references/services-di.md +140 -140
- package/skills/javascript/nestjs-expert/references/testing-patterns.md +186 -186
- package/skills/javascript/typescript-pro/SKILL.md +145 -145
- package/skills/javascript/typescript-pro/references/advanced-types.md +259 -259
- package/skills/javascript/typescript-pro/references/configuration.md +445 -445
- package/skills/javascript/typescript-pro/references/patterns.md +484 -484
- package/skills/javascript/typescript-pro/references/type-guards.md +352 -352
- package/skills/javascript/typescript-pro/references/utility-types.md +329 -329
- package/skills/php/laravel-specialist/SKILL.md +262 -262
- package/skills/php/laravel-specialist/references/eloquent.md +351 -351
- package/skills/php/laravel-specialist/references/livewire.md +512 -512
- package/skills/php/laravel-specialist/references/queues.md +423 -423
- package/skills/php/laravel-specialist/references/routing.md +362 -362
- package/skills/php/laravel-specialist/references/testing.md +522 -522
- package/skills/php/php-pro/SKILL.md +206 -206
- package/skills/php/php-pro/references/async-patterns.md +412 -412
- package/skills/php/php-pro/references/laravel-patterns.md +377 -377
- package/skills/php/php-pro/references/modern-php-features.md +323 -323
- package/skills/php/php-pro/references/symfony-patterns.md +466 -466
- package/skills/php/php-pro/references/testing-quality.md +466 -466
- package/skills/product/competitive-analysis/SKILL.md +257 -257
- package/skills/product/meeting-notes/SKILL.md +266 -266
- package/skills/product/prd-template/SKILL.md +150 -150
- package/skills/product/stakeholder-update/SKILL.md +225 -225
- package/skills/product/user-research-synthesis/SKILL.md +235 -235
- package/skills/python/django-expert/SKILL.md +162 -162
- package/skills/python/django-expert/references/authentication.md +145 -145
- package/skills/python/django-expert/references/drf-serializers.md +148 -148
- package/skills/python/django-expert/references/models-orm.md +151 -151
- package/skills/python/django-expert/references/testing-django.md +204 -204
- package/skills/python/django-expert/references/viewsets-views.md +153 -153
- package/skills/python/fastapi-expert/SKILL.md +185 -185
- package/skills/python/fastapi-expert/references/async-sqlalchemy.md +146 -146
- package/skills/python/fastapi-expert/references/authentication.md +159 -159
- package/skills/python/fastapi-expert/references/endpoints-routing.md +142 -142
- package/skills/python/fastapi-expert/references/migration-from-django.md +996 -996
- package/skills/python/fastapi-expert/references/pydantic-v2.md +135 -135
- package/skills/python/fastapi-expert/references/testing-async.md +159 -159
- package/skills/python/pandas-pro/SKILL.md +178 -178
- package/skills/python/pandas-pro/references/aggregation-groupby.md +545 -545
- package/skills/python/pandas-pro/references/data-cleaning.md +500 -500
- package/skills/python/pandas-pro/references/dataframe-operations.md +420 -420
- package/skills/python/pandas-pro/references/merging-joining.md +596 -596
- package/skills/python/pandas-pro/references/performance-optimization.md +597 -597
- package/skills/python/python-pro/SKILL.md +177 -177
- package/skills/python/python-pro/references/async-patterns.md +356 -356
- package/skills/python/python-pro/references/packaging.md +460 -460
- package/skills/python/python-pro/references/standard-library.md +378 -378
- package/skills/python/python-pro/references/testing.md +404 -404
- package/skills/python/python-pro/references/type-system.md +290 -290
- package/skills/quality/chaos-engineer/SKILL.md +182 -182
- package/skills/quality/chaos-engineer/references/chaos-tools.md +511 -511
- package/skills/quality/chaos-engineer/references/experiment-design.md +229 -229
- package/skills/quality/chaos-engineer/references/game-days.md +434 -434
- package/skills/quality/chaos-engineer/references/infrastructure-chaos.md +348 -348
- package/skills/quality/chaos-engineer/references/kubernetes-chaos.md +432 -432
- package/skills/quality/code-reviewer/SKILL.md +119 -119
- package/skills/quality/code-reviewer/references/common-issues.md +142 -142
- package/skills/quality/code-reviewer/references/feedback-examples.md +144 -144
- package/skills/quality/code-reviewer/references/receiving-feedback.md +238 -238
- package/skills/quality/code-reviewer/references/report-template.md +109 -109
- package/skills/quality/code-reviewer/references/review-checklist.md +88 -88
- package/skills/quality/code-reviewer/references/spec-compliance-review.md +258 -258
- package/skills/quality/playwright-expert/SKILL.md +169 -169
- package/skills/quality/playwright-expert/references/api-mocking.md +140 -140
- package/skills/quality/playwright-expert/references/configuration.md +155 -155
- package/skills/quality/playwright-expert/references/debugging-flaky.md +150 -150
- package/skills/quality/playwright-expert/references/page-object-model.md +152 -152
- package/skills/quality/playwright-expert/references/selectors-locators.md +119 -119
- package/skills/quality/secure-code-guardian/SKILL.md +191 -191
- package/skills/quality/secure-code-guardian/references/authentication.md +136 -136
- package/skills/quality/secure-code-guardian/references/input-validation.md +146 -146
- package/skills/quality/secure-code-guardian/references/owasp-prevention.md +135 -135
- package/skills/quality/secure-code-guardian/references/security-headers.md +133 -133
- package/skills/quality/secure-code-guardian/references/xss-csrf.md +157 -157
- package/skills/quality/security-reviewer/SKILL.md +103 -103
- package/skills/quality/security-reviewer/references/infrastructure-security.md +268 -268
- package/skills/quality/security-reviewer/references/penetration-testing.md +268 -268
- package/skills/quality/security-reviewer/references/report-template.md +170 -170
- package/skills/quality/security-reviewer/references/sast-tools.md +117 -117
- package/skills/quality/security-reviewer/references/secret-scanning.md +125 -125
- package/skills/quality/security-reviewer/references/vulnerability-patterns.md +152 -152
- package/skills/quality/senior-qa/README.md +196 -196
- package/skills/quality/senior-qa/SKILL.md +399 -399
- package/skills/quality/senior-qa/references/qa_best_practices.md +964 -964
- package/skills/quality/senior-qa/references/test_automation_patterns.md +1009 -1009
- package/skills/quality/senior-qa/references/testing_strategies.md +649 -649
- package/skills/quality/senior-qa/scripts/coverage_analyzer.py +836 -836
- package/skills/quality/senior-qa/scripts/e2e_test_scaffolder.py +820 -820
- package/skills/quality/senior-qa/scripts/test_suite_generator.py +605 -605
- package/skills/quality/tdd-guide/HOW_TO_USE.md +313 -313
- package/skills/quality/tdd-guide/README.md +680 -680
- package/skills/quality/tdd-guide/SKILL.md +122 -122
- package/skills/quality/tdd-guide/assets/expected_output.json +77 -77
- package/skills/quality/tdd-guide/assets/sample_input_python.json +39 -39
- package/skills/quality/tdd-guide/assets/sample_input_typescript.json +36 -36
- package/skills/quality/tdd-guide/references/ci-integration.md +195 -195
- package/skills/quality/tdd-guide/references/framework-guide.md +206 -206
- package/skills/quality/tdd-guide/references/tdd-best-practices.md +128 -128
- package/skills/quality/tdd-guide/scripts/coverage_analyzer.py +434 -434
- package/skills/quality/tdd-guide/scripts/fixture_generator.py +440 -440
- package/skills/quality/tdd-guide/scripts/format_detector.py +384 -384
- package/skills/quality/tdd-guide/scripts/framework_adapter.py +428 -428
- package/skills/quality/tdd-guide/scripts/metrics_calculator.py +456 -456
- package/skills/quality/tdd-guide/scripts/output_formatter.py +354 -354
- package/skills/quality/tdd-guide/scripts/tdd_workflow.py +474 -474
- package/skills/quality/tdd-guide/scripts/test_generator.py +438 -438
- package/skills/quality/test-master/SKILL.md +94 -94
- package/skills/quality/test-master/references/automation-frameworks.md +294 -294
- package/skills/quality/test-master/references/e2e-testing.md +128 -128
- package/skills/quality/test-master/references/integration-testing.md +120 -120
- package/skills/quality/test-master/references/performance-testing.md +118 -118
- package/skills/quality/test-master/references/qa-methodology.md +247 -247
- package/skills/quality/test-master/references/security-testing.md +127 -127
- package/skills/quality/test-master/references/tdd-iron-laws.md +174 -174
- package/skills/quality/test-master/references/test-reports.md +104 -104
- package/skills/quality/test-master/references/testing-anti-patterns.md +231 -231
- package/skills/quality/test-master/references/unit-testing.md +113 -113
- package/skills/ruby/rails-expert/SKILL.md +154 -154
- package/skills/ruby/rails-expert/references/active-record.md +244 -244
- package/skills/ruby/rails-expert/references/api-development.md +401 -401
- package/skills/ruby/rails-expert/references/background-jobs.md +272 -272
- package/skills/ruby/rails-expert/references/hotwire-turbo.md +228 -228
- package/skills/ruby/rails-expert/references/rspec-testing.md +367 -367
- package/skills/swift/swift-expert/SKILL.md +163 -163
- package/skills/swift/swift-expert/references/async-concurrency.md +360 -360
- package/skills/swift/swift-expert/references/memory-performance.md +377 -377
- package/skills/swift/swift-expert/references/protocol-oriented.md +354 -354
- package/skills/swift/swift-expert/references/swiftui-patterns.md +291 -291
- package/skills/swift/swift-expert/references/testing-patterns.md +399 -399
- package/skills/workflow/brainstorming/SKILL.md +164 -164
- package/skills/workflow/brainstorming/scripts/frame-template.html +214 -214
- package/skills/workflow/brainstorming/scripts/helper.js +88 -88
- package/skills/workflow/brainstorming/scripts/server.cjs +354 -354
- package/skills/workflow/brainstorming/scripts/start-server.sh +148 -148
- package/skills/workflow/brainstorming/scripts/stop-server.sh +56 -56
- package/skills/workflow/brainstorming/spec-document-reviewer-prompt.md +49 -49
- package/skills/workflow/brainstorming/visual-companion.md +287 -287
- package/skills/workflow/documentation/SKILL.md +45 -45
- package/skills/workflow/entropy-management/SKILL.md +115 -115
- package/skills/workflow/executing-plans/SKILL.md +70 -70
- package/skills/workflow/finishing-a-development-branch/SKILL.md +200 -200
- package/skills/workflow/receiving-code-review/SKILL.md +213 -213
- package/skills/workflow/requesting-code-review/SKILL.md +105 -105
- package/skills/workflow/requesting-code-review/code-reviewer.md +146 -146
- package/skills/workflow/requirement-engineering/SKILL.md +111 -111
- package/skills/workflow/systematic-debugging/CREATION-LOG.md +119 -119
- package/skills/workflow/systematic-debugging/SKILL.md +296 -296
- package/skills/workflow/systematic-debugging/condition-based-waiting-example.ts +158 -158
- package/skills/workflow/systematic-debugging/condition-based-waiting.md +115 -115
- package/skills/workflow/systematic-debugging/defense-in-depth.md +122 -122
- package/skills/workflow/systematic-debugging/find-polluter.sh +63 -63
- package/skills/workflow/systematic-debugging/root-cause-tracing.md +169 -169
- package/skills/workflow/systematic-debugging/test-academic.md +14 -14
- package/skills/workflow/systematic-debugging/test-pressure-1.md +58 -58
- package/skills/workflow/systematic-debugging/test-pressure-2.md +68 -68
- package/skills/workflow/systematic-debugging/test-pressure-3.md +69 -69
- package/skills/workflow/using-git-worktrees/SKILL.md +218 -218
- package/skills/workflow/verification-before-completion/SKILL.md +139 -139
- package/skills/workflow/writing-plans/SKILL.md +151 -151
- package/skills/workflow/writing-plans/plan-document-reviewer-prompt.md +49 -49
- package/skills/workflow/writing-skills/SKILL.md +655 -655
- package/skills/workflow/writing-skills/anthropic-best-practices.md +1150 -1150
- package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -189
- package/skills/workflow/writing-skills/persuasion-principles.md +187 -187
- package/skills/workflow/writing-skills/render-graphs.js +168 -168
- package/skills/workflow/writing-skills/testing-skills-with-subagents.md +384 -384
|
@@ -1,414 +1,414 @@
|
|
|
1
|
-
# Kubernetes Troubleshooting
|
|
2
|
-
|
|
3
|
-
## Essential kubectl Commands
|
|
4
|
-
|
|
5
|
-
### Pod Inspection
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Get pods with details
|
|
9
|
-
kubectl get pods -n production -o wide
|
|
10
|
-
kubectl get pods --all-namespaces
|
|
11
|
-
kubectl get pods --field-selector status.phase=Running
|
|
12
|
-
kubectl get pods --selector app=web-app
|
|
13
|
-
|
|
14
|
-
# Describe pod (shows events)
|
|
15
|
-
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production
|
|
16
|
-
|
|
17
|
-
# Get pod logs
|
|
18
|
-
kubectl logs web-app-7d5c8b9f4-xk2pm -n production
|
|
19
|
-
kubectl logs web-app-7d5c8b9f4-xk2pm -n production --previous # Previous container
|
|
20
|
-
kubectl logs web-app-7d5c8b9f4-xk2pm -n production -c init-container
|
|
21
|
-
kubectl logs -f web-app-7d5c8b9f4-xk2pm -n production # Follow logs
|
|
22
|
-
kubectl logs --tail=100 web-app-7d5c8b9f4-xk2pm -n production
|
|
23
|
-
kubectl logs --since=1h web-app-7d5c8b9f4-xk2pm -n production
|
|
24
|
-
|
|
25
|
-
# Get all pod logs from deployment
|
|
26
|
-
kubectl logs deployment/web-app -n production --all-containers=true
|
|
27
|
-
|
|
28
|
-
# Execute commands in pod
|
|
29
|
-
kubectl exec -it web-app-7d5c8b9f4-xk2pm -n production -- /bin/sh
|
|
30
|
-
kubectl exec web-app-7d5c8b9f4-xk2pm -n production -- env
|
|
31
|
-
kubectl exec web-app-7d5c8b9f4-xk2pm -n production -- cat /etc/config/app.yaml
|
|
32
|
-
|
|
33
|
-
# Copy files to/from pod
|
|
34
|
-
kubectl cp web-app-7d5c8b9f4-xk2pm:/app/logs/app.log ./app.log -n production
|
|
35
|
-
kubectl cp ./config.yaml web-app-7d5c8b9f4-xk2pm:/tmp/config.yaml -n production
|
|
36
|
-
|
|
37
|
-
# Port forward
|
|
38
|
-
kubectl port-forward web-app-7d5c8b9f4-xk2pm 8080:8080 -n production
|
|
39
|
-
kubectl port-forward service/web-app 8080:80 -n production
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Deployment Debugging
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
# Check deployment status
|
|
46
|
-
kubectl get deployment web-app -n production
|
|
47
|
-
kubectl describe deployment web-app -n production
|
|
48
|
-
kubectl rollout status deployment/web-app -n production
|
|
49
|
-
kubectl rollout history deployment/web-app -n production
|
|
50
|
-
|
|
51
|
-
# Check replica sets
|
|
52
|
-
kubectl get rs -n production
|
|
53
|
-
kubectl describe rs web-app-7d5c8b9f4 -n production
|
|
54
|
-
|
|
55
|
-
# Scale deployment
|
|
56
|
-
kubectl scale deployment web-app --replicas=5 -n production
|
|
57
|
-
|
|
58
|
-
# Rollback deployment
|
|
59
|
-
kubectl rollout undo deployment/web-app -n production
|
|
60
|
-
kubectl rollout undo deployment/web-app --to-revision=2 -n production
|
|
61
|
-
|
|
62
|
-
# Restart deployment (recreate pods)
|
|
63
|
-
kubectl rollout restart deployment/web-app -n production
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Service and Network Debugging
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
# Get services
|
|
70
|
-
kubectl get svc -n production
|
|
71
|
-
kubectl describe svc web-app -n production
|
|
72
|
-
|
|
73
|
-
# Get endpoints
|
|
74
|
-
kubectl get endpoints web-app -n production
|
|
75
|
-
kubectl describe endpoints web-app -n production
|
|
76
|
-
|
|
77
|
-
# Get ingress
|
|
78
|
-
kubectl get ingress -n production
|
|
79
|
-
kubectl describe ingress web-app -n production
|
|
80
|
-
|
|
81
|
-
# Get network policies
|
|
82
|
-
kubectl get networkpolicy -n production
|
|
83
|
-
kubectl describe networkpolicy frontend-to-backend -n production
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### Resource and Configuration
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
# Get ConfigMaps and Secrets
|
|
90
|
-
kubectl get configmap -n production
|
|
91
|
-
kubectl describe configmap app-config -n production
|
|
92
|
-
kubectl get configmap app-config -n production -o yaml
|
|
93
|
-
|
|
94
|
-
kubectl get secret -n production
|
|
95
|
-
kubectl describe secret app-secrets -n production
|
|
96
|
-
kubectl get secret app-secrets -n production -o jsonpath='{.data.password}' | base64 -d
|
|
97
|
-
|
|
98
|
-
# Get PVCs and PVs
|
|
99
|
-
kubectl get pvc -n production
|
|
100
|
-
kubectl describe pvc database-pvc -n production
|
|
101
|
-
kubectl get pv
|
|
102
|
-
|
|
103
|
-
# Get events (sorted by timestamp)
|
|
104
|
-
kubectl get events -n production --sort-by='.lastTimestamp'
|
|
105
|
-
kubectl get events -n production --field-selector involvedObject.name=web-app-7d5c8b9f4-xk2pm
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## Debug Pod
|
|
109
|
-
|
|
110
|
-
### Ephemeral Debug Container
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
# Attach debug container to running pod
|
|
114
|
-
kubectl debug -it web-app-7d5c8b9f4-xk2pm -n production \
|
|
115
|
-
--image=busybox:latest \
|
|
116
|
-
--target=web-app
|
|
117
|
-
|
|
118
|
-
# Create copy of pod with debug tools
|
|
119
|
-
kubectl debug web-app-7d5c8b9f4-xk2pm -n production \
|
|
120
|
-
-it \
|
|
121
|
-
--image=ubuntu:latest \
|
|
122
|
-
--share-processes \
|
|
123
|
-
--copy-to=web-app-debug
|
|
124
|
-
|
|
125
|
-
# Debug with different image
|
|
126
|
-
kubectl debug web-app-7d5c8b9f4-xk2pm -n production \
|
|
127
|
-
-it \
|
|
128
|
-
--image=nicolaka/netshoot:latest \
|
|
129
|
-
--target=web-app
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Debug on Node
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
# Create privileged pod on specific node
|
|
136
|
-
kubectl debug node/node-01 -it --image=ubuntu:latest
|
|
137
|
-
|
|
138
|
-
# Access node filesystem
|
|
139
|
-
kubectl debug node/node-01 -it --image=ubuntu:latest -- chroot /host
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
## Common Issues and Solutions
|
|
143
|
-
|
|
144
|
-
### Issue 1: Pod in Pending State
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
# Check pod status and events
|
|
148
|
-
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production
|
|
149
|
-
|
|
150
|
-
# Common causes:
|
|
151
|
-
# 1. Insufficient resources
|
|
152
|
-
kubectl top nodes
|
|
153
|
-
kubectl describe nodes
|
|
154
|
-
|
|
155
|
-
# 2. PVC not bound
|
|
156
|
-
kubectl get pvc -n production
|
|
157
|
-
kubectl describe pvc database-pvc -n production
|
|
158
|
-
|
|
159
|
-
# 3. ImagePullBackOff
|
|
160
|
-
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production | grep -A 10 Events
|
|
161
|
-
|
|
162
|
-
# 4. Node selector/affinity issues
|
|
163
|
-
kubectl get pod web-app-7d5c8b9f4-xk2pm -n production -o yaml | grep -A 5 nodeSelector
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### Issue 2: CrashLoopBackOff
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
# Check logs from crashed container
|
|
170
|
-
kubectl logs web-app-7d5c8b9f4-xk2pm -n production --previous
|
|
171
|
-
|
|
172
|
-
# Check if liveness probe is failing
|
|
173
|
-
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production | grep -A 10 "Liveness"
|
|
174
|
-
|
|
175
|
-
# Debug with different command
|
|
176
|
-
kubectl run debug-pod --image=myapp:latest -it --rm --restart=Never -- /bin/sh
|
|
177
|
-
|
|
178
|
-
# Check resource limits
|
|
179
|
-
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production | grep -A 10 "Limits"
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Issue 3: ImagePullBackOff
|
|
183
|
-
|
|
184
|
-
```bash
|
|
185
|
-
# Check image pull secret
|
|
186
|
-
kubectl get secret registry-credentials -n production -o yaml
|
|
187
|
-
|
|
188
|
-
# Test image pull manually
|
|
189
|
-
kubectl run test-pull --image=myregistry.io/myapp:v1.2.0 \
|
|
190
|
-
--image-pull-policy=Always \
|
|
191
|
-
--restart=Never \
|
|
192
|
-
-n production
|
|
193
|
-
|
|
194
|
-
# Create/update image pull secret
|
|
195
|
-
kubectl create secret docker-registry registry-credentials \
|
|
196
|
-
--docker-server=myregistry.io \
|
|
197
|
-
--docker-username=myuser \
|
|
198
|
-
--docker-password=mypassword \
|
|
199
|
-
--docker-email=user@example.com \
|
|
200
|
-
-n production
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Issue 4: Service Not Accessible
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
# Check service endpoints
|
|
207
|
-
kubectl get endpoints web-app -n production
|
|
208
|
-
kubectl describe endpoints web-app -n production
|
|
209
|
-
|
|
210
|
-
# Verify pod labels match service selector
|
|
211
|
-
kubectl get pod web-app-7d5c8b9f4-xk2pm -n production --show-labels
|
|
212
|
-
kubectl get service web-app -n production -o yaml | grep -A 3 selector
|
|
213
|
-
|
|
214
|
-
# Test service connectivity from debug pod
|
|
215
|
-
kubectl run debug --image=nicolaka/netshoot:latest -it --rm -n production -- bash
|
|
216
|
-
# Inside pod:
|
|
217
|
-
curl http://web-app.production.svc.cluster.local
|
|
218
|
-
nslookup web-app.production.svc.cluster.local
|
|
219
|
-
telnet web-app.production.svc.cluster.local 80
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### Issue 5: DNS Resolution Issues
|
|
223
|
-
|
|
224
|
-
```bash
|
|
225
|
-
# Check CoreDNS pods
|
|
226
|
-
kubectl get pods -n kube-system -l k8s-app=kube-dns
|
|
227
|
-
kubectl logs -n kube-system -l k8s-app=kube-dns
|
|
228
|
-
|
|
229
|
-
# Test DNS resolution
|
|
230
|
-
kubectl run dnsutils --image=tutum/dnsutils -it --rm -- bash
|
|
231
|
-
# Inside pod:
|
|
232
|
-
nslookup kubernetes.default
|
|
233
|
-
nslookup web-app.production.svc.cluster.local
|
|
234
|
-
dig web-app.production.svc.cluster.local
|
|
235
|
-
|
|
236
|
-
# Check DNS config in pod
|
|
237
|
-
kubectl exec web-app-7d5c8b9f4-xk2pm -n production -- cat /etc/resolv.conf
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### Issue 6: NetworkPolicy Blocking Traffic
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
# List network policies
|
|
244
|
-
kubectl get networkpolicy -n production
|
|
245
|
-
kubectl describe networkpolicy default-deny-all -n production
|
|
246
|
-
|
|
247
|
-
# Test connectivity
|
|
248
|
-
kubectl run test-connectivity --image=nicolaka/netshoot:latest -it --rm -n production -- bash
|
|
249
|
-
# Inside pod:
|
|
250
|
-
curl -v http://web-app:80
|
|
251
|
-
nc -zv web-app 80
|
|
252
|
-
|
|
253
|
-
# Temporarily allow all traffic (testing only)
|
|
254
|
-
kubectl delete networkpolicy --all -n production
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
### Issue 7: High Resource Usage
|
|
258
|
-
|
|
259
|
-
```bash
|
|
260
|
-
# Check resource usage
|
|
261
|
-
kubectl top nodes
|
|
262
|
-
kubectl top pods -n production
|
|
263
|
-
kubectl top pod web-app-7d5c8b9f4-xk2pm -n production --containers
|
|
264
|
-
|
|
265
|
-
# Check resource requests and limits
|
|
266
|
-
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production | grep -A 10 "Limits"
|
|
267
|
-
|
|
268
|
-
# Get pods sorted by CPU/memory usage
|
|
269
|
-
kubectl top pods -n production --sort-by=cpu
|
|
270
|
-
kubectl top pods -n production --sort-by=memory
|
|
271
|
-
|
|
272
|
-
# Check node capacity
|
|
273
|
-
kubectl describe node node-01 | grep -A 10 "Allocated resources"
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
### Issue 8: PersistentVolumeClaim Issues
|
|
277
|
-
|
|
278
|
-
```bash
|
|
279
|
-
# Check PVC status
|
|
280
|
-
kubectl get pvc -n production
|
|
281
|
-
kubectl describe pvc database-pvc -n production
|
|
282
|
-
|
|
283
|
-
# Check PV status
|
|
284
|
-
kubectl get pv
|
|
285
|
-
kubectl describe pv pvc-abc123
|
|
286
|
-
|
|
287
|
-
# Check storage class
|
|
288
|
-
kubectl get storageclass
|
|
289
|
-
kubectl describe storageclass fast-ssd
|
|
290
|
-
|
|
291
|
-
# Events related to PVC
|
|
292
|
-
kubectl get events -n production --field-selector involvedObject.name=database-pvc
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
## Advanced Debugging
|
|
296
|
-
|
|
297
|
-
### API Server Debugging
|
|
298
|
-
|
|
299
|
-
```bash
|
|
300
|
-
# Enable verbose output
|
|
301
|
-
kubectl get pods -n production -v=9
|
|
302
|
-
|
|
303
|
-
# Check API server logs (on master node)
|
|
304
|
-
journalctl -u kube-apiserver -f
|
|
305
|
-
|
|
306
|
-
# Check cluster info
|
|
307
|
-
kubectl cluster-info
|
|
308
|
-
kubectl cluster-info dump > cluster-dump.txt
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
### RBAC Debugging
|
|
312
|
-
|
|
313
|
-
```bash
|
|
314
|
-
# Check if ServiceAccount can perform action
|
|
315
|
-
kubectl auth can-i get pods --as=system:serviceaccount:production:web-app-sa -n production
|
|
316
|
-
|
|
317
|
-
# List permissions for ServiceAccount
|
|
318
|
-
kubectl describe sa web-app-sa -n production
|
|
319
|
-
kubectl describe role web-app-role -n production
|
|
320
|
-
kubectl describe rolebinding web-app-rolebinding -n production
|
|
321
|
-
|
|
322
|
-
# Check all permissions
|
|
323
|
-
kubectl auth can-i --list --as=system:serviceaccount:production:web-app-sa -n production
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
### Performance Debugging
|
|
327
|
-
|
|
328
|
-
```bash
|
|
329
|
-
# Get resource metrics
|
|
330
|
-
kubectl get --raw /apis/metrics.k8s.io/v1beta1/nodes
|
|
331
|
-
kubectl get --raw /apis/metrics.k8s.io/v1beta1/pods
|
|
332
|
-
|
|
333
|
-
# Check pod overhead
|
|
334
|
-
kubectl get pod web-app-7d5c8b9f4-xk2pm -n production -o json | jq '.spec.overhead'
|
|
335
|
-
|
|
336
|
-
# Check priority classes
|
|
337
|
-
kubectl get priorityclasses
|
|
338
|
-
kubectl describe priorityclass high-priority
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
## Diagnostic Tools
|
|
342
|
-
|
|
343
|
-
### Network Tools Container
|
|
344
|
-
|
|
345
|
-
```yaml
|
|
346
|
-
apiVersion: v1
|
|
347
|
-
kind: Pod
|
|
348
|
-
metadata:
|
|
349
|
-
name: netshoot
|
|
350
|
-
namespace: production
|
|
351
|
-
spec:
|
|
352
|
-
containers:
|
|
353
|
-
- name: netshoot
|
|
354
|
-
image: nicolaka/netshoot:latest
|
|
355
|
-
command: ["/bin/sleep", "3600"]
|
|
356
|
-
restartPolicy: Never
|
|
357
|
-
```
|
|
358
|
-
|
|
359
|
-
### Database Client Container
|
|
360
|
-
|
|
361
|
-
```yaml
|
|
362
|
-
apiVersion: v1
|
|
363
|
-
kind: Pod
|
|
364
|
-
metadata:
|
|
365
|
-
name: postgres-client
|
|
366
|
-
namespace: production
|
|
367
|
-
spec:
|
|
368
|
-
containers:
|
|
369
|
-
- name: postgres
|
|
370
|
-
image: postgres:15-alpine
|
|
371
|
-
command: ["/bin/sleep", "3600"]
|
|
372
|
-
env:
|
|
373
|
-
- name: PGHOST
|
|
374
|
-
value: postgres-service
|
|
375
|
-
- name: PGUSER
|
|
376
|
-
value: myapp
|
|
377
|
-
- name: PGPASSWORD
|
|
378
|
-
valueFrom:
|
|
379
|
-
secretKeyRef:
|
|
380
|
-
name: postgres-secrets
|
|
381
|
-
key: password
|
|
382
|
-
restartPolicy: Never
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
## Quick Reference
|
|
386
|
-
|
|
387
|
-
### Pod States
|
|
388
|
-
- **Pending**: Waiting to be scheduled
|
|
389
|
-
- **ContainerCreating**: Pulling image / creating container
|
|
390
|
-
- **Running**: Pod is running
|
|
391
|
-
- **Succeeded**: All containers exited successfully
|
|
392
|
-
- **Failed**: At least one container failed
|
|
393
|
-
- **CrashLoopBackOff**: Container keeps crashing
|
|
394
|
-
- **ImagePullBackOff**: Cannot pull image
|
|
395
|
-
- **ErrImagePull**: Image pull error
|
|
396
|
-
- **Unknown**: Cannot get pod status
|
|
397
|
-
|
|
398
|
-
### Common Exit Codes
|
|
399
|
-
- **0**: Success
|
|
400
|
-
- **1**: General error
|
|
401
|
-
- **137**: SIGKILL (OOMKilled - out of memory)
|
|
402
|
-
- **139**: SIGSEGV (segmentation fault)
|
|
403
|
-
- **143**: SIGTERM (graceful termination)
|
|
404
|
-
|
|
405
|
-
## Best Practices
|
|
406
|
-
|
|
407
|
-
1. **Logs**: Always check logs first with `kubectl logs`
|
|
408
|
-
2. **Events**: Use `kubectl describe` to see events
|
|
409
|
-
3. **Labels**: Use consistent labels for easier debugging
|
|
410
|
-
4. **Resources**: Set appropriate requests and limits
|
|
411
|
-
5. **Health Checks**: Implement proper liveness and readiness probes
|
|
412
|
-
6. **Monitoring**: Set up comprehensive monitoring and alerting
|
|
413
|
-
7. **Debug Tools**: Keep debug containers ready
|
|
414
|
-
8. **Documentation**: Document common issues and solutions
|
|
1
|
+
# Kubernetes Troubleshooting
|
|
2
|
+
|
|
3
|
+
## Essential kubectl Commands
|
|
4
|
+
|
|
5
|
+
### Pod Inspection
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Get pods with details
|
|
9
|
+
kubectl get pods -n production -o wide
|
|
10
|
+
kubectl get pods --all-namespaces
|
|
11
|
+
kubectl get pods --field-selector status.phase=Running
|
|
12
|
+
kubectl get pods --selector app=web-app
|
|
13
|
+
|
|
14
|
+
# Describe pod (shows events)
|
|
15
|
+
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production
|
|
16
|
+
|
|
17
|
+
# Get pod logs
|
|
18
|
+
kubectl logs web-app-7d5c8b9f4-xk2pm -n production
|
|
19
|
+
kubectl logs web-app-7d5c8b9f4-xk2pm -n production --previous # Previous container
|
|
20
|
+
kubectl logs web-app-7d5c8b9f4-xk2pm -n production -c init-container
|
|
21
|
+
kubectl logs -f web-app-7d5c8b9f4-xk2pm -n production # Follow logs
|
|
22
|
+
kubectl logs --tail=100 web-app-7d5c8b9f4-xk2pm -n production
|
|
23
|
+
kubectl logs --since=1h web-app-7d5c8b9f4-xk2pm -n production
|
|
24
|
+
|
|
25
|
+
# Get all pod logs from deployment
|
|
26
|
+
kubectl logs deployment/web-app -n production --all-containers=true
|
|
27
|
+
|
|
28
|
+
# Execute commands in pod
|
|
29
|
+
kubectl exec -it web-app-7d5c8b9f4-xk2pm -n production -- /bin/sh
|
|
30
|
+
kubectl exec web-app-7d5c8b9f4-xk2pm -n production -- env
|
|
31
|
+
kubectl exec web-app-7d5c8b9f4-xk2pm -n production -- cat /etc/config/app.yaml
|
|
32
|
+
|
|
33
|
+
# Copy files to/from pod
|
|
34
|
+
kubectl cp web-app-7d5c8b9f4-xk2pm:/app/logs/app.log ./app.log -n production
|
|
35
|
+
kubectl cp ./config.yaml web-app-7d5c8b9f4-xk2pm:/tmp/config.yaml -n production
|
|
36
|
+
|
|
37
|
+
# Port forward
|
|
38
|
+
kubectl port-forward web-app-7d5c8b9f4-xk2pm 8080:8080 -n production
|
|
39
|
+
kubectl port-forward service/web-app 8080:80 -n production
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Deployment Debugging
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Check deployment status
|
|
46
|
+
kubectl get deployment web-app -n production
|
|
47
|
+
kubectl describe deployment web-app -n production
|
|
48
|
+
kubectl rollout status deployment/web-app -n production
|
|
49
|
+
kubectl rollout history deployment/web-app -n production
|
|
50
|
+
|
|
51
|
+
# Check replica sets
|
|
52
|
+
kubectl get rs -n production
|
|
53
|
+
kubectl describe rs web-app-7d5c8b9f4 -n production
|
|
54
|
+
|
|
55
|
+
# Scale deployment
|
|
56
|
+
kubectl scale deployment web-app --replicas=5 -n production
|
|
57
|
+
|
|
58
|
+
# Rollback deployment
|
|
59
|
+
kubectl rollout undo deployment/web-app -n production
|
|
60
|
+
kubectl rollout undo deployment/web-app --to-revision=2 -n production
|
|
61
|
+
|
|
62
|
+
# Restart deployment (recreate pods)
|
|
63
|
+
kubectl rollout restart deployment/web-app -n production
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Service and Network Debugging
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Get services
|
|
70
|
+
kubectl get svc -n production
|
|
71
|
+
kubectl describe svc web-app -n production
|
|
72
|
+
|
|
73
|
+
# Get endpoints
|
|
74
|
+
kubectl get endpoints web-app -n production
|
|
75
|
+
kubectl describe endpoints web-app -n production
|
|
76
|
+
|
|
77
|
+
# Get ingress
|
|
78
|
+
kubectl get ingress -n production
|
|
79
|
+
kubectl describe ingress web-app -n production
|
|
80
|
+
|
|
81
|
+
# Get network policies
|
|
82
|
+
kubectl get networkpolicy -n production
|
|
83
|
+
kubectl describe networkpolicy frontend-to-backend -n production
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Resource and Configuration
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Get ConfigMaps and Secrets
|
|
90
|
+
kubectl get configmap -n production
|
|
91
|
+
kubectl describe configmap app-config -n production
|
|
92
|
+
kubectl get configmap app-config -n production -o yaml
|
|
93
|
+
|
|
94
|
+
kubectl get secret -n production
|
|
95
|
+
kubectl describe secret app-secrets -n production
|
|
96
|
+
kubectl get secret app-secrets -n production -o jsonpath='{.data.password}' | base64 -d
|
|
97
|
+
|
|
98
|
+
# Get PVCs and PVs
|
|
99
|
+
kubectl get pvc -n production
|
|
100
|
+
kubectl describe pvc database-pvc -n production
|
|
101
|
+
kubectl get pv
|
|
102
|
+
|
|
103
|
+
# Get events (sorted by timestamp)
|
|
104
|
+
kubectl get events -n production --sort-by='.lastTimestamp'
|
|
105
|
+
kubectl get events -n production --field-selector involvedObject.name=web-app-7d5c8b9f4-xk2pm
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Debug Pod
|
|
109
|
+
|
|
110
|
+
### Ephemeral Debug Container
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Attach debug container to running pod
|
|
114
|
+
kubectl debug -it web-app-7d5c8b9f4-xk2pm -n production \
|
|
115
|
+
--image=busybox:latest \
|
|
116
|
+
--target=web-app
|
|
117
|
+
|
|
118
|
+
# Create copy of pod with debug tools
|
|
119
|
+
kubectl debug web-app-7d5c8b9f4-xk2pm -n production \
|
|
120
|
+
-it \
|
|
121
|
+
--image=ubuntu:latest \
|
|
122
|
+
--share-processes \
|
|
123
|
+
--copy-to=web-app-debug
|
|
124
|
+
|
|
125
|
+
# Debug with different image
|
|
126
|
+
kubectl debug web-app-7d5c8b9f4-xk2pm -n production \
|
|
127
|
+
-it \
|
|
128
|
+
--image=nicolaka/netshoot:latest \
|
|
129
|
+
--target=web-app
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Debug on Node
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Create privileged pod on specific node
|
|
136
|
+
kubectl debug node/node-01 -it --image=ubuntu:latest
|
|
137
|
+
|
|
138
|
+
# Access node filesystem
|
|
139
|
+
kubectl debug node/node-01 -it --image=ubuntu:latest -- chroot /host
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Common Issues and Solutions
|
|
143
|
+
|
|
144
|
+
### Issue 1: Pod in Pending State
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Check pod status and events
|
|
148
|
+
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production
|
|
149
|
+
|
|
150
|
+
# Common causes:
|
|
151
|
+
# 1. Insufficient resources
|
|
152
|
+
kubectl top nodes
|
|
153
|
+
kubectl describe nodes
|
|
154
|
+
|
|
155
|
+
# 2. PVC not bound
|
|
156
|
+
kubectl get pvc -n production
|
|
157
|
+
kubectl describe pvc database-pvc -n production
|
|
158
|
+
|
|
159
|
+
# 3. ImagePullBackOff
|
|
160
|
+
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production | grep -A 10 Events
|
|
161
|
+
|
|
162
|
+
# 4. Node selector/affinity issues
|
|
163
|
+
kubectl get pod web-app-7d5c8b9f4-xk2pm -n production -o yaml | grep -A 5 nodeSelector
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Issue 2: CrashLoopBackOff
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Check logs from crashed container
|
|
170
|
+
kubectl logs web-app-7d5c8b9f4-xk2pm -n production --previous
|
|
171
|
+
|
|
172
|
+
# Check if liveness probe is failing
|
|
173
|
+
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production | grep -A 10 "Liveness"
|
|
174
|
+
|
|
175
|
+
# Debug with different command
|
|
176
|
+
kubectl run debug-pod --image=myapp:latest -it --rm --restart=Never -- /bin/sh
|
|
177
|
+
|
|
178
|
+
# Check resource limits
|
|
179
|
+
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production | grep -A 10 "Limits"
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Issue 3: ImagePullBackOff
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# Check image pull secret
|
|
186
|
+
kubectl get secret registry-credentials -n production -o yaml
|
|
187
|
+
|
|
188
|
+
# Test image pull manually
|
|
189
|
+
kubectl run test-pull --image=myregistry.io/myapp:v1.2.0 \
|
|
190
|
+
--image-pull-policy=Always \
|
|
191
|
+
--restart=Never \
|
|
192
|
+
-n production
|
|
193
|
+
|
|
194
|
+
# Create/update image pull secret
|
|
195
|
+
kubectl create secret docker-registry registry-credentials \
|
|
196
|
+
--docker-server=myregistry.io \
|
|
197
|
+
--docker-username=myuser \
|
|
198
|
+
--docker-password=mypassword \
|
|
199
|
+
--docker-email=user@example.com \
|
|
200
|
+
-n production
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Issue 4: Service Not Accessible
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Check service endpoints
|
|
207
|
+
kubectl get endpoints web-app -n production
|
|
208
|
+
kubectl describe endpoints web-app -n production
|
|
209
|
+
|
|
210
|
+
# Verify pod labels match service selector
|
|
211
|
+
kubectl get pod web-app-7d5c8b9f4-xk2pm -n production --show-labels
|
|
212
|
+
kubectl get service web-app -n production -o yaml | grep -A 3 selector
|
|
213
|
+
|
|
214
|
+
# Test service connectivity from debug pod
|
|
215
|
+
kubectl run debug --image=nicolaka/netshoot:latest -it --rm -n production -- bash
|
|
216
|
+
# Inside pod:
|
|
217
|
+
curl http://web-app.production.svc.cluster.local
|
|
218
|
+
nslookup web-app.production.svc.cluster.local
|
|
219
|
+
telnet web-app.production.svc.cluster.local 80
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Issue 5: DNS Resolution Issues
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# Check CoreDNS pods
|
|
226
|
+
kubectl get pods -n kube-system -l k8s-app=kube-dns
|
|
227
|
+
kubectl logs -n kube-system -l k8s-app=kube-dns
|
|
228
|
+
|
|
229
|
+
# Test DNS resolution
|
|
230
|
+
kubectl run dnsutils --image=tutum/dnsutils -it --rm -- bash
|
|
231
|
+
# Inside pod:
|
|
232
|
+
nslookup kubernetes.default
|
|
233
|
+
nslookup web-app.production.svc.cluster.local
|
|
234
|
+
dig web-app.production.svc.cluster.local
|
|
235
|
+
|
|
236
|
+
# Check DNS config in pod
|
|
237
|
+
kubectl exec web-app-7d5c8b9f4-xk2pm -n production -- cat /etc/resolv.conf
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Issue 6: NetworkPolicy Blocking Traffic
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
# List network policies
|
|
244
|
+
kubectl get networkpolicy -n production
|
|
245
|
+
kubectl describe networkpolicy default-deny-all -n production
|
|
246
|
+
|
|
247
|
+
# Test connectivity
|
|
248
|
+
kubectl run test-connectivity --image=nicolaka/netshoot:latest -it --rm -n production -- bash
|
|
249
|
+
# Inside pod:
|
|
250
|
+
curl -v http://web-app:80
|
|
251
|
+
nc -zv web-app 80
|
|
252
|
+
|
|
253
|
+
# Temporarily allow all traffic (testing only)
|
|
254
|
+
kubectl delete networkpolicy --all -n production
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Issue 7: High Resource Usage
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
# Check resource usage
|
|
261
|
+
kubectl top nodes
|
|
262
|
+
kubectl top pods -n production
|
|
263
|
+
kubectl top pod web-app-7d5c8b9f4-xk2pm -n production --containers
|
|
264
|
+
|
|
265
|
+
# Check resource requests and limits
|
|
266
|
+
kubectl describe pod web-app-7d5c8b9f4-xk2pm -n production | grep -A 10 "Limits"
|
|
267
|
+
|
|
268
|
+
# Get pods sorted by CPU/memory usage
|
|
269
|
+
kubectl top pods -n production --sort-by=cpu
|
|
270
|
+
kubectl top pods -n production --sort-by=memory
|
|
271
|
+
|
|
272
|
+
# Check node capacity
|
|
273
|
+
kubectl describe node node-01 | grep -A 10 "Allocated resources"
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### Issue 8: PersistentVolumeClaim Issues
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
# Check PVC status
|
|
280
|
+
kubectl get pvc -n production
|
|
281
|
+
kubectl describe pvc database-pvc -n production
|
|
282
|
+
|
|
283
|
+
# Check PV status
|
|
284
|
+
kubectl get pv
|
|
285
|
+
kubectl describe pv pvc-abc123
|
|
286
|
+
|
|
287
|
+
# Check storage class
|
|
288
|
+
kubectl get storageclass
|
|
289
|
+
kubectl describe storageclass fast-ssd
|
|
290
|
+
|
|
291
|
+
# Events related to PVC
|
|
292
|
+
kubectl get events -n production --field-selector involvedObject.name=database-pvc
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Advanced Debugging
|
|
296
|
+
|
|
297
|
+
### API Server Debugging
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
# Enable verbose output
|
|
301
|
+
kubectl get pods -n production -v=9
|
|
302
|
+
|
|
303
|
+
# Check API server logs (on master node)
|
|
304
|
+
journalctl -u kube-apiserver -f
|
|
305
|
+
|
|
306
|
+
# Check cluster info
|
|
307
|
+
kubectl cluster-info
|
|
308
|
+
kubectl cluster-info dump > cluster-dump.txt
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### RBAC Debugging
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
# Check if ServiceAccount can perform action
|
|
315
|
+
kubectl auth can-i get pods --as=system:serviceaccount:production:web-app-sa -n production
|
|
316
|
+
|
|
317
|
+
# List permissions for ServiceAccount
|
|
318
|
+
kubectl describe sa web-app-sa -n production
|
|
319
|
+
kubectl describe role web-app-role -n production
|
|
320
|
+
kubectl describe rolebinding web-app-rolebinding -n production
|
|
321
|
+
|
|
322
|
+
# Check all permissions
|
|
323
|
+
kubectl auth can-i --list --as=system:serviceaccount:production:web-app-sa -n production
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### Performance Debugging
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
# Get resource metrics
|
|
330
|
+
kubectl get --raw /apis/metrics.k8s.io/v1beta1/nodes
|
|
331
|
+
kubectl get --raw /apis/metrics.k8s.io/v1beta1/pods
|
|
332
|
+
|
|
333
|
+
# Check pod overhead
|
|
334
|
+
kubectl get pod web-app-7d5c8b9f4-xk2pm -n production -o json | jq '.spec.overhead'
|
|
335
|
+
|
|
336
|
+
# Check priority classes
|
|
337
|
+
kubectl get priorityclasses
|
|
338
|
+
kubectl describe priorityclass high-priority
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## Diagnostic Tools
|
|
342
|
+
|
|
343
|
+
### Network Tools Container
|
|
344
|
+
|
|
345
|
+
```yaml
|
|
346
|
+
apiVersion: v1
|
|
347
|
+
kind: Pod
|
|
348
|
+
metadata:
|
|
349
|
+
name: netshoot
|
|
350
|
+
namespace: production
|
|
351
|
+
spec:
|
|
352
|
+
containers:
|
|
353
|
+
- name: netshoot
|
|
354
|
+
image: nicolaka/netshoot:latest
|
|
355
|
+
command: ["/bin/sleep", "3600"]
|
|
356
|
+
restartPolicy: Never
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### Database Client Container
|
|
360
|
+
|
|
361
|
+
```yaml
|
|
362
|
+
apiVersion: v1
|
|
363
|
+
kind: Pod
|
|
364
|
+
metadata:
|
|
365
|
+
name: postgres-client
|
|
366
|
+
namespace: production
|
|
367
|
+
spec:
|
|
368
|
+
containers:
|
|
369
|
+
- name: postgres
|
|
370
|
+
image: postgres:15-alpine
|
|
371
|
+
command: ["/bin/sleep", "3600"]
|
|
372
|
+
env:
|
|
373
|
+
- name: PGHOST
|
|
374
|
+
value: postgres-service
|
|
375
|
+
- name: PGUSER
|
|
376
|
+
value: myapp
|
|
377
|
+
- name: PGPASSWORD
|
|
378
|
+
valueFrom:
|
|
379
|
+
secretKeyRef:
|
|
380
|
+
name: postgres-secrets
|
|
381
|
+
key: password
|
|
382
|
+
restartPolicy: Never
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
## Quick Reference
|
|
386
|
+
|
|
387
|
+
### Pod States
|
|
388
|
+
- **Pending**: Waiting to be scheduled
|
|
389
|
+
- **ContainerCreating**: Pulling image / creating container
|
|
390
|
+
- **Running**: Pod is running
|
|
391
|
+
- **Succeeded**: All containers exited successfully
|
|
392
|
+
- **Failed**: At least one container failed
|
|
393
|
+
- **CrashLoopBackOff**: Container keeps crashing
|
|
394
|
+
- **ImagePullBackOff**: Cannot pull image
|
|
395
|
+
- **ErrImagePull**: Image pull error
|
|
396
|
+
- **Unknown**: Cannot get pod status
|
|
397
|
+
|
|
398
|
+
### Common Exit Codes
|
|
399
|
+
- **0**: Success
|
|
400
|
+
- **1**: General error
|
|
401
|
+
- **137**: SIGKILL (OOMKilled - out of memory)
|
|
402
|
+
- **139**: SIGSEGV (segmentation fault)
|
|
403
|
+
- **143**: SIGTERM (graceful termination)
|
|
404
|
+
|
|
405
|
+
## Best Practices
|
|
406
|
+
|
|
407
|
+
1. **Logs**: Always check logs first with `kubectl logs`
|
|
408
|
+
2. **Events**: Use `kubectl describe` to see events
|
|
409
|
+
3. **Labels**: Use consistent labels for easier debugging
|
|
410
|
+
4. **Resources**: Set appropriate requests and limits
|
|
411
|
+
5. **Health Checks**: Implement proper liveness and readiness probes
|
|
412
|
+
6. **Monitoring**: Set up comprehensive monitoring and alerting
|
|
413
|
+
7. **Debug Tools**: Keep debug containers ready
|
|
414
|
+
8. **Documentation**: Document common issues and solutions
|