久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何通過API創建云服務器

186次閱讀
沒有評論

共計 11790 個字符,預計需要花費 30 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下如何通過 API 創建云服務器,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

通過 API 創建云服務器的 9 個步驟(以指定鏡像方式創建云服務器為例)步驟一:確定待創建云服務器所在的可用區。

1、查詢可用區。

(1)接口相關信息

URI 格式:GET /v2.1/{project_id}/os-availability-zone

(2)請求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-availability-zone

(3)響應示例

 {
  availabilityZoneInfo : [
 {
  hosts : null,
  zoneState : {
  available : true
 },
  zoneName : zone_01  
 },
 {
  hosts : null,
  zoneState : {
  available : true
 },
  zoneName :  zone_01  
 }
 ]
}

2、根據實際需要選擇可用區,并記錄可用區的 zoneName。

步驟二:確定待創建云服務器的規格。

1、查詢云服務器規格信息。

(1)接口相關信息

URI 格式:GET/v2.1/{project_id}/flavors/detail{?minDisk,minRam,is_public,sort_key,sort_dir}

其中,“?”后的字段為查詢規格時可選的查詢檢索參數。

(2)請求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/flavors/detail

(3)響應示例

{
  flavors : [
 {
  name :  c1.2xlarge ,
  links : [
 {
  href :  https://xxx/v2.1/74610f3a5ad941998e91f076297ecf27/flavors/c1.2xlarge ,
  rel :  self 
 },
 {
  href :  https://xxx/74610f3a5ad941998e91f076297ecf27/flavors/c1.2xlarge ,
  rel :  bookmark 
 }
 ],
  ram : 8192,
  OS-FLV-DISABLED:disabled : false,
  vcpus : 8,
  swap :  ,
  os-flavor-access:is_public : true,
  rxtx_factor : 1,
  OS-FLV-EXT-DATA:ephemeral : 0,
  disk : 0,
  id :  c1.2xlarge 
 }
}

2、根據實際需要選擇規格,并記錄規格的 ID。

步驟三:確定待創建云服務器使用的鏡像。

1、查詢鏡像。

(1)接口相關信息

URI 格式:GET /v2.1/{project_id}/images/detail

(2)請求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/images/detail

(3)響應示例

{
  images : [
 {
  OS-EXT-IMG-SIZE:size : 0,
  metadata : {
  __os_type :  Linux ,
  hw_vif_multiqueue_enabled :  true ,
  __imagetype :  gold ,
  __quick_start :  true ,
  virtual_env_type :  FusionCompute ,
  __support_xen :  true ,
  __support_kvm :  true ,
  __image_source_type :  uds ,
  __platform :  EulerOS ,
  __os_version :  EulerOS 2.2 64bit ,
  __os_bit :  64 ,
  __isregistered :  false 
 },
  created :  2018-05-14T06:13:50Z ,
  minRam : 0,
  name :  DBS-MySQL-Image_2.1.3.3 ,
  progress : 100,
  links : [
 {
  rel :  self ,
  href :  https://None/v2.1/74610f3a5ad941998e91f076297ecf27/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4 
 },
 {
  rel :  bookmark ,
  href :  https://None/74610f3a5ad941998e91f076297ecf27/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4 
 },
 {
  rel :  alternate ,
  href :  https://None/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4 ,
  type :  application/vnd.openstack.image 
 }
 ],
  id :  11e8f727-d439-4ed1-b3b8-33f46c0379c4 ,
  updated :  2018-05-14T06:13:52Z ,
  minDisk : 40,
  status :  ACTIVE 
 }
 ]
}

2、根據需要選擇鏡像,并記錄鏡像 ID。

步驟四:確定云服務器的網絡信息。

1、查詢網絡。

(1)接口相關信息

URI 格式:GET /v2.1/{project_id}/os-networks

(2)請求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-networks

(3)響應示例

{
  networks : [
 {
  id :  07a9557d-4256-48ae-847c-415a9c8f7ff6 ,
  label :  b_tt3_td1b ,
  broadcast : null,
  cidr : null,
  dns1 : null,
  dns2 : null,
  gateway : null,
  netmask : null,
  cidr_v6 : null,
  gateway_v6 : null,
  netmask_v6 : null
 }
 ]
}

2、根據需要選擇網絡,并記錄網絡 ID。

步驟五:設置密鑰對登錄方式。

如需設置為密碼登錄方式,請直接跳轉至步驟七。

1、創建密鑰對。

(1)接口相關信息

URI 格式:POST /v2.1/{project_id}/os-keypairs

(2)請求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-keypairs

Body:

{
  keypair : {
  type :  ssh ,
  name :  demo1 ,
  user_id :  fake 
 }
}

(3)響應示例

{
  keypair : {
  public_key :  ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrR5Gcwlh6ih7JOvzIUuQxS5qzWWPMYHeDXkDKSQ9W5pumOV05SiO3WCswnaQ5xMdOl31mNiHtwlwq9dJi7X6jJBB2shTD+00G5WuwkBbFU4CLvt1B44u0NUiaTJ35NAvW2/4XvpXm9OwiQ3B5ge6ZY7Esi38Unh+pkbhPkYxNBCK8yoOlojQhWs75abdxZBi811/8RwLcNiFiocA2RGxtRjBdpEScj+1TU+OcfZdQnr0AFbO11z7yxfIygwwzVTgUuJNbMbKHStQqRbklfMlHY4RBPQgb7RN/YaXKTQSXT84k+D9xlDNo7Wj4fwOJTOz/s/PvbIOqjRHt9D6Y4IKd Generated-by-Nova\n ,
  private_key :  -----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAq0eRnMJYeYoeyTr8yFLkMUuas1ljzGB3g15AykkPVuabpjld\nOUojt1grMJ2kOcTHTpd9ZjYh7cJcKvXSYu1+oyQQdrIUw/tNBuVrsJAWxVOAi77d\nQeOLtDVImkyd+TQL1tv+F76V5vTsIkNweYHumWOxLIt/FJ4fqZG4T5GMTQQivMqD\npaI0IVrO+Wm3cWQYvNdf/EcC3DYhYqHANkRsbUYwXaREnI/tU1PjnH2XUJ69ABWz\ntdc+8sXyMoMMM1U4FLiTWzGyh0rUKkW5JXzJR2OEQT0IG+0Tf2Glyk0El0/OJPg/\ncZQzaO1o+H8DiUzs/7Pz72yDqo0R7fQ+mOCCnQIDAQABAoIBAA6/c9dGmK2mae4z\nyQ5KrOFdvC1TNhej+sZx+CwyzEJUSvSuHcvQCXFBAz8FY92hhvPKcX66jINXZ+4/\nCmWAQ5YyhcRiow0Y91HvsS0bywoknX3q6kxBFodmyyCWFkgd5iMTADb1Lx0a27Y7\njlS4Dl5gyiGmxUN2Ng24wWEAjE8ZNuI0lrtr5IZKp+s5IAi/rb5AG/mL7EzicE8c\nmGP+QAa+nzwhAwNhFwVID230xen/ZcoL1d77hxeARNqJUxoR25gwJd6Ebg2y9pDW\nVu6cbbzgdGUCfQYlMEoAamAkCswOsDpVDBXwQnt2A537n6Wq2bgYIKusHr9thtxP\n/5ubQLUCgYEA4zYuBG2vtLHnvce26P8o2j1xcJS9K0ozkah9JFl3hqFN0sAqLlz7\n/Fm1jA4kzHJS3d0UqP3AMDxY3HkIqCn4Be7lqeAAe2AfqkOZpt9MDNv4VwKe9sPb\nViW1qjL3FxziLC/YWTRNSlpwRjqJJGhA+UQt8rOia1k/zXmrEs7bXLcCgYEAwPsu\nK3j5QoAiziYVMYf5iCzWwAM9Ljpf9gw23lefTdIzhhfFtJplVRSyxRGU0UZ84GMI\nTd5zmcIF/1KUfhqmeiQzz6NIPEYEReahjpQ/sOH/Gk5Rwr3QwYPrwAu5x+kk/SRi\nKPkqw7APTR0sMQBcUq+ZYwGYLGPMdd1zUdLfb0sCgYBkuz11iydtxb3G/obSD2WO\nM9VaIycmzRPFzNwGRH/gOR0mhTluKp0wyJjbSd34oeqpH/2r2ivddrOysxoqa8jg\n4IQDZyLvj7MaKjQxrieqP89+y9Or9TMFo1xB46x2G8EN8/xHuA9YGnZSPFtWv72m\nhRqV0hv82amWsA0vHnRUSwKBgDsKHXvrTMbNkNhkykMXCH5iyWiBFSyZa1ZJMlgf\nknsqfdzeVPwF6E55QKAN2uuTlwzG/3ljPxahR1hvmUJjQN9JSBiUKbtW6GPCRVbr\nf/jLi1Iu99COZdluVKeybqn8Z/aSNP24DR9FM8kxzZ1IMPaTBmhFypp6BclhcLBt\nxTG1AoGAfcrkVbV1SOy7fECUtMpUECcw0yU4GWj3sR2RbII63C500RVYQlUpUaRR\naANbASHTVR4myOKtGSxEUhAQHlxFDwsDL7W3gzAqTFbEDp1xAAUyT/nkOAhQjEm4\nORFdDETeXLQG1KMUj+8AdnhfYp3JTdft6rmPpZEBUFiCAUMAvb0=\n-----END RSA PRIVATE KEY-----\n ,
  user_id :  f79791beca3c48159ac2553fff22e166 ,
  name :  demo1 ,
  fingerprint :  57:a7:a2:ed:5f:aa:e7:54:62:2e:bb:e7:92:22:cb:40 
 }
}

2、導入密鑰。

(1)接口相關信息

URI 格式:POST /v2.1/{project_id}/os-keypairs

(2)請求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-keypairs

Body:

{
  keypair : {
  public_key :  ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY8wMTdBYiJgi62o6eShoOlSKx3CZ3cE6PHisDblfK3Y0Bg7EHV7iV9c74pqsrIhK0xuGUuO1NxDQWbkwLTPN4F9Iy5CIYohLuMIpbln6LDtfRPpdhEh4lxL8MM61gyfpKzeKkwkEpSFj27Rgh7zCyJgBpkA2A0HTP737UlitahL4faCWDIS+Vj6mbcfkWiMhuMCzTZgSKAZ4PfoG4B5HJhR52C6A4XLiQFT9heh9gnIsIG+uTogTKUbcJKuN7M6AraJpul6eHhV9YI4433sDmuiBF/njvreVPWwAHlAkgT9I8q1T/cfEFiwzXpdGbkK5O8NC7K+qNbbdKihlahONt Generated-by-Nova\n ,
  type :  ssh ,
  name :  demo2 ,
  user_id :  fake 
 }
}

(3)響應示例

{
  keypair : {
  public_key :  ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY8wMTdBYiJgi62o6eShoOlSKx3CZ3cE6PHisDblfK3Y0Bg7EHV7iV9c74pqsrIhK0xuGUuO1NxDQWbkwLTPN4F9Iy5CIYohLuMIpbln6LDtfRPpdhEh4lxL8MM61gyfpKzeKkwkEpSFj27Rgh7zCyJgBpkA2A0HTP737UlitahL4faCWDIS+Vj6mbcfkWiMhuMCzTZgSKAZ4PfoG4B5HJhR52C6A4XLiQFT9heh9gnIsIG+uTogTKUbcJKuN7M6AraJpul6eHhV9YI4433sDmuiBF/njvreVPWwAHlAkgT9I8q1T/cfEFiwzXpdGbkK5O8NC7K+qNbbdKihlahONt Generated-by-Nova\n ,
  user_id :  f79791beca3c48159ac2553fff22e166 ,
  name :  demo2 ,
  fingerprint :  dd:44:45:49:d9:f6:4f:c0:24:2d:81:aa:c4:4b:83:c2 
 }
}

2、記錄響應消息體中的 name 信息。如本例中為“demo2”。

步驟六:創建密鑰對登錄鑒權的云服務器。

(1)接口相關信息

URI 格式:POST /v2.1/{project_id}/servers

說明:

本示例是指定 image 創建云服務器,因此:

● block_device_mapping_v2.1 中,“source_type”需設置為“image”,“uuid”設置為選擇的鏡像 ID,“destination_type”設置為“volume”,“boot_index”設置為“0”。

●“volume_size”應大于等于鏡像元數據中指定的最小值。

(2)請求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers

Body:

{
  server : {
  flavorRef :  c1.large ,
  name :  zttestvm1 ,
  block_device_mapping_v2.1 : [{
  source_type :  image ,
  destination_type :  volume ,
  volume_type :  SATA ,
  volume_size :  40 ,
  delete_on_termination :  true ,
  uuid :  11e8f727-d439-4ed1-b3b8-33f46c0379c4 ,
  boot_index :  0 
 }],
  networks : [{
  uuid :  fb68519f-a7c0-476e-98d4-2e4cf6de6def 
 }],
  key_name :  demo2 ,
  availability_zone :  az_test_01 
 }
}

(3)響應示例

{
  server : {
  security_groups : [
 {
  name :  default 
 }
 ],
  OS-DCF:diskConfig :  MANUAL ,
  links : [
 {
  rel :  self ,
  href :  https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/6d311127-bce1-48db-bf0f-cac9f8f7f077 
 },
 {
  rel :  bookmark ,
  href :  https://None/74610f3a5ad941998e91f076297ecf27/servers/6d311127-bce1-48db-bf0f-cac9f8f7f077 
 }
 ],
  id :  6d311127-bce1-48db-bf0f-cac9f8f7f077 ,
  adminPass :  WcC4QoVZPXpV 
 }
}

步驟七:設置密碼登錄方式。

(1)使用非 cloud-init 鏡像創建云服務器時,Windows 和 Linux 系統都使用“adminPass”參數實現密碼注入。

(2)使用 cloud-init 鏡像創建云服務器時:

l 對于 Linux 系統,只能使用“user_data”進行密碼注入,“user_data”字符串長度小于 65535,且必須是 base64 加密的;

l 對于 Windows 系統,只能通過元數據“admin_pass”進行密碼注入。

步驟八:創建密碼方式登錄鑒權的彈性云服務器。

說明:

本示例是指定 image 創建彈性云服務器,因此:

(1)block_device_mapping_v2.1 中,“source_type”需設置為“image”,“uuid”設置為選擇的鏡像 ID,“destination_type”設置為“volume”,“boot_index”設置為“0”。

(2)“volume_size”應大于等于鏡像元數據中指定的最小值。

1、創建非 cloud-init 鏡像、密碼方式登錄鑒權的彈性云服務器。

(1)接口相關信息

URI 格式:POST /v2.1/{project_id}/servers

(2)請求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers

Body:

{
  server : {
  flavorRef :  c1.large ,
  name :  zttestvm1 ,
  adminPass : NOVAGLANCEI@123 ,
  block_device_mapping_v2.1 : [{
  source_type :  image ,
  destination_type :  volume ,
  volume_type :  SATA ,
  volume_size :  40 ,
  delete_on_termination :  true ,
  uuid :  11e8f727-d439-4ed1-b3b8-33f46c0379c4 ,
  boot_index :  0 
 }],
  networks : [{
  uuid :  fb68519f-a7c0-476e-98d4-2e4cf6de6def 
 }],
  availability_zone :  az_test_01 
 }
}

(3)響應示例

{
  server : {
  security_groups : [
 {
  name :  default 
 }
 ],
  OS-DCF:diskConfig :  MANUAL ,
  links : [
 {
  rel :  self ,
  href :  https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/73991cff-37c6-491a-9a8a-377397729fce 
 },
 {
  rel :  bookmark ,
  href :  https://None/74610f3a5ad941998e91f076297ecf27/servers/73991cff-37c6-491a-9a8a-377397729fce 
 }
 ],
  id :  73991cff-37c6-491a-9a8a-377397729fce ,
  adminPass :  NOVAGLANCEI@123 
 }
}

2、創建 cloud-init 鏡像(以 Linux 為例)、密碼方式登錄鑒權的彈性云服務器。

(1)接口相關信息

URI 格式:POST /v2.1/{project_id}/servers

(2)請求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers

Body:

{
  server : {
  flavorRef :  c1.large ,
  name :  zttestvm2 , 
 user_data : IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiRuaERlcUIkajBkelVMbkFrbWo4bWlFREFzT0VONkVPdGg1RmdqWnQybUVWZVRocC5OVDJXelZVdzFuNzhnL3dNdDE0dVpSQ1V3LzhHS3VGdEViQ0lPQS5vN1BZQzEnIHwgY2hwYXNzd2QgLWU7 ,
  block_device_mapping_v2.1 : [{
  source_type :  image ,
  destination_type :  volume ,
  volume_type :  SATA ,
  volume_size :  40 ,
  delete_on_termination :  true ,
  uuid :  11e8f727-d439-4ed1-b3b8-33f46c0379c4 ,
  boot_index :  0 
 }],
  networks : [{
  uuid :  fb68519f-a7c0-476e-98d4-2e4cf6de6def 
 }],
  availability_zone :  az_test_01 
 }
}

(3)響應示例

{
  server : {
  security_groups : [
 {
  name :  default 
 }
 ],
  OS-DCF:diskConfig :  MANUAL ,
  links : [
 {
  rel :  self ,
  href :  https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/7c11f362-cc96-4306-85b6-b432a639ca5e 
 },
 {
  rel :  bookmark ,
  href :  https://None/74610f3a5ad941998e91f076297ecf27/servers/7c11f362-cc96-4306-85b6-b432a639ca5e 
 }
 ],
  id :  7c11f362-cc96-4306-85b6-b432a639ca5e ,
  admin_pass :  J3xMSivHCuq5 
 }
}

步驟九:確認云服務器創建成功。

(1)接口相關信息

URI 格式:GET /v2.1/{project_id}/servers/{server_id}

(2)請求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6

其中:

0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6 為創建的云服務器 UUID。

(3)響應示例

{
  server : {
  tenant_id :  74610f3a5ad941998e91f076297ecf27 ,
  addresses : {
  2a6f4aa6-d93e-45f5-a8cb-b030dbf8cd68 : [
 {
  OS-EXT-IPS-MAC:mac_addr :  fa:16:3e:88:01:1b ,
  OS-EXT-IPS:type :  fixed ,
  addr :  192.168.2.192 ,
  version : 4
 }
 ]
 },
  metadata : {},
  OS-EXT-STS:task_state : null,
  OS-DCF:diskConfig :  MANUAL ,
  OS-EXT-AZ:availability_zone :  az_test_01 ,
  links : [
 {
  rel :  self ,
  href :  https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6 
 },
 {
  rel :  bookmark ,
  href :  https://None/74610f3a5ad941998e91f076297ecf27/servers/0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6 
 }
 ],
  OS-EXT-STS:power_state : 1,
  id :  0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6 ,
  os-extended-volumes:volumes_attached : [
 {
  id :  b551445a-e749-4d53-932a-638a455cb6c3 
 }
 ],
  OS-EXT-SRV-ATTR:host :  pod1_test_01 ,
  image : {
  links : [
 {
  rel :  bookmark ,
  href :  https://None/74610f3a5ad941998e91f076297ecf27/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4 
 }
 ],
  id :  11e8f727-d439-4ed1-b3b8-33f46c0379c4 
 },
  OS-SRV-USG:terminated_at : null,
  accessIPv4 :  ,
  accessIPv6 :  ,
  created :  2018-05-25T01:47:11Z ,
  hostId :  b2792bef989888d2df1f51bff81de5ac58a4117f4e9ec3059c1a0410 ,
  OS-EXT-SRV-ATTR:hypervisor_hostname :  nova001@36 ,
  key_name : null,
  flavor : {
  links : [
 {
  rel :  bookmark ,
  href :  https://None/74610f3a5ad941998e91f076297ecf27/flavors/c1.large 
 }
 ],
  id :  c1.large 
 },
  security_groups : [
 {
  name :  default 
 }
 ],
  config_drive :  ,
  OS-EXT-STS:vm_state :  active ,
  OS-EXT-SRV-ATTR:instance_name :  instance-001883cd ,
  user_id :  f79791beca3c48159ac2553fff22e166 ,
  name :  zttestvm1 ,
  progress : 0,
  OS-SRV-USG:launched_at :  2018-05-25T01:47:55.755922 ,
  updated :  2018-05-25T01:47:55Z ,
  status :  ACTIVE 
 }
}

以上是“如何通過 API 創建云服務器”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計11790字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 依安县| 衡水市| 会同县| 台南市| 分宜县| 伊金霍洛旗| 信宜市| 永吉县| 夏河县| 当阳市| 南昌市| 永德县| 宿州市| 北碚区| 朝阳市| 正阳县| 贺兰县| 永和县| 泸溪县| 家居| 彰武县| 富阳市| 乐山市| 左贡县| 乌苏市| 板桥市| 准格尔旗| 明水县| 崇明县| 永和县| 吐鲁番市| 拜城县| 古浪县| 建水县| 仙游县| 佛学| 砀山县| 易门县| 广昌县| 四川省| 特克斯县|