Kubernetes Windows容器中的物理内存限制

vuktfyat  于 12个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(113)

我在Kubernetes上运行了一些Windows容器,在部署yaml文件中设置了以下内存请求和限制:

containers:
        - name: $$DEPLOYMENT_ALIAS$$$$APP_NAME$$
          image: $$DOCKER_IMAGE_NAME$$:$$DOCKER_IMAGE_VERSION$$
          imagePullPolicy: "Always"
          resources:
            requests:
              memory: "2Gi"
              cpu: "1"
            limits:
              memory: "3Gi"
              cpu: "1.5"

字符串
然而,所有的pod在达到1GB内存消耗时都会重新启动。
我发现了另一个问题,即使用Docker时,Windows容器在使用Hyper-V隔离模式时有1GB的内存限制:Docker windows container memory limit
这也适用于kubernetes中的容器吗?是否有其他原因导致内存请求/限制不适用于Windows容器?
观察:此项目使用Azure Kubernetes Service(AKS),我无法访问此层中的设置。

ckx4rj1h

ckx4rj1h1#

我遇到的问题是Visual Studio将默认的构建配置设置应用到我的应用程序中,这是Any CPU - 32-bit preferred。这使得构建与ARM兼容。
我将其更改为x64并将应用程序部署到Kubernetes,然后它能够消耗超过1GiB的RAM。我最初的想法是这不会解决问题,因为32位.NET应用程序应该能够消耗2GB的RAM,但最终,这是问题的原因。

相关问题