<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>云原生 on 隽戈的科技生活馆</title><link>/zh/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/</link><description>Recent content in 云原生 on 隽戈的科技生活馆</description><generator>Hugo</generator><language>zh</language><lastBuildDate>Wed, 27 May 2026 19:09:31 +0800</lastBuildDate><atom:link href="/zh/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/index.xml" rel="self" type="application/rss+xml"/><item><title>Kubernetes GPU 虚拟化实战：HAMi DRA 模式完整指南</title><link>/zh/blog/2026/05/15/hami-dra-gpu-virtualization-guide/</link><pubDate>Fri, 15 May 2026 00:00:00 +0800</pubDate><guid>/zh/blog/2026/05/15/hami-dra-gpu-virtualization-guide/</guid><description>&lt;style&gt;
/* ===== junge-site 通用文章样式 ===== */
.td-content { max-width: 900px; margin: 0 auto; }
.lead-quote {
 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
 color: white; padding: 2.5rem 2rem; border-radius: 12px;
 margin: 2rem 0 3rem 0; font-size: 1.25rem; font-weight: 600;
 line-height: 1.6; box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
 position: relative; overflow: hidden;
}
.lead-quote::before {
 content: '"'; position: absolute; top: -20px; left: 10px;
 font-size: 120px; opacity: 0.1; font-family: Georgia, serif;
}
.info-box {
 background: #f8f9fa; padding: 1.5rem;
 border-left: 4px solid #667eea; border-radius: 8px; margin: 2rem 0;
}
.highlight-box {
 background: linear-gradient(135deg, #fff5f5 0%, #fffaf0 100%);
 border: 2px solid #ed8936; border-radius: 12px;
 padding: 1.5rem; margin: 2rem 0;
 box-shadow: 0 4px 12px rgba(237, 137, 54, 0.1);
}
.stats-box {
 background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
 color: white; padding: 2rem; border-radius: 12px;
 margin: 2rem 0; text-align: center;
}
.stats-box .number {
 font-size: 2.5rem; font-weight: 800; color: #667eea; display: block;
}
.numbered-list { list-style: none; padding: 0; margin: 1.5rem 0; }
.numbered-list li {
 padding: 0.75rem 0 0.75rem 2.5rem; position: relative;
 line-height: 1.6; border-bottom: 1px solid #f0f0f0;
}
.numbered-list li:last-child { border-bottom: none; }
.numbered-list .num {
 position: absolute; left: 0; top: 0.75rem;
 width: 28px; height: 28px;
 background: linear-gradient(135deg, #667eea, #764ba2);
 color: white; border-radius: 50%;
 display: flex; align-items: center; justify-content: center;
 font-size: 0.85rem; font-weight: 700; flex-shrink: 0;
}
.inline-quote {
 background: #f0f4ff; padding: 1.5rem 2rem; margin: 2rem 0;
 border-radius: 12px; position: relative; font-style: italic; color: #4a5568;
}
.inline-quote::before {
 content: '"'; position: absolute; top: 5px; left: 12px;
 font-size: 48px; color: #667eea; opacity: 0.2; font-family: Georgia, serif;
}
.section-divider {
 display: flex; align-items: center; margin: 3rem 0; gap: 12px;
}
.section-divider .line {
 flex: 1; height: 1px;
 background: linear-gradient(90deg, transparent, #667eea, transparent);
}
.section-divider .dot {
 width: 6px; height: 6px; background: #667eea; border-radius: 50%; opacity: 0.5;
}
.outro-box {
 background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
 color: white; padding: 2.5rem; border-radius: 16px;
 margin: 3rem 0; text-align: center;
 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.outro-box strong { color: #667eea !important; }
.td-content h2 {
 font-size: 1.8rem; font-weight: 700; color: #1a202c;
 margin-top: 3.5rem; margin-bottom: 1.5rem;
 padding-bottom: 0.8rem; border-bottom: 3px solid #667eea; position: relative;
}
.td-content h2::before {
 content: ''; position: absolute; left: 0; bottom: -3px;
 width: 60px; height: 3px;
 background: linear-gradient(90deg, #667eea, #764ba2);
}
.td-content strong { color: #667eea; font-weight: 600; }
.td-content p { margin-bottom: 1.5rem; }
.td-content img {
 border-radius: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
 margin: 2.5rem 0; width: 100%;
 transition: transform 0.3s ease;
}
.td-content img:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18); }
.td-content pre { border-radius: 12px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1); margin: 2rem 0; }
.td-content table {
 border-collapse: collapse; width: 100%; margin: 2rem 0;
 border-radius: 12px; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.td-content table th {
 background: linear-gradient(135deg, #667eea, #764ba2);
 color: white; padding: 12px 16px; font-weight: 600;
}
.td-content table td { padding: 10px 16px; border-bottom: 1px solid #f0f0f0; }
.td-content table tr:last-child td { border-bottom: none; }
@media (max-width: 768px) {
 .lead-quote { padding: 1.5rem 1rem; font-size: 1.1rem; }
 .stats-box .number { font-size: 2rem; }
 .numbered-list li { padding-left: 2rem; }
}
&lt;/style&gt;
&lt;p&gt;一块 A10 24GB 显存的 GPU，在传统模式下只能给一个 Pod 用。但如果跑的是 batch 推理任务，很可能只用到了 10GB 显存和 30% 算力——剩下 14GB 就这么空着。&lt;/p&gt;</description></item><item><title>云原生 Agent 托管的高效范式：Agent Harness Infra 体系化设计</title><link>/zh/blog/2026/05/15/cloud-native-agent-harness-infra/</link><pubDate>Fri, 15 May 2026 00:00:00 +0800</pubDate><guid>/zh/blog/2026/05/15/cloud-native-agent-harness-infra/</guid><description>&lt;style&gt;
/* ===== junge-site 通用文章样式 ===== */
.td-content {
 max-width: 900px;
 margin: 0 auto;
}

/* 引言卡片 */
.lead-quote {
 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
 color: white;
 padding: 2.5rem 2rem;
 border-radius: 12px;
 margin: 2rem 0 3rem 0;
 font-size: 1.25rem;
 font-weight: 600;
 line-height: 1.6;
 box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
 position: relative;
 overflow: hidden;
}
.lead-quote::before {
 content: '"';
 position: absolute;
 top: -20px;
 left: 10px;
 font-size: 120px;
 opacity: 0.1;
 font-family: Georgia, serif;
}

/* 信息框 */
.info-box {
 background: #f8f9fa;
 padding: 1.5rem;
 border-left: 4px solid #667eea;
 border-radius: 8px;
 margin: 2rem 0;
}

/* 重点提示框 */
.highlight-box {
 background: linear-gradient(135deg, #fff5f5 0%, #fffaf0 100%);
 border: 2px solid #ed8936;
 border-radius: 12px;
 padding: 1.5rem;
 margin: 2rem 0;
 box-shadow: 0 4px 12px rgba(237, 137, 54, 0.1);
}

/* 数据卡片 */
.stats-box {
 background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
 color: white;
 padding: 2rem;
 border-radius: 12px;
 margin: 2rem 0;
 text-align: center;
}
.stats-box .number {
 font-size: 2.5rem;
 font-weight: 800;
 color: #667eea;
 display: block;
}

/* 序号列表 */
.numbered-list {
 list-style: none;
 padding: 0;
 margin: 1.5rem 0;
}
.numbered-list li {
 padding: 0.75rem 0 0.75rem 2.5rem;
 position: relative;
 line-height: 1.6;
 border-bottom: 1px solid #f0f0f0;
}
.numbered-list li:last-child {
 border-bottom: none;
}
.numbered-list .num {
 position: absolute;
 left: 0;
 top: 0.75rem;
 width: 28px;
 height: 28px;
 background: linear-gradient(135deg, #667eea, #764ba2);
 color: white;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 0.85rem;
 font-weight: 700;
 flex-shrink: 0;
}

/* 引用卡片 */
.inline-quote {
 background: #f0f4ff;
 padding: 1.5rem 2rem;
 margin: 2rem 0;
 border-radius: 12px;
 position: relative;
 font-style: italic;
 color: #4a5568;
}
.inline-quote::before {
 content: '"';
 position: absolute;
 top: 5px;
 left: 12px;
 font-size: 48px;
 color: #667eea;
 opacity: 0.2;
 font-family: Georgia, serif;
}
.inline-quote .author {
 display: block;
 margin-top: 0.5rem;
 font-style: normal;
 font-weight: 600;
 color: #667eea;
 font-size: 0.9rem;
}

/* 视觉分隔器 */
.section-divider {
 display: flex;
 align-items: center;
 margin: 3rem 0;
 gap: 12px;
}
.section-divider .line {
 flex: 1;
 height: 1px;
 background: linear-gradient(90deg, transparent, #667eea, transparent);
}
.section-divider .dot {
 width: 6px;
 height: 6px;
 background: #667eea;
 border-radius: 50%;
 opacity: 0.5;
}

/* 结尾典藏框 */
.outro-box {
 background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
 color: white;
 padding: 2.5rem;
 border-radius: 16px;
 margin: 3rem 0;
 text-align: center;
 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.outro-box strong {
 color: #667eea !important;
}

/* 标题样式 */
.td-content h2 {
 font-size: 1.8rem;
 font-weight: 700;
 color: #1a202c;
 margin-top: 3.5rem;
 margin-bottom: 1.5rem;
 padding-bottom: 0.8rem;
 border-bottom: 3px solid #667eea;
 position: relative;
}
.td-content h2::before {
 content: '';
 position: absolute;
 left: 0;
 bottom: -3px;
 width: 60px;
 height: 3px;
 background: linear-gradient(90deg, #667eea, #764ba2);
}

/* 加粗文字主题色 */
.td-content strong {
 color: #667eea;
 font-weight: 600;
}

/* 段落样式 */
.td-content p {
 margin-bottom: 1.5rem;
}

/* 图片样式 */
.td-content img {
 border-radius: 12px;
 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
 margin: 2.5rem 0;
 width: 100%;
 transition: transform 0.3s ease;
}
.td-content img:hover {
 transform: translateY(-4px);
 box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

/* 代码块 */
.td-content pre {
 border-radius: 12px;
 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
 margin: 2rem 0;
}

/* 表格 */
.td-content table {
 border-collapse: collapse;
 width: 100%;
 margin: 2rem 0;
 border-radius: 12px;
 overflow: hidden;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.td-content table th {
 background: linear-gradient(135deg, #667eea, #764ba2);
 color: white;
 padding: 12px 16px;
 font-weight: 600;
}
.td-content table td {
 padding: 10px 16px;
 border-bottom: 1px solid #f0f0f0;
}
.td-content table tr:last-child td {
 border-bottom: none;
}

@media (max-width: 768px) {
 .lead-quote { padding: 1.5rem 1rem; font-size: 1.1rem; }
 .stats-box .number { font-size: 2rem; }
 .numbered-list li { padding-left: 2rem; }
}
&lt;/style&gt;
&lt;p&gt;随着 AI Agent 从概念验证走向生产落地，一个关键问题浮出水面——&lt;strong&gt;Agent 应该跑在什么基础设施上？&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Web Infra vs AI Infra：K8s 擅长的事正在被重新定义</title><link>/zh/blog/2026/05/13/kubernetes-is-intermediate-layer/</link><pubDate>Wed, 13 May 2026 00:00:00 +0800</pubDate><guid>/zh/blog/2026/05/13/kubernetes-is-intermediate-layer/</guid><description>&lt;style&gt;
/* ===== junge-site 通用文章样式 ===== */
.td-content {
 max-width: 900px;
 margin: 0 auto;
}
.lead-quote {
 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
 color: white;
 padding: 2.5rem 2rem;
 border-radius: 12px;
 margin: 2rem 0 3rem 0;
 font-size: 1.25rem;
 font-weight: 600;
 line-height: 1.6;
 box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
 position: relative;
 overflow: hidden;
}
.lead-quote::before {
 content: '"';
 position: absolute;
 top: -20px;
 left: 10px;
 font-size: 120px;
 opacity: 0.1;
 font-family: Georgia, serif;
}
.info-box {
 background: #f8f9fa;
 padding: 1.5rem;
 border-left: 4px solid #667eea;
 border-radius: 8px;
 margin: 2rem 0;
}
.highlight-box {
 background: linear-gradient(135deg, #fff5f5 0%, #fffaf0 100%);
 border: 2px solid #ed8936;
 border-radius: 12px;
 padding: 1.5rem;
 margin: 2rem 0;
 box-shadow: 0 4px 12px rgba(237, 137, 54, 0.1);
}
.stats-box {
 background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
 color: white;
 padding: 2rem;
 border-radius: 12px;
 margin: 2rem 0;
 text-align: center;
}
.stats-box .number {
 font-size: 2.5rem;
 font-weight: 800;
 color: #667eea;
 display: block;
}
.numbered-list {
 list-style: none;
 padding: 0;
 margin: 1.5rem 0;
}
.numbered-list li {
 padding: 0.75rem 0 0.75rem 2.5rem;
 position: relative;
 line-height: 1.6;
 border-bottom: 1px solid #f0f0f0;
}
.numbered-list li:last-child {
 border-bottom: none;
}
.numbered-list .num {
 position: absolute;
 left: 0;
 top: 0.75rem;
 width: 28px;
 height: 28px;
 background: linear-gradient(135deg, #667eea, #764ba2);
 color: white;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 0.85rem;
 font-weight: 700;
 flex-shrink: 0;
}
.inline-quote {
 background: #f0f4ff;
 padding: 1.5rem 2rem;
 margin: 2rem 0;
 border-radius: 12px;
 position: relative;
 font-style: italic;
 color: #4a5568;
}
.inline-quote::before {
 content: '"';
 position: absolute;
 top: 5px;
 left: 12px;
 font-size: 48px;
 color: #667eea;
 opacity: 0.2;
 font-family: Georgia, serif;
}
.inline-quote .author {
 display: block;
 margin-top: 0.5rem;
 font-style: normal;
 font-weight: 600;
 color: #667eea;
 font-size: 0.9rem;
}
.section-divider {
 display: flex;
 align-items: center;
 margin: 3rem 0;
 gap: 12px;
}
.section-divider .line {
 flex: 1;
 height: 1px;
 background: linear-gradient(90deg, transparent, #667eea, transparent);
}
.section-divider .dot {
 width: 6px;
 height: 6px;
 background: #667eea;
 border-radius: 50%;
 opacity: 0.5;
}
.outro-box {
 background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
 color: white;
 padding: 2.5rem;
 border-radius: 16px;
 margin: 3rem 0;
 text-align: center;
 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.outro-box strong {
 color: #667eea !important;
}
.td-content h2 {
 font-size: 1.8rem;
 font-weight: 700;
 color: #1a202c;
 margin-top: 3.5rem;
 margin-bottom: 1.5rem;
 padding-bottom: 0.8rem;
 border-bottom: 3px solid #667eea;
 position: relative;
}
.td-content h2::before {
 content: '';
 position: absolute;
 left: 0;
 bottom: -3px;
 width: 60px;
 height: 3px;
 background: linear-gradient(90deg, #667eea, #764ba2);
}
.td-content strong {
 color: #667eea;
 font-weight: 600;
}
.td-content p {
 margin-bottom: 1.5rem;
}
.td-content img {
 border-radius: 12px;
 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
 margin: 2.5rem 0;
 width: 100%;
 transition: transform 0.3s ease;
}
.td-content img:hover {
 transform: translateY(-4px);
 box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}
.td-content pre {
 border-radius: 12px;
 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
 margin: 2rem 0;
}
.td-content table {
 border-collapse: collapse;
 width: 100%;
 margin: 2rem 0;
 border-radius: 12px;
 overflow: hidden;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.td-content table th {
 background: linear-gradient(135deg, #667eea, #764ba2);
 color: white;
 padding: 12px 16px;
 font-weight: 600;
}
.td-content table td {
 padding: 10px 16px;
 border-bottom: 1px solid #f0f0f0;
}
.td-content table tr:last-child td {
 border-bottom: none;
}
@media (max-width: 768px) {
 .lead-quote {
 padding: 1.5rem 1rem;
 font-size: 1.1rem;
 }
 .stats-box .number {
 font-size: 2rem;
 }
 .numbered-list li {
 padding-left: 2rem;
 }
}
&lt;/style&gt;
&lt;p&gt;&lt;strong&gt;把过去十几年的基础设施演进串起来看，Kubernetes 更像一个时代的「中间层」，而不是最终答案。&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>