我有一个在Kubernetes上的容器中运行的ASP.NET核心控制台应用程序。在deployment.yaml中,我设置了环境变量:
env:
- name: "ASPNETCORE_ENVIRONMENT"
value: "Development"
在控制台应用程序中,我具有以下代码:
static void Main(string[] args)
{
Console.WriteLine("Env: " + Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"));
}
但是ASPNETCORE_ENVIRONMENT为空,如何获取已配置的环境变量?我在核心webapi项目中使用了相同的步骤,并在其中获得了如下变量:
public Startup(IHostingEnvironment env)
{
env.EnvironmentName
}
这在核心webapi中有效,但控制台应用程序中没有IHostingEnvironment。
最佳答案
我们使用此模板在我们的Kubernetes集群中运行ASP.NET Core App:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
namespace: <namespace>
name: <application name>
spec:
replicas: 1
minReadySeconds: 15
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
template:
metadata:
labels:
app: <app-label>
spec:
containers:
- name: <container-name>
image: <image-name>
ports:
- containerPort: 80
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Release"
关于asp.net-core - 在容器的核心控制台应用程序中获取ASPNETCORE_ENVIRONMENT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58236296/