Docs: build site

This commit is contained in:
Phillip Wittrock
2020-07-22 09:27:32 -07:00
parent c6524f984c
commit aa991956ef
130 changed files with 1473 additions and 401 deletions

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="generator" content="Hugo 0.68.3" />
<meta name="generator" content="Hugo 0.73.0-DEV" />
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
@@ -25,11 +25,11 @@
" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://kubernetes-sigs.github.io/kustomize/zh/guides/plugins/builtins/" />
<meta property="article:modified_time" content="2020-06-15T13:39:13+08:00" /><meta property="og:site_name" content="Kustomize" />
<meta property="article:modified_time" content="2020-07-16T12:57:18-07:00" /><meta property="og:site_name" content="Kustomize" />
<meta itemprop="name" content="内置插件">
<meta itemprop="description" content="内置插件
">
<meta itemprop="dateModified" content="2020-06-15T13:39:13&#43;08:00" />
<meta itemprop="dateModified" content="2020-07-16T12:57:18-07:00" />
<meta itemprop="wordCount" content="519">
@@ -511,7 +511,7 @@
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- application.properties<span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- more.properties<span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>my-java-server-env-vars<span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>literals<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">literals</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- JAVA_HOME=/opt/java/jdk<span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- JAVA_TOOL_OPTIONS=-agentlib<span style="color:#000;font-weight:bold">:</span>hprof<span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">options</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
@@ -923,7 +923,7 @@ is equivalent to <code>^myapp$</code>。</p>
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年06月15日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/518147c129f831913d33226cf17068d0d4270f41">add zh docsy (518147c1)</a>
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年07月16日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/f9ee578aed600136133c3232fff03029cdfc526e">Docs: Auto-fix markdownlint issues (f9ee578a)</a>
</div>
</div>

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="generator" content="Hugo 0.68.3" />
<meta name="generator" content="Hugo 0.73.0-DEV" />
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
@@ -25,11 +25,11 @@
" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://kubernetes-sigs.github.io/kustomize/zh/guides/plugins/execpluginguidedexample/" />
<meta property="article:modified_time" content="2020-06-15T13:39:13+08:00" /><meta property="og:site_name" content="Kustomize" />
<meta property="article:modified_time" content="2020-07-16T12:57:18-07:00" /><meta property="og:site_name" content="Kustomize" />
<meta itemprop="name" content="Exec 插件示例">
<meta itemprop="description" content="60 秒在 Linux 构建一个 Exec 插件
">
<meta itemprop="dateModified" content="2020-06-15T13:39:13&#43;08:00" />
<meta itemprop="dateModified" content="2020-07-16T12:57:18-07:00" />
<meta itemprop="wordCount" content="257">
@@ -352,7 +352,7 @@
<li><a href="#编写插件">编写插件</a></li>
<li><a href="#安装-kustomize">安装 kustomize</a></li>
<li><a href="#检查目录结构">检查目录结构</a></li>
<li><a href="#使用插件构建-app">使用插件构建 APP:</a></li>
<li><a href="#使用插件构建-app">使用插件构建 APP</a></li>
</ul>
</nav>
@@ -531,13 +531,13 @@ mkdir -p <span style="color:#000">$DEMO</span>/bin
mv kustomize <span style="color:#000">$DEMO</span>/bin
</code></pre></div><h2 id="检查目录结构">检查目录结构</h2>
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">tree <span style="color:#000">$DEMO</span>
</code></pre></div><h2 id="使用插件构建-app">使用插件构建 APP:</h2>
</code></pre></div><h2 id="使用插件构建-app">使用插件构建 APP</h2>
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#000">XDG_CONFIG_HOME</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">$DEMO</span> <span style="color:#000">$DEMO</span>/bin/kustomize build --enable_alpha_plugins <span style="color:#000">$MYAPP</span>
</code></pre></div><p>之前如果您已经设置了 <code>PLUGIN_ROOT=$HOME/.config/kustomize/plugin</code>,则无需在 <em>kustomize</em> 命令前使用 <code>XDG_CONFIG_HOME</code></p>
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年06月15日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/518147c129f831913d33226cf17068d0d4270f41">add zh docsy (518147c1)</a>
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年07月16日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/f9ee578aed600136133c3232fff03029cdfc526e">Docs: Auto-fix markdownlint issues (f9ee578a)</a>
</div>
</div>

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="generator" content="Hugo 0.68.3" />
<meta name="generator" content="Hugo 0.73.0-DEV" />
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
@@ -25,11 +25,11 @@
" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://kubernetes-sigs.github.io/kustomize/zh/guides/plugins/goplugincaveats/" />
<meta property="article:modified_time" content="2020-06-15T13:39:13+08:00" /><meta property="og:site_name" content="Kustomize" />
<meta property="article:modified_time" content="2020-07-16T12:57:18-07:00" /><meta property="og:site_name" content="Kustomize" />
<meta itemprop="name" content="Go 插件注意事项">
<meta itemprop="description" content="Go 插件注意事项
">
<meta itemprop="dateModified" content="2020-06-15T13:39:13&#43;08:00" />
<meta itemprop="dateModified" content="2020-07-16T12:57:18-07:00" />
<meta itemprop="wordCount" content="145">
@@ -342,7 +342,7 @@
<nav id="TableOfContents">
<ul>
<li><a href="#the-skew-problem">The skew problem</a></li>
<li><a href="#为什么支持-go-插件">为什么支持 Go 插件</a>
<li><a href="#为什么支持-go-插件">为什么支持 Go 插件</a>
<ul>
<li><a href="#安全">安全</a></li>
<li><a href="#debugging">Debugging</a></li>
@@ -418,7 +418,7 @@
</span><span style="color:#4e9a06"></span> -o <span style="color:#4e9a06">${</span><span style="color:#000">wherever</span><span style="color:#4e9a06">}</span>/<span style="color:#4e9a06">${</span><span style="color:#000">kind</span><span style="color:#4e9a06">}</span>.so <span style="color:#4e9a06">${</span><span style="color:#000">wherever</span><span style="color:#4e9a06">}</span>/<span style="color:#4e9a06">${</span><span style="color:#000">kind</span><span style="color:#4e9a06">}</span>.go
</code></pre></div><p>并根据需要调整路径和发行版本标记(例如 <code>v3.0.0</code>)。</p>
<p>为了进行比较,可以参考编写 <a href="https://www.tensorflow.org/guide/extend/op">tensorflow plugin</a> 必须做的事情。</p>
<h2 id="为什么支持-go-插件">为什么支持 Go 插件</h2>
<h2 id="为什么支持-go-插件">为什么支持 Go 插件</h2>
<h3 id="安全">安全</h3>
<p>Go 插件开发者可以操作与原生 kustomize 操作相同的 API可确保某些语义、变量和检查等一致。exec 插件子进程通过 stdin/stdout 来处理这些问题,但对于下游的转化器和使用者来说,会更容易把事情搞砸。</p>
<p>关键点:如果插件通过 kustomize 提供的文件 <code>Loader</code> 接口读取文件,则会受到 kustomize 文件加载限制的约束。当然,除了代码审计之外,没有什么可以阻止 Go 插件导入 io 包并执行其所需的任何操作。</p>
@@ -432,7 +432,7 @@
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年06月15日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/518147c129f831913d33226cf17068d0d4270f41">add zh docsy (518147c1)</a>
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年07月16日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/f9ee578aed600136133c3232fff03029cdfc526e">Docs: Auto-fix markdownlint issues (f9ee578a)</a>
</div>
</div>

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="generator" content="Hugo 0.68.3" />
<meta name="generator" content="Hugo 0.73.0-DEV" />
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
@@ -25,11 +25,11 @@
" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://kubernetes-sigs.github.io/kustomize/zh/guides/plugins/gopluginguidedexample/" />
<meta property="article:modified_time" content="2020-06-15T13:39:13+08:00" /><meta property="og:site_name" content="Kustomize" />
<meta property="article:modified_time" content="2020-07-16T12:57:18-07:00" /><meta property="og:site_name" content="Kustomize" />
<meta itemprop="name" content="Go 插件示例">
<meta itemprop="description" content="Go 插件示例
">
<meta itemprop="dateModified" content="2020-06-15T13:39:13&#43;08:00" />
<meta itemprop="dateModified" content="2020-07-16T12:57:18-07:00" />
<meta itemprop="wordCount" content="429">
@@ -350,7 +350,7 @@
<li><a href="#安装-kustomize">安装 kustomize</a></li>
<li><a href="#为插件创建目录">为插件创建目录</a>
<ul>
<li><a href="#使用什么-apiversion-和-kind">使用什么 apiVersion 和 kind</a></li>
<li><a href="#使用什么-apiversion-和-kind">使用什么 apiVersion 和 kind</a></li>
<li><a href="#定义插件的主目录">定义插件的主目录</a></li>
<li><a href="#下载-sopsencodedsecrets-插件">下载 SopsEncodedSecrets 插件</a></li>
<li><a href="#尝试测试插件">尝试测试插件</a></li>
@@ -363,7 +363,7 @@
<li><a href="#用你的私钥创建加密数据">用你的私钥创建加密数据</a></li>
</ul>
</li>
<li><a href="#使用插件构建您的应用">使用插件构建您的应用</a></li>
<li><a href="#使用插件构建您的应用">使用插件构建您的应用</a></li>
</ul>
</nav>
@@ -451,7 +451,7 @@
<p>该示例将在如下临时目录中存放其使用的插件:</p>
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell"><span style="color:#000">PLUGIN_ROOT</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">$DEMO</span>/kustomize/plugin
</code></pre></div><p>并在下面的命令行中临时设置 <code>XDG_CONFIG_HOME</code></p>
<h3 id="使用什么-apiversion-和-kind">使用什么 apiVersion 和 kind</h3>
<h3 id="使用什么-apiversion-和-kind">使用什么 apiVersion 和 kind</h3>
<p>在 kustomize 插件的开发时,插件代码不关心也不知道配置文件中的 <code>apiVersion</code><code>kind</code></p>
<p>插件会检查这些字段,但是剩下的字段提供了实际的配置数据,在这一点上,成功解析其他字段对于插件很重要。</p>
<p>本示例使用一个名为 <em>SopsEncodedSecrets</em> 的插件,其位于 <a href="https://github.com/monopole/sopsencodedsecrets">SopsEncodedSecrets repository</a> 中。</p>
@@ -575,14 +575,14 @@ gcloud kms keys create sops-key --location global <span style="color:#4e9a06">\
├── myEncryptedData.yaml
└── secGenerator.yaml
</code></pre></div></blockquote>
<h2 id="使用插件构建您的应用">使用插件构建您的应用</h2>
<h2 id="使用插件构建您的应用">使用插件构建您的应用</h2>
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell"><span style="color:#000">XDG_CONFIG_HOME</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">$DEMO</span> <span style="color:#000">$tmpGoPath</span>/bin/kustomize build --enable_alpha_plugins <span style="color:#000">$MYAPP</span>
</code></pre></div><p>这将生成一个 kubernetes secret并对名称 <code>ROCKET</code><code>CAR</code> 的数据进行加密。</p>
<p>之前如果您已经设置了 <code>PLUGIN_ROOT=$HOME/.config/kustomize/plugin</code>,则无需在 <em>kustomize</em> 命令前使用 <code>XDG_CONFIG_HOME</code></p>
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年06月15日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/518147c129f831913d33226cf17068d0d4270f41">add zh docsy (518147c1)</a>
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年07月16日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/f9ee578aed600136133c3232fff03029cdfc526e">Docs: Auto-fix markdownlint issues (f9ee578a)</a>
</div>
</div>

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="generator" content="Hugo 0.68.3" />
<meta name="generator" content="Hugo 0.73.0-DEV" />
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
@@ -485,7 +485,7 @@
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">annotations</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">kustomize.config.k8s.io/needs-hash</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;true&#34;</span><span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">data</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">foo</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>bar<span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">foo</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>bar<span style="color:#f8f8f8;text-decoration:underline">
</span></code></pre></div><p><strong><code>kustomize.config.k8s.io/behavior</code></strong></p>
<p><code>behavior</code> 注释为当资源发生冲突时插件的处理方式,有效值包括:&ldquo;create&rdquo;&ldquo;merge &ldquo;&ldquo;replace&rdquo;,默认为 &ldquo;create&rdquo;</p>
<p>示例:</p>
@@ -496,7 +496,7 @@
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">annotations</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">kustomize.config.k8s.io/behavior</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;merge&#34;</span><span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">data</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">foo</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>bar<span style="color:#f8f8f8;text-decoration:underline">
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">foo</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>bar<span style="color:#f8f8f8;text-decoration:underline">
</span></code></pre></div><h3 id="go-插件">Go 插件</h3>
<p>请务必阅读 <a href="goPluginCaveats.md">Go 插件注意事项</a></p>
<p>如果一个 <code>.go</code> 文件声明 <code>package main</code>,并附加了有用的功能标志,那么它就可以成为一个 <a href="https://golang.org/pkg/plugin/">Go 插件</a></p>
@@ -506,8 +506,8 @@
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">package</span> <span style="color:#000">main</span>
<span style="color:#204a87;font-weight:bold">import</span> <span style="color:#000;font-weight:bold">(</span>
<span style="color:#4e9a06">&#34;sigs.k8s.io/kustomize/api/ifc&#34;</span>
<span style="color:#4e9a06">&#34;sigs.k8s.io/kustomize/api/resmap&#34;</span>
<span style="color:#4e9a06">&#34;sigs.k8s.io/kustomize/api/ifc&#34;</span>
<span style="color:#4e9a06">&#34;sigs.k8s.io/kustomize/api/resmap&#34;</span>
<span style="color:#ce5c00;font-weight:bold">...</span>
<span style="color:#000;font-weight:bold">)</span>
@@ -600,7 +600,7 @@ go build -buildmode plugin <span style="color:#4e9a06">\
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年06月15日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/518147c129f831913d33226cf17068d0d4270f41">add zh docsy (518147c1)</a>
<div class="text-muted mt-5 pt-3 border-top">最后修改 2020年07月16日: <a href="https://github.com/kubernetes-sigs/kustomize/commit/f9ee578aed600136133c3232fff03029cdfc526e">Docs: Auto-fix markdownlint issues (f9ee578a)</a>
</div>
</div>

