K3s 无法下载镜像 failed to authorize/ failed to fetch anonymous token/ unexpected status/ 401 Unauthorized

我需要部署公司功能节点进行测试,考虑自己的 mac pro 内存很小只有 16g, k8s 运行需要大量内存,电脑可能要卡死。周边同学推荐装 k3s,它可以看作 k8s 的精简版,删除了 k8s 许多不需要的功能,消耗内存小,适合笔记本运行测试。

我通过 mulitupass 安装 k3s,教程,mulitupass 像个虚拟机,设置好内存和硬盘,里面安装k3s,我设置了的是 3g 内存。k3s 上通过 helm 拉取私有库的镜像,一直拉取失败,错误提示显示没有权限,“failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized”。

Failed to pull image "xxx.com/minideb:buster": rpc error: code = Unknown desc = failed to pull and unpack image "xx.com/minideb:buster.3.0.0": failed to resolve reference "xxx.com/minideb:buster.3.0.0": failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized

它的解决方法是设置私有库的登录密码,不过搞人的是 k3s 使用的 ctr 替代 docker 作为镜像拉取工具(可能是 ctr 更小吧),所以要设置 ctr 的登录密码。我本来以为设置 docker 的登录密码,下载了 docker,配置密码后还是存在该问题,耽搁了很久。

ctr --debug image pull -u 用户名:密码 --plain-http 镜像地址

此时镜像就下载成功了,k3s 重启 pod 就正常了。

总结,k3s 用起来还有其它的权限错误,比如命令要加 sudo,才能进行文件读写操作,我之前又怀疑是 sudo 问题,又怀疑是 docker 问题,花了一些时间。

### 解决Favicon.ico 401 Unauthorized问题 对于Web应用程序而言,当遇到`/favicon.ico`文件加载失败并返回401未授权错误时,通常是因为服务器端的安全设置阻止了对该资源的访问。针对不同框架和技术栈有不同的解决方案。 #### Vue.js中的处理方式 在Vue.js项目中,可以通过修改`vue.config.js`文件来指定`favicon.ico`的位置,并确保其被正确打包和引用[^2]: ```javascript module.exports = { pages: { index: { entry: &#39;src/index.js&#39;, template: &#39;src/index.html&#39;, filename: &#39;index.html&#39;, favicon: &#39;./public/favicon.ico&#39; } } } ``` 此配置使得构建过程能够识别并处理图标文件,从而避免因权限不足而导致的401错误。 #### Django项目的调整方法 对于Django应用来说,在静态文件夹内放置好`favicon.ico`之后,还需要更新HTML头部信息以指向正确的路径[^3]: ```html {% load static %} <link rel="shortcut icon" href="{% static &#39;images/favicon.ico&#39; %}" /> ``` 通过这种方式,浏览器请求该图标时会被导向至已知安全区域内的位置,防止触发认证机制而造成拒绝访问的情况发生。 #### Spring Boot环境下的优化措施 如果是在Spring Boot环境下遇到了此类情况,则可能需要考虑使用拦截器排除掉对`/favicon.ico`路径的鉴权操作或是直接允许匿名用户获取这一特定资源[^4]。可以在配置类中加入如下代码片段实现这一点: ```java @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/favicon.ico").permitAll() // 允许所有人访问favicon.ico ... } ``` 这样做可以让未经身份验证的客户端也能顺利取得网站标志图像而不受阻碍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值