Azure 上的 FreeBSD 简介
适用于:✔️ Linux VM ✔️ 灵活规模集
本文提供有关在 Azure 中运行 FreeBSD 虚拟机 (VM) 的概述。
概述
Azure FreeBSD 是一种高级的计算机操作系统,用于增强新式服务器、台式机和嵌入式平台的功能。
Azure 在 Azure 上提供预先配置了 Azure VM 来宾代理 的 FreeBSD 映像。 目前,以下 FreeBSD 版本由 Azure 以映像形式提供:
- Azure 市场中的 FreeBSD 10.4
- Azure 市场中的 FreeBSD 11.2
- Azure 市场中的 FreeBSD 11.3
- Azure 市场中的 FreeBSD 12.0
以下 FreeBSD 版本还包括 Azure VM 来宾代理。 它们由 FreeBSD Foundation 作为映像提供:
- Azure 市场中的 FreeBSD 11.4
- Azure 市场中的 FreeBSD 12.2
- Azure 市场中的 FreeBSD 13.0
为首次使用预配 VM(用户名、密码或 SSH 密钥、主机名)、为选择性 VM 扩展启用相关功能,以及执行类似操作时,该代理负责在 FreeBSD VM 和 Azure 结构之间进行通信。
至于未来版本的 FreeBSD,所采用的策略是始终进行更新,确保在 FreeBSD 版本工程团队发布最新版本后,用户很快就可以使用这些版本。
在 FreeBSD 上通过 Azure CLI 创建 FreeBSD VM
首先,需要通过以下命令在 FreeBSD 计算机上安装 Azure CLI:
curl -L https://aka.ms/InstallAzureCli | bash
如果 FreeBSD 计算机上未安装 bash,请在安装前运行以下命令:
sudo pkg install bash
如果 FreeBSD 计算机上未安装 Python,请在安装前运行以下命令:
sudo pkg install python38
cd /usr/local/bin
sudo rm /usr/local/bin/python
sudo ln -s /usr/local/bin/python3.8 /usr/local/bin/python
安装期间,系统将询问 Modify profile to update your $PATH and enable shell/tab completion now? (Y/n)
。 如果你回答 y
并将 /etc/rc.conf
输入为 a path to an rc file to update
,你可能会看到 ERROR: [Errno 13] Permission denied
。 为了解决该问题,应针对文件 etc/rc.conf
向当前用户授予写入权限。
现在可登录 Azure 并创建 FreeBSD VM。 下面的示例演示如何创建 FreeBSD 11.0 VM。 也可以为新创建的公共 IP 添加具有全局唯一 DNS 名称的 --public-ip-address-dns-name
参数。
注意
在可以在由世纪互联运营的 Microsoft Azure 中使用 Azure CLI 之前,请先运行 az cloud set -n AzureChinaCloud
来更改云环境。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud
。
az cloud set -n AzureChinaCloud
az login
az group create --name myResourceGroup --location chinaeast
az vm create --name myFreeBSD11 \
--resource-group myResourceGroup \
--image MicrosoftOSTC:FreeBSD:11.0:latest \
--admin-username azureuser \
--generate-ssh-keys
然后可通过上述部署输出中打印的 IP 地址登录到 FreeBSD VM。
ssh azureuser@xx.xx.xx.xx -i /etc/ssh/ssh_host_rsa_key
FreeBSD 的 VM 扩展
FreeBSD 支持以下 VM 扩展。
VMAccess
VMAccess 扩展可以:
- 重置原始 sudo 用户的密码。
- 创建新的 sudo 用户并指定密码。
- 使用给定的密钥设置公共主机密钥。
- 重置 VM 预配期间提供的公共主机密钥(如果未提供主机密钥)。
- 打开 SSH 端口 (22),如果
reset_ssh
设置为true
,则恢复sshd_config
。 - 删除现有用户。
- 检查磁盘。
- 修复添加的磁盘。
CustomScript
CustomScript 扩展可以:
- 从 Azure 存储或外部公共存储(例如 GitHub)下载自定义的脚本(如果已提供)。
- 运行入口点脚本。
- 支持内联命令。
- 自动转换 shell 和 Python 脚本中的 Windows 样式换行符。
- 自动删除 shell 和 Python 脚本中的 BOM。
- 保护
CommandToExecute
中的敏感数据。
注意
目前 FreeBSD VM 仅支持 CustomScript 1.x。
身份验证:用户名、密码和 SSH 密钥
使用 Azure 门户创建 FreeBSD VM 时,必须提供用户名、密码或 SSH 公钥。
用于在 Azure 上部署 FreeBSD VM 的用户名不得与 VM 中已存在的系统帐户(UID <100)的名称(例如“root”)匹配。
目前仅支持 RSA SSH 密钥。 多行 SSH 密钥必须以 ---- BEGIN SSH2 PUBLIC KEY ----
开头,以 ---- END SSH2 PUBLIC KEY ----
结尾。
获取超级用户特权
在 Azure 上部署 VM 实例的过程中指定的用户帐户是特权帐户。 sudo 的包已安装在所发布的 FreeBSD 映像中。
通过此用户帐户登录后,即可使用命令语法以 root 身份运行命令。
$ sudo <COMMAND>
可以选择使用 sudo -s
获取 root shell。
已知问题
Azure VM 来宾代理 2.2.2 存在已知问题,此问题会导致 Azure 上的 FreeBSD VM 预配失败。 Azure VM 来宾代理 2.2.3 及更高版本已修复此问题。
相关内容
- 转到 Azure 市场创建 FreeBSD VM。