{"id":7609,"date":"2026-08-11T18:54:24","date_gmt":"2026-08-11T10:54:24","guid":{"rendered":"https:\/\/i007.cc\/wordpress\/?p=7609"},"modified":"2026-08-11T18:54:24","modified_gmt":"2026-08-11T10:54:24","slug":"%e7%bb%93%e5%90%88%e4%b8%80%e4%b8%aa%e5%ae%9e%e4%be%8b%ef%bc%8c%e5%85%b7%e4%bd%93%e8%ae%b2%e8%ae%b2%e6%89%8b%e5%8a%a8%e9%87%91%e4%b8%9d%e9%9b%80","status":"publish","type":"post","link":"https:\/\/i007.cc\/wordpress\/archives\/7609","title":{"rendered":"\u7ed3\u5408\u4e00\u4e2a\u5b9e\u4f8b\uff0c\u5177\u4f53\u8bb2\u8bb2\u624b\u52a8\u91d1\u4e1d\u96c0"},"content":{"rendered":"<div data-rs-index=\"10\" data-index=\"10\">\n<div tabindex=\"0\" role=\"article\" aria-setsize=\"40\" aria-posinset=\"11\" aria-label=\"Message 11 of 40\">\n<div data-test-render-count=\"1\">\n<div class=\"mb-1 mt-[var(--msg-gap,1.5rem)] group group\/message-row\">\n<div class=\"flex flex-col items-end gap-1\">\n<div class=\"group\/message-row flex min-w-0 flex-col items-end gap-xs font-sans ms-auto max-w-[85%]\" data-cds=\"UserMessage\">\n<div class=\"relative flex max-w-full min-w-0 flex-col gap-xs rounded-card px-lg py-md text-heading break-words select-text text-primary bg-neutral\">\n<div id=\"_r_35g_\" class=\"\">\n<div class=\"grid grid-cols-1 gap-2 relative [&amp;_ul]:!space-y-0 [&amp;_ol]:!space-y-0 [&amp;_ul]:pl-8 [&amp;_ol]:pl-8\" data-testid=\"user-message\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div data-rs-index=\"11\" data-index=\"11\">\n<div tabindex=\"-1\" role=\"article\" aria-setsize=\"40\" aria-posinset=\"12\" aria-label=\"Message 12 of 40\">\n<div data-test-render-count=\"1\">\n<div class=\"group group\/message-row\">\n<div class=\"group relative relative pb-[var(--msg-assistant-pb,0.75rem)]\" data-is-streaming=\"false\">\n<div class=\"font-claude-response relative leading-[1.65rem] [&amp;_pre&gt;div]:bg-bg-000\/50 [&amp;_pre&gt;div]:border-0.5 [&amp;_pre&gt;div]:border-border-400 [&amp;_.ignore-pre-bg&gt;div]:bg-transparent [&amp;_.standard-markdown_:is(p,blockquote,h1,h2,h3,h4,h5,h6)]:pl-2 [&amp;_.standard-markdown_:is(p,blockquote,ul,ol,h1,h2,h3,h4,h5,h6)]:pr-8 [&amp;_.progressive-markdown_:is(p,blockquote,h1,h2,h3,h4,h5,h6)]:pl-2 [&amp;_.progressive-markdown_:is(p,blockquote,ul,ol,h1,h2,h3,h4,h5,h6)]:pr-8\">\n<div class=\"standard-markdown grid-cols-1 grid [&amp;_&gt;_*]:min-w-0 gap-3 [&amp;_&gt;_*:last-child]:mb-0 print:block print:[&amp;_&gt;_*_+_*]:mt-3 standard-markdown\">\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u8fd8\u662f\u7528 fleet-api \u4e3e\u4f8b\uff0c\u573a\u666f\u662f\uff1av1 \u5df2\u7ecf\u5728\u8dd1\uff0cv2 \u65b0\u589e\u4e86\u4e00\u4e2a\u00a0<code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">\/stats<\/code>\u00a0\u63a5\u53e3\uff0c\u60f3\u5148\u653e 10% \u6d41\u91cf\u9a8c\u8bc1\u3002<\/p>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><strong>\u7b2c\u4e00\u6b65\uff1a\u7406\u89e3\u5f53\u524d\u72b6\u6001<\/strong><\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"Code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">fleet-api Service (selector: app=fleet-api)\r\n    \u2193\r\nfleet-api-v1 Deployment\uff083\u4e2aPod\uff0clabel: app=fleet-api, version=v1\uff09<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">Service \u901a\u8fc7\u00a0<code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">app=fleet-api<\/code>\u00a0\u8fd9\u4e2a label \u627e\u5230\u6240\u6709 Pod\u3002<\/p>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><strong>\u7b2c\u4e8c\u6b65\uff1a\u521b\u5efa v2 Deployment\uff0c\u53ea\u8dd1 1 \u4e2a\u526f\u672c<\/strong><\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"yaml code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">yaml<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># deployment-v2.yaml\r\napiVersion: apps\/v1\r\nkind: Deployment\r\nmetadata:\r\n  name: fleet-api-v2        # \u65b0\u540d\u5b57\uff0c\u548c v1 \u7684 Deployment \u5e76\u5217\u5b58\u5728\r\n  namespace: fleet\r\nspec:\r\n  replicas: 1               # \u53ea\u8d77 1 \u4e2a\uff0c\u603b\u5171 3+1=4 \u4e2a Pod\uff0c25% \u6d41\u91cf\u5230 v2\r\n  selector:\r\n    matchLabels:\r\n      app: fleet-api        # \u548c Service selector \u4e00\u81f4\uff0c\u4f1a\u88ab Service \u9009\u4e2d\r\n      version: v2\r\n  template:\r\n    metadata:\r\n      labels:\r\n        app: fleet-api      # \u8fd9\u4e2a label \u8ba9 Service \u80fd\u627e\u5230\u5b83\r\n        version: v2\r\n    spec:\r\n      containers:\r\n      - name: fleet-api\r\n        image: fleet-api:v2<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"bash code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">bash<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">kubectl apply -f deployment-v2.yaml -n fleet<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u6b64\u65f6\u96c6\u7fa4\u72b6\u6001\uff1a<\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"Code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Service (app=fleet-api)\r\n    \u251c\u2500\u2500 fleet-api-v1: Pod Pod Pod  (3\u4e2a\uff0c75%\u6d41\u91cf)\r\n    \u2514\u2500\u2500 fleet-api-v2: Pod          (1\u4e2a\uff0c25%\u6d41\u91cf)<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><strong>\u7b2c\u4e09\u6b65\uff1a\u89c2\u5bdf v2 \u662f\u5426\u6b63\u5e38<\/strong><\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"bash code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">bash<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># \u770b v2 \u7684 Pod \u65e5\u5fd7\r\nkubectl logs -n fleet -l version=v2 -f\r\n\r\n# \u770b\u9519\u8bef\u7387\uff08\u591a\u6253\u51e0\u6b21\u8bf7\u6c42\u89c2\u5bdf\uff09\r\nfor i in $(seq 1 20); do curl -s http:\/\/fleet.local\/vehicles; done\r\n\r\n# \u770b v2 Pod \u6709\u6ca1\u6709\u91cd\u542f\r\nkubectl get pods -n fleet -w<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u89c2\u5bdf 30 \u5206\u949f\u5230\u51e0\u5c0f\u65f6\uff0c\u786e\u8ba4\u6ca1\u6709\u62a5\u9519\u3001\u6ca1\u6709\u5d29\u6e83\u3002<\/p>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><strong>\u7b2c\u56db\u6b65\uff1a\u9010\u6b65\u6269\u5927 v2 \u6bd4\u4f8b<\/strong><\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"bash code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">bash<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># \u6ca1\u95ee\u9898\uff0cv2 \u6269\u5230 3 \u4e2a\uff0cv1 \u7f29\u5230 1 \u4e2a\uff0875% \u6d41\u91cf\u5230 v2\uff09\r\nkubectl scale deployment fleet-api-v2 -n fleet --replicas=3\r\nkubectl scale deployment fleet-api-v1 -n fleet --replicas=1\r\n\r\n# \u518d\u89c2\u5bdf\u4e00\u6bb5\u65f6\u95f4\uff0c\u5b8c\u5168\u6ca1\u95ee\u9898\uff0cv2 \u5168\u91cf\uff0cv1 \u7f29\u5230 0\r\nkubectl scale deployment fleet-api-v2 -n fleet --replicas=4\r\nkubectl scale deployment fleet-api-v1 -n fleet --replicas=0<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><strong>\u7b2c\u4e94\u6b65\uff1a\u786e\u8ba4\u7a33\u5b9a\u540e\u6e05\u7406 v1<\/strong><\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"bash code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">bash<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">kubectl delete deployment fleet-api-v1 -n fleet<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><strong>\u5982\u679c v2 \u51fa\u95ee\u9898\uff0c\u56de\u6eda\u6781\u7b80\u5355\uff1a<\/strong><\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"bash code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">bash<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># v2 \u7acb\u523b\u7f29\u5230 0\uff0c\u6d41\u91cf\u5168\u56de v1\r\nkubectl scale deployment fleet-api-v2 -n fleet --replicas=0<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u8fd9\u5c31\u662f\u624b\u52a8\u91d1\u4e1d\u96c0\u7684\u597d\u5904\u2014\u2014v1 \u4e00\u76f4\u5728\uff0c\u56de\u6eda\u5c31\u662f\u4e00\u6761\u547d\u4ee4\uff0c\u79d2\u7ea7\u5b8c\u6210\u3002<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd8\u662f\u7528 fleet-api \u4e3e\u4f8b\uff0c\u573a\u666f\u662f<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[24],"tags":[],"class_list":["post-7609","post","type-post","status-publish","format-standard","hentry","category-value_docs"],"_links":{"self":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/7609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/comments?post=7609"}],"version-history":[{"count":0,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/7609\/revisions"}],"wp:attachment":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/media?parent=7609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/categories?post=7609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/tags?post=7609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}