这台虚拟机上容器跑不起来,我改用原生二进制把接口中转跑起来
【摘要】 容器因内核拒绝创建命名空间而无法启动,改用原生二进制部署接口中转,并完成鉴权与模型列表验证的记录。
一开始的计划很顺:找个现成的容器镜像,把接口中转服务装起来,后面换模型、换配置都方便。结果第一步就卡住了——这台虚拟机的内核拒绝创建新的命名空间,容器根本起不来,换了几种启动方式都是同一个报错,容器这条路算是走死了。
当时有两个选择:要么换一台能跑容器的机器,要么放弃容器、直接跑官方提供的原生二进制。换机器成本高,还要重搭环境,我选了后者。原生二进制的好处是依赖少,解压就能跑;代价是原来指望容器隔离的那部分,得自己用启动脚本和目录权限补回来。
装完之后先做了两件验证:第一,服务起来后鉴权能不能通;第二,模型列表接口能不能正常返回。只有这两项都通了,这个中转才算真的立起来,而不是进程在跑、请求全失败的假活着。启动脚本也顺手写了一个,服务挂了重启机器后能自己恢复,不用每次手动再敲一遍启动命令。
也要老实交代短板:凭证目录到现在还是空的,还没登录任何一家模型厂商,所以服务虽然跑着,模型还用不上。这一步卡的不是技术,是登录方式——有的厂商回调要走本机端口,手机浏览器走不完流程,得在自己的电脑上登录后再把凭证传回来,这一步还没做。
回头看,这次折腾的教训就一条:部署方案要先看运行环境允不允许,而不是先看方案本身好不好。容器是好方案,但在这台机器上就是跑不起来,硬套只会浪费时间;先确认内核、权限这些硬约束,再选能落地的部署方式,反而是最省事的路。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)