【问题标题】:Azure App Service : deployment using pipelines: EnvironmentError: [Errno 28] No space left on deviceAzure App Service:使用管道部署:EnvironmentError: [Errno 28] No space left on device
【发布时间】:2020-10-21 21:29:19
【问题描述】:

简介

您好,我在 Azure 应用服务上部署 Python-Flask 应用程序已有数月时间。

今天我在 Microsoft DevOps 上运行管道时收到以下错误消息:

错误:由于 EnvironmentError 无法安装软件包:[Errno 28] 设备上没有剩余空间:'/tmp/8d876019152941b/antenv/lib/python3.8/site-packages/numpy-1.18.1 .dist-info'

我在存储在同一计划中的其他应用程序上遇到错误。我的所有应用都无法再更新了

我做了什么

我创建了一个新应用并部署了相同的代码。 我得到了同样的错误:

从以前的 zip 部署中清理临时文件夹并将推送的 zip 文件 /tmp/zipdeploy/REDACTED.zip (246.59 MB) 提取到 /tmp/zipdeploy/extracted

设备上没有剩余空间

##[错误]未能将 Web 包部署到应用服务。

计划规定我的阈值配额是 10 Gb,我使用了 936Mb 或 9% 的配额!

通过 Kundu Bash 使用“df-h”

> Filesystem   Size   Used Avail Use%   Mounted on
> none         29G    27G  0     100%   /
> tmpfs        64M     0   64M   0%     /dev
> tmpfs        953M     0  953M  0%     /sys/fs/cgroup
> shm          62M     0   62M   0%     /dev/shm
> //REDACTED/  1000G  9.7G 991G  1% /home
> /dev/sda1    27G    8.6G 18G   34%    /appsvctmp
> /dev/loop6p1 29G    27G  0     100%   /etc/hosts
> udev 920M    0      920M       0%     /dev/tty
> tmpfs 953M   0      953M       0%     /proc/acpi
> tmpfs 953M   0      953M       0%     /proc/scsi
> tmpfs 953M   0      953M       0%     /sys/firmware 

问题

我应该怎么做才能再次工作?

我无法访问 /dev/loop6p1 目录(它是什么?)并删除文件

Azure 管道日志

> 2020-10-21 ##[section]Starting: Deploy Azure Web App : www.alt-f1.be
> 2020-10-21 ==============================================================================
> 2020-10-21 Task         : Azure Web App
> 2020-10-21 Description  : Deploy an Azure Web App for Linux or Windows
> 2020-10-21 Version      : 1.168.3
> 2020-10-21 Author       : Microsoft Corporation
> 2020-10-21 Help         : https://aka.ms/azurewebapptroubleshooting
> 2020-10-21 ==============================================================================
> 2020-10-21 Got service connection details for Azure App Service:'www.alt-f1.be'
> 2020-10-21 Package deployment using ZIP Deploy initiated.
> 2020-10-21 Updating submodules.
> 2020-10-21 Preparing deployment for commit id '1ea14e5515'.
> 2020-10-21 Repository path is /tmp/zipdeploy/extracted
> 2020-10-21 Running oryx build...
> 2020-10-21 Command: oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform python --platform-version 3.8 -i /tmp/8d876019152941b -p compress_virtualenv=tar-gz -p virtualenv_name=antenv --log-file /tmp/build-debug.log 
> 2020-10-21 Operation performed by Microsoft Oryx, https://github.com/Microsoft/Oryx
> 2020-10-21 You can report issues at https://github.com/Microsoft/Oryx/issues
> 2020-10-21 
> 2020-10-21 Oryx Version: 0.2.20200917.1, Commit: 59deb778658a124cb74ea8e2c8f39fa87abcc9d9, ReleaseTagName: 20200917.1
> 2020-10-21 
> 2020-10-21 Build Operation ID: |18pOsx/PQ8Y=.d0555319_
> 2020-10-21 Repository Commit : 1ea14e5515974a80bdcdc28eac749d4f
> 2020-10-21 
> 2020-10-21 Detecting platforms...
> 2020-10-21 Detected following platforms:
> 2020-10-21   nodejs: 12.18.3
> 2020-10-21   python: 3.8.5
> 2020-10-21 
> 2020-10-21 Using intermediate directory '/tmp/8d876019152941b'.
> 2020-10-21 
> 2020-10-21 Copying files to the intermediate directory...
> 2020-10-21 Done in 6 sec(s).
> 2020-10-21 
> 2020-10-21 Source directory     : /tmp/8d876019152941b
> 2020-10-21 Destination directory: /home/site/wwwroot
> 2020-10-21 
> 2020-10-21 Python Version: /opt/python/3.8.5/bin/python3.8
> 2020-10-21 Python Virtual Environment: antenv
> 2020-10-21 Creating virtual environment...
> 2020-10-21 Activating virtual environment...
> 2020-10-21 Running pip install...
> 2020-10-21 [20:41:33+0000] Collecting altf1be_helpers==2.1.4
> 2020-10-21 [20:41:33+0000]   Downloading altf1be_helpers-2.1.4-py2.py3-none-any.whl (14 kB)
...