View File

@@ -78,7 +78,7 @@
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;- application.properties&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;- more.properties&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;my-java-server-env-vars&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;literals&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;literals&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;- JAVA_HOME=/opt/java/jdk&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;- JAVA_TOOL_OPTIONS=-agentlib&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;hprof&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;options&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
@@ -630,7 +630,7 @@ mkdir -p &lt;span style=&#34;color:#000&#34;&gt;$DEMO&lt;/span&gt;/bin
mv kustomize &lt;span style=&#34;color:#000&#34;&gt;$DEMO&lt;/span&gt;/bin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;检查目录结构&#34;&gt;检查目录结构&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;tree &lt;span style=&#34;color:#000&#34;&gt;$DEMO&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;使用插件构建-app&#34;&gt;使用插件构建 APP:&lt;/h2&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;使用插件构建-app&#34;&gt;使用插件构建 APP&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;color:#000&#34;&gt;XDG_CONFIG_HOME&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$DEMO&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$DEMO&lt;/span&gt;/bin/kustomize build --enable_alpha_plugins &lt;span style=&#34;color:#000&#34;&gt;$MYAPP&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;之前如果您已经设置了 &lt;code&gt;PLUGIN_ROOT=$HOME/.config/kustomize/plugin&lt;/code&gt;,则无需在 &lt;em&gt;kustomize&lt;/em&gt; 命令前使用 &lt;code&gt;XDG_CONFIG_HOME&lt;/code&gt;&lt;/p&gt;
@@ -666,7 +666,7 @@ mv kustomize &lt;span style=&#34;color:#000&#34;&gt;$DEMO&lt;/span&gt;/bin
&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt; -o &lt;span style=&#34;color:#4e9a06&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;wherever&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;}&lt;/span&gt;/&lt;span style=&#34;color:#4e9a06&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;}&lt;/span&gt;.so &lt;span style=&#34;color:#4e9a06&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;wherever&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;}&lt;/span&gt;/&lt;span style=&#34;color:#4e9a06&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;}&lt;/span&gt;.go
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;并根据需要调整路径和发行版本标记(例如 &lt;code&gt;v3.0.0&lt;/code&gt;)。&lt;/p&gt;
&lt;p&gt;为了进行比较,可以参考编写 &lt;a href=&#34;https://www.tensorflow.org/guide/extend/op&#34;&gt;tensorflow plugin&lt;/a&gt; 必须做的事情。&lt;/p&gt;
&lt;h2 id=&#34;为什么支持-go-插件&#34;&gt;为什么支持 Go 插件&lt;/h2&gt;
&lt;h2 id=&#34;为什么支持-go-插件&#34;&gt;为什么支持 Go 插件&lt;/h2&gt;
&lt;h3 id=&#34;安全&#34;&gt;安全&lt;/h3&gt;
&lt;p&gt;Go 插件开发者可以操作与原生 kustomize 操作相同的 API可确保某些语义、变量和检查等一致。exec 插件子进程通过 stdin/stdout 来处理这些问题,但对于下游的转化器和使用者来说,会更容易把事情搞砸。&lt;/p&gt;
&lt;p&gt;关键点:如果插件通过 kustomize 提供的文件 &lt;code&gt;Loader&lt;/code&gt; 接口读取文件,则会受到 kustomize 文件加载限制的约束。当然,除了代码审计之外,没有什么可以阻止 Go 插件导入 io 包并执行其所需的任何操作。&lt;/p&gt;
@@ -729,7 +729,7 @@ mv kustomize &lt;span style=&#34;color:#000&#34;&gt;$DEMO&lt;/span&gt;/bin
&lt;p&gt;该示例将在如下临时目录中存放其使用的插件:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;color:#000&#34;&gt;PLUGIN_ROOT&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$DEMO&lt;/span&gt;/kustomize/plugin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;并在下面的命令行中临时设置 &lt;code&gt;XDG_CONFIG_HOME&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;使用什么-apiversion-和-kind&#34;&gt;使用什么 apiVersion 和 kind&lt;/h3&gt;
&lt;h3 id=&#34;使用什么-apiversion-和-kind&#34;&gt;使用什么 apiVersion 和 kind&lt;/h3&gt;
&lt;p&gt;在 kustomize 插件的开发时,插件代码不关心也不知道配置文件中的 &lt;code&gt;apiVersion&lt;/code&gt;&lt;code&gt;kind&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;插件会检查这些字段,但是剩下的字段提供了实际的配置数据,在这一点上,成功解析其他字段对于插件很重要。&lt;/p&gt;
&lt;p&gt;本示例使用一个名为 &lt;em&gt;SopsEncodedSecrets&lt;/em&gt; 的插件,其位于 &lt;a href=&#34;https://github.com/monopole/sopsencodedsecrets&#34;&gt;SopsEncodedSecrets repository&lt;/a&gt; 中。&lt;/p&gt;
@@ -853,7 +853,7 @@ gcloud kms keys create sops-key --location global &lt;span style=&#34;color:#4e9
├── myEncryptedData.yaml
└── secGenerator.yaml
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;使用插件构建您的应用&#34;&gt;使用插件构建您的应用&lt;/h2&gt;
&lt;h2 id=&#34;使用插件构建您的应用&#34;&gt;使用插件构建您的应用&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;color:#000&#34;&gt;XDG_CONFIG_HOME&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$DEMO&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$tmpGoPath&lt;/span&gt;/bin/kustomize build --enable_alpha_plugins &lt;span style=&#34;color:#000&#34;&gt;$MYAPP&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这将生成一个 kubernetes secret并对名称 &lt;code&gt;ROCKET&lt;/code&gt;&lt;code&gt;CAR&lt;/code&gt; 的数据进行加密。&lt;/p&gt;
&lt;p&gt;之前如果您已经设置了 &lt;code&gt;PLUGIN_ROOT=$HOME/.config/kustomize/plugin&lt;/code&gt;,则无需在 &lt;em&gt;kustomize&lt;/em&gt; 命令前使用 &lt;code&gt;XDG_CONFIG_HOME&lt;/code&gt;&lt;/p&gt;