猿问

部署 ASP.NET Core 2.1.2 容器结果“未找到指定的框架

我正在尝试将包含我的 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

甚至文件夹结构 (/usr/share/dotnet/shared/Microsoft.AspNetCore.All) 也只有 2.1.2 子文件夹。


一切看起来都应该有效,但我似乎仍然缺少对旧版本的引用。


海绵宝宝撒
浏览 448回答 1
1回答

POPMUISE

节点上安装了什么并不重要,因为 Kubernetes 运行容器。您需要构建一个包含所有依赖项的 Docker 镜像,并让 pod 运行该 Docker 镜像。让它在 Docker 中工作,将映像推送到 Kubernetes 集群可以访问它的注册表,然后在您的 pod 中使用该映像。
随时随地看视频慕课网APP
我要回答