google-agents-cli-scaffold
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
terway-troubleshooting
Troubleshoot Terway CNI issues in Kubernetes using Kubernetes events and Terway logs. Use when diagnosing "cni plugin not initialized", Pod create/delete failures, or ENI/IPAM problems in Terway (centralized or non-centralized IPAM).
Full skill instructions
Use this Skill whenever the user:
Always assume the cluster is running Kubernetes and Terway is the CNI plugin.
Follow this order unless the user has already done some steps:
Gather cluster-level configuration first
Run the cluster configuration inspection script to understand the environment:
./scripts/inspect-terway-cluster.sh
This provides Terway version, IPAM type (centralized vs non-centralized), service CIDR, kube-proxy mode, and key Terway feature flags.
Use this information to guide the rest of the troubleshooting flow.
Check Terway components health
Inspect the problematic Pod and Node configuration
./scripts/inspect-terway-pod.sh <namespace> <pod-name> to check Pod-level config (hostNetwork, pod-eni, annotation-based config source)../scripts/inspect-terway-node.sh <node-name> to check Node-level config (ENI mode, dynamic config, LingJun status, ignore-by-terway, no-kube-proxy).Use Kubernetes Events as the primary signal
Inspect Terway IPAM / ENI controllers
Only then, inspect logs
Keep answers structured: first restate what has been checked, then propose next verification steps.
If the user reports "cni plugin not initialized" or similar:
Only after Terway is confirmed running on the node, proceed to Pod create/delete failures and Events.
For any Pod with network-related failures:
Inspect Pod Events
kubectl describe pod <pod> -n <ns> and paste relevant Events.AllocIPFailed (Warning, Pod)AllocIPSucceed (Normal, Pod)VirtualModeChanged (Warning, Pod)CniPodCreateError (Warning, Pod)CniPodDeleteError (Warning, Pod)CniCreateENIError (Warning, Pod)CniPodENIDeleteErr (Warning, Pod)Interpret common Pod event reasons
AllocIPFailed (Warning, Pod)
ErrEniPerInstanceLimitExceeded).InvalidVSwitchID.IPNotEnough, QuotaExceeded.PrivateIPAddress).AllocIPSucceed (Normal, Pod)
VirtualModeChanged (Warning, Pod)
CniPodCreateError (Warning, Pod)
CniPodDeleteError (Warning, Pod)
CniCreateENIError / CniPodENIDeleteErr (Warning, Pod)
If no Terway-specific Events are present
Distinguish between:
corev1.Node).network.alibabacloud.com/v1beta1 Node) used in centralized IPAM.On the Kubernetes Node (corev1.Node)
AllocIPFailed (Warning, Node)
ConfigError (Warning, Node)
eni-config or node capabilities are invalid.On the Terway Node CRD (centralized IPAM)
Node CR under network.alibabacloud.com exists.types/k8s.go, such as:
CreateENISucceed / CreateENIFailedAttachENISucceed / AttachENIFailedDetachENISucceed / DetachENIFailedDeleteENISucceed / DeleteENIFailedLink Node events to Pod failures
AllocIPFailed or CniPodCreateError, check whether the corresponding Node / Node CR shows ENI/IPAM failures.When reasoning about Terway behavior, always clarify which IPAM mode is in use.
Detect mode from context
podenis.network.alibabacloud.com, nodes.network.alibabacloud.com, podnetworkings.network.alibabacloud.com.centralizedIPAM: true or controlplane config with CentralizedIPAM set.eni-config is default.If centralized IPAM
CreateENIFailed, AttachENIFailed, UpdatePodENIFailed.SyncPodNetworkingSucceed/Failed when syncing vswitch lists.If non-centralized IPAM
AllocIPFailed, ConfigError).eni-config ConfigMap correctness (vswitches, security groups, ip_stack, trunk/erdma flags, etc.).When to move to logs
AllocIPFailed without OpenAPI error details).Which logs to inspect
How to combine logs with Events
Before starting troubleshooting, gather cluster-wide Terway configuration:
./scripts/inspect-terway-cluster.sh
This script inspects:
terway-eniip DaemonSet image tagack-cluster-profile ConfigMapkube-proxy-worker ConfigMapcrd for centralized, default for non-centralized) from eni-config ConfigMapenable_eni_trunking, enable_erdma, vswitch_selection_policy, max_pool_size, min_pool_size, etc.Use this information to determine whether centralized IPAM is enabled and which Terway features are active. This guides the rest of the troubleshooting flow.
To inspect Terway-related node configuration for a problematic Pod, first identify the Pod's node (for example via kubectl get pod -o wide). Then, from the repository root, run:
./scripts/inspect-terway-node.sh <node-name>
This prints ENI mode (shared vs exclusive), node-level dynamic config (terway-config), LingJun node flags, k8s.aliyun.com/ignore-by-terway and k8s.aliyun.com/no-kube-proxy labels, and the ENO API type from the nodes.network.alibabacloud.com CR. Use this information as input to the troubleshooting steps above when you have located the Pod's node.
To inspect Terway-related Pod configuration, run:
./scripts/inspect-terway-pod.sh <namespace> <pod-name>
This checks:
hostNetwork (if true, Terway CNI does not process it).k8s.aliyun.com/pod-eni: "true" annotation (indicating trunk/exclusive ENI mode).k8s.aliyun.com/pod-networks (explicit pod-networks config)k8s.aliyun.com/pod-networks-request (pod-networks-request config)k8s.aliyun.com/pod-networking (matched PodNetworking resource)eni-config default on eth0 if none of the above are set.Use this to determine if the Pod should be managed by Terway, whether it uses PodENI, and which configuration source drives its ENI/IP allocation.
When this Skill is active:
AllocIPFailed, CniPodCreateError, CreateENIFailed) and explain what they mean.kubectl describe pod output for the problematic Pod.Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.
Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.
Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.
Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.
Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.
Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.
Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Opus.ai: Revolutionize Your Web Experience
Build a no-code AI app in minutes.
An IDE for code migration from legacy to modern frameworks through coding agents.
Automate CGI animation in live-action scenes
Branded artistic QR-code concepts
Launch a website in seconds with AI.
Streamline Your Coding Experience with AI Code Helper
Convert any screenshot or design to clean code.