{
  "version": "https://jsonfeed.org/version/1", 
  "title": "Kubernetes", 
  "description": "\u9002\u7528\u4e8e\u5927\u89c4\u6a21\u751f\u4ea7\u73af\u5883\u7684\u5bb9\u5668\u7f16\u6392\u7ba1\u7406\u5e73\u53f0\u3002", 
  "home_page_url": "https://www.v2ex.com/go/k8s", 
  "feed_url": "https://www.v2ex.com/feed/k8s.json", 
  "icon": "https://cdn.v2ex.com/navatar/27ed/0fb9/1039_large.png?m=1601353687", 
  "favicon": "https://cdn.v2ex.com/navatar/27ed/0fb9/1039_normal.png?m=1601353687", 
  "items": [
    {
      "author": {
        "url": "https://www.v2ex.com/member/5wunian", 
        "name": "5wunian", 
        "avatar": "https://cdn.v2ex.com/avatar/27e5/9fbb/389496_large.png?m=1775725864"
      }, 
      "url": "https://www.v2ex.com/t/1204655", 
      "title": "\u57fa\u4e8e K8S \u5b9e\u73b0\u7684\u65e0\u9650\u6269\u5c55\u7684 tikrok v3 \u4f01\u4e1a\u7248", 
      "id": "https://www.v2ex.com/t/1204655", 
      "date_published": "2026-04-09T08:19:28+00:00", 
      "content_html": "<h1>Tikrok 3.0</h1>\n<blockquote>\n<p>\u73b0\u4ee3\u5316\u5185\u7f51\u7a7f\u900f\u89e3\u51b3\u65b9\u6848 - \u7cbe\u7b80\u67b6\u6784\uff0c\u9ad8\u6027\u80fd\uff0c\u65e0\u9650\u6269\u5c55</p>\n</blockquote>\n<p><a href=\"https://golang.org/\" rel=\"nofollow\"><img alt=\"Go Version\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://img.shields.io/badge/Go-1.24+-00ADD8?style=for-the-badge&amp;logo=go\"/></a>\n<a href=\"LICENSE\" rel=\"nofollow\"><img alt=\"License\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://img.shields.io/badge/License-MIT-blue?style=for-the-badge\"/></a>\n<a href=\"\" rel=\"nofollow\"><img alt=\"Architecture\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://img.shields.io/badge/Architecture-Microservices-orange?style=for-the-badge\"/></a>\n<a href=\"\" rel=\"nofollow\"><img alt=\"Protocol\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://img.shields.io/badge/Protocol-KCP+SMUX-green?style=for-the-badge\"/></a>\n<a href=\"\" rel=\"nofollow\"><img alt=\"Scale\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://img.shields.io/badge/Scale-Unlimited-brightgreen?style=for-the-badge\"/></a></p>\n<h2>\u9879\u76ee\u7b80\u4ecb</h2>\n<p>Tikrok \u662f\u4e00\u4e2a<strong>\u4f01\u4e1a\u7ea7</strong>\u9ad8\u6027\u80fd\u5185\u7f51\u7a7f\u900f\u5e73\u53f0\uff0c\u91c7\u7528 <strong>\u5165\u53e3\u5206\u79bb + \u6570\u636e\u5e73\u9762\u65e0\u9650\u6269\u5c55</strong> \u7684\u4e91\u539f\u751f\u67b6\u6784\u8bbe\u8ba1\u3002</p>\n<h3>\u6838\u5fc3\u7279\u6027</h3>\n<table>\n<thead>\n<tr>\n<th>\u7279\u6027</th>\n<th>\u8bf4\u660e</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\ud83d\ude80 <strong>\u65e0\u9650\u6269\u5c55</strong></td>\n<td>tikrokd-proxy \u6570\u636e\u5e73\u9762\u53ef\u6c34\u5e73\u65e0\u9650\u6269\u5c55\uff0c\u652f\u6301 Kubernetes HPA \u81ea\u52a8\u6269\u7f29\u5bb9</td>\n</tr>\n<tr>\n<td>\ud83c\udfd7\ufe0f <strong>\u7cbe\u7b80\u67b6\u6784</strong></td>\n<td>\u4ec5\u56db\u4e2a\u6838\u5fc3\u7ec4\u4ef6\uff0c\u90e8\u7f72\u7b80\u5355\uff0c\u8fd0\u7ef4\u6210\u672c\u4f4e</td>\n</tr>\n<tr>\n<td>\ud83d\udce1 <strong>\u591a\u534f\u8bae\u652f\u6301</strong></td>\n<td>HTTP/HTTPS/TCP/UDP \u5168\u534f\u8bae\u652f\u6301\uff0c\u6ee1\u8db3\u5404\u79cd\u573a\u666f\u9700\u6c42</td>\n</tr>\n<tr>\n<td>\ud83d\udd00 <strong>SMUX \u591a\u8def\u590d\u7528</strong></td>\n<td>\u5355\u8fde\u63a5\u591a\u96a7\u9053\uff0c\u51cf\u5c11\u8d44\u6e90\u6d88\u8017\uff0c\u63d0\u5347\u8fde\u63a5\u6548\u7387</td>\n</tr>\n<tr>\n<td>\u26a1 <strong>KCP \u4f20\u8f93</strong></td>\n<td>\u57fa\u4e8e UDP \u7684\u9ad8\u53ef\u9760\u4f20\u8f93\u5c42\uff0c\u964d\u4f4e\u5ef6\u8fdf 30-50%</td>\n</tr>\n<tr>\n<td>\ud83d\udd10 <strong>\u4f01\u4e1a\u7ea7\u5b89\u5168</strong></td>\n<td>\u591a\u5c42\u6b21 Token \u8ba4\u8bc1\u3001\u4f1a\u8bdd\u5bc6\u94a5\u52a0\u5bc6\u3001\u8bbf\u95ee\u63a7\u5236\u3001\u5ba1\u8ba1\u65e5\u5fd7</td>\n</tr>\n</tbody></table><h3>\u4f01\u4e1a\u7ea7\u7279\u6027</h3>\n<table>\n<thead>\n<tr>\n<th>\u7279\u6027</th>\n<th>\u63cf\u8ff0</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\ud83d\udc65 <strong>\u591a\u79df\u6237\u67b6\u6784</strong></td>\n<td>\u7528\u6237\u6ce8\u518c\u3001\u767b\u5f55\u3001\u8ba2\u9605\u8ba1\u5212\u3001\u8d44\u6e90\u9694\u79bb\uff0c\u652f\u6301 SaaS \u6a21\u5f0f\u8fd0\u8425</td>\n</tr>\n<tr>\n<td>\ud83c\udfab <strong>Token \u5206\u5c42\u7ba1\u7406</strong></td>\n<td>\u96c6\u6210\u4ee4\u724c(ti_)\u3001\u7528\u6237\u4ee4\u724c(tu_)\u3001API Key \u4e09\u5c42\u8ba4\u8bc1\uff0c\u7cbe\u7ec6\u6743\u9650\u63a7\u5236</td>\n</tr>\n<tr>\n<td>\ud83d\udcca <strong>\u6d41\u91cf\u7edf\u8ba1\u8ba1\u8d39</strong></td>\n<td>\u5b9e\u65f6\u6d41\u91cf\u76d1\u63a7\u3001\u7528\u91cf\u7edf\u8ba1\u3001\u914d\u989d\u7ba1\u7406\uff0c\u652f\u6301\u6309\u91cf\u8ba1\u8d39\u6a21\u5f0f</td>\n</tr>\n<tr>\n<td>\ud83d\udd04 <strong>\u9ad8\u53ef\u7528\u5bb9\u707e</strong></td>\n<td>\u65e0\u72b6\u6001\u8bbe\u8ba1\u3001\u81ea\u52a8\u6545\u969c\u8f6c\u79fb\u3001\u8282\u70b9\u5065\u5eb7\u68c0\u67e5\u3001\u4f18\u96c5\u5173\u95ed\u673a\u5236</td>\n</tr>\n<tr>\n<td>\ud83d\udcc8 <strong>\u76d1\u63a7\u53ef\u89c2\u6d4b</strong></td>\n<td>Prometheus \u6307\u6807\u3001\u8282\u70b9\u72b6\u6001\u76d1\u63a7\u3001\u96a7\u9053\u751f\u547d\u5468\u671f\u8ffd\u8e2a</td>\n</tr>\n<tr>\n<td>\ud83d\udee1\ufe0f <strong>\u8fde\u63a5\u5b89\u5168\u4fdd\u969c</strong></td>\n<td>SMUX keepalive \u68c0\u6d4b\u3001\u8fde\u63a5\u8d85\u65f6\u6e05\u7406\u3001\u5e42\u7b49\u8d44\u6e90\u7ba1\u7406</td>\n</tr>\n</tbody></table><h3>\ud83d\udd12 \u5b89\u5168\u4f18\u52bf\uff1a\u53ef\u63a7\u7aef\u53e3\u66b4\u9732</h3>\n<blockquote>\n<p><strong>\u521b\u59cb\u4eba\u8bf4</strong>\uff1a\u8bbe\u8ba1 Tikrok \u65f6\uff0c\u6211\u53cd\u590d\u601d\u8003\u4e00\u4e2a\u95ee\u9898\u2014\u2014\u7aef\u53e3\u66b4\u9732\u98ce\u9669\u662f\u5185\u7f51\u7a7f\u900f\u7684<strong>\u5bbf\u547d</strong>\u5417\uff1f</p>\n<p>\u8d39\u65af\u6c40\u683c\u6cd5\u5219\u544a\u8bc9\u6211\uff1a\u751f\u6d3b\u4e2d 10%\u7531\u4e8b\u4ef6\u7ec4\u6210\uff0c90%\u7531\u4f60\u7684\u53cd\u5e94\u51b3\u5b9a\u3002</p>\n<p>\u7aef\u53e3\u66b4\u9732\u98ce\u9669\u5ba2\u89c2\u5b58\u5728\uff0c\u8fd9\u662f\u90a3 10%\u3002\u4f46**\u5982\u4f55\u5e94\u5bf9\uff0c\u51b3\u5b9a\u4e86\u5b89\u5168\u7684 90%**\uff1a</p>\n<ul>\n<li>\u274c <strong>\u6d88\u6781\u5e94\u5bf9</strong>\uff1a\u5f00\u653e\u591a\u7aef\u53e3 \u2192 \u6bcf\u4e2a\u7aef\u53e3\u90fd\u662f\u653b\u51fb\u5165\u53e3 \u2192 \u88ab\u52a8\u6328\u6253</li>\n<li>\u2705 <strong>\u4e3b\u52a8\u5e94\u5bf9</strong>\uff1a\u5355\u7aef\u53e3\u7a7f\u900f\u67b6\u6784 \u2192 \u96c6\u4e2d\u7ba1\u63a7\u3001\u6700\u5c0f\u66b4\u9732 \u2192 <strong>\u638c\u63a7\u5b89\u5168\u547d\u8fd0</strong></li>\n</ul>\n<p>\u6211\u9009\u62e9\u4e3b\u52a8\u5e94\u5bf9\u3002\u5355\u7aef\u53e3\u67b6\u6784\u4e0d\u4ec5\u9501\u6b7b\u4e86\u653b\u51fb\u9762\uff0c\u8fd8\u610f\u5916\u6536\u83b7\u4e86<strong>\u767e\u4e07\u7ea7\u8fde\u63a5\u627f\u8f7d\u80fd\u529b</strong>\u2014\u2014\u56e0\u4e3a\u65e0\u72b6\u6001\u8bbe\u8ba1\u8ba9\u6bcf\u4e2a\u7aef\u53e3\u90fd\u80fd\u65e0\u9650\u6269\u5c55\u3002\u8fd9\u5c31\u662f\"\u6b63\u786e\u5e94\u5bf9\"\u7684\u8774\u8776\u6548\u5e94\u3002</p>\n</blockquote>\n<p>\u4f20\u7edf\u5185\u7f51\u7a7f\u900f\u65b9\u6848\u9700\u8981\u5728\u9632\u706b\u5899\u5f00\u653e\u5927\u91cf\u7aef\u53e3\uff0c\u5e26\u6765\u4e25\u91cd\u5b89\u5168\u9690\u60a3\u3002Tikrok \u91c7\u7528<strong>\u5355\u7aef\u53e3\u7a7f\u900f</strong>\u67b6\u6784\uff1a</p>\n<table>\n<thead>\n<tr>\n<th>\u5bf9\u6bd4\u9879</th>\n<th>\u4f20\u7edf\u65b9\u6848</th>\n<th>Tikrok \u65b9\u6848</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>\u9632\u706b\u5899\u7aef\u53e3</strong></td>\n<td>\u6bcf\u4e2a\u96a7\u9053\u4e00\u4e2a\u516c\u7f51\u7aef\u53e3 (22, 8080, 3306...)</td>\n<td>\u4ec5\u5f00\u653e 2 \u4e2a\u7aef\u53e3 (8000/9000)</td>\n</tr>\n<tr>\n<td><strong>\u7aef\u53e3\u66b4\u9732\u98ce\u9669</strong></td>\n<td>\u9ad8\u98ce\u9669 - \u591a\u7aef\u53e3\u591a\u653b\u51fb\u9762</td>\n<td>\u4f4e\u98ce\u9669 - \u5355\u5165\u53e3\u96c6\u4e2d\u7ba1\u63a7</td>\n</tr>\n<tr>\n<td><strong>\u9632\u706b\u5899\u89c4\u5219</strong></td>\n<td>\u590d\u6742 - \u9700\u9891\u7e41\u66f4\u65b0\u89c4\u5219</td>\n<td>\u7b80\u5355 - \u56fa\u5b9a\u89c4\u5219\uff0c\u6c38\u4e0d\u53d8\u66f4</td>\n</tr>\n<tr>\n<td><strong>\u7aef\u53e3\u626b\u63cf\u66b4\u9732</strong></td>\n<td>\u6613\u88ab\u53d1\u73b0 - \u591a\u7aef\u53e3\u63a2\u6d4b</td>\n<td>\u9690\u85cf\u6027\u597d - \u6700\u5c0f\u7aef\u53e3\u66b4\u9732</td>\n</tr>\n<tr>\n<td><strong>\u6d41\u91cf\u5ba1\u8ba1</strong></td>\n<td>\u5206\u6563\u96be\u4ee5\u5ba1\u8ba1</td>\n<td>\u96c6\u4e2d\u5165\u53e3\uff0c\u7edf\u4e00\u5ba1\u8ba1</td>\n</tr>\n</tbody></table><p><strong>\u67b6\u6784\u4f18\u52bf\uff1a</strong></p>\n<pre><code>\u4f20\u7edf\u65b9\u6848 (\u5371\u9669)\uff1a\n\u9632\u706b\u5899\u5f00\u653e: 22, 8080, 3306, 5353, 6379...  \u2190 \u591a\u7aef\u53e3\u66b4\u9732\n           \u2502    \u2502    \u2502    \u2502    \u2502\n           \u25bc    \u25bc    \u25bc    \u25bc    \u25bc\n         SSH  Web  MySQL DNS Redis  \u2190 \u6bcf\u4e2a\u670d\u52a1\u76f4\u63a5\u66b4\u9732\n\nTikrok \u65b9\u6848 (\u5b89\u5168)\uff1a\n\u9632\u706b\u5899\u5f00\u653e: \u4ec5 8000, 9000  \u2190 \u6700\u5c0f\u7aef\u53e3\u66b4\u9732\n           \u2502    \u2502\n           \u25bc    \u25bc\n      OpenResty  tikrokd-proxy  \u2190 \u7edf\u4e00\u5165\u53e3\uff0c\u96c6\u4e2d\u7ba1\u63a7\n           \u2502         \u2502\n           \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n                     \u25bc\n              \u7528\u6237\u670d\u52a1\u6c60 (SSH/Web/MySQL...)  \u2190 \u670d\u52a1\u9690\u85cf\u5728\u5185\u7f51\n</code></pre>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LaLy", 
        "name": "LaLy", 
        "avatar": "https://cdn.v2ex.com/gravatar/ee129f22d190687b030c0496dde703d9?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1202721", 
      "date_modified": "2026-04-01T02:40:38+00:00", 
      "content_html": "<p>\u76ee\u524d\u4e1a\u52a1\u4e0a\u5b58\u5728\u5927\u91cf\u7684 crontab \u6bcf\u5206\u949f\u4efb\u52a1\u6267\u884c\uff0c\u73b0\u5728\u662f\u5355\u4e2a pod \u91cc\u9762\u8dd1\u4e86\u5f88\u591a\u4e2a\u540c\u7c7b\u578b\u4efb\u52a1\u7684\u5bb9\u5668\uff0c\u6700\u591a\u7684\u662f 10 \u4e2a\u4efb\u52a1\u5728\u540c\u4e00\u4e2a pod \u91cc\u9762\uff0c\u4efb\u52a1\u4e00\u8dd1\u8d77\u6765\uff0cCPU \u5c31\u544a\u8b66\u4e86\uff0c\u5df2\u7ecf\u505a\u4e86\u8d44\u6e90\u9650\u5236\uff0c\u4f46\u8fd8\u662f\u6491\u4e0d\u4f4f 10 \u4e2a\u4e00\u8d77\u8dd1\u8d77\u6765\u3002</p>\n<p>\u5f53\u524d\u60f3\u5230\u7684\u529e\u6cd5\u662f\uff0c\u4e00\u4e2a\u4efb\u52a1\u4e00\u4e2a pod,\u8fd9\u6837\u62c6\u5206\u51fa\u6765\uff0c\u5927\u6982\u4f1a\u6709\u4e00\u767e\u591a\u4e2a pod,\u611f\u89c9\u8d44\u6e90\u4e5f\u662f\u5360\u7528\u6bd4\u8f83\u591a\u7684\u3002\u8fd8\u6709\u4e00\u4e2a\u949f\u65b9\u6cd5\u5c31\u662f\u4e00\u4e2a pod \u5bb9\u5668\u91cc\u9762\u8dd1\u591a\u6761\u4efb\u52a1\uff0c\u987a\u5e8f\u6267\u884c\uff0c\u5982\u679c\u8fd9\u6837\uff0c\u5176\u4e2d\u4e00\u4e2a\u4efb\u52a1\u6709\u95ee\u9898\u5c31\u5168\u6302\u4e86\u3002</p>\n<p>\u60f3\u8bf7\u6559\u4e0b\u5927\u4f6c\u4eec\uff0c\u8fd8\u6709\u4ec0\u4e48\u66f4\u597d\u7684\u89e3\u51b3\u529e\u6cd5\u5417</p>\n", 
      "date_published": "2026-04-01T02:36:21+00:00", 
      "title": "\u600e\u4e48\u4f18\u5316\u96c6\u7fa4\u4e0a\u5927\u91cf crontab \u6267\u884c\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/1202721"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/jaycee110905", 
        "name": "jaycee110905", 
        "avatar": "https://cdn.v2ex.com/avatar/2240/36a7/118839_large.png?m=1768009846"
      }, 
      "url": "https://www.v2ex.com/t/1201968", 
      "title": "K8s Admin\uff1a\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u591a\u96c6\u7fa4 Kubernetes \u7ba1\u7406\u5e73\u53f0", 
      "id": "https://www.v2ex.com/t/1201968", 
      "date_published": "2026-03-29T04:46:29+00:00", 
      "content_html": "<h1>K8s Admin\uff1a\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u591a\u96c6\u7fa4 Kubernetes \u7ba1\u7406\u5e73\u53f0</h1>\n<h2>\u80cc\u666f\uff1a\u6211\u4eec\u4e3a\u4ec0\u4e48\u8fd8\u9700\u8981\u4e00\u4e2a K8s \u7ba1\u7406\u5e73\u53f0\uff1f</h2>\n<p>2025 \u5e74 8 \u6708 1 \u65e5\uff0c\u56fd\u5185\u6700\u77e5\u540d\u7684 Kubernetes \u7ba1\u7406\u5e73\u53f0 KubeSphere \u7a81\u7136\u5ba3\u5e03\u95ed\u6e90\u3002\u5b98\u65b9\u5220\u9664\u4e86 Docker \u955c\u50cf\u3001\u4e0b\u67b6\u4e86\u5b89\u88c5\u6587\u6863\u3001\u5173\u95ed\u4e86\u4e0b\u8f7d\u94fe\u63a5\uff0c\u751a\u81f3\u9501\u5b9a\u4e86 GitHub \u8ba8\u8bba\u533a\u2014\u2014\u6ca1\u6709\u4efb\u4f55\u8fc7\u6e21\u671f\u3002\u5927\u91cf\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u4f7f\u7528 KubeSphere \u7684\u4f01\u4e1a\u4e00\u591c\u4e4b\u95f4\u88ab\"\u629b\u5f03\"\uff0c\u6838\u5fc3\u6210\u5458\u5f53\u5929\u79bb\u804c\uff0c\u793e\u533a\u79f0\u4e4b\u4e3a\"\u4fe1\u4efb\u584c\u65b9\"\u3002</p>\n<p>\u53e6\u4e00\u8fb9\uff0cRancher \u867d\u7136\u4ecd\u5728\u7ef4\u62a4\uff0c\u4f46\u957f\u671f\u5b58\u5728\u7684\u75db\u70b9\u8ba9\u5f88\u591a\u56e2\u961f\u671b\u800c\u5374\u6b65\uff1a</p>\n<ul>\n<li><strong>\u592a\u91cd\u4e86</strong>\u3002Rancher \u81ea\u8eab\u5c31\u662f\u4e00\u5957\u590d\u6742\u7cfb\u7edf\uff0c\u5bf9\u8d44\u6e90\u6d88\u8017\u5927\uff0c\u7ba1\u7406 20+ \u96c6\u7fa4\u65f6 UI \u660e\u663e\u5361\u987f</li>\n<li><strong>\u5347\u7ea7\u662f\u5669\u68a6</strong>\u3002\u793e\u533a\u9891\u7e41\u53cd\u9988\uff1a\u54ea\u6015\u4e00\u6b21\u5c0f\u7248\u672c\u5347\u7ea7\u90fd\u53ef\u80fd\u5bfc\u81f4\u4e22\u5931\u6240\u6709\u6258\u7ba1\u96c6\u7fa4</li>\n<li><strong>\u5b66\u4e60\u66f2\u7ebf\u9661\u5ced</strong>\u3002\u5bf9\u4e2d\u5c0f\u56e2\u961f\u6765\u8bf4\uff0cRancher \u7684\u529f\u80fd\u8fc7\u4e8e\u81c3\u80bf\uff0c\u5f88\u591a\u529f\u80fd\u7528\u4e0d\u4e0a\u4f46\u8fd0\u7ef4\u6210\u672c\u964d\u4e0d\u4e0b\u6765</li>\n<li><strong>\u88ab SUSE \u6536\u8d2d\u540e</strong>\uff0c\u793e\u533a\u6295\u5165\u660e\u663e\u51cf\u5c11\uff0c\u91cd\u5fc3\u8f6c\u5411\u5546\u4e1a\u7248 Rancher Prime</li>\n</ul>\n<p>KubeSphere \u95ed\u6e90\u3001Rancher \u8fc7\u91cd\u2014\u2014\u5bf9\u4e8e\u53ea\u9700\u8981\u4e00\u4e2a<strong>\u7b80\u5355\u597d\u7528\u7684\u591a\u96c6\u7fa4\u7ba1\u7406\u754c\u9762</strong>\u7684\u56e2\u961f\u6765\u8bf4\uff0c\u9009\u62e9\u5e76\u4e0d\u591a\u3002\u8fd9\u5c31\u662f\u6211\u505a K8s Admin \u7684\u539f\u56e0\u3002</p>\n<h2>K8s Admin \u662f\u4ec0\u4e48</h2>\n<p>K8s Admin \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u591a\u96c6\u7fa4 Kubernetes \u7ba1\u7406\u5e73\u53f0\uff0c\u57fa\u4e8e Next.js 16 \u548c React 19 \u6784\u5efa\u3002\u5b83\u7684\u8bbe\u8ba1\u7406\u5ff5\u662f<strong>\u591f\u7528\u5c31\u597d</strong>\u2014\u2014\u4e0d\u505a\u5e73\u53f0\u7684\u5e73\u53f0\uff0c\u53ea\u505a\u4e00\u4e2a\u8ba9\u4f60\u80fd\u5feb\u901f\u7ba1\u7406\u591a\u4e2a K8s \u96c6\u7fa4\u7684 Web \u5de5\u5177\u3002</p>\n<p>GitHub \u5730\u5740\uff1a<a href=\"https://github.com/twwch/next-k8s-admin\" rel=\"nofollow\">https://github.com/twwch/next-k8s-admin</a></p>\n<p><img alt=\"Dashboard \u603b\u89c8\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/1e2ca1d0-7be0-4995-ab05-77008d43f6d9\"/></p>\n<h2>\u6838\u5fc3\u529f\u80fd</h2>\n<h3>1. \u591a\u96c6\u7fa4\u7ba1\u7406</h3>\n<p>\u652f\u6301\u901a\u8fc7 Kubeconfig \u3001ServiceAccount Token \u3001EKS Token \u4e09\u79cd\u65b9\u5f0f\u63a5\u5165\u96c6\u7fa4\uff0c\u4e00\u4e2a\u754c\u9762\u7ba1\u7406\u6240\u6709\u96c6\u7fa4\u3002</p>\n<p><img alt=\"\u96c6\u7fa4\u7ba1\u7406\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/a2b8865f-1a5e-4fa5-aa08-3c609fc10dcf\"/></p>\n<h3>2. \u5b8c\u6574\u7684\u8d44\u6e90\u7ba1\u7406</h3>\n<p>\u8986\u76d6\u65e5\u5e38\u8fd0\u7ef4\u6240\u9700\u7684\u5168\u90e8 K8s \u8d44\u6e90\uff1aDeployment \u3001StatefulSet \u3001DaemonSet \u3001Job \u3001Pod \u3001Service \u3001Ingress \u3001ConfigMap \u3001Secret \u3001PVC \u3001StorageClass \u3001Namespace \u3002</p>\n<p>\u652f\u6301\u5728\u7ebf YAML \u7f16\u8f91\uff0c\u6240\u89c1\u5373\u6240\u5f97\u3002</p>\n<table>\n<tbody><tr>\n<td><img alt=\"Deployments\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/1ba3b43d-ad8e-4bdf-9f66-14f671110d7e\"/></td>\n<td><img alt=\"Services\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/b014446b-e62f-41cd-b4ca-808f6c1c7ad8\"/></td>\n</tr>\n<tr>\n<td>Deployments</td>\n<td>Services</td>\n</tr>\n</tbody></table>\n<p><img alt=\"\u8d44\u6e90 YAML \u7f16\u8f91\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/e08bae9f-d355-41bf-8874-824b189cffd8\"/></p>\n<h3>3. Pod \u7ec8\u7aef &amp; \u5b9e\u65f6\u65e5\u5fd7</h3>\n<p>\u57fa\u4e8e WebSocket + xterm.js \u5b9e\u73b0\u7684 Pod \u7ec8\u7aef\uff0c\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u91cc\u8fdb\u5165\u5bb9\u5668 Shell \u3002\u5b9e\u65f6\u65e5\u5fd7\u6d41\u5f0f\u67e5\u770b\uff0c\u4e0d\u7528\u518d\u5207\u5230\u547d\u4ee4\u884c\u6572 <code>kubectl logs -f</code>\u3002</p>\n<table>\n<tbody><tr>\n<td><img alt=\"Pod \u7ec8\u7aef\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/ac60b2d8-11a7-40ae-97d0-43d05bc30c01\"/></td>\n<td><img alt=\"\u5b9e\u65f6\u65e5\u5fd7\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/05a25f48-3039-49af-af98-e3d98c670c25\"/></td>\n</tr>\n<tr>\n<td>Pod \u7ec8\u7aef</td>\n<td>\u5b9e\u65f6\u65e5\u5fd7</td>\n</tr>\n</tbody></table>\n<h3>4. RBAC \u6743\u9650\u63a7\u5236</h3>\n<p>\u5185\u7f6e super-admin \u3001cluster-admin \u3001developer \u3001viewer \u56db\u4e2a\u89d2\u8272\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u89d2\u8272\u3002\u6743\u9650\u7c92\u5ea6\u7ec6\u5230<strong>\u96c6\u7fa4 + \u547d\u540d\u7a7a\u95f4 + \u8d44\u6e90\u7c7b\u578b + \u64cd\u4f5c\u7c7b\u578b</strong>\uff0c\u9002\u5408\u591a\u4eba\u534f\u4f5c\u573a\u666f\u3002</p>\n<table>\n<tbody><tr>\n<td><img alt=\"\u7528\u6237\u7ba1\u7406\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/74a6ede8-b111-4446-b5dd-55dd1dd6516e\"/></td>\n<td><img alt=\"\u89d2\u8272\u521b\u5efa\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/cf4262ea-63ed-410d-9806-f4f999fb8abf\"/></td>\n</tr>\n<tr>\n<td>\u7528\u6237\u7ba1\u7406</td>\n<td>\u89d2\u8272\u521b\u5efa</td>\n</tr>\n</tbody></table>\n<h3>5. \u5e94\u7528\u53d1\u5e03 &amp; \u98de\u4e66\u901a\u77e5</h3>\n<p>\u652f\u6301\u5e94\u7528\u53d1\u5e03\u8bb0\u5f55\u8ffd\u8e2a\u548c\u56de\u6eda\u3002\u90e8\u7f72\u65f6\u81ea\u52a8\u901a\u8fc7\u98de\u4e66 Webhook \u53d1\u9001\u901a\u77e5\u5361\u7247\uff0c\u65b9\u4fbf\u56e2\u961f\u534f\u4f5c\u3002</p>\n<table>\n<tbody><tr>\n<td><img alt=\"\u53d1\u5e03\u8bb0\u5f55\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/2e87272c-9782-4c8a-b43b-8f592acf2426\"/></td>\n<td><img alt=\"\u98de\u4e66\u901a\u77e5\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/58fab6d9-b7fd-4434-89af-331f1fbc8005\"/></td>\n</tr>\n<tr>\n<td>\u53d1\u5e03\u8bb0\u5f55</td>\n<td>\u98de\u4e66\u901a\u77e5\u5361\u7247</td>\n</tr>\n</tbody></table>\n<h3>6. \u5ba1\u8ba1\u65e5\u5fd7</h3>\n<p>\u6240\u6709\u64cd\u4f5c\u7559\u75d5\uff0c\u8bb0\u5f55\u64cd\u4f5c\u4eba\u3001IP \u3001\u65f6\u95f4\u3001\u52a8\u4f5c\uff0c\u6ee1\u8db3\u5b89\u5168\u5ba1\u8ba1\u9700\u6c42\u3002</p>\n<p><img alt=\"\u5ba1\u8ba1\u65e5\u5fd7\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/user-attachments/assets/895dea65-fc3e-4574-8ea5-f78384c59563\"/></p>\n<h2>\u6280\u672f\u6808</h2>\n<table>\n<thead>\n<tr>\n<th>\u7c7b\u522b</th>\n<th>\u6280\u672f</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\u524d\u7aef</td>\n<td>Next.js 16 \u3001React 19 \u3001Ant Design 5 \u3001Tailwind CSS 4</td>\n</tr>\n<tr>\n<td>\u540e\u7aef</td>\n<td>Next.js API Routes \u3001WebSocket Server \u3001Drizzle ORM</td>\n</tr>\n<tr>\n<td>\u6570\u636e\u5e93</td>\n<td>PostgreSQL</td>\n</tr>\n<tr>\n<td>\u8ba4\u8bc1</td>\n<td>JWT \u3001\u90ae\u7bb1\u9a8c\u8bc1\u7801</td>\n</tr>\n</tbody></table><h2>\u5feb\u901f\u4f53\u9a8c</h2>\n<pre><code class=\"language-bash\">git clone https://github.com/twwch/k8s-admin.git\ncd k8s-admin\ncp .env.example .env\n# \u7f16\u8f91 .env \uff0c\u914d\u7f6e DATABASE_URL \u548c ENCRYPTION_KEY\ndocker compose up -d\n</code></pre>\n<p>\u9996\u6b21\u542f\u52a8\u81ea\u52a8\u5efa\u5e93\u3001\u8fc1\u79fb\u3001\u521b\u5efa\u7ba1\u7406\u5458\u8d26\u53f7\uff08\u5bc6\u7801\u5728\u63a7\u5236\u53f0\u8f93\u51fa\uff09\u3002\u4e5f\u652f\u6301 <code>npm run dev</code> \u672c\u5730\u5f00\u53d1\u3002</p>\n<h2>\u548c\u5176\u4ed6\u65b9\u6848\u7684\u5bf9\u6bd4</h2>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>K8s Admin</th>\n<th>KubeSphere</th>\n<th>Rancher</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\u5f00\u6e90\u534f\u8bae</td>\n<td>Apache 2.0</td>\n<td>\u5df2\u95ed\u6e90</td>\n<td>Apache 2.0</td>\n</tr>\n<tr>\n<td>\u90e8\u7f72\u590d\u6742\u5ea6</td>\n<td>\u4e00\u4e2a\u5bb9\u5668 + PostgreSQL</td>\n<td>\u4f9d\u8d56 K8s \u96c6\u7fa4\u90e8\u7f72</td>\n<td>\u9700\u8981\u72ec\u7acb\u96c6\u7fa4</td>\n</tr>\n<tr>\n<td>\u8d44\u6e90\u5360\u7528</td>\n<td>\u6781\u4f4e\uff08~100MB \uff09</td>\n<td>\u8f83\u9ad8</td>\n<td>\u9ad8\uff08\u5efa\u8bae 4C8G+\uff09</td>\n</tr>\n<tr>\n<td>\u591a\u96c6\u7fa4\u7ba1\u7406</td>\n<td>\u2705</td>\n<td>\u2705</td>\n<td>\u2705</td>\n</tr>\n<tr>\n<td>RBAC</td>\n<td>\u2705</td>\n<td>\u2705</td>\n<td>\u2705</td>\n</tr>\n<tr>\n<td>Pod \u7ec8\u7aef</td>\n<td>\u2705</td>\n<td>\u2705</td>\n<td>\u2705</td>\n</tr>\n<tr>\n<td>\u4e0a\u624b\u96be\u5ea6</td>\n<td>\u4f4e</td>\n<td>\u4e2d</td>\n<td>\u9ad8</td>\n</tr>\n</tbody></table><h2>\u603b\u7ed3</h2>\n<p>K8s Admin \u4e0d\u6253\u7b97\u505a\u4e00\u4e2a\u5927\u800c\u5168\u7684\u5e73\u53f0\uff0c\u5b83\u89e3\u51b3\u7684\u662f\u4e00\u4e2a\u5177\u4f53\u7684\u95ee\u9898\uff1a<strong>\u7528\u6700\u5c0f\u7684\u6210\u672c\uff0c\u8ba9\u56e2\u961f\u80fd\u901a\u8fc7 Web \u754c\u9762\u7ba1\u7406\u591a\u4e2a Kubernetes \u96c6\u7fa4</strong>\u3002</p>\n<p>\u5982\u679c\u4f60\u7684\u56e2\u961f\u6b63\u5728\u5bfb\u627e KubeSphere \u7684\u66ff\u4ee3\u65b9\u6848\uff0c\u6216\u8005\u89c9\u5f97 Rancher \u592a\u91cd\uff0c\u4e0d\u59a8\u8bd5\u8bd5\u3002</p>\n<ul>\n<li>GitHub\uff1a<a href=\"https://github.com/twwch/next-k8s-admin\" rel=\"nofollow\">https://github.com/twwch/next-k8s-admin</a></li>\n<li>\u534f\u8bae\uff1aApache 2.0</li>\n</ul>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/soleils", 
        "name": "soleils", 
        "avatar": "https://cdn.v2ex.com/gravatar/6b20eecbba98f121270fa56f0886b2f4?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1200412", 
      "title": "K8S \u7f51\u5173\u6c42\u52a9, \u517c\u5bb9\u8001 HTTP \u534f\u8bae\u548c\u8001 TLS \u7248\u672c", 
      "id": "https://www.v2ex.com/t/1200412", 
      "date_published": "2026-03-23T06:47:59+00:00", 
      "content_html": "\u5ba2\u6237\u5927\u591a\u6570\u662f\u94f6\u884c\u7684, \u67d0\u4e9b\u7528\u7684\u8bf7\u6c42\u5e93\u90fd\u5f88\u8001<br /><br />\u6700\u8fd1\u6211\u4eec\u8fc1\u79fb\u4e91\u8d44\u6e90, \u5728\u65b0 K8S \u91cc\u7528\u4e86 envoy-gateway 1.6.5, \u95ee Gemini \u8bf4\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e:<br />  tls:<br />    minVersion: \"1.0\"<br />    maxVersion: \"1.3\"<br />\u6765\u517c\u5bb9 TLS1.0,  http \u8bbe\u7f6e\u4e86    http10: {}\u6765\u517c\u5bb9,  \u6211\u672c\u5730\u7528 curl \u6d4b\u8bd5\u4e5f\u6ca1\u95ee\u9898(\u540e\u6765\u53d1\u73b0\u6ca1\u7528).<br /><br />\u4e0a\u7ebf\u540e\u5c11\u6570\u94f6\u884c\u5ba2\u6237\u62a5\u9519: \u8981\u4e0d\u7136\u662f 426, \u8981\u4e0d\u7136\u662f SSL \u63e1\u624b\u6709\u95ee\u9898.  \u73b0\u5728\u6211\u86cb\u75bc\u7684\u8981\u6b7b, \u4e0d\u80fd\u56e0\u4e3a\u5c11\u90e8\u5206\u5ba2\u6237\u53c8\u5207\u56de\u8001\u4e91, \u4f46\u7ebf\u4e0a\u60f3\u6362 treafik \u53c8\u6765\u4e0d\u53ca\u4e86, \u73b0\u5728\u600e\u4e48\u529e<br /><br />(\u8fd8\u662f\u5e94\u8be5\u656c\u754f\u751f\u4ea7\u73af\u5883)"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Debug1998", 
        "name": "Debug1998", 
        "avatar": "https://cdn.v2ex.com/gravatar/cd9d5a9c7fa363a942093f3138bcae8b?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1198395", 
      "title": "\u521d\u5b66 k8s\uff0c\u5982\u4f55\u89e3\u51b3\u7f51\u7edc\u4e0b\u8f7d\u6162\u7684\u95ee\u9898\uff1f", 
      "id": "https://www.v2ex.com/t/1198395", 
      "date_published": "2026-03-15T07:03:47+00:00", 
      "content_html": "<p>\u76ee\u524d\u5c0f\u5f1f\u4e3b\u8981\u662f\u901a\u8fc7 ssh \u5230 ubuntu \u7269\u7406\u673a\u4e0a\uff0c\u6709\u7ffb\u5899\u8bbe\u5907\uff0c\u5728 ubuntu \u4e0a\u4e0b\u8f7d\u4e86 flcalsh,\u4f46\u662f\u4e0b\u8f7d k8s \u7684\u94fe\u63a5\u5c31\u5f88\u6162\uff0c\u6ca1\u8d70\u4ee3\u7406\u3002\n\u5982\uff1acurl -LO \"<a href=\"https://dl.k8s.io/release/$(curl\" rel=\"nofollow\">https://dl.k8s.io/release/$(curl</a> -L -s <a href=\"https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert%22\" rel=\"nofollow\">https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert\"</a>\n\u4e0b\u8f7d\u5c31\u5f88\u6162\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/korone", 
        "name": "korone", 
        "avatar": "https://cdn.v2ex.com/gravatar/3591a1561453a29280cd026341df621e?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1194960", 
      "title": "\u5728\u963f\u91cc\u4e91\u4e0a\u642d\u5efa K8S \u7684\u6700\u4f73\u5b9e\u8df5\u662f\u4ec0\u4e48\uff1f", 
      "id": "https://www.v2ex.com/t/1194960", 
      "date_published": "2026-03-01T04:01:01+00:00", 
      "content_html": "<p>\u4e4b\u524d\u53ea\u7528 k3s \u5728 ECS \u4e0a\u642d\u8fc7\uff0c\u73b0\u5728\u95ee AI \uff0c\u4ed6\u63a8\u8350\u6211\u7528\u963f\u91cc\u4e91\u7684 ACK \uff0c\u7528 ACK \u5b66\u4e60\u6210\u672c\u4f1a\u5f88\u9ad8\u5417\uff1f\u8fd9\u4ea7\u54c1\u6709\u6ca1\u6709\u5f88\u591a\u5751\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/c0nstantien", 
        "name": "c0nstantien", 
        "avatar": "https://cdn.v2ex.com/avatar/95e3/37c4/549405_large.png?m=1758532367"
      }, 
      "url": "https://www.v2ex.com/t/1186255", 
      "title": "[\u6c42\u52a9] sealos \u79c1\u6709\u5316\u90e8\u7f72\u5931\u8d25", 
      "id": "https://www.v2ex.com/t/1186255", 
      "date_published": "2026-01-16T07:51:33+00:00", 
      "content_html": "<h1>sealos \u79c1\u6709\u5316\u90e8\u7f72\u5931\u8d25</h1>\n<p>\u4f7f\u7528 sealos \u5b98\u7f51\u7684 <a href=\"https://sealos.run/docs/self-hosting/install\" rel=\"nofollow\">install_v2.sh</a> \u811a\u672c\u90e8\u7f72\uff0c\u5728\u5b89\u88c5 k8s \u96c6\u7fa4\u65f6\u62a5\u9519\uff0c\u6709\u4eba\u9047\u5230\u8fd9\u79cd\u60c5\u51b5\u561b</p>\n<p>\u6267\u884c\u65e5\u5fd7\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u7684 warn \u65e5\u5fd7\uff0c\u6211\u5224\u65ad\u5e94\u8be5\u662f\u5b89\u88c5\u5931\u8d25\u7684\u539f\u56e0</p>\n<pre><code>2026-01-16T14:59:36 info trying default http mode to sync images to hosts [172.16.254.32:22]\n2026-01-16T14:59:36 warn failed to copy image 127.0.0.1:32931/coredns/coredns:v1.10.1: trying to reuse blob sha256:25b7032c281a433b92d09930f3a03c0f7382c27eb69ae7f35addf2e3853dbba7 at destination: pinging container registry 172.16.254.32:5050: received unexpected HTTP status: 502 Bad Gateway\n2026-01-16T14:59:36 warn failed to copy image 127.0.0.1:32931/coredns/coredns:v1.10.1: trying to reuse blob sha256:25b7032c281a433b92d09930f3a03c0f7382c27eb69ae7f35addf2e3853dbba7 at destination: pinging container registry 172.16.254.32:5050: received unexpected HTTP status: 502 Bad Gateway\n2026-01-16T14:59:36 warn failed to copy image 127.0.0.1:32931/etcd:3.5.15-0: trying to reuse blob sha256:f531499c6b730fc55a63e5ade55ce2c849bbf03f894248e3a2092689e3749312 at destination: pinging container registry 172.16.254.32:5050: received unexpected HTTP status: 502 Bad Gateway\n2026-01-16T14:59:36 warn failed to copy image 127.0.0.1:32931/etcd:3.5.15-0: trying to reuse blob sha256:f531499c6b730fc55a63e5ade55ce2c849bbf03f894248e3a2092689e3749312 at destination: pinging container registry 172.16.254.32:5050: received unexpected HTTP status: 502 Bad Gateway\n2026-01-16T14:59:36 warn failed to copy image 127.0.0.1:32931/kube-apiserver:v1.28.15: trying to reuse blob sha256:0674a6f58b64d0431620993268b1a1b0ef8618ee3cffd96d4662c2759ec43894 at destination: pinging container registry 172.16.254.32:5050: received unexpected HTTP status: 502 Bad Gateway\n2026-01-16T14:59:36 warn failed to copy image 127.0.0.1:32931/kube-apiserver:v1.28.15: trying to reuse blob sha256:0674a6f58b64d0431620993268b1a1b0ef8618ee3cffd96d4662c2759ec43894 at destination: pinging container registry 172.16.254.32:5050: received unexpected HTTP status: 502 Bad Gateway\n</code></pre>\n<pre><code>2026-01-16T14:59:48 info start to pull images: sealos.hub:5000/kube-apiserver:v1.28.15, sealos.hub:5000/kube-controller-manager:v1.28.15, sealos.hub:5000/kube-scheduler:v1.28.15, sealos.hub:5000/kube-proxy:v1.28.15, sealos.hub:5000/pause:3.9, sealos.hub:5000/etcd:3.5.15-0, sealos.hub:5000/coredns/coredns:v1.10.1\nE0116 14:59:48.968711  128637 remote_image.go:180] \"PullImage from image service failed\" err=\"rpc error: code = NotFound desc = failed to pull and unpack image \\\"sealos.hub:5000/kube-apiserver:v1.28.15\\\": failed to resolve reference \\\"sealos.hub:5000/kube-apiserver:v1.28.15\\\": sealos.hub:5000/kube-apiserver:v1.28.15: not found\" image=\"sealos.hub:5000/kube-apiserver:v1.28.15\"\nFATA[0000] pulling image: rpc error: code = NotFound desc = failed to pull and unpack image \"sealos.hub:5000/kube-apiserver:v1.28.15\": failed to resolve reference \"sealos.hub:5000/kube-apiserver:v1.28.15\": sealos.hub:5000/kube-apiserver:v1.28.15: not found \n2026-01-16T14:59:48 error Applied to cluster error: failed to init masters: pull image sealos.hub:5000/kube-apiserver:v1.28.15 failed, error: exit status 1\nError: failed to init masters: pull image sealos.hub:5000/kube-apiserver:v1.28.15 failed, error: exit status 1\n</code></pre>\n<p>\u5176\u4e2d\u6267\u884c\u7684\u547d\u4ee4\u662f</p>\n<pre><code class=\"language-bash\">sealos run ghcr.io/labring/sealos/kubernetes:v1.28.15                        --env KUBEADM_POD_SUBNET=100.64.0.0/10         --env KUBEADM_SERVICE_SUBNET=10.96.0.0/22        --env KUBEADM_MAX_PODS=120        --env KUBEADM_SERVICE_RANGE=        --env criData=/var/lib/containerd        --env registryPassword=passw0rd        --pk=/root/.ssh/id_rsa        --passwd=\n</code></pre>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/shenzheke", 
        "name": "shenzheke", 
        "avatar": "https://cdn.v2ex.com/gravatar/7aab823a4d7a5c23b941a4d8ef42774a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1186037", 
      "title": "K8s etcd \u6062\u590d", 
      "id": "https://www.v2ex.com/t/1186037", 
      "date_published": "2026-01-15T14:18:03+00:00", 
      "content_html": "<p>k8s \u96c6\u7fa4 1.29.8 3master \u8282\u70b9\uff0c\u56e0\u4e3a\u4e0d\u7559\u795e\u6267\u884c\u4e86\u5f71\u54cd IP \u5730\u5740\u7684\u547d\u4ee4\uff0c\u5bfc\u81f4\u63a7\u5236\u9762\u96ea\u5d29\u3002\u5229\u7528\u5176\u4e2d\u4e00\u4e2a\u8282\u70b9\u5168\u65b0\u91cd\u5efa\u96c6\u7fa4\uff0c\u80fd\u5426\u7528\u5df2\u6709\u7684 etcd \u6570\u636e\u5e93\u8fd8\u539f\u4e4b\u524d\u7684\u8d44\u6e90 pod deployment \u7b49\u7b49\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zhoudaiyu", 
        "name": "zhoudaiyu", 
        "avatar": "https://cdn.v2ex.com/avatar/b75f/9ee0/163414_large.png?m=1682659533"
      }, 
      "url": "https://www.v2ex.com/t/1185776", 
      "title": "\u5927\u5bb6\u5728\u751f\u4ea7\u73af\u5883\u4f7f\u7528 Redis on K8s \u7684\u65b9\u6848\u662f\u4ec0\u4e48\uff1f", 
      "id": "https://www.v2ex.com/t/1185776", 
      "date_published": "2026-01-15T01:06:26+00:00", 
      "content_html": "\u6211\u4eec\u7684\u9700\u6c42\u662f\u8981\u7528 redis-cluster \uff0c\u800c\u4e14\u4e0d\u80fd\u5207\u6362 valkey \u6216\u8005 dragonflydb \uff0c\u79c1\u6709\u4e91\u90e8\u7f72\u3002\u76ee\u524d\u8c03\u7814\u4e86 OT-CONTAINER-KIT \u7684 redis-operator \u548c bitnami \u7684 redis-cluster \uff0c\u4f46\u662f\u4e24\u8005\u90fd\u6709\u5751\uff0c\u524d\u8005 issue \u4e0a\u770b\u6269\u5bb9\u6709\u4e9b\u95ee\u9898\uff0c\u540e\u8005\u4e3b\u8981\u662f\u4e0d\u5728 github \u4e0a\u516c\u5f00\u7ef4\u62a4\u9879\u76ee\u4e86\u3002\u5927\u5bb6\u6709\u4ec0\u4e48\u5efa\u8bae\uff0c\u8fd8\u6709\u73b0\u5728\u4f7f\u7528\u7684\u65b9\u6848\u662f\u5565\uff1f"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/lianglin999", 
        "name": "lianglin999", 
        "avatar": "https://cdn.v2ex.com/gravatar/c946fa5e3c88eda4210c0a1ad5310fb9?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1184386", 
      "title": "Claude Code Skill + K8S \u5b89\u5168\u5ba1\u8ba1\u6709\u6ca1\u6709\u641e\u5934?", 
      "id": "https://www.v2ex.com/t/1184386", 
      "date_published": "2026-01-10T01:36:25+00:00", 
      "content_html": "<p>Claude Code Skill \u8bdd\u9898\u8fd9\u4e48\u706b\uff0c\u6211\u4e5f\u6765\u51d1\u4e2a\u70ed\u5ea6 \ud83d\ude80</p>\n<p>\u5f00\u53d1\u4e86\u4e00\u4e2a kube-audit-kit.</p>\n<h3>\ud83d\udee1\ufe0f \u5b83\u80fd\u505a\u4ec0\u4e48\uff1a</h3>\n<ul>\n<li>\u4e00\u952e\u626b\u63cf K8s \u96c6\u7fa4\u5b89\u5168\u9690\u60a3</li>\n<li>\u57fa\u4e8e PSS/NSA/CIS \u6743\u5a01\u5b89\u5168\u6807\u51c6</li>\n<li>\u667a\u80fd\u5206\u7ec4\u5e94\u7528\uff0c\u9759\u6001\u626b\u63cf + AI \u6df1\u5ea6\u5206\u6790</li>\n<li>\u8986\u76d6 Pod \u5b89\u5168\u3001RBAC \u3001\u7f51\u7edc\u7b56\u7565\u3001\u654f\u611f\u6570\u636e\u7b49</li>\n</ul>\n<h3>\ud83c\udfaf \u89e3\u51b3\u4ec0\u4e48\u75db\u70b9\uff1a</h3>\n<ul>\n<li>\u274c \u624b\u52a8\u7ffb YAML \u68c0\u67e5\u5b89\u5168\u914d\u7f6e\u592a\u8017\u65f6</li>\n<li>\u274c \u4e0d\u6e05\u695a\u96c6\u7fa4\u91cc\u6709\u54ea\u4e9b\u8fdd\u89c4\u914d\u7f6e</li>\n<li>\u274c \u60f3\u5ba1\u8ba1\u4f46\u6015\u5f71\u54cd\u751f\u4ea7\u73af\u5883</li>\n<li>\u2705 \u7eaf\u53ea\u8bfb\u64cd\u4f5c\uff0c\u96f6\u4fb5\u5165\uff0c3 \u5206\u949f\u51fa\u62a5\u544a</li>\n</ul>\n<p>\u6b22\u8fce\u8bd5\u7528\uff0cStar \u652f\u6301 \u2b50\ufe0f</p>\n<p><a href=\"https://github.com/crazygit/kube-audit-kit\" rel=\"nofollow\">https://github.com/crazygit/kube-audit-kit</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/jciba5n4y6u", 
        "name": "jciba5n4y6u", 
        "avatar": "https://cdn.v2ex.com/avatar/a85d/a099/159657_large.png?m=1767776359"
      }, 
      "url": "https://www.v2ex.com/t/1183808", 
      "title": "\u6361\u4e86\u70b9\u5783\u573e\uff0c\u6253\u7b97\u5728\u5bb6\u91cc\u73a9 K3S\uff0c\u6c42\u521b\u610f", 
      "id": "https://www.v2ex.com/t/1183808", 
      "date_published": "2026-01-07T09:07:24+00:00", 
      "content_html": "<p>\u628a\u5bb6\u91cc\u7684\u65e7\u5185\u5b58\u3001\u786c\u76d8\u6574\u7406\u4e86\u4e0b\uff0c\u5165\u4e86\u4e00\u4e2a\u5bcc\u58eb\u901a\u7684 Q558 \uff0c\u987a\u4fbf\u51c6\u5907\u628a\u7fa4\u6656\u5f00\u4e2a NFS \u505a\u540e\u53f0\uff0c\u6298\u817e\u4e00\u4e0b\uff0c\u73a9\u73a9 CI/CD \uff0c\u7f51\u7edc\u865a\u62df\u5316\uff0c\u6d41\u91cf\u5ba1\u8ba1\uff0c\u65c1\u8def\u7531\uff0c\u81ea\u52a8\u7b7e\u5230\uff0c\u89c6\u9891\u7f16\u8f91\uff0c\u4e2a\u4eba\u90ae\u4ef6\u5907\u4efd\u5f52\u6863\u5565\u7684\u3002\u4e89\u53d6\u80fd\u505a\u5230\u6570\u636e\u548c\u4e1a\u52a1\u903b\u8f91\u5206\u79bb\uff0c\u5b9e\u73b0\u91cd\u8981\u6570\u636e\u843d\u5728\u7fa4\u6656\uff0c\u52a0\u5bc6\u540e\u5907\u4efd\u5230\u4e91\u7aef\u3002</p>\n<table>\n<thead>\n<tr>\n<th>\u7f16\u53f7</th>\n<th>\u8bbe\u5907</th>\n<th>\u5185\u5b58</th>\n<th>\u5b58\u50a8</th>\n<th>\u67b6\u6784</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>J1900</td>\n<td>4 GB</td>\n<td>64 GB SSD</td>\n<td>x86</td>\n</tr>\n<tr>\n<td>2</td>\n<td>i3-7100</td>\n<td>32 GB</td>\n<td>512 GB SSD</td>\n<td>x86</td>\n</tr>\n<tr>\n<td>3</td>\n<td>i3-9100T</td>\n<td>32 GB</td>\n<td>500 GB SSD</td>\n<td>x86</td>\n</tr>\n<tr>\n<td>4</td>\n<td>Raspberry Pi 4</td>\n<td>8 GB</td>\n<td>SD / USB</td>\n<td>ARM64</td>\n</tr>\n<tr>\n<td>5</td>\n<td>Raspberry Pi 4</td>\n<td>8 GB</td>\n<td>SD / USB</td>\n<td>ARM64</td>\n</tr>\n</tbody></table><hr/>\n<p>\u51c6\u5907\u6162\u6162\u6298\u817e\u7740\u73a9\u4e86\uff0c\u5927\u5bb6\u6709\u5565\u597d\u73a9\u7684\u60f3\u6cd5\u5417\uff1f</p>\n<p>\u7528 chatGPT \u5f00\u59cb\u6298\u817e\u4e86\uff0c\u4ed6\u8bf4\u8fd9\u4e9b\u51d1\u5408\u53ef\u4ee5\u73a9\u4e86\u3002\u6211\u672c\u6765\u60f3\u5185\u5b58\u591a\u70b9\uff0c\u4f46\u73b0\u5728\u592a\u8d35\u4e86\uff0c\u51d1\u5408\u7740\u4e86\u3002\u786c\u4ef6\u96c6\u9f50\u4e86\uff0c\u8f6f\u4ef6\u57fa\u7840\u73af\u5883\u8fd8\u6ca1\u642d\u8d77\u6765\u3002\u6709\u5565\u5751\u6216\u8005\u597d\u73a9\u7684\u70b9\uff0c\u6b22\u8fce\u6307\u70b9\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/fx", 
        "name": "fx", 
        "avatar": "https://cdn.v2ex.com/avatar/44c2/821d/32939_large.png?m=1758687863"
      }, 
      "url": "https://www.v2ex.com/t/1178294", 
      "title": "istio \u7684 ambient \u6a21\u5f0f\u73b0\u5728\u6210\u719f\u4e86\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/1178294", 
      "date_published": "2025-12-11T07:48:40+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Qetesh", 
        "name": "Qetesh", 
        "avatar": "https://cdn.v2ex.com/avatar/f54f/b95e/82402_large.png?m=1724140089"
      }, 
      "url": "https://www.v2ex.com/t/1177138", 
      "title": "\u8f7b\u91cf\u7684 K8s \u955c\u50cf\u81ea\u52a8\u66f4\u65b0\u5de5\u5177\uff1a kube-watchtower", 
      "id": "https://www.v2ex.com/t/1177138", 
      "date_published": "2025-12-05T07:10:48+00:00", 
      "content_html": "<p>\u4f7f\u7528 K8s \u540e\uff0c\u4e00\u76f4\u60f3\u627e\u4e2a\u7c7b\u4f3c Watchtower \u7b80\u5355\u7684\u5bb9\u5668\u81ea\u52a8\u66f4\u65b0\u5de5\u5177</p>\n<p>\u770b\u4e86 Argo CD Image Updater \u3001Renovate \u548c Keel \u7b49\u5de5\u5177\uff0c\u53d1\u73b0\u5b83\u4eec\u5bf9\u4e8e Homelab \u6216\u4e2d\u5c0f\u73af\u5883\u6765\u8bf4\u90fd\u592a\u91cd\u4e86</p>\n<p>\u5c31\u81ea\u5df1\u5199\u4e86\u4e00\u4e2a\uff0ckube-watchtower</p>\n<p>\u6838\u5fc3\u903b\u8f91</p>\n<p>\u4e0d\u505a\u590d\u6742\u7684\u72b6\u6001\u7ba1\u7406\uff0c\u4fdd\u6301\u6781\u7b80\u548c\u539f\u751f</p>\n<ul>\n<li>CronJob \u65b9\u5f0f\u5b9a\u65f6\u89e6\u53d1</li>\n<li>\u68c0\u67e5 imagePullPolicy: Always \u7684\u5bb9\u5668\u8fdc\u7a0b\u955c\u50cf Digest</li>\n<li>\u89e6\u53d1 K8s \u539f\u751f\u7684 Rolling Update</li>\n</ul>\n<p>\u7279\u6027</p>\n<ul>\n<li>\u96c6\u6210 <a href=\"https://containrrr.dev/shoutrrr/\" rel=\"nofollow\">Shoutrrr</a> \u901a\u77e5</li>\n<li>\u652f\u6301\u79c1\u6709\u4ed3\u5e93 (ImagePullSecrets) \u548c namespace \u8fc7\u6ee4</li>\n<li>\u63d0\u4f9b Dry-Run \u6a21\u5f0f</li>\n</ul>\n<p>Github: <a href=\"https://github.com/Qetesh/kube-watchtower\" rel=\"nofollow\">https://github.com/Qetesh/kube-watchtower</a></p>\n<p>\u4ee3\u7801\u5b8c\u5168\u5f00\u6e90\uff0c\u5982\u679c\u89c9\u5f97\u597d\u7528\uff0c\u6c42\u4e2a Star \u2b50\ufe0f\uff0c\u4e5f\u6b22\u8fce\u63d0 Issue \u6216 PR \u4ea4\u6d41\uff5e</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/emmmmmmmmmmmm", 
        "name": "emmmmmmmmmmmm", 
        "avatar": "https://cdn.v2ex.com/gravatar/06ebca5242e4063bb28e6eab9a509906?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1174386", 
      "title": "openwrt + pve (pve \u4e0a\u90e8\u7f72 k8s) \u80fd\u591f\u5b9e\u73b0 \u5c06 op \u4e0a\u7684 ipv6-pd \u52a8\u6001\u7684\u5206\u914d\u5230 k8s svc \u4e0a\u5417\uff1f\u5f53 ra \u901a\u544a\u5230\u8fbe\u65f6\u80fd\u591f\u81ea\u52a8\u66f4\u65b0\u7684\u7a0b\u5ea6\u3002", 
      "id": "https://www.v2ex.com/t/1174386", 
      "date_published": "2025-11-22T08:12:20+00:00", 
      "content_html": "<p>\u4e4b\u524d\u60f3\u8fd9\u4e48\u5b9e\u73b0\uff0c\u4f46\u662f\u597d\u50cf\u6ca1\u65b9\u6848\uff0c\u65f6\u9694 1 \uff0c2 \u5e74\uff0c\u60f3\u8d77\u6765\u5c31\u7ee7\u7eed\u95ee\u95ee\u3002\u5f53\u65f6\u8003\u8651\u8fc7\u8fd9\u79cd\u65b9\u6848\uff0c\u770b\u5230 cni \u597d\u50cf\u4e0d\u652f\u6301\uff0cmetallb \u4e5f\u4e0d\u652f\u6301\u3002\u5c31\u653e\u5f03\u4e86\u3002\u73b0\u5728\u8fd8\u662f\u4f7f\u7528\u7684 lxc + docker , \u81f3\u5c11\u6ca1\u6709 ip \u95ee\u9898\uff0c\u5916\u7f51\u80fd\u591f\u8bbf\u95ee\u3002\u5982\u679c k8s \u4e5f\u652f\u6301\u8fd9\u79cd\u6a21\u5f0f\uff0c\u5c31\u53ef\u4ee5\u5168\u9762\u4f7f\u7528 k8s \u6765\u7ba1\u7406\u5bb9\u5668\u4e86\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Branlice", 
        "name": "Branlice", 
        "avatar": "https://cdn.v2ex.com/gravatar/997a2197b7a701b3c0a4dba3a8032847?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1171459", 
      "title": "\u6709\u4e00\u4e9b Golang/k8s \u57fa\u7840\uff0c\u60f3\u8f6c\u884c\u505a \u4e91\u539f\u751f\u5f00\u53d1 \u6211\u8fd8\u9700\u8981\u5b66\u4ec0\u4e48\uff1f", 
      "id": "https://www.v2ex.com/t/1171459", 
      "date_published": "2025-11-09T00:21:30+00:00", 
      "content_html": "\u6211\u73b0\u5728\u6709\u4e00\u4e9b Golang \u548c K8s \u76f8\u5173\u7684\u57fa\u7840\uff08\u81f3\u5c11\u53ef\u4ee5\u81ea\u5df1\u628a\u641e\u4e2a\u4e2d\u578b\u5fae\u670d\u52a1\u9879\u76ee/\u6bd4\u5982 kratos \uff0c\u5728 k8s \u73af\u5883\u4e0b\u90e8\u7f72\u8fd0\u884c/\u5904\u7406\u6d41\u91cf\u3001HPA \u3001\u53ef\u89c2\u6d4b\u7b49\u4e1c\u897f\uff09\u3002<br /><br />\u73b0\u5728\u5bf9 \u4e91\u539f\u751f\u5f00\u53d1 \u8fd9\u4e2a\u9886\u57df\u6bd4\u8f83\u611f\u5174\u8da3\u3002<br />\u60f3\u95ee\u4e0b\u5982\u679c\u8f6c\u884c\u505a\u804c\u4e1a\uff0c\u9664\u4e86\u73b0\u6709\u7684\u77e5\u8bc6\u6280\u80fd\u3001\u6700\u597d\u8fd8\u9700\u8981\u51c6\u5907/\u5b66\u4e60\u54ea\u4e9b\u4e1c\u897f\uff1f"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/sakurawzt", 
        "name": "sakurawzt", 
        "avatar": "https://cdn.v2ex.com/gravatar/0be8224f07591453aa9ca0afdac1d0c1?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1169418", 
      "date_modified": "2025-10-30T06:39:16+00:00", 
      "content_html": "<p>\u5bb6\u91cc\u7ec4\u4e86\u53f0\u5de5\u63a7\u673a\u53ef\u4ee5\u7528 esxi \u5212\u5206\u51fa\u6765\u51e0\u4e2a\u865a\u62df\u673a\uff0c\u60f3\u642d\u5efa k8s \u5b66\u4e60\u5b66\u4e60\uff0c\u6545\u6c42\u4e00\u4efd\u9ad8\u53ef\u7528\u7684\u642d\u5efa\u6559\u7a0b</p>\n", 
      "date_published": "2025-10-30T06:36:34+00:00", 
      "title": "\u6c42\u4efd\u642d\u5efa\u9ad8\u53ef\u7528 k8s \u7684\u6559\u7a0b", 
      "id": "https://www.v2ex.com/t/1169418"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Gct012", 
        "name": "Gct012", 
        "avatar": "https://cdn.v2ex.com/gravatar/43b32dc0cd63148ec3f822e90f60a076?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1160596", 
      "title": "\u6709\u4ec0\u4e48\u53ef\u4ee5\u5feb\u901f\u9a8c\u8bc1\u5e94\u7528\u90e8\u7f72 K8S \u7684\u529e\u6cd5\u4e48\uff1f", 
      "id": "https://www.v2ex.com/t/1160596", 
      "date_published": "2025-09-19T12:07:25+00:00", 
      "content_html": "<p>\u516c\u53f8\u6709\u4e2a Java \u5e94\u7528\uff08 Springboot \uff09\u9700\u8981\u90e8\u7f72\u5728\u5ba2\u6237\u7684 K8S \u96c6\u7fa4\u4e2d\u3002\u5ba2\u6237\u4e0d\u63d0\u4f9b\u6d4b\u8bd5\u73af\u5883\uff0c\u9700\u8981\u672c\u5730\u6d4b\u8bd5\uff0c\u8bf7\u95ee\u4e0b\u6709\u4ec0\u4e48\u6700\u7b80\u5355\u7684\u8def\u5f84\u6765\u9a8c\u8bc1\u628a\u5e94\u7528\u4ece\u6253\u5305\u5230\u90e8\u7f72\u5230 K8S \u96c6\u7fa4\u4e2d\uff08\u5bf9 K8S \u4e86\u89e3\u5f88\u5c11\uff0c\u4e4b\u524d\u6700\u591a\u7528\u8fc7 docker \u90e8\u7f72...\uff09\u3002\n\u662f\u76f4\u63a5\u7528\u963f\u91cc\u4e91\u8fd8\u662f\u7528\u670d\u52a1\u5668\u90e8\u7f72\u4e00\u5957 K8S \u96c6\u7fa4\uff1f\u6211\u770b\u4e86\u4e0b\u963f\u91cc\u4e91\u53d1\u73b0\u6709 ACS \u548c ACK \u4e24\u4e2a\uff0c\u4e5f\u4e0d\u77e5\u9053\u6709\u4ec0\u4e48\u533a\u522b...</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/chen0520", 
        "name": "chen0520", 
        "avatar": "https://cdn.v2ex.com/gravatar/74604c3787ac4138d717040a1ba5d64a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1160438", 
      "date_modified": "2025-09-19T03:19:19+00:00", 
      "content_html": "<p>\u76ee\u524d\u5728\u56f4\u7ed5 code-server \u8fdb\u884c\u5f00\u53d1\uff0c\u73b0\u5728\u78b0\u5230\u4e86\u542f\u7528\u4e86\u5185\u90e8\u670d\u52a1\uff0c\u4f46\u662f\u53ea\u80fd\u901a\u8fc7 curl \u8fdb\u884c\u6d4b\u8bd5\uff0c\u6216\u8005\u8bf4\u6211\u5e0c\u671b\u4ece\u6211\u8fd9\u4e2a code-server \u8bbf\u95ee\u53e6\u4e00\u4e2a code-server \u5f00\u7684\u670d\u52a1\uff0c\u6b64\u65f6\u4e5f\u53ea\u80fd curl \u3002\u60f3\u4e86\u4e00\u4e2a\u65b9\u6848\uff0c\u6bcf\u5f00\u4e00\u4e2a\u670d\u52a1\uff0c\u5c31\u5bf9\u5916\u5f00\u653e\u8fd9\u4e2a\u7aef\u53e3\u7684 ingress \uff0c\u4f46\u64cd\u4f5c\u8d77\u6765\u592a\u9ebb\u70e6\u4e86\u3002\u6211\u60f3\u76f4\u63a5\u901a\u8fc7\u4e00\u4e2a\u5185\u90e8\u670d\u52a1\uff0c\u8fd9\u4e2a pod \u5bf9\u5916\u5f00\u653e\u4e00\u4e2a\u9875\u9762\uff0c\u7136\u540e\u6211\u5728\u8fd9\u4e2a\u9875\u9762\u91cc\u9762\u8f93\u5165\u4e00\u4e2a\u5185\u90e8 cluster \u7684 ip \u6216\u8005\u5185\u90e8\u57df\u540d\uff0c\u5c31\u53ef\u4ee5\u8bbf\u95ee k8s \u5185\u90e8\u7684\u6240\u6709\u670d\u52a1.\u6709\u7c7b\u4f3c\u7684\u5b9e\u73b0\u65b9\u6848\u5417\uff1f</p>\n", 
      "date_published": "2025-09-19T03:14:47+00:00", 
      "title": "\u6709\u6ca1\u6709\u529e\u6cd5\u5b9e\u73b0\u4e00\u4e2a\u5bf9\u5916\u670d\u52a1\u5c31\u53ef\u4ee5\u8bbf\u95ee k8s \u96c6\u7fa4\u5185\u7684\u6240\u6709\u670d\u52a1\uff1f", 
      "id": "https://www.v2ex.com/t/1160438"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/dhq", 
        "name": "dhq", 
        "avatar": "https://cdn.v2ex.com/gravatar/b0933d91b3f6acc1cc4fb8fe172e1c1d?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1160280", 
      "title": "k8s ingress \u8f6c\u53d1\u4f1a\u628a encode \u540e\u7684 uri \u8fd8\u539f\u6210\u8f6c\u4e49\u524d\u7684\u5b57\u7b26\u4e32", 
      "id": "https://www.v2ex.com/t/1160280", 
      "date_published": "2025-09-18T09:30:46+00:00", 
      "content_html": "<p>\u6211\u6709\u4e00\u4e2a ingress \u8f6c\u53d1\u7684\u914d\u7f6e\uff0c\u5c31\u662f\u628a\u5339\u914d/dhq \u524d\u7f00\u7684\u8bf7\u6c42\uff0c\u8f6c\u53d1\u5230\u540e\u7aef\u670d\u52a1\uff0c\n\u8bbf\u95ee /dhq/api/v1/%40aa</p>\n<p>ingress \u8f6c\u53d1\u65f6\u4f1a\u76f4\u63a5 \u628a\u5b83\u8fd8\u539f\u6210  /api/v1/@aa</p>\n<p>\u4f46\u6211\u5c31\u662f\u4e0d\u60f3\u7ed9\u4ed6\u8fd8\u539f\uff0c\u5927\u4f6c\u4eec\uff0c\u6709\u5565\u7ecf\u9a8c\u5efa\u8bae\u4e48\uff0c\u76ee\u524d\u8bd5\u4e86\u51e0\u4e2a ai \u7ed9\u7684\u7b54\u6848\u90fd\u4e0d\u594f\u6548</p>\n<pre><code>apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n  annotations:\n    nginx.ingress.kubernetes.io/proxy-body-size: 200m\n    nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: \"60\"\n    nginx.ingress.kubernetes.io/proxy-read-timeout: \"360\"\n    nginx.ingress.kubernetes.io/rewrite-target: /$2\n    nginx.ingress.kubernetes.io/configuration-snippet: |\n      proxy_set_header Accept-Encoding \"\";\n      proxy_set_header X-Real-IP $remote_addr;\n      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n      proxy_set_header X-Forwarded-Proto $scheme;\n    nginx.ingress.kubernetes.io/use-regex: \"true\"\n    nginx.ingress.kubernetes.io/ssl-redirect: \"false\"\n    nginx.ingress.kubernetes.io/enable-rewrite-log: \"true\"\n  name: dhq-ingress\n  namespace: monitor\nspec:\n  ingressClassName: idataexplorer\n  rules:\n  - http:\n      paths:\n      - backend:\n          service:\n            name: dhq-service\n            port:\n              number: 80\n        path: /dhq(/|$)(.*)\n        pathType: ImplementationSpecific\n</code></pre>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/fitme", 
        "name": "fitme", 
        "avatar": "https://cdn.v2ex.com/avatar/a5eb/968c/583955_large.png?m=1755681700"
      }, 
      "url": "https://www.v2ex.com/t/1158514", 
      "title": "k8s \u4e0b nfs-provisioner \u8fc1\u79fb", 
      "id": "https://www.v2ex.com/t/1158514", 
      "date_published": "2025-09-11T03:58:35+00:00", 
      "content_html": "<p>\u8bf7\u6559\u5404\u4f4d\u5927\u4f6c\uff0c \u6211\u5728\u672c\u5730\u73af\u5883\u6709\u4e00\u4e2a k8s \u96c6\u7fa4\uff0c\u9700\u8981\u66f4\u6362 nfs-server \uff0c\u5982\u4f55\u5b8c\u6210 pv/pvc \u8fc1\u79fb\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zerphyr", 
        "name": "zerphyr", 
        "avatar": "https://cdn.v2ex.com/gravatar/f02a09d3b37470c36430b6faabc4d080?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1156365", 
      "title": "K8S \u4e2d\u7684 POD\uff0c\u5982\u4f55\u5b89\u5168\u7684\u6267\u884c docker build\uff1f", 
      "id": "https://www.v2ex.com/t/1156365", 
      "date_published": "2025-09-01T09:25:55+00:00", 
      "content_html": "<h3>\u95ee\u9898</h3>\n<p>\u670d\u52a1\u8fd0\u884c\u73af\u5883\u662f k8s \uff0c\u5982\u679c\u8981\u6267\u884c docker \u547d\u4ee4\uff0c\u4e3b\u8981\u662f\u5b89\u5168\u95ee\u9898\uff0c\u5982\u4f55\u907f\u514d\u5bb9\u5668\u9003\u9038\uff1f</p>\n<h3>AI \u63d0\u4f9b\u4e86\u4e24\u79cd\u89e3\u51b3\u65b9\u6848</h3>\n<ol>\n<li>\u6302\u8f7d\u4e3b\u673a sock \u4f7f\u7528 dind \u6267\u884c docker \u547d\u4ee4</li>\n<li>\u4f7f\u7528 buildx/buildkit \uff0c\u7ef4\u62a4\u4e00\u4e2a\u4e13\u95e8\u6267\u884c docker \u547d\u4ee4\u7684\u96c6\u7fa4\u63d0\u4f9b docker \u80fd\u529b</li>\n</ol>\n<h3>\u60f3\u95ee\u4e0b\u5927\u5bb6\u6709\u6ca1\u6709\u9047\u5230\u7c7b\u4f3c\u7684\u95ee\u9898\uff0c\u5982\u4f55\u89e3\u51b3\u7684\uff1f</h3>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hwdq0012", 
        "name": "hwdq0012", 
        "avatar": "https://cdn.v2ex.com/gravatar/c08b1e13beb2581c7464f4e5817fbb92?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1154130", 
      "title": "k8s \u7684\u4e00\u4e9b\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/1154130", 
      "date_published": "2025-08-22T01:36:41+00:00", 
      "content_html": "<p>2020 \u5e74\u5de6\u53f3 .net core webapp \u662f\u53ef\u4ee5\u5f88\u7b80\u5355\u7684\u5728 ide \u91cc\u751f\u6210 helm \u90e8\u7f72\u5230 k8s \u96c6\u7fa4\u7684<br/>\n\u4f46\u597d\u50cf\u5f53\u65f6 go opreator \u793e\u533a\u6bd4\u8f83\u6d3b\u8dc3<br/>\n\u540e\u6765\u627e\u4e86\u4e00\u6bb5 devops \uff0c\u8de8\u5ea6\u592a\u5927\uff0c\u611f\u89c9\u65e0\u671b\u540e\u4e5f\u5c31\u6ca1\u600e\u4e48\u5173\u6ce8 kubernetes \u4e86  </p>\n<p>\u6700\u8fd1\u5b9e\u8df5\u4e86 react native + c++ \u7684\u8de8\u5e73\u53f0\u7f16\u7a0b<br/>\n\u5199\u4e86\u4e00\u4e2a ios \u548c android \u4e0a\u7684\u626b\u96f7\u6e38\u620f\uff0cwin/mac/embeded linux/ios/android \u90fd\u5165\u95e8\u4e86<br/>\n\u5c31\u5dee\u9e3f\u8499\u4e86 \uff0c\u53c8\u6709\u70b9\u300a\u8bc6\u76c8\u865a\u4e4b\u6709\u6570\u300b\u7684\u611f\u89c9<br/>\n\u60f3\u518d\u642d\u4e2a Kubernetes \u9ad8\u53ef\u7528\u96c6\u7fa4 \u73a9\u4e00\u73a9\uff0c\u770b\u80fd\u4e0d\u80fd\u505a\u4e2a\u804a\u5929\u8f6f\u4ef6  </p>\n<p>\u521a\u624d\u770b\u6709\u4eba\u5728\u5176\u4ed6\u5e16\u5b50\u7684\u8bc4\u8bba\u533a\u8bb2\u63d0\u5230 helm<br/>\n\u601d\u7ef4\u53d1\u6563\u4e86\u4e00\u4e0b\uff0c \u60f3\u770b\u770b\u6709\u6ca1\u6709\u5fc5\u8981\u5b66\u4e00\u5b66 go,  \u6bd5\u7adf operator \u662f go \u6a21\u677f  </p>\n<p>c++/rust/go \u90fd\u80fd\u5f00\u53d1\u9ad8\u5e76\u53d1\u670d\u52a1\uff0c\u5404\u6709\u957f\u77ed\uff0c\u524d\u8005\u6709\u57fa\u7840\uff0c\u540e\u9762\u4e24 0 \u57fa\u7840\uff0c\u4f55\u5f53\u53d6\u820d\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/COW", 
        "name": "COW", 
        "avatar": "https://cdn.v2ex.com/avatar/14d4/90b6/472231_large.png?m=1758256641"
      }, 
      "url": "https://www.v2ex.com/t/1151247", 
      "title": "\u6709\u4eba\u7528\u8fc7 victoria metrics stack \u5417\uff1f", 
      "id": "https://www.v2ex.com/t/1151247", 
      "date_published": "2025-08-09T10:37:41+00:00", 
      "content_html": "<p>\u4e00\u76f4\u7528\u7684\u662f\u4f20\u7edf\u7684 prometheus stack \uff0c\u6709\u70b9\u91cd\uff0c\u6700\u8fd1\u60f3\u8c03\u7814\u4e0b\u6210\u672c\u66f4\u4f4e\u7684\u65b9\u6848\uff0c\u76ee\u524d\u8fd8\u4e0d\u77e5\u9053\u8fc1\u79fb\u96be\u5ea6\u5927\u4e0d\u5927\uff0c\u6709\u6ca1\u6709\u5927\u4f6c\u5206\u4eab\u70b9\u7ecf\u9a8c\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/linxuan716", 
        "name": "linxuan716", 
        "avatar": "https://cdn.v2ex.com/gravatar/22bc71cc30e15cc3954c0c725d63b20b?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1149491", 
      "title": "django \u5e94\u7528\u91cc\u9762\u7684\u811a\u672c\u600e\u4e48\u5728 k8s \u5e73\u53f0\u542f\u52a8\u66f4\u5408\u9002\uff1f", 
      "id": "https://www.v2ex.com/t/1149491", 
      "date_published": "2025-08-02T09:17:44+00:00", 
      "content_html": "<p>\u8fd9\u4e9b\u811a\u672c\u4f9d\u8d56\u4e8e django \u73af\u5883\uff0c\u5927\u6982\u6709 3 \u7c7b\n1 \u3001\u5076\u5c14\u9700\u8981\u6267\u884c\u4e00\u6b21\u7684\u811a\u672c\n2 \u3001\u5b9a\u65f6\u6267\u884c\u7684\u811a\u672c\n3 \u3001\u76d1\u542c redis \u6307\u5b9a\u952e\u7684\u811a\u672c\n\u8fd9\u4e09\u7c7b\u811a\u672c\u52a0\u5728\u4e00\u5757\u5927\u6982\u6709 100 \u591a\u4e2a\uff0c\u5982\u679c\u6bcf\u4e2a\u811a\u672c\u90fd\u6253\u6210\u4e00\u4e2a\u955c\u50cf\uff0c\u89c9\u5f97\u592a\u91cd\uff0c\u53ea\u662f\u955c\u50cf\u6587\u4ef6\u5c31\u8981\u5360\u7528\u5f88\u591a\u7684\u5b58\u50a8\u7a7a\u95f4\uff0c\u6709\u6ca1\u6709\u66f4\u52a0\u5408\u9002\u7684\u65b9\u5f0f\uff1f\u5927\u5bb6\u7ed9\u63d0\u4f9b\u4e0b</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/deloved", 
        "name": "deloved", 
        "avatar": "https://cdn.v2ex.com/avatar/e08a/9fdc/261688_large.png?m=1762912740"
      }, 
      "url": "https://www.v2ex.com/t/1149242", 
      "title": "kubesphere \u76f4\u63a5\u95ed\u6e90\u4e0b\u7ebf \u600e\u4e48\u770b\uff1f", 
      "id": "https://www.v2ex.com/t/1149242", 
      "date_published": "2025-08-01T03:33:30+00:00", 
      "content_html": "<p><a href=\"https://github.com/kubesphere/kubesphere/issues/6550\" rel=\"nofollow\">https://github.com/kubesphere/kubesphere/issues/6550</a>\n\u4e4b\u524d\u5728\u5bf9 k8s \u96c6\u7fa4\u7ba1\u63a7\u4e0a\u8fd8\u5bf9\u5b83\u505a\u8fc7\u9009\u578b\uff0c\u53ea\u80fd\u8bf4\u8fd8\u597d\u6ca1\u9009\u5b83\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u6709\u80f8\u5f1f\u5728\u7528\u7684\u4e48\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/cxhello", 
        "name": "cxhello", 
        "avatar": "https://cdn.v2ex.com/avatar/a0f8/5a7f/651579_large.png?m=1769489720"
      }, 
      "url": "https://www.v2ex.com/t/1149182", 
      "title": "IDEA \u672c\u5730\u8c03\u8bd5 Spring Cloud \u9879\u76ee\uff0c\u5982\u4f55\u8c03\u7528 k8s \u96c6\u7fa4\u91cc\u7684 svc ip", 
      "id": "https://www.v2ex.com/t/1149182", 
      "date_published": "2025-08-01T01:55:13+00:00", 
      "content_html": "<ol>\n<li>Telepresence</li>\n<li>KT-Connect</li>\n</ol>\n<p>\u573a\u666f\uff1a\u672c\u5730 A \u670d\u52a1\u8c03\u7528 k8s \u96c6\u7fa4\u4e0a\u7684 B \u670d\u52a1</p>\n<p>\u6211\u4eec\u6d4b\u8bd5\u73af\u5883\u662f\u4e00\u4e2a k8s \u96c6\u7fa4\uff0c\u7136\u540e\u76ee\u524d\u91c7\u7528\u7684 KT-Connect \u7684\u65b9\u6848\u3002\u60f3\u7528 Telepresence \u4f46\u662f\u9700\u8981 namespaces \u7684\u6743\u9650\uff0c\u6211\u4eec\u8fd0\u7ef4\u53ea\u7ed9\u5f00\u5230 deployment \u8fd9\u4e00\u5c42\u6743\u9650\u3002\u770b\u770b V \u53cb\u4eec\u4e00\u822c\u90fd\u7528\u7684\u4ec0\u4e48\u65b9\u6848\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/i4t", 
        "name": "i4t", 
        "avatar": "https://cdn.v2ex.com/avatar/f8bd/b0ad/540731_large.png?m=1718849082"
      }, 
      "url": "https://www.v2ex.com/t/1147786", 
      "title": "\u6709\u6ca1\u6709 k8s + ingress +frp \u8fd9\u79cd\u65b9\u6848", 
      "id": "https://www.v2ex.com/t/1147786", 
      "date_published": "2025-07-25T16:44:59+00:00", 
      "content_html": "<p>\u573a\u666f: QQ \u4e91\u6709\u4e00\u53f0\u670d\u52a1\u5668\uff0c\u76ee\u524d\u56de\u5bb6\u8bbf\u95ee\u5bb9\u5668\u5185\u7684\u65b9\u6848\u4e3a nginx --&gt;frps --&gt;frpc --&gt;nodeport --&gt;svc --&gt;pod\n\u76ee\u524d\u5b58\u5728\u7f3a\u70b9:</p>\n<p>\u6bcf\u6b21\u90fd\u8981\u624b\u52a8\u4fee\u6539 svc \u66b4\u9732\n\u6bcf\u6b21\u90fd\u9700\u8981\u624b\u52a8\u65b0\u589e frpc \u914d\u7f6e\u6587\u4ef6\n\u6bcf\u6b21\u90fd\u9700\u8981\u624b\u52a8\u6dfb\u52a0\u516c\u7f51 Nginx</p>\n<p>\u60f3\u6cd5\nFRPS\u2013&gt; FRPC \u2192 Ingress \u2192 svc \u2192 Pod</p>\n<p>\u6211\u5728\u60f3\u80fd\u5426\u901a\u8fc7\u521b\u5efa Ingress \u81ea\u52a8 watch \u914d\u7f6e\u6587\u4ef6\u7136\u540e\u91cd\u5199\u7ed9 frpc \u81ea\u52a8\u91cd\u542f\u670d\u52a1\uff0c\u5916\u7f51\u8bbf\u95ee\u7ed1\u5b9a</p>\n<p>\u8fd9\u79cd\u65b9\u6848\u6709\u5927\u4f6c\u8003\u8651\u5b9e\u73b0\u5417\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/COW", 
        "name": "COW", 
        "avatar": "https://cdn.v2ex.com/avatar/14d4/90b6/472231_large.png?m=1758256641"
      }, 
      "url": "https://www.v2ex.com/t/1147439", 
      "title": "Gitops \u4e2d\u6d89\u53ca\u654f\u611f\u4fe1\u606f\u63a8\u8350\u7528\u4ec0\u4e48\u5de5\u5177\u5462\uff1f", 
      "id": "https://www.v2ex.com/t/1147439", 
      "date_published": "2025-07-24T09:11:24+00:00", 
      "content_html": "<p>\u76ee\u524d\u662f\u901a\u8fc7 kustomize + helm template values-{env} \u5b9e\u73b0\u7684 CD \uff0c\u6211\u6700\u5f00\u59cb\u60f3\u7684\u662f\uff0c\u76f4\u63a5\u5c06\u654f\u611f\u4fe1\u606f\u5199\u5165 helm values \u91cc\uff0c\u89e3\u5bc6\u8fd8\u662f\u5728\u96c6\u7fa4\u89e3\u5bc6\uff0c\u4f46\u8fd9\u6837\u4f3c\u4e4e\u8fdd\u53cd\u4e86\u540e\u6e32\u67d3\u7684\u539f\u5219\u3002\n\u73b0\u5728\u654f\u611f\u4fe1\u606f\u4f7f\u7528 sealed-secret \u52a0\u5bc6\uff0c\u4f46\u662f\u6211\u603b\u662f\u9700\u8981\u67e5\u770b helm chart \u4e2d\u5177\u4f53 template \u4ee3\u7801\u5b9e\u73b0\uff0c\u518d\u53bb\u62c6\u89e3\u51fa\u5177\u4f53\u8981\u5f15\u7528\u7684 Secret \u8d44\u6e90\uff0c\u6709\u6ca1\u6709\u7b80\u5355\u7684\u529e\u6cd5\u53bb\u62c6\u89e3\u5462\uff1f\u6bd4\u5982 helm values \u4e2d\u6709\u4e00\u4e2a admin.password \u654f\u611f\u4fe1\u606f\uff0c\u6211\u9700\u8981\u67e5\u770b template \u5185\u90e8\u5b9e\u73b0\uff0c\u6784\u5efa\u51fa\u7c7b\u4f3c\u4e0b\u9762\u8fd9\u79cd Secret \u3002</p>\n<pre><code class=\"language-yaml\"># Source: argo-cd/templates/argocd-configs/argocd-secret.yaml\napiVersion: v1\nkind: Secret\nmetadata:\n  name: argocd-secret\n  namespace: argocd\ntype: Opaque\ndata:\n  admin.password: 'xxx'\n  admin.passwordMtime: 'xxx'\n</code></pre>\n<p>\u4f46\u662f\uff0chelm chart \u4e2d\u901a\u5e38\u4f1a\u52a8\u6001\u6ce8\u5165\u6807\u7b7e\u3001\u6ce8\u89e3\uff0c\u5355\u72ec\u53bb\u67e5\u770b\u6807\u7b7e\u3001\u6ce8\u89e3\u7684\u5b9e\u73b0\u903b\u8f91\u53bb\u8fdb\u884c\u6784\u5efa\u611f\u89c9\u4f3c\u4e4e\u66f4\u9ebb\u70e6\u4e86\uff0c\u5982\u679c\u76f4\u63a5\u53bb\u6389\u6807\u7b7e\u3001\u6ce8\u89e3\uff0c\u5b8c\u5168\u81ea\u5df1\u751f\u6210 secret \uff0c\u4f3c\u4e4e\u53c8\u4f9d\u8d56 chart \u672c\u8eab\u7684\u8d28\u91cf\uff08\u62c5\u5fc3\u6709\u4f9d\u8d56\u5173\u7cfb\uff09\uff0c\u5404\u4f4d\u6709\u6ca1\u6709\u597d\u7684\u65b9\u6848\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/linxuan716", 
        "name": "linxuan716", 
        "avatar": "https://cdn.v2ex.com/gravatar/22bc71cc30e15cc3954c0c725d63b20b?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1147021", 
      "title": "\u4f60\u8ba4\u4e3a\u4ec0\u4e48\u89c4\u6a21\u7684\u516c\u53f8\u9002\u5408\u4f7f\u7528 k8s?", 
      "id": "https://www.v2ex.com/t/1147021", 
      "date_published": "2025-07-23T00:52:30+00:00", 
      "content_html": "<p>k8s \u8fd0\u7ef4\u5e73\u53f0\u73b0\u5728\u5df2\u7ecf\u5f88\u6d41\u884c\u4e86\uff0c\u4f46\u4e5f\u6709\u8bf4\u8ba4\u4e3a\u53ea\u6709\u5927\u516c\u53f8\u624d\u80fd\u4f7f\u7528\uff0c\u5c0f\u516c\u53f8\u4f7f\u7528\u53cd\u800c\u9ebb\u70e6\uff0c\u4f60\u8ba4\u4e3a\u5462\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zhoudaiyu", 
        "name": "zhoudaiyu", 
        "avatar": "https://cdn.v2ex.com/avatar/b75f/9ee0/163414_large.png?m=1682659533"
      }, 
      "url": "https://www.v2ex.com/t/1144673", 
      "title": "\u8bf7\u95ee\u5927\u5bb6\u6240\u5728\u516c\u53f8\u7684 k8s \u96c6\u7fa4 cni \u548c cri \u9009\u578b\u662f\u4ec0\u4e48\uff1f", 
      "id": "https://www.v2ex.com/t/1144673", 
      "date_published": "2025-07-11T15:02:30+00:00", 
      "content_html": "\u6211\u4eec\u751f\u4ea7\u96c6\u7fa4\u90fd\u662f Calico+containerd \uff0c\u56fe\u4e2a\u6210\u719f\u7a33\u5b9a\uff0c\u7528\u7684\u4eba\u591a\u3002\u4f46\u662f\u540e\u7eed\u60f3\u628a cni \u6362\u6210 kube-ovn \uff0c\u60f3\u7528\u4ed6\u7684\u591a\u96c6\u7fa4\u4e92\u901a\u3001\u56fa\u5b9a ip \u7b49\u7279\u6709\u529f\u80fd\uff0c\u5c31\u662f\u4e0d\u77e5\u9053\u7a33\u5b9a\u4e0d\u7a33\u5b9a\u3002\u4e5f\u5728\u770b cillium \uff0c\u4ed6\u4e5f\u652f\u6301\u96c6\u7fa4\u4e92\u901a\u3002\u5404\u4f4d\u7684\u516c\u53f8\u7528\u7684\u90fd\u662f\u4ec0\u4e48\u5462\uff1f\u636e\u6211\u4e86\u89e3 containerd \u57fa\u672c\u5df2\u7ecf\u662f cri \u7b2c\u4e00\u9009\u62e9\u4e86\uff0c\u4f46 cni \u5c31\u4e94\u82b1\u516b\u95e8\u4e86"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/eephee", 
        "name": "eephee", 
        "avatar": "https://cdn.v2ex.com/avatar/a967/a383/539657_large.png?m=1719558879"
      }, 
      "url": "https://www.v2ex.com/t/1144242", 
      "date_modified": "2025-07-10T05:44:46+00:00", 
      "content_html": "<p>\u540c\u4e8b\u5728\u4e00\u53f0\u7528 VmWare \u521b\u5efa\u7684\u865a\u62df\u673a\uff08<code>x86_64</code>\uff09\u4e0a\u9762\uff0c\u5b89\u88c5\u4e86 Debian 12 \uff0c\u5728\u5176\u4e0a\u5b89\u88c5\u4e86 k3s 1.28.15</p>\n<p>\u968f\u540e\u5728\u8fd9\u4e2a k3s \u4e0a\u9762\u90e8\u7f72\u4e86\u4e00\u4e9b\u670d\u52a1\u6bd4\u5982 minio, docker registry \u4e4b\u7c7b\u7684\uff0c\u90fd\u662f\u6b63\u5e38\u542f\u52a8\u8fd0\u884c\u7684\u3002\u4f46\u662f\u90e8\u7f72 milvus \u65f6\u8001\u662f\u8d77\u4e0d\u6765\uff0c\u62a5\u9519</p>\n<pre><code>/tini: error while loading shared libraries: /lib/x86_64-linux-gnu/libc.so.6: invalid ELF header milvus\n</code></pre>\n<p>\u6211\u968f\u540e\u5c1d\u8bd5\u4f7f\u7528 ctr \u521b\u5efa\u5bb9\u5668\u8fdb\u5165 shell \u73af\u5883\uff0c\u4e5f\u662f\u4e0d\u884c</p>\n<pre><code>k3s ctr run --rm -t --platform linux/amd64 docker.io/milvusdb/milvus:v2.4.5 milvus /bin/bash\n</code></pre>\n<p>\u8fd8\u662f\u4e00\u6837\u7684\u62a5\u9519\u3002</p>\n<p>\u6211\u4e00\u5f00\u59cb\u6000\u7591\u662f\u6211\u4eec\u62c9\u53d6\u7684\u955c\u50cf\u6709\u95ee\u9898\uff0c\u6000\u7591\u662f\u7528\u4e86 arm \u67b6\u6784\u7684\u955c\u50cf\uff0c\u4f46\u662f\u968f\u540e\u6211\u4f7f\u7528 <code>crictl inspeci</code> \u67e5\u770b\u4e86\u955c\u50cf\u786e\u5b9e\u662f\u662f linux/amd64 \u7684\uff0c\u53e6\u5916\u6211\u770b\u4e86\u4e0b milvus \u7684 <a href=\"https://github.com/milvus-io/milvus/blob/7f8c5c9/build/docker/milvus/ubuntu20.04/Dockerfile\" rel=\"nofollow\">Dockerfile</a> \u770b\u7740\u4e5f\u4e2d\u89c4\u4e2d\u89c4\uff0c\u76ee\u524d\u8fd8\u6ca1\u627e\u51fa\u539f\u56e0\uff0c\u4e5f\u4e0d\u77e5\u9053\u5982\u4f55\u5165\u624b\u6392\u67e5\u3002</p>\n<p>\u968f\u540e\u6211\u5728\u8fd9\u53f0\u865a\u62df\u673a\u4e0a\u9762\u5b89\u88c5\u4e86 docker \u5e76\u521b\u5efa\u5bb9\u5668\uff0c\u662f\u53ef\u4ee5\u6210\u529f\u542f\u52a8\u7684\uff0c\u770b\u8d77\u6765\u95ee\u9898\u53ef\u80fd\u5728 k3s \u7528\u7684 containerd \u8fd9\u91cc\uff0c\u4f46\u662f\u4e0d\u77e5\u9053\u8be5\u4ece\u54ea\u91cc\u6392\u67e5\u4e86\u3002</p>\n<p>\u9644\uff1a\u8be5\u865a\u62df\u673a CPU \u60c5\u51b5</p>\n<pre><code>root@debian1:~/ccdinstaller# lscpu\nArchitecture:            x86_64\n  CPU op-mode(s):        32-bit, 64-bit\n  Address sizes:         45 bits physical, 48 bits virtual\n  Byte Order:            Little Endian\nCPU(s):                  16\n  On-line CPU(s) list:   0-15\nVendor ID:               GenuineIntel\n  BIOS Vendor ID:        GenuineIntel\n  Model name:            11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz\n    BIOS Model name:     11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz  CPU @ 2.5GHz\n    BIOS CPU family:     2\n    CPU family:          6\n    Model:               167\n    Thread(s) per core:  1\n    Core(s) per socket:  16\n    Socket(s):           1\n    Stepping:            1\n    BogoMIPS:            4991.99\n    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopolo\n                         gy tsc_reliable nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hyperviso\n                         r lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt avx5\n                         12cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat avx512vbmi umip avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid md_cle\n                         ar flush_l1d arch_capabilities\nVirtualization features:\n  Hypervisor vendor:     VMware\n  Virtualization type:   full\nCaches (sum of all):\n  L1d:                   768 KiB (16 instances)\n  L1i:                   512 KiB (16 instances)\n  L2:                    8 MiB (16 instances)\n  L3:                    16 MiB (1 instance)\nNUMA:\n  NUMA node(s):          1\n  NUMA node0 CPU(s):     0-15\nVulnerabilities:\n  Gather data sampling:  Unknown: Dependent on hypervisor status\n  Itlb multihit:         Not affected\n  L1tf:                  Not affected\n  Mds:                   Not affected\n  Meltdown:              Not affected\n  Mmio stale data:       Mitigation; Clear CPU buffers; SMT Host state unknown\n  Retbleed:              Mitigation; IBRS\n  Spec rstack overflow:  Not affected\n  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl\n  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization\n  Spectre v2:            Mitigation; IBRS, IBPB conditional, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected\n  Srbds:                 Not affected\n  Tsx async abort:       Not affected\n</code></pre>\n", 
      "date_published": "2025-07-10T05:44:21+00:00", 
      "title": "\u6c42\u5927\u795e\u6307\u70b9\u5728 k3s \u4e0a\u9762\u542f\u52a8\u5bb9\u5668\u62a5\u9519 libc.so.6: invalid ELF header milvus \u5e94\u8be5\u600e\u4e48\u5165\u624b\u6392\u67e5", 
      "id": "https://www.v2ex.com/t/1144242"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Zzdex", 
        "name": "Zzdex", 
        "avatar": "https://cdn.v2ex.com/avatar/d4fb/73cf/315827_large.png?m=1715394184"
      }, 
      "url": "https://www.v2ex.com/t/1141249", 
      "title": "\u641e\u4e86\u4e00\u4e2a kubernetes dashboard", 
      "id": "https://www.v2ex.com/t/1141249", 
      "date_published": "2025-06-26T08:30:02+00:00", 
      "content_html": "<p>\u5acc\u539f\u751f\u592a\u4e11\uff0c\u5acc KubeSphere \u592a\u91cd\u3002</p>\n<p>\u4e8e\u662f\u5c31\u6709\u4e86\u8fd9\u4e2a </p>\n<p><a href=\"https://github.com/zxh326/kite\" rel=\"nofollow\">https://github.com/zxh326/kite</a></p>\n<p><img alt=\"Dashboard Overview\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://raw.githubusercontent.com/zxh326/kite/refs/heads/main/docs/screenshots/overview.png\"/></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/bli22ard", 
        "name": "bli22ard", 
        "avatar": "https://cdn.v2ex.com/gravatar/cc3f4c3d52ea7317ccbaa6710d5f8ca1?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1140891", 
      "title": "gitlab runner in k8s \u6784\u5efa\u955c\u50cf\u7684\u6700\u4f73\u5b9e\u6218\u662f\u4ec0\u4e48", 
      "id": "https://www.v2ex.com/t/1140891", 
      "date_published": "2025-06-25T04:02:00+00:00", 
      "content_html": "<p>\u6211\u4f7f\u7528 gitlab runner in k8s</p>\n<h1>kaniko</h1>\n<p>\u4e00\u76f4\u7528\u8fd9\u4e2a\uff0c\u4e0d\u8fc7\u6700\u8fd1\u53d1\u73b0\u548c gitlab runner \u65b0\u7248\u672c\u517c\u5bb9\u6709\u95ee\u9898\uff0c\u51fa\u73b0 </p>\n<pre><code>kaniko should only be run inside of a container, run with the --force flag if you are sure you want to continue\n</code></pre>\n<p>\u7136\u540e\u53d1\u73b0 kaniko \u5df2\u7ecf\u4e0d\u7ef4\u62a4\u4e86\u3002</p>\n<h1>docker in docker</h1>\n<p>\u8fd9\u4e2a\u5fc5\u987b\u8981\u5f00\u542f\u7279\u6743\u6a21\u5f0f\u5bb9\u5668\uff0c\u9700\u8981\u542f\u52a8\u5b88\u62a4\u8fdb\u7a0b</p>\n<h1>\u53e6\u5916</h1>\n<p>buildah \u3001podman \u6ca1\u6d4b\u8bd5\uff0c \u4e0d\u77e5\u9053\u662f\u5426\u9002\u5408 CI \u573a\u666f\u4f7f\u7528\u3002</p>\n<h1>\u95ee\u9898</h1>\n<p>\u54ea\u4e2a\u5728 gitlab runner in k8s \u597d\u7528</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/xyzlucky", 
        "name": "xyzlucky", 
        "avatar": "https://cdn.v2ex.com/gravatar/f335cb421152a3f0fecf817bb1b5a8dc?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1139196", 
      "date_modified": "2025-06-17T08:12:49+00:00", 
      "content_html": "<p>\u5728\u4e91\u8ba1\u7b97\u884c\u4e1a\u505a\u4ea7\u54c1\uff0c\u76ee\u524d\u5728\u63a2\u7d22\u65b0\u65b9\u5411\uff0c\u5bf9\u5bb9\u5668\u548c k8s \u6bd4\u8f83\u6709\u5174\u8da3\uff0c\u81ea\u5df1\u8ddf\u7740\u4e00\u4e9b\u6559\u7a0b\u3001\u4e66\u7c4d\u8fdb\u884c\u4e86\u6bd4\u8f83\u57fa\u7840\u7684\u5b9e\u8df5\uff0c\u81ea\u5df1\u642d\u4e86\u4e00\u5957\u6bd4\u8f83\u5c0f\u7684\u96c6\u7fa4\uff0c\u4f46\u662f\u73b0\u5728\u6211\u6ca1\u6709\u66f4\u591a\u53ef\u4ee5\u4f7f\u7528\u7684\u573a\u666f\uff0c\u6240\u4ee5\u603b\u611f\u89c9\u8fd8\u6709\u5f88\u5927\u5f88\u5927\u7684\u504f\u5dee\uff0c\u548c\u7406\u89e3\u4e0a\u7684\u80a4\u6d45\u3002</p>\n<p>\u771f\u8bda\u8bf7\u6559\uff0c\u6211\u5e94\u8be5\u6709\u4ec0\u4e48\u66f4\u597d\u7684\u65b9\u5f0f\u53ef\u4ee5\u6df1\u5165\u4e00\u4e9b\u4e9b\u4e86\u89e3\u3001\u5b66\u4e60 k8s \u76f8\u5173\u3002\u4f8b\u5982\u53ef\u4ee5\u7528\u6765\u63a2\u7d22\u7684\u573a\u666f\u6216\u8005\u8bf8\u5982\u6b64\u7c7b\u7684\u3002</p>\n", 
      "date_published": "2025-06-17T08:09:47+00:00", 
      "title": "\u8ba4\u771f\u8bf7\u6559\u6709\u4ec0\u4e48\u597d\u7684\u65b9\u5f0f\u53ef\u4ee5\u6df1\u5165\u4e86\u89e3\u5b66\u4e60 k8s", 
      "id": "https://www.v2ex.com/t/1139196"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Vraw5", 
        "name": "Vraw5", 
        "avatar": "https://cdn.v2ex.com/gravatar/30365489c43a99273063d13056bd340a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1139075", 
      "title": "\u5404\u4f4d\u662f\u5982\u4f55\u5728 k8s \u4e2d\u505a\u955c\u50cf\u6784\u5efa\u7684\uff1f", 
      "id": "https://www.v2ex.com/t/1139075", 
      "date_published": "2025-06-17T02:21:27+00:00", 
      "content_html": "\u96c6\u7fa4\u91cc\u6709\u4e24\u53f0\u673a\u5668\u7528\u4f5c jenkins kubernetes agent \u505a CICD \uff0c\u4ee5\u524d k8s \u5728 1.24 \u4ee5\u4e0b\u65f6\u4e3b\u673a\u4f7f\u7528 docker engine \uff0c\u6211\u53ef\u4ee5\u901a\u8fc7\u6302\u8f7d docker.sock \u76f4\u63a5\u4f7f\u7528\u4e3b\u673a\u7684 docker \u505a\u955c\u50cf\uff0c\u540e\u6765 k8s \u5347\u7ea7\u540e\u4f7f\u7528 kaniko \u6784\u5efa\u955c\u50cf\uff0c\u6628\u5929\u770b kaniko \u7684 github \u5df2\u7ecf\u5728\u4e24\u5468\u524d\u5f52\u6863\u4e86\uff0c\u60f3\u6362\u6389\u5b83\uff0c\u6709\u6ca1\u6709 kaniko \u7684\u66ff\u4ee3\u54c1\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ryan4yin", 
        "name": "ryan4yin", 
        "avatar": "https://cdn.v2ex.com/gravatar/2362ce7bdf2845a92240cc2f6609e001?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1138853", 
      "title": "KubeCon China 2025 \u89c1\u95fb", 
      "id": "https://www.v2ex.com/t/1138853", 
      "date_published": "2025-06-16T05:13:39+00:00", 
      "content_html": "<p>\u65b0\u9c9c\u51fa\u7089\u7684 KubeCon China 2025 \u89c1\u95fb\uff0c\u7f57\u5217\u4e86\u4e00\u4e9b\u6211\u89c9\u5f97\u4e0d\u9519\u7684 Talks \u5e76\u9644\u4e0a\u51e0\u53e5\u4e2a\u4eba\u611f\u60f3\uff0c\u6b22\u8fce\u8bc4\u8bba\u533a\u4ea4\u6d41\uff5e</p>\n<p><a href=\"https://thiscute.world/posts/kubecon-china-2025/\" rel=\"nofollow\">https://thiscute.world/posts/kubecon-china-2025/</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/sxszzhrrt", 
        "name": "sxszzhrrt", 
        "avatar": "https://cdn.v2ex.com/gravatar/23b764920ac763862cdf62a69d6e94cd?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1138496", 
      "title": "\u5355\u673a\u80fd\u4e0d\u80fd\u7528\u6765\u5b66\u4e60 K8S", 
      "id": "https://www.v2ex.com/t/1138496", 
      "date_published": "2025-06-13T13:42:26+00:00", 
      "content_html": "RT \uff0c\u4e2a\u4eba\u5355\u673a\u80fd\u4e0d\u80fd\u7528\u6765\u5b66\u4e60 K8S \uff0c\u4e00\u5b9a\u8981\u591a\u53f0\u670d\u52a1\u5668\u6784\u4ef6\u673a\u7fa4\u5417\uff1f\u60f3\u4ece\u5c1d\u8bd5\u73a9\u73a9 SealOS \u5f00\u59cb\uff0c\u4e0d\u77e5\u9053\u5355\u673a\u80fd\u4e0d\u80fd\u7528\uff1f"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/cxhello", 
        "name": "cxhello", 
        "avatar": "https://cdn.v2ex.com/avatar/a0f8/5a7f/651579_large.png?m=1769489720"
      }, 
      "url": "https://www.v2ex.com/t/1138350", 
      "title": "k8s \u4f7f\u7528\u8c03\u7814", 
      "id": "https://www.v2ex.com/t/1138350", 
      "date_published": "2025-06-13T03:18:26+00:00", 
      "content_html": "<p>\u5404\u4f4d V \u53cb\u4eec\uff0c\u4f60\u4eec\u73b0\u5728\u516c\u53f8\u6216\u8005\u4e2a\u4eba\u90fd\u5728\u7528\u54ea\u4e9b\u4e91\u5382\u5546\u7684 k8s \u670d\u52a1\uff0c\u8fd8\u662f\u81ea\u5efa\uff1f</p>\n<ul>\n<li>\u963f\u91cc\u4e91 ACK SAE</li>\n<li>\u817e\u8baf\u4e91 TKE</li>\n<li>AWS EKS</li>\n<li>\u534e\u4e3a\u4e91 CCE</li>\n</ul>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/xueyuehua", 
        "name": "xueyuehua", 
        "avatar": "https://cdn.v2ex.com/avatar/7a7e/fad5/370211_large.png?m=1752723593"
      }, 
      "url": "https://www.v2ex.com/t/1134239", 
      "title": "\u8bf7\u95ee\u73b0\u5728\u5927\u4f6c\u4eec\u516c\u53f8\u90fd\u662f\u7528\u7684\u4ec0\u4e48 k8s \u53ef\u89c6\u5316\u5de5\u5177", 
      "id": "https://www.v2ex.com/t/1134239", 
      "date_published": "2025-05-25T16:47:47+00:00", 
      "content_html": "<p>\u6700\u8fd1\u53c8\u5f00\u59cb\u5b66 k8s \u4e86\uff0c\u8fd8\u662f\u770b\u7684\u5c1a\u7845\u8c37\u7684\uff0c\u89c6\u9891\u6709\u70b9\u65e7\uff0c\u597d\u50cf\u4e3b\u63a8 KubeSphere \uff1b</p>\n<p>\u5176\u5b9e\u4e0a\u5bb6\u516c\u53f8\u4e5f\u6709\u7528\u5230 k8s \uff0c\u7528\u7684\u5b98\u65b9\u7684 dashboard \uff0c\u4e0d\u77e5\u9053\u73b0\u5728\u4e3b\u6d41\u7684\u7528\u54ea\u4e2a\u591a\u70b9\uff1b</p>\n<p>\u8fd8\u6709\u5982\u679c\u60f3\u5b8c\u6574\u6253\u901a dev-ops \uff0c\u53c8\u5e94\u8be5\u7528\u90a3\u4e00\u5957\u6bd4\u8f83\u597d\uff0c\u5404\u6d41\u7a0b\u5206\u522b\u7528\u4ec0\u4e48\u6bd4\u8f83\u8212\u670d\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/samzong", 
        "name": "samzong", 
        "avatar": "https://cdn.v2ex.com/avatar/e710/a166/234316_large.png?m=1763995836"
      }, 
      "url": "https://www.v2ex.com/t/1134227", 
      "date_modified": "2025-05-25T14:45:10+00:00", 
      "content_html": "<p>\u5bf9\u4e8e\u7ec8\u7aef\u515a\u662f\u53cb\u597d\u7684\uff0c\u5f53 SSH \u4e3b\u673a\u548c K8s \u7684 kubeconfig \u592a\u591a\u4e4b\u540e\uff0c\u5728\u901a\u8fc7\u6587\u672c\u7f16\u8f91\u7684\u65b9\u5f0f\u4e0d\u662f\u5f88\u65b9\u4fbf\u3002\n\u7279\u522b\u662f kubeconfig \u8fd8\u4f1a\u6709\u5408\u5e76\u51fa\u9519\u7684\u98ce\u9669\u3002</p>\n<p>\u6240\u4ee5\u5f04\u4e86\u4e00\u4e2a ConfigForge \uff0c\u4e3b\u8981\u529f\u80fd\u5c31\u662f\u63d0\u4f9b\u754c\u9762\u5316\u914d\u7f6e\u7ba1\u7406\uff0c\u652f\u6301\u4e00\u4e9b\u5907\u4efd\u7684\u529f\u80fd\uff0c\u964d\u4f4e\u51fa\u9519\u3002</p>\n<p>\u4e5f\u4f53\u9a8c\u4e86\u4e0b   Vibe Coding \u7684\u4e50\u8da3\u3002</p>\n<p><a href=\"https://github.com/samzong/ConfigForge\" rel=\"nofollow\">https://github.com/samzong/ConfigForge</a></p>\n<p>\u7136\u540e\u6709\u4e00\u4e2a cf \u7684\u547d\u4ee4\uff0c\u53ef\u4ee5\u5feb\u901f\u7684\u67e5\u770b ssh \u4e3b\u673a\uff0c\u548c kubeconfig \uff0c\u652f\u6301\u5feb\u901f\u8fde\u63a5\u548c\u5207\u6362\u3002</p>\n<pre><code class=\"language-bash\">(base) x in ~ \u03bb cf k l\nAvailable Kubernetes configurations:\n* 1. card4090-1year-kubeconfig.yaml (active)\n  2. new-config-5-16-25,_13-18.yaml\n\nUse 'cf k set &lt;number&gt;' or 'cf k set &lt;filename&gt;' to switch configuration\nUse 'cf k current' to show current active configuration\n(base) x in ~ \u03bb cf k set 2\nSelected configuration 2: new-config-5-16-25,_13-18.yaml\nSuccessfully switched active Kubernetes configuration to 'new-config-5-16-25,_13-18.yaml'\n(base) x in ~ \u03bb cf l\nAvailable SSH hosts:\n  1. *\n  2. blog\n  3. sf\n  4. 45.70\n  5. 10.6.14.200\n  6. dev-156\n  7. dev-157\n  8. dev-155\n\nUse 'cf c &lt;number&gt;' or 'cf c &lt;hostname&gt;' to connect\nUse 'cf s &lt;number&gt;' or 'cf s &lt;hostname&gt;' to show details\n(base) x in ~ \u03bb cf c 2\nConnecting to 2. blog...\nLast login: Sun May 25 22:42:40 2025 from 121.233.138.88\n\nWelcome to Alibaba Cloud Elastic Compute Service !\n\n\u279c  ~\n</code></pre>\n", 
      "date_published": "2025-05-25T14:44:18+00:00", 
      "title": "[\u5f00\u6e90\u81ea\u8350] \u641e\u4e86\u4e00\u4e2a SSH \u548c K8s \u8fde\u63a5\u4fe1\u606f\u7684\u7ba1\u7406\u5c0f\u5de5\u5177\uff08\u4ec5\u9650 Mac\uff09", 
      "id": "https://www.v2ex.com/t/1134227"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/cillian", 
        "name": "cillian", 
        "avatar": "https://cdn.v2ex.com/avatar/a56a/c42e/648543_large.png?m=1747392873"
      }, 
      "url": "https://www.v2ex.com/t/1132301", 
      "date_modified": "2025-05-16T11:00:24+00:00", 
      "content_html": "<p>\u54c8\u55bd\uff0cV2EX \u7684\u5c0f\u4f19\u4f34\u4eec\uff01</p>\n<p>\u6700\u8fd1\u6211\u5f00\u6e90\u4e86\u4e00\u4e2a\u65b0\u9879\u76ee\u2014\u2014CILIKUBE \uff0c\u4e00\u4e2a\u4e13\u4e3a\u65b0\u624b\u8bbe\u8ba1\u7684 Kubernetes \u8d44\u6e90\u7ba1\u7406\u5e73\u53f0\uff01\u5b83\u662f\u7528 <strong>Vue3 + TypeScript + Go (Gin)</strong> \u6253\u9020\uff0c\u76ee\u6807\u662f\u201c\u5c0f\u800c\u7f8e\u201d\uff0c\u8ba9 K8s \u7ba1\u7406\u66f4\u7b80\u5355\uff0c\u4ee3\u7801\u5b66\u4e60\u66f4\u53cb\u597d\uff01 \u4e00\u5468\u5185\u5df2\u7ecf\u6536\u5230\u4e0d\u5c11 SRE \u3001\u4e91\u539f\u751f\u7231\u597d\u8005\u548c\u5168\u6808\u5f00\u53d1\u8005\u7684\u53cd\u9988\uff0c\u4eca\u5929\u60f3\u9080\u8bf7 V2EX \u7684\u5927\u5bb6\u6765\u4f53\u9a8c\u3001\u5410\u69fd\u548c\u8d21\u732e\uff01</p>\n<p><strong>CILIKUBE \u662f\u4ec0\u4e48</strong>\nCILIKUBE \u662f\u4e00\u4e2a\u5f00\u6e90\u7684 K8s \u8d44\u6e90\u7ba1\u7406\u5e73\u53f0\uff0c\u6838\u5fc3\u7279\u70b9\uff1a\n\u7b80\u5355\u76f4\u89c2\uff1a\u4f18\u96c5\u7684 UI \uff0c\u8f7b\u677e\u7ba1\u7406 K8s \u8d44\u6e90\uff08\u589e\u5220\u6539\u67e5\uff09</p>\n<p>\u5b66\u4e60\u53cb\u597d\uff1a\u4ee3\u7801\u6e05\u6670\uff0c\u57fa\u4e8e Vue3 \u548c Go \uff0c\u9002\u5408\u5b66\u4e60\u5168\u6808\u5f00\u53d1\u6216 K8s \u4e8c\u6b21\u5f00\u53d1</p>\n<p>\u6613\u4e8e\u6269\u5c55\uff1a\u652f\u6301\u81ea\u5b9a\u4e49\u529f\u80fd\uff0c\u6ee1\u8db3\u4f60\u7684\u4e2a\u6027\u5316\u9700\u6c42</p>\n<p><strong>\u4e3a\u4ec0\u4e48\u505a\u8fd9\u4e2a\uff1f</strong>\nCILIKUBE \u6e90\u4e8e\u6211\u5b66\u4e60 Vue3 \u3001Go \u548c K8s \u7684\u5b9e\u8df5\uff0c\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u5f97\u5230\u4e86\u793e\u533a\u5c0f\u4f19\u4f34\u7684\u5e2e\u52a9\uff0c\u8fd9\u4e0d\u5c31\u60f3\u7740\u6253\u9020\u4e00\u4e2a\u201c\u65b0\u624b\u53cb\u597d\u201d\u7684\u5f00\u6e90\u9879\u76ee\u3002</p>\n<p><strong>\u9879\u76ee\u5730\u5740</strong></p>\n<p>\u540e\u7aef\uff1a<a href=\"http://github.com/ciliverse/cilikube\" rel=\"nofollow\">github.com/ciliverse/cilikube</a></p>\n<p>\u524d\u7aef\uff1a<a href=\"http://github.com/cilliantech/cilikube-web\" rel=\"nofollow\">github.com/cilliantech/cilikube-web</a></p>\n<p>\u6587\u6863\uff1acilikube.cillian.website</p>\n<p><strong>\u60f3\u542c\u542c V2EX \u5927\u4f6c\u7684\u610f\u89c1\uff01</strong></p>\n<p>\u5bf9\u5c0f\u767d\u5f00\u53d1 K8s \u7ba1\u7406\u5de5\u5177\u6709\u4ec0\u4e48\u671f\u5f85\uff1f</p>\n<p>\u6b22\u8fce\u4f53\u9a8c CILIKUBE \uff0c\u70b9\u4e2a Star \uff0c\u4e00\u8d77\u6253\u9020\u4e00\u4e2a\u65b0\u624b\u53cb\u597d\u7684 K8s \u7ba1\u7406\u5de5\u5177\uff01\u671f\u5f85\u5927\u5bb6\u7684\u53cd\u9988\u548c\u8d21\u732e\uff01</p>\n", 
      "date_published": "2025-05-16T10:57:55+00:00", 
      "title": "\u5f00\u6e90\u5c0f\u767d\uff0c\u6700\u8fd1\u5f00\u6e90\u4e86\u4e2a\u7ec3\u624b\u65b0\u9879\u76ee CILIKUBE\uff0c\u6b22\u8fce\u5927\u4f6c\u4eec Star\uff01", 
      "id": "https://www.v2ex.com/t/1132301"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/justyy", 
        "name": "justyy", 
        "avatar": "https://cdn.v2ex.com/avatar/b225/9514/96983_large.png?m=1702503985"
      }, 
      "url": "https://www.v2ex.com/t/1129252", 
      "title": "\u518d\u4e5f\u4e0d\u7528\u8bb0 k8s \u7684\u547d\u4ee4\u4e86", 
      "id": "https://www.v2ex.com/t/1129252", 
      "date_published": "2025-04-30T20:00:28+00:00", 
      "content_html": "<p><a href=\"https://github.com/GoogleCloudPlatform/kubectl-ai\" rel=\"nofollow\">https://github.com/GoogleCloudPlatform/kubectl-ai</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/052678", 
        "name": "052678", 
        "avatar": "https://cdn.v2ex.com/avatar/3824/6f0d/319660_large.png?m=1775554071"
      }, 
      "url": "https://www.v2ex.com/t/1128954", 
      "title": "\u6551\u6551\u6211~~\uff0c k8s \u7684 containerd \u7684\u955c\u50cf\u52a0\u901f\u8fd8\u6709\u90a3\u4e9b\u529e\u6cd5\u53ef\u4ee5\u7528\u5440", 
      "id": "https://www.v2ex.com/t/1128954", 
      "date_published": "2025-04-29T10:04:35+00:00", 
      "content_html": "<p>\u914d\u7f6e\u4ee5\u4e0b\u65b9\u5f0f\u5931\u8d25~~</p>\n<pre><code>  [plugins.\"io.containerd.grpc.v1.cri\".registry]\n    [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors]\n      [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors.\"docker.io\"]\n        endpoint = [\"https://bqr1dr1n.mirror.aliyuncs.com\"]\n      [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors.\"k8s.gcr.io\"]\n        endpoint = [\"https://registry.aliyuncs.com/k8sxio\"]\n</code></pre>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/guoguobaba", 
        "name": "guoguobaba", 
        "avatar": "https://cdn.v2ex.com/avatar/48a4/7fbb/307012_large.png?m=1742526918"
      }, 
      "url": "https://www.v2ex.com/t/1128054", 
      "title": "\u6628\u5929 rancher \u7ed9\u6211\u6316\u4e86\u4e00\u4e2a\u5927\u5751", 
      "id": "https://www.v2ex.com/t/1128054", 
      "date_published": "2025-04-25T08:07:05+00:00", 
      "content_html": "<p>\u4e0b\u73ed\u540e\uff0c\u7ed9\u751f\u4ea7\u7cfb\u7edf\u6dfb\u52a0\u4e00\u4e2a\u8282\u70b9\uff0c\u5c31\u7528\u53c2\u7167\u6587\u6863\uff0c\u7528\u7f51\u7ad9\u4e0a\u7684\u811a\u672c\u7ed9\u6dfb\u52a0\u4e86</p>\n<pre><code>curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn sh -\n</code></pre>\n<p>\u7ed3\u679c\u7cfb\u7edf\u5d29\u4e86\uff0c\u7f51\u7edc\u5168\u90e8\u4e0d\u80fd\u8bbf\u95ee\u4e86\u3002</p>\n<p>\u6392\u67e5\u53d1\u73b0\uff0c\u4ed6\u628a\u6211\u7684 calico \u76f8\u5173\u7684\u90fd\u5220\u4e86\uff0c\u51c6\u5907\u6dfb\u52a0 canal \u7f51\u7edc\uff0c\u6211\u64e6\uff0c\u6211\u8d76\u7d27\u5220\u4e86\u8fd9\u4e2a\u8282\u70b9\uff0c\u4fee\u590d\u751f\u4ea7\u7cfb\u7edf\uff0ccalico-system \u7684 namespace \u4e5f\u88ab\u5220\u4e86\uff0c\u7f51\u7edc\u7cfb\u7edf\u5168\u90e8\u5d29\u6e83\uff0c\u6211\u5f53\u65f6\u4e00\u5934\u731b\u6c57\uff0c\u53e3\u4e2d\u95ee\u5019\u4e86\u4ed6\u5bb6\u5404\u79cd\u3002</p>\n<p>\u7f51\u8def\u4e0d\u884c\uff0clonghorn \u4e5f\u5f00\u59cb\u5361\uff0c\u7136\u540e\u7cfb\u7edf\u56e0\u4e3a nfs \u5361\u6b7b\u5f88\u591a\u547d\u4ee4\u4e5f\u5f00\u59cb\u3002</p>\n<p>\u5148\u5c06\u6240\u6709 deploy replicas \u8bbe\u4e3a 0 \uff0c \u5f3a\u5236 umount nfs \uff0ckubectl \u5f00\u59cb\u80fd\u6b63\u5e38\u64cd\u4f5c\u4e86\u3002</p>\n<p>\u5728 gpt \u7684\u5e2e\u52a9\u4e0b\uff0c\u5c1d\u8bd5\u4e86\u5404\u79cd\u65b9\u6848\uff0c\u540e\u6765\u53d1\u73b0\uff0c\u5220\u9664 helmchart \uff0c\u91cd\u542f rke2 \u8ba9\u5b83\u91cd\u5efa calico \u7f51\u7edc</p>\n<pre><code>kubectl delete helmchart rke2-calico -n kube-system &amp;&amp; kubectl delete helmchart rke2-calico-crd -n kube-system &amp;&amp; systemctl restart rke2-server\n</code></pre>\n<p>\u91cd\u5efa\u8fc7\u7a0b\u4e2d\u4e5f\u9047\u5230\u597d\u591a\u5751\uff0c\u6298\u817e\u5230\u665a\u4e0a 3\uff1a00 \u624d\u641e\u5b9a\u3002</p>\n<p>\u590d\u76d8\u53d1\u73b0\u662f\u6dfb\u52a0\u7684 rke2 \u7248\u672c\u5f88\u65b0\uff0c\u5728<code>/var/lib/rancher/rke2/server/manifests</code>\u63d0\u4f9b\u4e86<code> rke2-canal.yaml</code>\uff0c\u800c\u4e0d\u662f calico \u76f8\u5173\u914d\u7f6e\uff0c\u5bfc\u81f4 rke2 \u81ea\u52a8\u53d6\u5220\u9664 calico \u76f8\u5173\u7f51\u7edc\uff0c\u5b89\u88c5 canal \u7f51\u7edc\u3002</p>\n<p>\u771f\u662f\u4e2a\u6559\u8bad\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/vczyh", 
        "name": "vczyh", 
        "avatar": "https://cdn.v2ex.com/avatar/3e9f/06fd/469815_large.png?m=1745658512"
      }, 
      "url": "https://www.v2ex.com/t/1127811", 
      "title": "\u4e0d\u61c2\u5c31\u95ee\uff1a kubeadm \u80fd\u5426\u7528\u4e8e\u751f\u4ea7\uff1f\u548c kubespray \u533a\u522b\u662f\u4ec0\u4e48\uff1f", 
      "id": "https://www.v2ex.com/t/1127811", 
      "date_published": "2025-04-24T08:01:45+00:00", 
      "content_html": "<p>\u6253\u7b97\u90e8\u7f72 k8s \uff0c\u73b0\u5728\u7591\u60d1\u4f7f\u7528\u9759\u6001 Pod \u8fd8\u662f systemd \uff0c\u4f7f\u7528 kubeadm \u8fd8\u662f kubespray \u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/iblessyou", 
        "name": "iblessyou", 
        "avatar": "https://cdn.v2ex.com/avatar/e02b/ae05/274403_large.png?m=1745314268"
      }, 
      "url": "https://www.v2ex.com/t/1127350", 
      "title": "\u65b0\u4eba\u7ec3\u624b\u8bf7\u6559", 
      "id": "https://www.v2ex.com/t/1127350", 
      "date_published": "2025-04-22T09:32:42+00:00", 
      "content_html": "\u7167\u7740\u8fd9\u4e2a\uff08 <a target=\"_blank\" href=\"https://segmentfault.com/a/1190000043201145\" rel=\"nofollow noopener\">https://segmentfault.com/a/1190000043201145</a> \uff09\u90e8\u7f72 K8S \uff0c\u524d\u9762\u90fd\u6ca1\u95ee\u9898\uff0c\u5728\u7b2c 2.1.4 \u914d\u7f6e\u7f51\u7edc\u63d2\u4ef6<br />\u91cc\uff0c\u4e0b\u9762\u8fd9\u4e00\u6b65\u65f6\uff0c\u5f00\u59cb\u4e0d\u4e00\u6837\uff0c\u663e\u793a noready \uff0c\u662f\u600e\u4e48\u56de\u4e8b\u5462\uff1f<br /><br /># \u67e5\u770b Master \u8282\u70b9\u72b6\u6001\uff0c\u6b64\u65f6\u8282\u70b9\u4f1a\u63d0\u793a Ready \uff0cMaster \u8282\u70b9\u5b89\u88c5\u5b8c\u6210<br />kubectl get nodes<br /><br />\u6362\u4e86\u4ed6\u7684 yml \u4e5f\u4e0d\u884c\u3002<br /><br />\u6216\u8005\u6c42\u4e2a\u50bb\u74dc\u5f0f\u6559\u7a0b"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/COW", 
        "name": "COW", 
        "avatar": "https://cdn.v2ex.com/avatar/14d4/90b6/472231_large.png?m=1758256641"
      }, 
      "url": "https://www.v2ex.com/t/1127035", 
      "title": "\u5927\u5bb6\u516c\u53f8\u7684\u57fa\u7840\u670d\u52a1\u6709\u54ea\u4e9b\u662f\u4e8c\u8fdb\u5236\u5305\u65b9\u5f0f\u90e8\u7f72\u5728\u670d\u52a1\u5668\u4e0a\u7684\uff1f", 
      "id": "https://www.v2ex.com/t/1127035", 
      "date_published": "2025-04-21T08:18:22+00:00", 
      "content_html": "<p>\u6bd4\u5982 IAM \u3001dns \u3001jenkins \u3001git server \u3001mq \u3001database \u5404\u79cd\uff0c\u6709\u6ca1\u6709 all in k8s \u7684\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/taohua1c", 
        "name": "taohua1c", 
        "avatar": "https://cdn.v2ex.com/avatar/b26d/3c01/727814_large.png?m=1769482314"
      }, 
      "url": "https://www.v2ex.com/t/1122627", 
      "title": "\u60f3\u5b66\u4e60 K8S\uff0c\u8bf7\u95ee\u5927\u4f6c\u4eec\u5e94\u8be5\u600e\u4e48\u5165\u95e8\u5462\uff1f", 
      "id": "https://www.v2ex.com/t/1122627", 
      "date_published": "2025-04-01T09:04:45+00:00", 
      "content_html": "<p>\u4f5c\u4e3a\u4e00\u4e2a\u8fd0\u7ef4\u4eba\u5458\uff0c\u76ee\u524d\u60f3\u5b66\u4e60 K8S \u76f8\u5173\u7684\u5185\u5bb9\u548c\u77e5\u8bc6\uff08\u672c\u4eba\u65b0\u624b\uff09\uff0c\u60f3\u95ee\u95ee\u5927\u4f6c\u4eec\u662f\u4e70\u8bfe\u5462\u8fd8\u662f\u600e\u4e48\u5b66\u4e60\uff1f\u5982\u679c\u8981\u4e70\u8bfe\u54ea\u91cc\u6bd4\u8f83\u9760\u8c31\uff08\u4e2a\u4eba\u503e\u5411\u4e8e\u89c6\u9891\u8bfe\u7a0b\uff09\uff1b</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hahaha121", 
        "name": "hahaha121", 
        "avatar": "https://cdn.v2ex.com/avatar/130d/0cf4/646452_large.png?m=1752759316"
      }, 
      "url": "https://www.v2ex.com/t/1122210", 
      "title": "\u6709\u4eba\u7528\u8fc7 open-local", 
      "id": "https://www.v2ex.com/t/1122210", 
      "date_published": "2025-03-31T03:01:07+00:00", 
      "content_html": "<p>\u6700\u8fd1\u521a\u53d1\u73b0\u7684\u641e\u8fc7\u6765\u73a9\u73a9\u7ed3\u5408 kubeblocks \u642d\u5efa\u6570\u636e\u53ef\u884c\u5417\n<a href=\"https://github.com/alibaba/open-local.git\" rel=\"nofollow\">https://github.com/alibaba/open-local.git</a>\n<a href=\"https://github.com/apecloud/kubeblocks\" rel=\"nofollow\">https://github.com/apecloud/kubeblocks</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/douz", 
        "name": "douz", 
        "avatar": "https://cdn.v2ex.com/avatar/3be8/d3b6/637545_large.png?m=1743154696"
      }, 
      "url": "https://www.v2ex.com/t/1122181", 
      "title": "k8s \u547d\u540d\u7a7a\u95f4\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/1122181", 
      "date_published": "2025-03-31T02:00:22+00:00", 
      "content_html": "<p>\u521b\u5efa deployment \u65f6\u7684\u62a5\u9519\u4fe1\u606f\uff1aadmission webhook \"<a href=\"http://node-affinity.k8s.io\" rel=\"nofollow\">node-affinity.k8s.io</a>\" denied the request: failed to get namespace info from cache: test</p>\n<p>\u76ee\u524d\u53ea\u80fd\u7528\u4e00\u4e2a\u6307\u5b9a\u7684\u547d\u540d\u7a7a\u95f4\uff08\u6bd4\u5982 first \uff09\u521b\u5efa deployment \u65f6\u4e0d\u4f1a\u62a5\u9519\uff0c\u8fd9\u4e2a first \u547d\u540d\u7a7a\u95f4\u4e5f\u662f\u4e00\u5f00\u59cb\u521b\u5efa deployment \u4f7f\u7528\u7684\u4e00\u4e2a\uff0c\u540e\u9762\u6362\u5176\u4ed6\u7684\u547d\u540d\u7a7a\u95f4\u90fd\u4f1a\u62a5\u4e0a\u9762\u8fd9\u4e2a\u9519\u8bef\u3002\u5927\u4f6c\u4eec\u77e5\u9053\u5982\u4f55\u6392\u67e5\u89e3\u51b3\u4e48\uff1f</p>\n"
    }
  ]
}