Instalar en Claude Code
Copiargit clone --depth 1 https://github.com/zw008/VMware-VKS /tmp/vmware-vks && cp -r /tmp/vmware-vks/skills/vmware-vks ~/.claude/skills/vmware-vksDespués abre una sesión nueva de Claude Code; el skill carga automáticamente.
Definición
SKILL.md
# VMware VKS > **Disclaimer**: This is a community-maintained open-source project and is **not affiliated with, endorsed by, or sponsored by VMware, Inc. or Broadcom Inc.** "VMware" and "vSphere" are trademarks of Broadcom. Source code is publicly auditable at [github.com/zw008/VMware-VKS](https://github.com/zw008/VMware-VKS) under the MIT license. AI-powered VMware vSphere Kubernetes Service (VKS) management — 20 MCP tools. > Requires vSphere 8.x+ with Workload Management enabled. > **Companion skills**: [vmware-aiops](https://github.com/zw008/VMware-AIops) (VM lifecycle), [vmware-monitor](https://github.com/zw008/VMware-Monitor) (monitoring), [vmware-storage](https://github.com/zw008/VMware-Storage) (storage), [vmware-nsx](https://github.com/zw008/VMware-NSX) (NSX networking), [vmware-nsx-security](https://github.com/zw008/VMware-NSX-Security) (DFW/firewall), [vmware-aria](https://github.com/zw008/VMware-Aria) (metrics/alerts/capacity), [vmware-avi](https://github.com/zw008/VMware-AVI) (AVI/ALB/AKO), [vmware-harden](https://github.com/zw008/VMware-Harden) (compliance baselines). > | [vmware-pilot](../vmware-pilot/SKILL.md) (workflow orchestration) | [vmware-policy](../vmware-policy/SKILL.md) (audit/policy) ## What This Skill Does | Category | Capabilities | Count | |----------|-------------|:-----:| | **Supervisor** | Compatibility check, status, storage policies | 3 | | **Namespace** | List, get, create with quotas, update, delete with TKC guard, VM classes | 6 | | **TKC Clusters** | List, get, versions, create, scale, upgrade, delete with workload guard | 7 | | **Access** | Supervisor kubeconfig, TKC kubeconfig, Harbor registry, storage usage | 4 | ## Quick Install ```bash uv tool install vmware-vks vmware-vks doctor ``` ## When to Use This Skill - Check if vSphere environment supports VKS - Create, update, or delete Supervisor Namespaces with resource quotas - Deploy, scale, upgrade, or delete TKC (TanzuKubernetesCluster) clusters - Get kubeconfig for Supervisor or TKC clusters - Check Harbor registry info or storage usage **Use companion skills for**: - VM lifecycle, deployment → `vmware-aiops` - Inventory, health, alarms → `vmware-monitor` - iSCSI, vSAN, datastore → `vmware-storage` - Load balancing, AVI/ALB, AKO, Ingress → `vmware-avi` ## Related Skills — Skill Routing | User Intent | Recommended Skill | |-------------|------------------| | Read-only monitoring | **vmware-monitor** | | Storage: iSCSI, vSAN | **vmware-storage** | | VM lifecycle, deployment | **vmware-aiops** | | vSphere Kubernetes Service (vSphere 8.x+) | **vmware-vks** ← this skill | | NSX networking: segments, gateways, NAT | **vmware-nsx** | | NSX security: DFW rules, security groups | **vmware-nsx-security** | | Aria Ops: metrics, alerts, capacity planning | **vmware-aria** | | Multi-step workflows with approval | **vmware-pilot** | | Compliance baselines (CIS / 等保 / PCI-DSS), drift detection, LLM remediation advisor | **vmware-harden** (`uv tool install vmware-harden`) | | Load balancer, AVI, ALB, AKO, Ingress | **vmware-avi** (`uv tool install vmware-avi`) | | Audit log query | **vmware-policy** (`vmware-audit` CLI) | ## Common Workflows ### Deploy a New TKC Cluster **Pre-flight (judgment)**: - Supervisor must be vSphere 8.x+ with WCP enabled — `supervisor check` returns pass/fail. If fail, no amount of TKC commands will work; resolve at vSphere/WCP layer first. - K8s version: pick a TKR version that's still supported by VMware (not EOL). New clusters on EOL versions look fine until you need a CVE patch and there isn't one. - VM class sizing: `best-effort-*` for dev, `guaranteed-*` for prod. A `best-effort` worker can be evicted under host pressure — production workloads need guaranteed. - Storage policy: must already exist in vCenter. `list_supervisor_storage_policies` first and pass the returned `policy` ID (not the display name); creating a TKC against a missing policy fails after CP boot, leaving partial state. - Control-plane count: `1` for dev, `3` for prod (HA). Cannot upgrade from 1→3 without recreating; choose right the first time. - Namespace quota: TKC consumes CP + worker × (cpu, memory) from namespace quota. If quota is too tight, workers fail to schedule with no obvious error. - TKC API version: auto-detected at runtime via the K8s discovery API (prefers `cluster.x-k8s.io/v1` when the Supervisor serves it, falls back to `v1beta1` on vSphere 8.0). No manual selection needed; advanced callers can override via the `api_version` parameter on `generate_tkc_yaml()`. **Steps**: 1. `vmware-vks supervisor check --target prod` → must pass 2. `vmware-vks tkc versions -n <ns>` → pick a non-EOL TKR 3. (If new namespace) `vmware-vks namespace create dev --storage-policy <policy> --cpu <enough-for-cp+workers> --apply --dry-run` then real 4. `vmware-vks tkc create dev-cluster -n dev --version <tkr> --control-plane 1 --workers 3 --vm-class best-effort-large --apply --dry-run` then real 5. Wait for `phase=running` (typically 10-15 min); do not assume success on apply return 6. `vmware-vks kubeconfig get dev-cluster -n dev -o ./kubeconfig` — write to file, do not paste tokens into the agent context ### Scale Workers for Load Testing **Judgment**: scaling is fast but reverse-scaling is destructive — workers are deleted, in-flight pods lost. Treat scale-down like a delete. 1. `tkc get dev-cluster -n dev` → record current worker count and any pending pods 2. **Scale-up**: `tkc scale dev-cluster -n dev --workers 6` → safe, additive operation 3. Verify new workers reach `Ready` in `kubectl get nodes` before sending traffic 4. **Scale-down**: drain pods first via `kubectl drain` on the to-be-deleted nodes, THEN `tkc scale --workers 3`. Skipping drain causes pod restarts on remaining nodes — measurable user impact. 5. Confirm namespace quota leftover supports the new size — quota is enforced at scheduling, not at scale request ### Namespace Resource Management **Judgment**: quota changes are atomic