摘要:云主機自定義鏡像制作鏡像選中要制作鏡像的主機,然后點擊制作鏡像按鈕。鏡像的適用機型限制傳承自改自定義鏡像的母鏡像。如下圖所示,通過在中集成等工具,制作包含各類軟件的不可變鏡像,供多云平臺的云主機等使用。
制作鏡像
選中要制作鏡像的主機,然后點擊制作鏡像按鈕。填寫鏡像名稱和描述,點擊確定即可創建鏡像。
輸入鏡像名稱和描述之后,點擊確定按鈕,即可生成該主機的鏡像,此時頁面即跳轉到鏡像管理頁面。
自制鏡像的價格和生成自制鏡像的原鏡像一致,例如,自制鏡像從UCloud提供的CentOS 6.5上創建,則使用該鏡像創建主機免費;若自制鏡像從鏡像市場的收費鏡像創建,則從該自制鏡像創建的主機仍然需要收取市場鏡像的費用。用戶的自制鏡像將為用戶長久保存在當前地域。
請確保制作自制鏡像前,不要修改系統的關鍵配置。例如網絡相關的配置信息。系統關鍵配置的修改可能會引起鏡像無法制作,或制作的鏡像無法啟動等一系列問題。
鏡像管理
支持修改用戶名,備注。
從鏡像創建主機
可從自定義鏡像創建新主機。
本可用區的鏡像只能創建本可用區的主機。若需跨可用區創建,請提交工單開通鏡像升級到地域級服務權限。
鏡像的適用機型限制傳承自改自定義鏡像的母鏡像。例如,該鏡像的母鏡像是Windows鏡像,則無法通過此鏡像創建1核的主機,也無法開啟網絡增強。
自定義鏡像配額
注意: 使用 Packer 創建自定義鏡像的過程中會創建臨時資源,臨時資源會在構建結束后自動刪除,故需要耗費一定資費。
概述
Packer 是 Hashicorp 公司推出的自動化打包鏡像的輕量級開源工具,云廠商通過構建自己的 Builder 集成 Packer 中去,即可憑借單一配置文件,高效并行的為多云平臺創建一致性的鏡像。Packer 可以運行在常用的主流操作系統上,它不是 Chef、Puppet 等軟件的替代品,而是集成并使用這些自動化配置工具在鏡像上預裝軟件等。再配合 UCloud Terraform、UCloud CLI 等工具,可以在多云的DevOps場景下,實現基礎設施即代碼(IaC),持續集成和快速交付。
如下圖所示,Packer 通過在 Provisioner 中集成 Chef、Shell、Puppet 等工具,制作包含各類軟件的不可變鏡像,供多云平臺的云主機、Docker 等使用。
Packer與傳統控制臺創建鏡像的對比
Packer創建鏡像的生命周期
快速開始
相關鏈接
用于查詢 UCloud Packer Builder 的各種參數
用于安裝 Packer
歡迎為 UCloud Packer Builder 貢獻代碼
環境配置
安裝 Packer
參照官方安裝文檔安裝 Packer
安裝 Cloud CLI 工具(非必要,便于查詢基礎鏡像等信息)
安裝 Terraform(非必要,便于使用 packer制作的鏡像進行資源編排)
配置默認用戶
設置密鑰 UCLOUD_PUBLIC_KEY , UCLOUD_PRIVATE_ KEY 并設置項目ID UCLOUD_PROJECT_ID 為全局環境變量(推薦),或在 json 文件中顯式指定 public_key、 private_key、 project_id。
編寫 JSON 文件
讓我們以構建一個安裝了 nginx 的自定義鏡像為例。首先創建一個干凈的空文件夾作為工作區,并且切換到該目錄下,編寫一個 JSON 規格文件(eg:test.json),如下:
{
"variables": {
"ucloud_public_key": "{{env `UCLOUD_PUBLIC_KEY`}}"
"ucloud_private_key": "{{env `UCLOUD_PRIVATE_KEY`}}"
"ucloud_project_id": "{{env `UCLOUD_PROJECT_ID`}}"
}
"builders": [
{
"type": "ucloud-uhost"
"public_key": "{{user `ucloud_public_key`}}"
"private_key": "{{user `ucloud_private_key`}}"
"project_id": "{{user `ucloud_project_id`}}"
"region": "cn-bj2"
"availability_zone": "cn-bj2-02"
"instance_type": "n-basic-2"
"source_image_id": "uimage-f1chxn"
"ssh_username": "root"
"image_name": "packer-test-basic-bj"
}
]
"provisioners": [
{
"type": "shell"
"inline": [
"yum install -y nginx"
]
}
]
}
如上定義了一個 ucloud-uhost Builders 構建器 和一個provisioners配置器 ,通過執行命令 packer build test.json 可以實現一鍵構建自定義鏡像。
UCloud 通過對的 Packer 的集成,目前已支持一鍵導入自制的本地鏡像到 UCloud 云平臺中。
相關鏈接
用于查詢 UCloud import Post-Processors 的各種參數
用于安裝 Packer
歡迎為 UCloud Packer Builder 貢獻代碼
鏡像導入示例
下面將使用 Packer 制作并導入一個 CentOS 鏡像。如下圖所示:
Packer 首先利用 QEMU Builder 制作了一個 RAW 鏡像,存放在本地配置的目錄下,之后利用 ucloud-import Post-Processors 后處理器 將本地的鏡像存放到用戶配置的 UFile 中,并自動化導入到 UCloud 云平臺中。
環境配置
安裝 Packer
參照官方安裝文檔安裝 Packer
配置默認用戶
設置密鑰 UCLOUD_PUBLIC_KEY UCLOUD_PRIVATE_ KEY 并設置項目ID UCLOUD_PROJECT_ID 為全局環境變量(推薦),或在 json 文件中顯式指定 public_key、 private_key、 project_id。
安裝QEMU
參照官方安裝文檔 其中使用命令行安裝,MacOS: brew install qemu CentOs: yum install qemu-kvm Ubuntu: apt-get install qemu
創建一個 UFile 的 bucket 空間
參照官方文檔
編寫 JSON 文件
讓我們基于 MacOs 系統使用 QEMU 創建并導入一個 CentOS 6.10 的自定義鏡像為例,示例鏈接。首先創建一個干凈的空文件夾作為工作區,并且切換到該目錄下,編寫一個 JSON 規格文件(eg:local.json),如下 :
{"variables": {
"ucloud_public_key": "{{env `UCLOUD_PUBLIC_KEY`}}"
"ucloud_private_key": "{{env `UCLOUD_PRIVATE_KEY`}}"
"ucloud_project_id": "{{env `UCLOUD_PROJECT_ID`}}"
"disk_size": "4096"
"iso_checksum": "0da4a1206e7642906e33c0f155d2f835"
"iso_checksum_type": "md5"
"iso_name": "CentOS-6.10-x86_64-minimal.iso"
"ks_path": "centos-6.10/ks.cfg"
"mirror": "http://mirrors.ustc.edu.cn/centos"
"mirror_directory": "6.10/isos/x86_64"
"template": "centos-6.10-x86_64"
}
"builders":[
{
"type": "qemu"
"boot_command": [
" text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `ks_path`}}"
]
"boot_wait": "10s"
"disk_size": "{{user `disk_size`}}"
"http_directory": "http"
"iso_checksum": "{{user `iso_checksum`}}"
"iso_checksum_type": "{{user `iso_checksum_type`}}"
"iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}"
"output_directory": "packer-{{user `template`}}-qemu"
"shutdown_command": "echo packer|sudo -S shutdown -P now"
"ssh_password": "ucloud_packer"
"ssh_port": 22
"ssh_username": "root"
"ssh_timeout": "10000s"
"vm_name": "{{ user `template` }}.raw"
"net_device": "virtio-net"
"disk_interface": "virtio"
"format": "raw"
"use_default_display": "false"
"qemuargs": [
["-display" "cocoa"]
]
}
]
"post-processors":[
{
"type":"ucloud-import"
"public_key": "{{user `ucloud_public_key`}}"
"private_key": "{{user `ucloud_private_key`}}"
"project_id": "{{user `ucloud_project_id`}}"
"region":"cn-bj2"
"ufile_bucket_name": "packer-test"
"image_name": "packer_import_test"
"image_os_type": "CentOS"
"image_os_name": "CentOS 6.10 64位"
"format": "raw"
}
]
}
如上定義了一個 qemu Builder 構建器 和一個 ucloud-import Post-Processors 后處理器,其中配置了UFile bucket name 等信息。
編寫 Kickstart 文件
根據如上 JSON 文件 QEMU 中配置的 http_directory 和 boot_command,則需要 JSON 文件目錄下創建一個 ./http/centos-6.10/ 目錄用來存放 Kickstart 文件即 ks.cfg 如下:(Kickstart參考文檔)
install
cdrom
lang en_US.UTF-8
keyboard us
network --bootproto=dhcp
rootpw ucloud_packer
firewall --disabled
selinux --permissive
timezone UTC
unsupported_hardware
bootloader --location=mbr
text
skipx
zerombr
clearpart --all
autopart
auth --enableshadow --passalgo=sha512
firstboot --disabled
reboot
%packages --nobase --ignoremissing
sudo
gcc
make
%end
執行命令行
通過執行命令 packer build local.json 可以實現一鍵創建并導入自定義鏡像。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126077.html
摘要:概覽概覽產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與平臺訂單構成配額機型與規格特性特性熱升級磁盤鏡像網絡內網彈性外網監控購買指導計費模式配置變更續費回收快速上手常見注意事項創建第一臺主機操作指南常用操作導航主機網絡磁 概覽產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與CPU平臺訂單構成配額機型與規格特性特性熱升級 HotPlug磁盤鏡像網絡內網彈性外...
摘要:概覽概覽產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與平臺訂單構成配額機型與規格特性特性熱升級磁盤鏡像網絡內網彈性外網監控購買指導計費模式配置變更續費回收快速上手常見注意事項創建第一臺主機操作指南常用操作導航主機網絡磁 概覽產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與CPU平臺訂單構成配額機型與規格特性特性熱升級 HotPlug磁盤鏡像網絡內網彈性外...
摘要:宋體為了解決此類問題,開發了相關代碼,并被自動化構建鏡像工具的官方倉庫所采納。宋體宋體可以運行在常用的主流操作系統上,它不是等軟件的替代品,而是集成并使用這些自動化配置工具在鏡像上預裝軟件等。背景 云主機是用戶使用最高頻的云產品之一。隨著云主機數量的增多,如何在云主機中保證版本化部署的一致性,成為用戶常見的難題。在現有情況下,用戶首先需要手動或使用腳本連接主機,然后再進行部署安裝,操作...
摘要:產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與平臺訂單構成配額機型與規格特性特性熱升級磁盤鏡像網絡內網彈性外網監控購買指導計費模式配置變更續費回收快速上手常見注意事項創建第一臺主機操作指南常用操作導航主機網絡磁盤鏡像自定產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與CPU平臺訂單構成配額機型與規格特性特性熱升級 HotPlug磁盤鏡像網絡內網彈性外網I...
閱讀 3514·2023-04-25 20:09
閱讀 3720·2022-06-28 19:00
閱讀 3035·2022-06-28 19:00
閱讀 3058·2022-06-28 19:00
閱讀 3131·2022-06-28 19:00
閱讀 2859·2022-06-28 19:00
閱讀 3014·2022-06-28 19:00
閱讀 2610·2022-06-28 19:00