> 2020-10-21 [20:44:13+0000] Installing collected packages: numpy, six, python-dateutil, pytz, pandas, certifi, urllib3, idna, chardet, requests, isodate, oauthlib, requests-oauthlib, msrest, azure-core, pycparser, cffi, cryptography, azure-storage-blob, Unidecode, altf1be-helpers, attrs, Babel, pyparsing, packaging, > webencodings, bleach, cachelib, click, dash-core-components, dash-html-components, dash-table, MarkupSafe, Jinja2, Werkzeug, itsdangerous, Flask, brotli, Flask-Compress, retrying, plotly, dash-renderer, future, dash, docopt, docutils, Flask-Babel, Flask-Session, SQLAlchemy, Flask-SQLAlchemy, gunicorn, zipp, importlib-metadata, jeepney, > SecretStorage, keyring, more-itertools, yarg, pipreqs, pkginfo, pluggy, py, Pygments, pyodbc, pyopenssl, wcwidth, pytest, python-dotenv, readme-renderer, requests-toolbelt, starkbank-ecdsa, python-http-client, sendgrid, tqdm, twine, WTForms, xlrd, XlsxWriter
> 2020-10-21 ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device: '/tmp/8d876019152941b/antenv/lib/python3.8/site-packages/numpy-1.18.1.dist-info'
> 2020-10-21 
> 2020-10-21 WARNING: You are using pip version 20.1.1; however, version 20.2.4 is available.
> 2020-10-21 You should consider upgrading via the '/tmp/8d876019152941b/antenv/bin/python -m pip install --upgrade pip' command.
> 2020-10-21 ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device: '/tmp/8d876019152941b/antenv/lib/python3.8/site-packages/numpy-1.18.1.dist-info'\n\nWARNING: You are using pip version 20.1.1; however, version 20.2.4 is available.\nYou should consider upgrading via the '/tmp/> 8d876019152941b/antenv/bin/python -m pip install --upgrade pip' command.\n/opt/Kudu/Scripts/starter.sh oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform python --platform-version 3.8 -i /tmp/8d876019152941b -p compress_virtualenv=tar-gz -p virtualenv_name=antenv --log-file /tmp/build-debug.log 
> 2020-10-21 ##[error]Failed to deploy web package to App Service.
> 2020-10-21 ##[error]To debug further please check Kudu stack trace URL : https://$www.alt-f1.be:***@www.alt-f1.be.scm.azurewebsites.net/api/vfs/LogFiles/kudu/trace
> 2020-10-21 ##[error]Error: Package deployment using ZIP Deploy failed. Refer logs for more details.
> 2020-10-21 Successfully updated deployment History at https://www.alt-f1.be.scm.azurewebsites.net/api/deployments/2571603313079929
> 2020-10-21 App Service Application URL: https://www.alt-f1.be.azurewebsites.net
> 2020-10-21 ##[section]Finishing: Deploy Azure Web App : www.alt-f1.be

