<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>K3s on HiDa</title><link>https://www.0niu.cn/tags/k3s/</link><description>Recent content in K3s on HiDa</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Sat, 28 Feb 2026 12:37:00 +0800</lastBuildDate><atom:link href="https://www.0niu.cn/tags/k3s/index.xml" rel="self" type="application/rss+xml"/><item><title>Netbox 迁移到 k3s</title><link>https://www.0niu.cn/posts/netbox%E8%BF%81%E7%A7%BB%E5%88%B0k3s/</link><pubDate>Sat, 28 Feb 2026 12:37:00 +0800</pubDate><guid>https://www.0niu.cn/posts/netbox%E8%BF%81%E7%A7%BB%E5%88%B0k3s/</guid><description>&lt;p>本文记录了将 Netbox 从旧环境迁移到 k3s 集群的过程。&lt;/p>
&lt;h2 id="迁移步骤">迁移步骤&lt;/h2>
&lt;h3 id="1-备份数据库">1. 备份数据库&lt;/h3>
&lt;p>使用 &lt;code>pg_dump&lt;/code> 导出 Netbox 数据库，排除变更日志表以减小备份体积：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>pg_dump --username netbox --password --host localhost --exclude-table-data&lt;span style="color:#f92672">=&lt;/span>extras_objectchange netbox &amp;gt; netbox.sql
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="2-删除旧-pod">2. 删除旧 Pod&lt;/h3>
&lt;p>为了避免 Pod 竞争和锁定问题，先删除现有的 Netbox Pod：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl delete po netbox-68cbd8b854-2hvgp
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="3-修改-postgresql-认证方式">3. 修改 PostgreSQL 认证方式&lt;/h3>
&lt;h4 id="临时禁用密码认证">临时禁用密码认证&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 进入 PostgreSQL Pod&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- sed -ibak &lt;span style="color:#e6db74">&amp;#39;s/^\([^#]*\)md5/\1trust/g&amp;#39;&lt;/span> /opt/bitnami/postgresql/conf/pg_hba.conf
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 重新加载配置&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- pg_ctl reload
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="创建新数据库和用户">创建新数据库和用户&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- psql -U postgres
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>DROP DATABASE netbox;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>CREATE DATABASE netbox;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ALTER USER netbox WITH PASSWORD &lt;span style="color:#e6db74">&amp;#39;balabalabala&amp;#39;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ALTER DATABASE netbox OWNER TO netbox;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-- PostgreSQL &lt;span style="color:#ae81ff">15&lt;/span> 及以上版本需要
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">\c&lt;/span>onnect netbox;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>GRANT CREATE ON SCHEMA public TO netbox;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="恢复密码认证">恢复密码认证&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- sed -i &lt;span style="color:#e6db74">&amp;#39;s/^\([^#]*\)trust/\1md5/g&amp;#39;&lt;/span> /opt/bitnami/postgresql/conf/pg_hba.conf
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- pg_ctl reload
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="4-恢复数据库">4. 恢复数据库&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- sh -c &lt;span style="color:#e6db74">&amp;#34;PGPASSWORD=balabalabala psql -U netbox -d netbox &amp;lt; /tmp/netbox.sql&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description><content>&lt;p>本文记录了将 Netbox 从旧环境迁移到 k3s 集群的过程。&lt;/p>
&lt;h2 id="迁移步骤">迁移步骤&lt;/h2>
&lt;h3 id="1-备份数据库">1. 备份数据库&lt;/h3>
&lt;p>使用 &lt;code>pg_dump&lt;/code> 导出 Netbox 数据库，排除变更日志表以减小备份体积：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>pg_dump --username netbox --password --host localhost --exclude-table-data&lt;span style="color:#f92672">=&lt;/span>extras_objectchange netbox &amp;gt; netbox.sql
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="2-删除旧-pod">2. 删除旧 Pod&lt;/h3>
&lt;p>为了避免 Pod 竞争和锁定问题，先删除现有的 Netbox Pod：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl delete po netbox-68cbd8b854-2hvgp
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="3-修改-postgresql-认证方式">3. 修改 PostgreSQL 认证方式&lt;/h3>
&lt;h4 id="临时禁用密码认证">临时禁用密码认证&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 进入 PostgreSQL Pod&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- sed -ibak &lt;span style="color:#e6db74">&amp;#39;s/^\([^#]*\)md5/\1trust/g&amp;#39;&lt;/span> /opt/bitnami/postgresql/conf/pg_hba.conf
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 重新加载配置&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- pg_ctl reload
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="创建新数据库和用户">创建新数据库和用户&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- psql -U postgres
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>DROP DATABASE netbox;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>CREATE DATABASE netbox;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ALTER USER netbox WITH PASSWORD &lt;span style="color:#e6db74">&amp;#39;balabalabala&amp;#39;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ALTER DATABASE netbox OWNER TO netbox;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-- PostgreSQL &lt;span style="color:#ae81ff">15&lt;/span> 及以上版本需要
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">\c&lt;/span>onnect netbox;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>GRANT CREATE ON SCHEMA public TO netbox;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="恢复密码认证">恢复密码认证&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- sed -i &lt;span style="color:#e6db74">&amp;#39;s/^\([^#]*\)trust/\1md5/g&amp;#39;&lt;/span> /opt/bitnami/postgresql/conf/pg_hba.conf
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- pg_ctl reload
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="4-恢复数据库">4. 恢复数据库&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl exec -it netbox-postgresql-0 -- sh -c &lt;span style="color:#e6db74">&amp;#34;PGPASSWORD=balabalabala psql -U netbox -d netbox &amp;lt; /tmp/netbox.sql&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="参考资料">参考资料&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://netboxlabs.com/docs/netbox/en/stable/administration/replicating-netbox/">Netbox 官方文档 - 副本/备份&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://docs.bitnami.com/virtual-machine/infrastructure/postgresql/administration/change-reset-password/">Bitnami PostgreSQL - 更改密码&lt;/a>&lt;/li>
&lt;/ul></content></item></channel></rss>