我正在尝试将包含ASP.NET Core Web API的docker容器部署到kubernetes集群,并且出现以下错误:
>kubectl logs myapp -p
It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.All', version '2.1.2' was not found.
- Check application dependencies and target a framework version installed at:
/usr/share/dotnet/
- Installing .NET Core prerequisites might help resolve this problem:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
- The .NET Core framework and SDK can be installed from:
https://aka.ms/dotnet-download
- The following versions are installed:
2.1.1 at [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
当我检查节点上的安装版本时,一切看起来都应该支持该容器:
yum info aspnetcore-runtime-2.1
Installed Packages
Name : aspnetcore-runtime-2.1
Arch : x86_64
Version : 2.1.2
Release : 1
Size : 71 M
Repo : installed
From repo : packages-microsoft-com-prod
Summary : Microsoft ASP.NET Core 2.1.2 Shared Framework
URL : https://www.asp.net/
License : Apache-2.0
Description : Shared Framework for hosting of Microsoft ASP.NET Core
: applications. It is open source, cross-platform and is supported
: by Microsoft. We hope you enjoy using it! If you do, please
: consider joining the active community of developers that are
: contributing to the project on GitHub
: (https://github.com/aspnet/home). We happily accept issues and
: PRs.
yum info dotnet-sdk-2.1
Installed Packages
Name : dotnet-sdk-2.1
Arch : x86_64
Version : 2.1.400
Release : 1
Size : 221 M
Repo : installed
From repo : packages-microsoft-com-prod
Summary : Microsoft .NET Core SDK 2.1.400 2.1.400
URL : https://github.com/dotnet/core
License : MIT
Description : .NET Core is a development platform that you can use to build
: command-line applications, microservices and modern websites. It
: is open source, cross-platform and is supported by Microsoft. We
: hope you enjoy using it! If you do, please consider joining the
: active community of developers that are contributing to the
: project on GitHub (https://github.com/dotnet/core). We happily
: accept issues and PRs.
即使文件夹结构(/usr/share/dotnet/shared/Microsoft.AspNetCore.All)也只有2.1.2子文件夹。
一切似乎都应该正常工作,但我仍然似乎缺少对较旧版本的引用。
答案 0 :(得分:1)
您的节点上安装了什么都没有关系,因为Kubernetes运行容器。您需要构建一个包含所有依赖项的Docker映像,并让pod运行该Docker映像。
让它在Docker中工作,将映像推送到Kubernetes集群可以访问的注册表,然后在pod中使用该映像。