国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【云主機 UHost】操作指南:[鏡像]自定義鏡像、使用Packer創建自定義鏡像并導入本地鏡像

Tecode / 2571人閱讀

摘要:云主機自定義鏡像制作鏡像選中要制作鏡像的主機,然后點擊制作鏡像按鈕。鏡像的適用機型限制傳承自改自定義鏡像的母鏡像。如下圖所示,通過在中集成等工具,制作包含各類軟件的不可變鏡像,供多云平臺的云主機等使用。

云主機UHost自定義鏡像

制作鏡像

選中要制作鏡像的主機,然后點擊制作鏡像按鈕。填寫鏡像名稱和描述,點擊確定即可創建鏡像。

輸入鏡像名稱和描述之后,點擊確定按鈕,即可生成該主機的鏡像,此時頁面即跳轉到鏡像管理頁面。

自制鏡像的價格和生成自制鏡像的原鏡像一致,例如,自制鏡像從UCloud提供的CentOS 6.5上創建,則使用該鏡像創建主機免費;若自制鏡像從鏡像市場的收費鏡像創建,則從該自制鏡像創建的主機仍然需要收取市場鏡像的費用。用戶的自制鏡像將為用戶長久保存在當前地域。

請確保制作自制鏡像前,不要修改系統的關鍵配置。例如網絡相關的配置信息。系統關鍵配置的修改可能會引起鏡像無法制作,或制作的鏡像無法啟動等一系列問題。

鏡像管理

支持修改用戶名,備注。

從鏡像創建主機

可從自定義鏡像創建新主機。

本可用區的鏡像只能創建本可用區的主機。若需跨可用區創建,請提交工單開通鏡像升級到地域級服務權限。

鏡像的適用機型限制傳承自改自定義鏡像的母鏡像。例如,該鏡像的母鏡像是Windows鏡像,則無法通過此鏡像創建1核的主機,也無法開啟網絡增強。

自定義鏡像配額

image.png

使用Packer創建自定義鏡像

注意: 使用 Packer 創建自定義鏡像的過程中會創建臨時資源,臨時資源會在構建結束后自動刪除,故需要耗費一定資費。

概述

Packer 是 Hashicorp 公司推出的自動化打包鏡像的輕量級開源工具,云廠商通過構建自己的 Builder 集成 Packer 中去,即可憑借單一配置文件,高效并行的為多云平臺創建一致性的鏡像。Packer 可以運行在常用的主流操作系統上,它不是 Chef、Puppet 等軟件的替代品,而是集成并使用這些自動化配置工具在鏡像上預裝軟件等。再配合 UCloud Terraform、UCloud CLI 等工具,可以在多云的DevOps場景下,實現基礎設施即代碼(IaC),持續集成和快速交付。

如下圖所示,Packer 通過在 Provisioner 中集成 Chef、Shell、Puppet 等工具,制作包含各類軟件的不可變鏡像,供多云平臺的云主機、Docker 等使用。
image.png

Packer與傳統控制臺創建鏡像的對比

image.png

Packer創建鏡像的生命周期

image.png

  1. 用戶通過構建JSON 模版,執行packer build 命令調用UCloud Builder;
  2. 參數提前校驗保證可用性;
  3. 創建云主機、EIP等相關臨時資源(若配置為內網環境則無需EIP);
  4. 通過SSH或 WinRM 等連接主機,執行 Provisioner 進程;
  5. 關閉云主機,并創建鏡像;
  6. 復制鏡像;
  7. 刪除主機、EIP等臨時資源;
  8. 執行后處理進程(如本地鏡像導入等)。

快速開始

相關鏈接

官方參考文檔地址

用于查詢 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 可以實現一鍵構建自定義鏡像。
image.png

使用Packer創建并導入本地鏡像

UCloud 通過對的 Packer 的集成,目前已支持一鍵導入自制的本地鏡像到 UCloud 云平臺中。

相關鏈接

鏡像導入官方參考文檔地址

用于查詢 UCloud import Post-Processors 的各種參數

Packer官方下載頁面

用于安裝 Packer

開源倉庫地址

歡迎為 UCloud Packer Builder 貢獻代碼

鏡像導入示例

下面將使用 Packer 制作并導入一個 CentOS 鏡像。如下圖所示:

image.png

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 可以實現一鍵創建并導入自定義鏡像。

實時文檔歡迎訪問https://docs.ucloud.cn/uhost/guide/image/common

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126077.html

相關文章

  • 概覽 主機 UHost

    摘要:概覽概覽產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與平臺訂單構成配額機型與規格特性特性熱升級磁盤鏡像網絡內網彈性外網監控購買指導計費模式配置變更續費回收快速上手常見注意事項創建第一臺主機操作指南常用操作導航主機網絡磁 概覽產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與CPU平臺訂單構成配額機型與規格特性特性熱升級 HotPlug磁盤鏡像網絡內網彈性外...

    ernest.wang 評論0 收藏774
  • 概覽 主機 UHost

    摘要:概覽概覽產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與平臺訂單構成配額機型與規格特性特性熱升級磁盤鏡像網絡內網彈性外網監控購買指導計費模式配置變更續費回收快速上手常見注意事項創建第一臺主機操作指南常用操作導航主機網絡磁 概覽產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與CPU平臺訂單構成配額機型與規格特性特性熱升級 HotPlug磁盤鏡像網絡內網彈性外...

    ernest.wang 評論0 收藏518
  • 使用Packer實現動化構建UCloud主機鏡像

    摘要:宋體為了解決此類問題,開發了相關代碼,并被自動化構建鏡像工具的官方倉庫所采納。宋體宋體可以運行在常用的主流操作系統上,它不是等軟件的替代品,而是集成并使用這些自動化配置工具在鏡像上預裝軟件等。背景 云主機是用戶使用最高頻的云產品之一。隨著云主機數量的增多,如何在云主機中保證版本化部署的一致性,成為用戶常見的難題。在現有情況下,用戶首先需要手動或使用腳本連接主機,然后再進行部署安裝,操作...

    zorpan 評論0 收藏0
  • 主機 UHost

    摘要:產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與平臺訂單構成配額機型與規格特性特性熱升級磁盤鏡像網絡內網彈性外網監控購買指導計費模式配置變更續費回收快速上手常見注意事項創建第一臺主機操作指南常用操作導航主機網絡磁盤鏡像自定產品簡介什么是云主機產品優勢功能簡介計費說明主機地域與可用區機型與CPU平臺訂單構成配額機型與規格特性特性熱升級 HotPlug磁盤鏡像網絡內網彈性外網I...

    ernest.wang 評論0 收藏518

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<