[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EF7P8YK2GMSB0VVRXJTZP8":3,"skill-same:01M6EF7P8YK2GMSB0VVRXJTZP8":51},{"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":18,"linkOnly":19,"markdownContent":20,"markdownBody":20,"frontMatter":21,"refName":22,"commitSha":23,"skillDirectory":24,"forksCount":25,"repositoryHtmlUrl":26,"repositoryHomepageUrl":27,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M6EF7P8YK2GMSB0VVRXJTZP8","istio",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Fistio\u002FSKILL.md",[],[5],"2026-11-10 10:12:30",false,"# Istio\n\nIstio is a service mesh that provides traffic management, security, and observability for Kubernetes workloads.\n\n## Installation\n\n```bash\n# Download and install istioctl\ncurl -L https:\u002F\u002Fistio.io\u002FdownloadIstio | sh -\ncd istio-* && export PATH=$PWD\u002Fbin:$PATH\n\n# Install with production profile\nistioctl install --set profile=default -y\n\n# Enable sidecar injection for namespace\nkubectl label namespace default istio-injection=enabled\n\n# Verify installation\nistioctl verify-install\nistioctl analyze\n```\n\n## IstioOperator Configuration\n\n```yaml\n# istio-config.yaml — Custom Istio installation profile\napiVersion: install.istio.io\u002Fv1alpha1\nkind: IstioOperator\nmetadata:\n  name: istio-control-plane\nspec:\n  profile: default\n  meshConfig:\n    accessLogFile: \u002Fdev\u002Fstdout\n    enableTracing: true\n    defaultConfig:\n      tracing:\n        sampling: 100\n  components:\n    ingressGateways:\n      - name: istio-ingressgateway\n        enabled: true\n        k8s:\n          service:\n            type: LoadBalancer\n          hpaSpec:\n            minReplicas: 2\n            maxReplicas: 5\n    pilot:\n      k8s:\n        resources:\n          requests:\n            cpu: 500m\n            memory: 2Gi\n```\n\n## Traffic Management\n\n```yaml\n# networking\u002Fvirtual-service.yaml — Route traffic with weights and matching\napiVersion: networking.istio.io\u002Fv1beta1\nkind: VirtualService\nmetadata:\n  name: web-app\nspec:\n  hosts:\n    - web-app\n  http:\n    - match:\n        - headers:\n            x-canary:\n              exact: \"true\"\n      route:\n        - destination:\n            host: web-app\n            subset: canary\n    - route:\n        - destination:\n            host: web-app\n            subset: stable\n          weight: 90\n        - destination:\n            host: web-app\n            subset: canary\n          weight: 10\n      timeout: 10s\n      retries:\n        attempts: 3\n        perTryTimeout: 3s\n        retryOn: 5xx,reset,connect-failure\n```\n\n```yaml\n# networking\u002Fdestination-rule.yaml — Define subsets and connection pool\napiVersion: networking.istio.io\u002Fv1beta1\nkind: DestinationRule\nmetadata:\n  name: web-app\nspec:\n  host: web-app\n  trafficPolicy:\n    connectionPool:\n      tcp:\n        maxConnections: 100\n      http:\n        h2UpgradePolicy: DEFAULT\n        http1MaxPendingRequests: 100\n        http2MaxRequests: 1000\n    outlierDetection:\n      consecutive5xxErrors: 5\n      interval: 30s\n      baseEjectionTime: 30s\n      maxEjectionPercent: 50\n  subsets:\n    - name: stable\n      labels:\n        version: v1\n    - name: canary\n      labels:\n        version: v2\n```\n\n## Gateway and Ingress\n\n```yaml\n# networking\u002Fgateway.yaml — Istio Gateway for external traffic\napiVersion: networking.istio.io\u002Fv1beta1\nkind: Gateway\nmetadata:\n  name: main-gateway\nspec:\n  selector:\n    istio: ingressgateway\n  servers:\n    - port:\n        number: 443\n        name: https\n        protocol: HTTPS\n      tls:\n        mode: SIMPLE\n        credentialName: app-tls-cert\n      hosts:\n        - \"app.example.com\"\n        - \"api.example.com\"\n    - port:\n        number: 80\n        name: http\n        protocol: HTTP\n      hosts:\n        - \"*.example.com\"\n      tls:\n        httpsRedirect: true\n```\n\n```yaml\n# networking\u002Fvs-ingress.yaml — VirtualService bound to Gateway\napiVersion: networking.istio.io\u002Fv1beta1\nkind: VirtualService\nmetadata:\n  name: app-ingress\nspec:\n  hosts:\n    - \"app.example.com\"\n  gateways:\n    - main-gateway\n  http:\n    - match:\n        - uri:\n            prefix: \u002Fapi\n      route:\n        - destination:\n            host: api-service\n            port:\n              number: 8080\n    - route:\n        - destination:\n            host: frontend\n            port:\n              number: 80\n```\n\n## Security (mTLS)\n\n```yaml\n# security\u002Fpeer-auth.yaml — Enforce strict mTLS mesh-wide\napiVersion: security.istio.io\u002Fv1beta1\nkind: PeerAuthentication\nmetadata:\n  name: default\n  namespace: istio-system\nspec:\n  mtls:\n    mode: STRICT\n```\n\n```yaml\n# security\u002Fauthz-policy.yaml — Authorization policy for service access\napiVersion: security.istio.io\u002Fv1beta1\nkind: AuthorizationPolicy\nmetadata:\n  name: api-access\n  namespace: default\nspec:\n  selector:\n    matchLabels:\n      app: api-service\n  action: ALLOW\n  rules:\n    - from:\n        - source:\n            principals: [\"cluster.local\u002Fns\u002Fdefault\u002Fsa\u002Ffrontend\"]\n      to:\n        - operation:\n            methods: [\"GET\", \"POST\"]\n            paths: [\"\u002Fapi\u002F*\"]\n```\n\n## Fault Injection\n\n```yaml\n# testing\u002Ffault-injection.yaml — Inject delays and aborts for testing\napiVersion: networking.istio.io\u002Fv1beta1\nkind: VirtualService\nmetadata:\n  name: api-fault-test\nspec:\n  hosts:\n    - api-service\n  http:\n    - fault:\n        delay:\n          percentage:\n            value: 10\n          fixedDelay: 5s\n        abort:\n          percentage:\n            value: 5\n          httpStatus: 503\n      route:\n        - destination:\n            host: api-service\n```\n\n## Common Commands\n\n```bash\n# Proxy and debugging\nistioctl proxy-status\nistioctl proxy-config routes deploy\u002Fweb-app\nistioctl proxy-config clusters deploy\u002Fweb-app\n\n# Dashboard access\nistioctl dashboard kiali\nistioctl dashboard grafana\nistioctl dashboard jaeger\n\n# Analyze configuration\nistioctl analyze -n default\n\n# Upgrade\nistioctl upgrade --set profile=default\n```\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FTerminalSkills\u002Fskills\u002Fistio",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":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill istio",{"tool":37,"command":38},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill istio",{"tool":40,"command":41},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill istio","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Fistio\u002FSKILL.md",true,[45],{"path":46,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":49,"sourceHtmlUrl":50},"scripts\u002Fbase_client.py","SCRIPT","脚本",37091,"https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Foptional-skills\u002Fblockchain\u002Fbase\u002Fscripts\u002Fbase_client.py",[52,66,76,85,91,98],{"skillNo":53,"name":54,"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":55,"categories":56,"keywords":62,"publishedAt":18},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[57],{"categoryNo":58,"categoryName":59,"taxonomyType":60,"taxonomyTypeDesc":61},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[63,64,65],"model","model hierarchy","model hierarchy skill",{"skillNo":67,"name":68,"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":69,"categories":70,"keywords":72,"publishedAt":18},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[71],{"categoryNo":58,"categoryName":59,"taxonomyType":60,"taxonomyTypeDesc":61},[73,74,75],"MCP","zoom","zoom mcp",{"skillNo":77,"name":78,"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":79,"categories":80,"keywords":81,"publishedAt":18},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[82,83,84,74],"sdk","zoom apps sdk","apps",{"skillNo":86,"name":87,"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":88,"categories":89,"keywords":90,"publishedAt":18},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[87],{"skillNo":92,"name":93,"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":94,"categories":95,"keywords":97,"publishedAt":18},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[96],{"categoryNo":58,"categoryName":59,"taxonomyType":60,"taxonomyTypeDesc":61},[93],{"skillNo":99,"name":100,"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":101,"categories":102,"keywords":103,"publishedAt":18},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[100]]