结论

我的计划完全被阻止了。我无法再部署任何版本的代码了。

【问题讨论】:

  • 您使用的是哪一层?是 Windows 还是 Linux 计划?
  • 我在你的部署日志中看到Running pip install,这让我有点困惑,可能我对python不太了解。那么您介意分享一下您的发布管道是如何配置的吗?
  • @KrzysztofMadej 我使用 B1 计划
  • @LeoLiu-MSFT 运行 pip install 就像运行 Nuget :您需要安装依赖项,否则应用程序会严重崩溃;-)
  • @Abdelkrim,Microsoft 托管的代理为您的源和构建输出提供 10 GB 的存储空间 -docs.microsoft.com/en-us/azure/devops/pipelines/agents/… Azure 应用服务计划下的所有 WebApp 共享资源。

标签: azure-devops azure-web-app-service azure-pipelines-release-pipeline azure-app-service-plans


【解决方案1】:

@Abdelkrim,Microsoft 托管的代理为您的源和构建输出提供 10 GB 的存储空间 - here - Azure 应用服务计划下的所有 WebApp 共享资源。

如果您的源代码和构建输出超过 10GB,我建议您使用 自托管代理 运行您的构建。对于 python 存储问题,您可以尝试使用以下命令清除缓存一次,看看是否有帮助。 --> pip install --no-cache-dir tensorflow-gpu

也只是为了隔离,hitting the temp 的错误可能是(在您的表中显示 100% 的使用率) - 这是一个与您的磁盘空间分开的分区。它用于 docker 操作,例如在处理过程中需要一个临时目录来卸载文件的解包/写入。 -当使用集成管道时,它会通过不支持超过2 GB content-length的webengine代码。

关于驱动器访问:- 看起来您正在查看应用服务计划存储空间与托管代理的限制。此外,应用服务中的 Linux 应用在它们自己的容器中运行。不允许访问主机操作系统,您对容器具有 root 访问权限。同样,对于在 Windows 容器中运行的应用程序,您拥有容器的管理权限,但无法访问主机操作系统。

>

【讨论】:

  • 亲爱的@ajaykumar-msft 我明白你在说什么,但这是 Azure 架构中的一个错误!我无法在我的 B1 计划中部署更多应用程序!你能把问题上报吗?
  • 亲爱的@ajaykumar-msft 为什么要在我的项目中安装 tensorflow-gpu?同样,微软认为我需要安装与我的业务无关的库,这太疯狂了
  • 对这里的任何混淆表示歉意。我在评论部分分享了更多细节。我在 B1 计划上尝试过类似的部署,这很好。您已声明您已部署新应用程序,请确认它是在新的 B1 应用程序服务计划中还是在现有的 B1 计划中。只是为了隔离,如果可行,请放大到标准计划 S1,然后尝试(测试后,您可以立即缩小到 B1)。
  • 如本文所述 - 如果您使用“df”,您看到的磁盘空间不会反映该配额 - techcommunity.microsoft.com/t5/apps-on-azure/… 此外,您可以通过以下方式在门户中查看您的限制和使用情况应用服务刀片的“诊断和解决问题”部分,选择“最佳实践”、“可用性、性能的最佳实践”,然后选择“工作人员的临时文件使用情况”。请注意,显示的使用量和限制是针对每个工作人员的,并且是在同一应用服务计划中的所有应用中汇总的。
  • @ajakumar-msft 我已将我的“应用服务”转移到另一个 B1 计划中。现在它又可以工作了,因为计划中只有一个应用程序。但是现在,我支付了一个新计划,因为之前的计划无法正常运行!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 2019-01-30
  • 2016-10-05
  • 2020-08-14
  • 1970-01-01
  • 2016-11-28
  • 2020-04-02
相关资源
最近更新 更多