[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FFVDAP7TH7YM06RAEHNH8M":3,"skill-same:01M6FFVDAP7TH7YM06RAEHNH8M":47},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M6FFVDAP7TH7YM06RAEHNH8M","k8s-autoscaling",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-autoscaling\u002FSKILL.md",[],[18,19],"k8s","k8s autoscaling","2026-11-10 10:12:30",false,"# Kubernetes Autoscaling\n\nComprehensive autoscaling using HPA, VPA, and KEDA with kubectl-mcp-server tools.\n\n## When to Apply\n\nUse this skill when:\n- User mentions: \"HPA\", \"VPA\", \"KEDA\", \"autoscale\", \"scale to zero\"\n- Operations: configuring autoscaling, checking scaling status\n- Keywords: \"scale automatically\", \"event-driven\", \"right-size\"\n\n## Priority Rules\n\n| Priority | Rule | Impact | Tools |\n|----------|------|--------|-------|\n| 1 | Verify metrics-server for HPA | CRITICAL | `get_resource_metrics` |\n| 2 | Set resource requests before HPA | CRITICAL | `describe_pod` |\n| 3 | Use KEDA for scale-to-zero | HIGH | `keda_scaledobjects_list_tool` |\n| 4 | Check VPA recommendations | MEDIUM | `get_resource_recommendations` |\n\n## Quick Reference\n\n| Task | Tool | Example |\n|------|------|---------|\n| List KEDA ScaledObjects | `keda_scaledobjects_list_tool` | `keda_scaledobjects_list_tool(namespace)` |\n| Get ScaledObject | `keda_scaledobject_get_tool` | `keda_scaledobject_get_tool(name, namespace)` |\n| List ScaledJobs | `keda_scaledjobs_list_tool` | `keda_scaledjobs_list_tool(namespace)` |\n| Check KEDA | `keda_detect_tool` | `keda_detect_tool()` |\n\n## HPA (Horizontal Pod Autoscaler)\n\nBasic CPU-based scaling:\n\n```yaml\napiVersion: autoscaling\u002Fv2\nkind: HorizontalPodAutoscaler\nmetadata:\n  name: my-app-hpa\nspec:\n  scaleTargetRef:\n    apiVersion: apps\u002Fv1\n    kind: Deployment\n    name: my-app\n  minReplicas: 2\n  maxReplicas: 10\n  metrics:\n  - type: Resource\n    resource:\n      name: cpu\n      target:\n        type: Utilization\n        averageUtilization: 70\n```\n\nApply and verify:\n\n```python\nkubectl_apply(hpa_yaml, namespace)\nget_hpa(namespace)\n```\n\n## VPA (Vertical Pod Autoscaler)\n\nRight-size resource requests:\n\n```yaml\napiVersion: autoscaling.k8s.io\u002Fv1\nkind: VerticalPodAutoscaler\nmetadata:\n  name: my-app-vpa\nspec:\n  targetRef:\n    apiVersion: apps\u002Fv1\n    kind: Deployment\n    name: my-app\n  updatePolicy:\n    updateMode: \"Auto\"\n```\n\n## KEDA (Event-Driven Autoscaling)\n\n### Detect KEDA Installation\n\n```python\nkeda_detect_tool()\n```\n\n### List ScaledObjects\n\n```python\nkeda_scaledobjects_list_tool(namespace)\nkeda_scaledobject_get_tool(name, namespace)\n```\n\n### List ScaledJobs\n\n```python\nkeda_scaledjobs_list_tool(namespace)\n```\n\n### Trigger Authentication\n\n```python\nkeda_triggerauths_list_tool(namespace)\nkeda_triggerauth_get_tool(name, namespace)\n```\n\n### KEDA-Managed HPAs\n\n```python\nkeda_hpa_list_tool(namespace)\n```\n\nSee [KEDA-TRIGGERS.md](KEDA-TRIGGERS.md) for trigger configurations.\n\n## Common KEDA Triggers\n\n### Queue-Based Scaling (AWS SQS)\n\n```yaml\napiVersion: keda.sh\u002Fv1alpha1\nkind: ScaledObject\nmetadata:\n  name: sqs-scaler\nspec:\n  scaleTargetRef:\n    name: queue-processor\n  minReplicaCount: 0\n  maxReplicaCount: 100\n  triggers:\n  - type: aws-sqs-queue\n    metadata:\n      queueURL: https:\u002F\u002Fsqs.region.amazonaws.com\u002F...\n      queueLength: \"5\"\n```\n\n### Cron-Based Scaling\n\n```yaml\ntriggers:\n- type: cron\n  metadata:\n    timezone: America\u002FNew_York\n    start: 0 8 * * 1-5\n    end: 0 18 * * 1-5\n    desiredReplicas: \"10\"\n```\n\n### Prometheus Metrics\n\n```yaml\ntriggers:\n- type: prometheus\n  metadata:\n    serverAddress: http:\u002F\u002Fprometheus:9090\n    metricName: http_requests_total\n    query: sum(rate(http_requests_total{app=\"myapp\"}[2m]))\n    threshold: \"100\"\n```\n\n## Scaling Strategies\n\n| Strategy | Tool | Use Case |\n|----------|------|----------|\n| CPU\u002FMemory | HPA | Steady traffic patterns |\n| Custom metrics | HPA v2 | Business metrics |\n| Event-driven | KEDA | Queue processing, cron |\n| Vertical | VPA | Right-size requests |\n| Scale to zero | KEDA | Cost savings, idle workloads |\n\n## Cost-Optimized Autoscaling\n\n### Scale to Zero with KEDA\n\nReduce costs for idle workloads:\n\n```python\nkeda_scaledobjects_list_tool(namespace)\n```\n\n### Right-Size with VPA\n\nGet recommendations and apply:\n\n```python\nget_resource_recommendations(namespace)\n```\n\n## Troubleshooting\n\n### HPA Not Scaling\n\n```python\nget_hpa(namespace)\nget_pod_metrics(name, namespace)\ndescribe_pod(name, namespace)\n```\n\n### KEDA Not Triggering\n\n```python\nkeda_scaledobject_get_tool(name, namespace)\nget_events(namespace)\n```\n\n### Common Issues\n\n| Symptom | Check | Resolution |\n|---------|-------|------------|\n| HPA unknown | Metrics server | Install metrics-server |\n| KEDA no scale | Trigger auth | Check TriggerAuthentication |\n| VPA not updating | Update mode | Set updateMode: Auto |\n| Scale down slow | Stabilization | Adjust stabilizationWindowSeconds |\n\n## Best Practices\n\n1. **Always Set Resource Requests** - HPA requires requests to calculate utilization\n2. **Use Multiple Metrics** - Combine CPU + custom metrics for accuracy\n3. **Stabilization Windows** - Prevent flapping with scaleDown stabilization\n4. **Scale to Zero Carefully** - Consider cold start time\n\n## Related Skills\n\n- [k8s-cost](..\u002Fk8s-cost\u002FSKILL.md) - Cost optimization\n- [k8s-troubleshoot](..\u002Fk8s-troubleshoot\u002FSKILL.md) - Debug scaling issues\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-autoscaling",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill k8s-autoscaling",{"tool":39,"command":40},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill k8s-autoscaling",{"tool":42,"command":43},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill k8s-autoscaling","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-autoscaling\u002FSKILL.md",true,[],[48,62,72,81,87,94],{"skillNo":49,"name":50,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":51,"categories":52,"keywords":58,"publishedAt":20},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[53],{"categoryNo":54,"categoryName":55,"taxonomyType":56,"taxonomyTypeDesc":57},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[59,60,61],"model","model hierarchy","model hierarchy skill",{"skillNo":63,"name":64,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":68,"publishedAt":20},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[67],{"categoryNo":54,"categoryName":55,"taxonomyType":56,"taxonomyTypeDesc":57},[69,70,71],"MCP","zoom","zoom mcp",{"skillNo":73,"name":74,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":20},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[78,79,80,70],"sdk","zoom apps sdk","apps",{"skillNo":82,"name":83,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":20},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[83],{"skillNo":88,"name":89,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":93,"publishedAt":20},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[92],{"categoryNo":54,"categoryName":55,"taxonomyType":56,"taxonomyTypeDesc":57},[89],{"skillNo":95,"name":96,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":20},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[96]]