新版本的TrueNAS SCALE放弃了原来的K3S方案,转而采用基本的Docker服务。
默认状态下,TrueNAS在升级后会自动运行迁移脚本,但是由于网络连接问题,这个迁移大概率会失败,因为无法访问到DockerHub的官方registry。
首先这个问题可以在升级前,进入TrueNAS的Web管理页面,网络→全局配置→HTTP代理,设置正确的境外代理,即可访问官方registry。
如果已经升级了,可以在按照前述步骤添加了代理后,在命令行中运行TrueNAS官方提供的手动迁移脚本:”midclt call -job k8s_to_docker.migrate poolname”,其中poolname需要替换成你的池名称。
有时,可能因为某种原因,尽管采用了代理,但是在访问官方镜像时,会出现”Client.Timeout exceeded while awaiting headers”之类的网络连接错误,那么就需要尝试使用registry镜像了。
TrueNAS SCALE添加registry镜像的方法和一般Linux发行版没什么区别。即修改/etc/docker/daemon.json配置文件。
在该文件中的{}中添加:”registry-mirrors”: [“registry-mirror-url”],其中registry-mirror-url即为镜像地址,需要注意该地址需要添加https://或http://前缀。修改daemon.json文件应当符合JSON格式。
修改完成后在命令行执行sudo systemctl daemon-reload和sudo systemctl docker restart,并重新尝试迁移脚本或在应用页面尝试启动应用即可。