Creazione di un template istanza
È possibile creare un modello di istanza per definire i dettagli dell'istanza per il provisioning di uno o più server virtuali. Quando viene creato il tuo template dell'istanza, puoi utilizzarlo per eseguire il provisioning di singole istanze del server virtuale oppure puoi eseguire il provisioning di più istanze contemporaneamente come parte di un gruppo di istanze.
Creazione di un template istanza con l'IU
Il template istanza definisce i dettagli delle istanze del server virtuale create dal template. Ad esempio, specifica il profilo (vCPU e memoria), l'immagine, volumi collegati e le interfacce di rete per il template dell'immagine.
Per creare un modello di istanza, seguire i passaggi riportati di seguito.
- Nella console IBM Cloud console, fare clic sull'icona Menu di navigazione
> Infrastruttura
> Calcolo > Modelli di istanza.
- Fare clic su " Nuovo modello di istanza " e inserire le informazioni riportate nella Tabella 1.
- Fare clic su Crea template istanza una volta completate le informazioni.
Quando crei un template dell'istanza, vengono eseguite le operazioni di convalida per assicurarti di poter utilizzare il tuo template per eseguire il provisioning di un'istanza del server virtuale.
| Campo | Valore |
|---|---|
| Posizione | Le ubicazioni sono formate da regioni (aree geografiche specifiche) e zone (data center a tolleranza di errore all'interno di una regione). Seleziona l'area geografica, la regione e la zona in cui desideri che venga creata l'istanza del tuo server virtuale. |
| Nome | È obbligatorio un nome per la tua VSI (virtual server instance). |
| Gruppo di risorse | Seleziona un gruppo di risorse per l'istanza. |
| Immagine |
Fare clic su Modifica immagine per selezionare un'immagine. Nella pagina Seleziona un'immagine, è possibile selezionare un'immagine stock, un'immagine personalizzata, un'immagine catalogo, un'istantanea o un volume esistente. Se la posizione geografica in cui si sta eseguendo il provisioning di un'istanza lo supporta, è possibile selezionare una delle seguenti opzioni:
Dopo aver selezionato l'immagine, fare clic su Salva.
|
| Profilo | Fare clic su Cambia profilo per scegliere tra tutte le combinazioni disponibili di vCPU e RAM. Le famiglie di profili sono: Balanced, Compute, Memory, Ultra High Memory, Very High Memory, Storage Optimized, GPU, Flex,
Confidential Compute e High Frequency.
Verifica che il profilo che utilizzi sia disponibile nella zona in cui intendi creare l'istanza. Per ulteriori informazioni, vedi Profili. Alcuni profili potrebbero non essere disponibili poiché il numero di interfacce di rete nel server virtuale supera i limiti previsti per i profili. È possibile rimuovere le interfacce di rete per selezionare più profili. Per ulteriori informazioni, consultare la sezione " Ridimensionamento di un server virtuale ". Alcuni profili potrebbero non essere disponibili perché l'immagine selezionata contiene una clausola di utilizzo consentito non compatibile con il profilo. In questi casi, selezionare un'immagine con un'espressione di uso consentito compatibile con il profilo desiderato. Per ulteriori informazioni, vedere Aggiunta di espressioni di uso consentito alle immagini personalizzate. |
| Thread per core | Il numero di thread per core ti offre la flessibilità necessaria per ottimizzare il tuo carico di lavoro. Sebbene il numero di thread per core venga visualizzato per tutti i profili, è possibile modificarlo solo per la famiglia di profili “High Frequency ”. Per i profili ad alta frequenza, il valore predefinito è 2, ma può essere impostato su 1. |
| Chiave SSH | Devi selezionare una chiave SSH pubblica esistente o fare clic su Crea una chiave SSH per crearne una nuova. Puoi creare solo chiavi SSH RSA. Per ED25519 Chiavi SSH, è necessario caricare le informazioni sulla chiave.
Per ulteriori informazioni sulla creazione di una chiave SSH, vedi Creazione della tua chiave SSH utilizzando l'IU. Le chiavi SSH sono utilizzate per la connessione
sicura all'istanza dopo che è in esecuzione.
Nota:** Le combinazioni alfanumeriche sono limitate a 100 caratteri. Le chiavi SSH possono essere RSA o Ed25519. Ed25519 può essere utilizzato solo se il sistema operativo supporta questo tipo di chiave. Ed25519 non può essere utilizzato con immagini Windows o VMware. Per ulteriori informazioni, consultare il sito Introduzione alle chiavi SSH. |
| Volume di avvio | La dimensione del volume di avvio predefinita per tutti i profili è 100 GB. È possibile specificare una maggiore capacità del volume di avvio, fino a 250 GB quando si utilizzano i profili di volume di prima generazione e fino a 32.000
GB quando si utilizza il profilo sdp, a seconda delle esigenze dell'immagine. È anche possibile specificare tag utente. |
| Volumi di dati | Puoi aggiungere uno o più volumi di dati secondari che devono essere inclusi quando esegui il provisioning dell'istanza. Per aggiungere volumi, fare clic su Crea. Puoi specificare la crittografia gestita dal cliente e le tag utente per il volume. |
| VPC (Virtual Private Cloud) | Specifica l'IBM Cloud VPC in cui vuoi creare la tua istanza. È possibile utilizzare un VPC esistente oppure è possibile creare un nuovo VPC. Per creare una nuova VPC, fare clic su " Nuova VPC ". |
| Interfacce di rete | Definisce la connessione di rete nella IBM Cloud VPC. Per impostazione predefinita, la nuova opzione Collegamento di rete con un'interfaccia di rete virtuale è selezionata per il template dell'istanza. In alternativa,
è possibile scegliere l'opzione legacy Istanza interfaccia di rete. Qualsiasi tipo di opzione di interfaccia di rete che selezioni quando esegui il provisioning del server virtuale persiste durante il ciclo di vita del
server virtuale. Dopo aver selezionato il tipo di interfaccia di rete, è possibile fare clic sull'icona Modifica |
| Dati utente | Puoi aggiungere dei dati utente che eseguono automaticamente le attività di configurazione comuni o eseguono gli script. Per ulteriori informazioni, vedi Dati utente. |
| Metadati | Disabilitato per impostazione predefinita, consente all'istanza creata da questo modello di raccogliere metadati su se stessa. Fare clic sull'interruttore per attivare il servizio di metadati. Per ulteriori informazioni, vedere Informazioni sui metadati per VPC. |
| Aggiungi a host dedicato | Puoi aggiungere l'istanza del server virtuale a un host dedicato, creando l'istanza in uno spazio a tenant singolo. Per eseguire il provisioning di un'istanza dedicata, devi avere un host dedicato disponibile o crearne uno. |
| Aggiungi al gruppo di posizionamento | È possibile selezionare un gruppo di collocazione per l'istanza. Per abilitare i gruppi di posizionamento, fare clic sull'interruttore. Quindi, selezionare o creare un gruppo di posizionamento per l'istanza. Se si aggiunge un gruppo di posizionamento, l'istanza viene posizionata in base alla strategia del gruppo di posizionamento. Per ulteriori informazioni, vedi Informazioni sui gruppi di posizionamento. |
| Allocazione dinamica della larghezza di banda del volume | Fare clic sulla levetta per attivare l'allocazione della larghezza di banda del volume in pool per i volumi di dati collegati. Questa funzione è supportata per alcuni profili di calcolo. |
| Riavvio automatico in caso di errore host | Questa impostazione è abilitata per impostazione predefinita. Per disabilitare il riavvio automatico dell'errore host, fare clic sull'interruttore. Per ulteriori informazioni, consultare Politiche di ripristino da errore host. |
Creazione di un modello di istanza tramite la CLI
Il template istanza definisce i dettagli delle istanze del server virtuale create dal template. Ad esempio, specificare il profilo (vCPU e memoria), l'immagine, i volumi collegati e le interfacce di rete per il template dell'istanza. Puoi creare uno o più template dell'istanza nella tua IBM Cloud VPC utilizzando la CLI (command - line interface).
Per ulteriori informazioni sulla creazione di un'istanza del server virtuale con un'immagine personalizzata condivisa da un catalogo privato, vedi Provisioning da un'immagine del catalogo privata.
Prima di iniziare
Assicurati di configurare il tuo ambiente CLIIBM Cloud® e il IBM Cloud VPC.
Raccolta di informazioni per creare un template istanza
Sei pronto a creare un modello di istanza? Prima di poter eseguire il file ibmcloud is instance-template-create comando, devi raccogliere i dettagli da includere per il modello di istanza e le opzioni del comando. Ad esempio,
è necessario l'ID o il nome del VPC e il nome della zona in cui deve essere creato il modello di istanza. Sono inoltre necessari il nome del profilo dell'istanza che desideri utilizzare e l'ID o il nome della sottorete in cui deve essere
creato il modello.
Raccogliere i seguenti dettagli del template dell'istanza richiesti.
| Dettagli template istanza | Comando di elenco | Documentazione di riferimento CLI VPC |
|---|---|---|
| VPC | ibmcloud is vpcs |
Elenca tutti i VPC |
| Zona | ibmcloud is zones |
Elenco di tutte le zone nella regione |
| Profilo | ibmcloud is instances |
Elenca tutte le istanze del server virtuale |
| Sottorete | ibmcloud is subnets |
Elenca tutte le sottoreti |
| Immagine | ibmcloud is image |
Elencare tutte le immagini |
| Chiavi | ibmcloud is keys |
Elenca tutte le chiavi |
| Gruppi di posizionamento | ibmcloud is placement-groups |
Elenca tutti i gruppi di posizionamento |
Verificare che il profilo che si desidera utilizzare sia disponibile nella zona in cui si intende creare l'istanza.
Utilizzare i seguenti comandi per determinare le informazioni necessarie per creare un modello di istanza.
-
Elenca le regioni associate al tuo account.
ibmcloud is regionsVedi il seguente esempio.
$ ibmcloud is regions Listing regions under account Test Account as user test.user@ibm.com... Name Endpoint Status au-syd https://au-syd.iaas.cloud.ibm.com available br-sao https://br-sao.iaas.cloud.ibm.com available ca-tor https://ca-tor.iaas.cloud.ibm.com available eu-de https://eu-de.iaas.cloud.ibm.com available eu-es https://eu-es.iaas.cloud.ibm.com available eu-gb https://eu-gb.iaas.cloud.ibm.com available jp-osa https://jp-osa.iaas.cloud.ibm.com available jp-tok https://jp-tok.iaas.cloud.ibm.com available us-east https://us-east.iaas.cloud.ibm.com available us-south https://us-south.iaas.cloud.ibm.com available -
Passa alla tua regione di destinazione.
ibmcloud target -r <region-name> -
Elenca le aree associate alla region di destinazione.
ibmcloud is zonesNell'esempio seguente, il comando viene eseguito nella
us-southregione e l'output mostra le zone disponibili presenti nella regione.$ ibmcloud is zones Listing zones in target region us-south under account Test Account as user test.user@ibm.com... Name Region Status us-south-1 us-south available us-south-2 us-south available us-south-3 us-south available -
Elenca i IBM Cloud VPC associati al tuo account.
ibmcloud is vpcsIn questo esempio, viene visualizzata una risposta simile all'output riportato di seguito.
ID Name Status Classic access Default network ACL Default security group Resource group r006-0d37163a-701d-4ad6-9ece-a3e34cf28935 cdl available false acl-test-1 pedicure-budding-providing-excluded Default r006-212def4b-93f0-4b9a-a331-94178b99d474 cli-test-1 available false surprise-pacifier-cubicle-demystify foyer-alongside-rug-zen DefaultSe non ne hai uno a disposizione, puoi creare un file “ IBM Cloud VPC ” utilizzando il comando “
ibmcloud is vpc-create”. Per ulteriori informazioni sulla creazione di un IBM Cloud VPC, vedi IBM Cloud VPC CLI reference. -
Elenca i profili disponibili per la creazione del tuo modello di istanza.
ibmcloud is instance-profilesL'output del comando è simile a quello riportato nell'esempio seguente.
Name vCPU Manufacturer Architecture Family vCPUs Memory(GiB) Bandwidth(Mbps) Volume bandwidth(Mbps) GPUs Storage(GB) bx2-2x8 intel amd64 balanced 2 8 4000 1000 - - bx2d-2x8 intel amd64 balanced 2 8 4000 1000 - 1x75 bx2-4x16 intel amd64 balanced 4 16 8000 2000 - - bx2d-4x16 intel amd64 balanced 4 16 8000 2000 - 1x150 bx2-8x32 intel amd64 balanced 8 32 16000 4000 - - bx2d-8x32 intel amd64 balanced 8 32 16000 4000 - 1x300 bx2-16x64 intel amd64 balanced 16 64 32000 8000 - - bx2d-16x64 intel amd64 balanced 16 64 32000 8000 - 1x600 -
Elenca le sottoreti associate al IBM Cloud VPC.
ibmcloud is subnetsL'output del comando è simile a quello riportato nell'esempio seguente.
ID Name Status Subnet CIDR Addresses ACL Public Gateway VPC Zone Resource group 0717-cd4f74f1-bfae-423a-886b-9163256ec4a9 subnet-south-1 available 10.240.0.0/24 124/256 acl-test-1 - cdl us-south-1 Default 0727-9447a2c3-efb8-44d2-a180-115531e0b0d3 cdl available 10.240.64.0/24 238/256 acl-test-1 - cdl us-south-2 DefaultPer le migliori prestazioni di un gruppo di istanze, assicurati di utilizzare una dimensione di sottorete pari a 32 o superiore.
Se non disponi di una sottorete, puoi crearne una utilizzando il comando
ibmcloud is subnet-create. Per ulteriori informazioni sulla creazione di una sottorete, consultare la guida di riferimento della CLI di IBM Cloud VPC. -
Elenca le immagini disponibili per la creazione del tuo modello di istanza.
ibmcloud is imagesL'output del comando è simile a quello riportato nell'esempio seguente.
ID Name Status Arch OS name OS version File size(GB) Visibility Encryption Resource group Catalog Offering User Data Format Remote Account ID r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b my-test-image available amd64 centos-7-amd64 7.x - Minimal Install 1 private none Default - cloud_init r006-c55167af-ea8c-4c27-871f-ccc9c868753e ibm-centos-stream-8-amd64-1 available amd64 centos-stream-8-amd64 8 2 public none Default - cloud_init 811f8abfbd32425597dc7ba40da98fa6 -
Elenca le chiavi SSH disponibili che puoi associare alla tua istanza.
ibmcloud is keysL'output del comando è simile a quello riportato nell'esempio seguente.
ID Name Type Length FingerPrint Resource group r006-89ec781c-9630-4f76-b9c4-a7d204828d61 my-key rsa 4096 gtnf+pdX2PYI9Ofq.. DefaultSe non si dispone di una chiave SSH, è possibile crearne una utilizzando il comando
[ibmcloud is key-create](/docs/vpc?topic=vpc-vpc-reference#key-create).RSA e ED25519 sono i due tipi di chiavi SSH che è possibile utilizzare. Tuttavia, non è possibile utilizzare il tipo di ED25519 chiave SSH con Windows o VMware immagini. È possibile utilizzare solo chiavi SSH RSA per queste immagini. Per ulteriori informazioni, vedi Introduzione alle chiavi SSH.
-
Elenca tutti i gruppi di collocazione disponibili che puoi associare alla tua istanza.
ibmcloud is placement-groupsL'output del comando è simile a quello riportato nell'esempio seguente.
Listing placement groups for generation 2 compute in all resource groups and region us-east under account vpcdemo as user yaohaif@cn.ibm.com... ID Name State Strategy Resource Group c5f1f366-b92a-4080-991a-aa5c2e33d96b placement-group-region-us-east stable power_spread 5018a8564e8120570150b0764d39ebcc placement-group-cccc-cccc-cccc-cccccccccccc vsi-placementGroup1 stable host_spread 5018a8564e8120570150b0764d39ebcc placement-group-bbbb-bbbb-bbbb-bbbbbbbbbbbb vsi-placementGroup2 stable power_spread 5018a8564e8120570150b0764d39ebcc placement-group-aaaa-aaaa-aaaa-aaaaaaaaaaaa vsi-placementGroup3 stable power_spread 1d18e482b282409e80eff354c919c6a2
Creazione di un modello di istanza dalla CLI
Una volta individuati questi valori, utilizzali per eseguire il comando instance-template-create. Devi specificare anche un nome per l'istanza.
ibmcloud is instance-template-create INSTANCE_TEMPLATE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET --image IMAGE
Il comando di esempio seguente crea un modello di istanza denominato my-instance-template nella VPC specificata dall'ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. Il modello viene creato nella cartella us-south-3 ZONA e utilizza il bx2-2x8 PROFILO. La SUBNET è definita dal suo ID 0726-298acd6c-e71e-4204-a04f-fe4a4dd89805. L'IMMAGINE è specificata dal suo ID r006-534ef2ac-6158-45b3-9657-57629fa85305.
ibmcloud is instance-template-create my-instance-template r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b us-south-3 bx2-2x8 0076-2249dabc-8c71-4a54-bxy7-953701ca3999 --image r006-534ef2ac-6158-45b3-9657-57629fa85305 --placement-group r006-953db18c-068c-4a11-9b07-645684b444b2
Creating instance template my-instance-template under account Test Account as user test-user@ibm.com...
ID 0727-0fdac0fb-ad59-4d7b-9f03-604ddc1db002
Name my-instance-template
CRN crn:v1:bluemix:public:is:us-south-2:a/a1234567::instance-template:0727-0fdac0fb-ad59-4d7b-9f03-604ddc1db002
Resource group Default
Image r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b
VPC r006-212def4b-93f0-4b9a-a331-94178b99d474
Zone us-south-2
Profile bx2-2x8
Boot volume Name Capacity Profile IOPS Attachment name Auto delete Tags
- 100 general-purpose 0 illude-education-spotted-reanalyze true -
Primary Network Interface Name Subnet ID Security Groups Allow source IP spoofing Reserved IP Address Reserved IP ID Reserved IP Name Reserved IP Auto Delete
primary 0727-944126da-e46d-4104-8ba4-ab5a5832864b r006-2295f00e-8af0-4736-be11-94677955b6b2 false - - - -
Placement ID
r006-9994e3ab-18ae-49a7-95cf-25c77e09fa76
Created 2023-03-29T22:02:59+05:30
L'esempio seguente crea un modello di istanza denominato my-gen3-instance-template nella VPC specificata dall'ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. Il modello viene creato nella ZONA us-south-3_ e utilizza l'opzione
cx3d-8x20 PROFILO. La SUBNET è definita dal suo ID 00726-298acd6c-e71e-4204-a04f-fe4a4dd89805. L'IMMAGINE è specificata dal suo ID r006-534ef2ac-6158-45b3-9657-57629fa85305. Quando il profilo di calcolo selezionato supporta l'allocazione di larghezza di banda in pool per i volumi di dati, è possibile includere anche --storage_qos_modes l'opzione.
ibmcloud is instance-template-create my-gen3-instance-template r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b us-south-3 cx3d-8x20 00726-298acd6c-e71e-4204-a04f-fe4a4dd89805 --image r006-534ef2ac-6158-45b3-9657-57629fa85305 --storage_qos_modes pooled
Per ulteriori esempi del comando ibmcloud is instance-template-create, vedi il riferimento alla CLI VPC.
Quando crei un template dell'istanza, vengono eseguite le operazioni di convalida per assicurarti di poter utilizzare il tuo template per eseguire il provisioning di un'istanza del server virtuale. Hai bisogno di più aiuto? È possibile eseguire
il ibmcloud is help instance-template-create comando per visualizzare la guida.
Creazione di un template istanza con l'API
Il template istanza definisce i dettagli delle istanze del server virtuale create dal template. Ad esempio, specificare il profilo (vCPU e memoria), l'immagine, i volumi collegati e le interfacce di rete per il template dell'istanza. Puoi creare uno o più modelli di istanza nel tuo file IBM Cloud VPC utilizzando l'interfaccia di programmazione dell'applicazione (API).
Per ulteriori informazioni sulla creazione di un'istanza del server virtuale con un'immagine personalizzata condivisa da un catalogo privato, vedi Provisioning da un'immagine del catalogo privata.
Prima di iniziare
Definisci le variabili per il token IAM, l'endpoint API e la versione API. Per le istruzioni, vedi Configurazione del tuo ambiente API e CLI.
Assicurati di disporre dei diritti di accesso necessari. Per richiamare questi metodi, ti devono essere assegnati uno o più ruoli di accesso IAM che includono le seguenti azioni, a seconda di qualsiasi condizione elencata. Puoi controllare il tuo accesso andando alla pagina Utenti del dashboardCloud Identity and Access Management.
Un buon modo per saperne di più sull'API consiste nel fare clic su Get sample API call nelle pagine di provisioning nella console IBM Cloud. Puoi visualizzare la sequenza corretta di richieste API e comprendere meglio le azioni e le loro dipendenze.
Raccolta di informazioni per creare un template istanza
Sei pronto a creare un modello di istanza? Prima di poter effettuare il POST richiesta con il /instance/templates metodo, devi conoscere i dettagli che desideri includere nel modello di istanza. Ad esempio, è necessario
l'ID o il nome della VPC e il nome della zona in cui si desidera creare l'istanza. È inoltre necessario il nome del profilo dell'istanza che si desidera utilizzare e l'ID o il nome della sottorete in cui si desidera creare il modello. Raccogliere
i seguenti dettagli del template dell'istanza richiesti effettuando le seguenti chiamate API:
| Dettagli istanza | Metodi di elencazione | Documentazione specifica API |
|---|---|---|
| VPC | GET /vpcs |
Elenca tutti i VPC |
| Zona | GET /regions/<region>/zones |
Elenca tutte le zone in una regione |
| Profilo | GET /instance/profiles |
Elenco di tutti i profili istanza |
| Sottorete | GET /subnets |
Elenca tutte le sottoreti |
| Immagine | GET /images |
Elencare tutte le immagini |
| Chiave | GET /keys |
Elenca tutte le chiavi |
| Gruppi di posizionamento | GET /placement_groups |
Elenca tutti i gruppi di posizionamento |
Verificare che il profilo che si desidera utilizzare sia disponibile nella zona in cui si intende creare l'istanza.
Utilizzare i seguenti comandi per determinare le informazioni necessarie per creare un modello di istanza.
-
Elenca i IBM Cloud VPC associati al tuo account.
curl -X GET "$vpc_api_endpoint/v1/vpcs?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"Se non ne hai uno disponibile, puoi creare un IBM Cloud VPC utilizzando il metodo
POST /vpcs. Per ulteriori informazioni sulla creazione di un IBM Cloud VPC, consulta IBM Cloud API Docs - Create a VPC. -
Elenca le regioni associate al tuo account.
curl -X GET "$vpc_api_endpoint/v1/regions?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
Elenca le zone associate alla regione.
curl -X GET "$vpc_api_endpoint/v1/regions/$region_name/zones?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
Elenca i profili disponibili per creare il modello dell'istanza.
curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
Elenca le sottoreti associate al IBM Cloud VPC.
curl -X GET "$vpc_api_endpoint/v1/subnets?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"Per le migliori prestazioni di un gruppo di istanze, assicurati di utilizzare una dimensione di sottorete pari a 32 o superiore.
Se non hai una sottorete disponibile, puoi crearne una utilizzando il metodo
POST /subnets. Per ulteriori informazioni sulla creazione di una IBM Cloud VPC, vedi IBM Cloud API Docs - Create a subnet. -
Elenca le immagini disponibili per creare il modello dell'istanza.
curl -X GET "$vpc_api_endpoint/v1/images?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
Elenca le chiavi SSH disponibili che puoi associare alla tua istanza.
curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"Se non si dispone di una chiave SSH, è possibile crearne una utilizzando il comando
[ibmcloud is key-create](/docs/vpc?topic=vpc-vpc-reference#key-create).Se non hai una chiave SSH disponibile, puoi crearne una utilizzando il metodo
POST /keys. Per maggiori informazioni sulla creazione di un IBM Cloud VPC, vedi IBM Cloud API Docs - Create a key.RSA e ED25519 sono i due tipi di chiavi SSH che è possibile utilizzare. Tuttavia, non è possibile utilizzare il tipo di ED25519 chiave SSH con Windows o VMware immagini. È possibile utilizzare solo chiavi SSH RSA per queste immagini. Per ulteriori informazioni, vedi Introduzione alle chiavi SSH.
-
Elenca tutti i gruppi di collocazione disponibili che puoi associare alla tua istanza.
curl -X GET "$vpc_api_endpoint/v1/placement_groups?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
Creazione del template dell'istanza con l'API
Dopo aver conosciuto questi valori, usali per creare un file POST richiesta con il /instance/templates metodo. Devi specificare anche un nome per l'istanza.
L'esempio seguente crea un modello di istanza chiamato my-instance-template in us-south-1 e utilizza il profilo bx2-2x8 profilo.
curl -X POST "$vpc_api_endpoint/v1/instance/templates?version=2023-07-13&generation=2"
-H "Authorization: Bearer $iam_token"
-d '{
"zone": {"name": "us-south-1"},
"resource_group": {"id": "db8e8d865a83e0aae03f25a492c5b39e"},
"name": "my-instance-template",
"vpc": {"id": "r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b"},
"user_data": "",
"profile": {"name": "bx2-2x8"},
"keys": [{"id": "r006-68f8333a-1169-42da-ba01-75268bac8362"}],
"volume_attachments": [],
"boot_volume_attachment": {
"volume": {
"name": "my-instance-template-boot-1720804230000",
"capacity": 100,
"profile": {"name": "general-purpose"}},
"delete_volume_on_instance_delete": true
},
"metadata_service": {
"enabled": true,
"protocol": "https",
"response_hop_limit": 1},
"primary_network_attachment": {
"name": "eth0",
"virtual_network_interface": {
"allow_ip_spoofing": false,
"auto_delete": true,
"enable_infrastructure_nat": true,
"primary_ip": {"auto_delete": true,
"subnet": {"id": "0726-298acd6c-e71e-4204-a04f-fe4a4dd89805"},
"security_groups": [{"id": "r006-ccdd1f58-f0f2-4ea0-8774-a24bbe61b5d9"}],
"protocol_state_filtering_mode": "auto"}
},
"network_attachments": [],
"image": {"id": "r006-534ef2ac-6158-45b3-9657-57629fa85305"}}`
L'esempio seguente crea un modello di istanza che si chiama my-gen3-instance-template in us-south-3 e utilizza il profilo cx3d-8x20 profilo. Quando il profilo di calcolo selezionato supporta l'allocazione della larghezza di banda in pool per i volumi di dati, è possibile includere anche la proprietà --storage_qos_modes.
curl -X POST "$vpc_api_endpoint/v1/instance/templates?version=2024-07-12&generation=2"
-H "Authorization: Bearer $iam_token"
-H "Content-Type: application/json" \
-H "accept: application/json" \
-d '{
"zone": {"name": "us-south-3"},
"resource_group": {"id": "db8e8d865a83e0aae03f25a492c5b39e"},
"name": "my-gen3-instance-template",
"vpc": {"id": "r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b"},
"user_data": "",
"profile": {"name": "cx3d-8x20"},
"keys": [{"id": "r006-68f8333a-1169-42da-ba01-75268bac8362"},
"volume_attachments": [
{"volume": {
"name": "my-data-volume-1",
"capacity": 3000,
"profile": {"name": "5iops-tier"}},
"delete_volume_on_instance_delete": false},
{"volume": {
"name": "my-data-volume-2",
"capacity": 3000,
"profile": {"name": "5iops-tier"}},
"delete_volume_on_instance_delete": false},
{"volume": {
"name": "my-data-volume-3",
"capacity": 3000,
"profile": {"name": "5iops-tier"}},
"delete_volume_on_instance_delete": false}
],
"boot_volume_attachment": {
"volume": {
"name": "my-gen3-instance-template-boot-1720803726000",
"capacity": 100,
"profile": {"name": "general-purpose"}
},
"delete_volume_on_instance_delete": true
},
"metadata_service": {
"enabled": false,
"response_hop_limit": 1},
"primary_network_attachment": {
"name": "eth0",
"virtual_network_interface": {
"allow_ip_spoofing": false,
"auto_delete": true,
"enable_infrastructure_nat": true,
"primary_ip": {"auto_delete": true},
"subnet": {"id": "0726-298acd6c-e71e-4204-a04f-fe4a4dd89805"},
"security_groups": [
{"id": "r006-ccdd1f58-f0f2-4ea0-8774-a24bbe61b5d9"}],
"protocol_state_filtering_mode": "auto"}
},
"network_attachments": [],
"image": {"id": "r006-534ef2ac-6158-45b3-9657-57629fa85305"},
"enable_secure_boot": false
"storage_qos_modes": "pooled"
}'
Per ulteriori esempi del metodo /instance/templates, vedi la documentazione API Crea un modello di istanza.
Creazione di un template istanza con Terraform
Puoi creare uno o più template dell'istanza nel tuo IBM Cloud VPC utilizzando Terraform.
Per ulteriori informazioni sulla creazione di una istanza del server virtuale con un'immagine personalizzata condivisa da un catalogo privato, vedi Creazione di un'istanza utilizzando Terraform.
Prima di iniziare
Assicurati di configurare Terraform for VPC.
Raccolta di informazioni per creare un template istanza
Sei pronto a creare un modello di istanza? Prima di includere il ibm_is_instance_template risorsa nella tua configurazione, devi conoscere i dettagli che desideri includere nel modello di istanza. Ad esempio, è necessario l'ID o il nome della VPC e il nome della zona in cui si desidera creare il modello di istanza. È inoltre
necessario il nome del profilo dell'istanza che si desidera utilizzare e l'ID o il nome della sottorete in cui si desidera creare il modello.
Raccogli i seguenti dettagli del template dell'istanza Terraform richiesti.
| Dettagli template istanza | Blocco elenco | Documentazione di riferimento dell'origine dati VPC Terraform |
|---|---|---|
| Profilo istanza | ibm_is_instance_profiles |
profili_istanza_ibm_is |
| Immagine | ibm_is_images |
immagine_ibm |
| VPC | ibm_is_vpc |
ibm_è_vpc |
| Sottorete | ibm_is_subnets |
ibm_is_subnet |
| Zona | ibm_is_zone |
ibm_is_zona |
| Chiavi | ibm_is_ssh_keys |
chiavi_is_ibm |
| Gruppi di posizionamento | ibm_is_placement_groups |
ibm_è_gruppi_di_collocamento |
Utilizza la seguente guida per determinare le informazioni necessarie per creare un modello di istanza.
Raccogliere le seguenti informazioni utilizzando il blocco DataSource.
-
Raccogliere i dettagli del profilo dell'istanza. Esegui il seguente blocco per il profilo che hai selezionato. Per un elenco dei profili disponibili, consultare Profili istanzax86. Per ulteriori informazioni, consulta la documentazione di Terraform in ibm_is_instance_profiles. Per utilizzare un profilo istanza, fare riferimento all'origine dati del profilo istanza. Per ulteriori informazioni, consulta la documentazione di Terraform su ibm_is_instance_profile.
data "ibm_is_instance_profile" "example_profile" { name = "bx2-2x8" } -
Elenca le immagini disponibili per la creazione della tua istanza. Puoi utilizzare un'immagine di stock, un'immagine personalizzata dal tuo account o un'immagine che è stata condivisa con il tuo account da un catalogo privato. Per ulteriori informazioni, consulta la documentazione di Terraform su ibm_is_image. Se prevedi di utilizzare un'immagine condivisa da un catalogo privato, consulta la documentazione di Terraform su ibm_cm_versione O ibm_cm_offering_instance.
- Seleziona un'immagine stock o un'immagine personalizzata dal tuo account per la tua istanza.
data "ibm_is_image" "example_image" { name = "ibm-centos-7-6-minimal-amd64-2" }- Seleziona un'immagine condivisa da un catalogo privato per l'istanza. Per ulteriori informazioni, consulta la documentazione di Terraform su ibm_is_images.
data "ibm_is_images" "example_images" { catalog_managed = true }Se selezioni un'immagine del catalogo che appartiene a un account differente, hai ulteriori considerazioni e limitazioni da esaminare. Consulta Utilizzo dei riferimenti di immagine tra account in un catalogo privato in Terraform.
-
Crea una risorsa VPC o utilizza un VPC esistente facendo riferimento all'origine dati VPC. Per ulteriori informazioni, consulta la documentazione di Terraform sull'origine dati ibm_is_vpc o sulla risorsa ibm_is_vpc.
data "ibm_is_vpc" "example_vpc" { name = "example-vpc" } -
Creare una risorsa di sottorete o utilizzare una sottorete esistente facendo riferimento all'origine dati della sottorete. Per ulteriori informazioni, consulta la documentazione di Terraform sull'origine dati ibm_is_subnet o sulla risorsa ibm_is_subnet.
data "ibm_is_subnet" "example_subnet" { name = "example-subnet" vpc = ibm_is_vpc.example_vpc.id zone = "us-south-1" ipv4_cidr_block = "10.240.0.0/24" } -
Per utilizzare una chiave ssh esistente, fare riferimento all'origine dati della chiave ssh ibm_is_ssh_key. Se non hai alcuna chiave SSH disponibile, utilizza la risorsa ibm_is_ssh_key per crearne una.
RSA e ED25519 sono i due tipi di chiavi SSH che è possibile utilizzare. Tuttavia, non è possibile utilizzare il tipo di ED25519 chiave SSH con Windows o VMware immagini. È possibile utilizzare solo chiavi SSH RSA per queste immagini. Per ulteriori informazioni, vedi Introduzione alle chiavi SSH.
resource "ibm_is_ssh_key" "example_sshkey" { name = "example-sshkey" public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR" }
Creare il modello di istanza con Terraform
Dopo aver conosciuto questi valori, usali per scrivere il file ibm_is_instance_template blocco di risorse. Devi specificare anche un nome per l'istanza.
L'esempio seguente crea un modello di istanza che viene chiamato my-instance-template nella regione us-south-1 e utilizza il profilo bx2-8x32 profilo.
resource "ibm_is_instance_template" "my-instance-template" {
name = "my-instance-template"
image = r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b
profile = "bx2-8x32"
primary_network_interface {
subnet = 0727-944126da-e46d-4104-8ba4-ab5a5832864b
allow_ip_spoofing = true
}
placement_group = r006-9994e3ab-18ae-49a7-95cf-25c77e
vpc = r006-212def4b-93f0-4b9a-a331-94178b99d474
zone = "us-south-1"
keys = [363f6d70-0000-0001-0000-00000013b96c]
boot_volume {
name = "example-boot-volume"
delete_volume_on_instance_delete = true
}
}
L'esempio seguente crea un modello di istanza che si chiama my-gen3-instance-template in us-south-3 e utilizza il profilo cx3d-8x20 profilo. Quando il profilo di calcolo selezionato supporta l'allocazione della larghezza di banda in pool per i volumi di dati, è possibile includere anche l'opzione storage_qos_modes.
resource "ibm_is_instance_template" "example" {
name = "my-gen3-instance-template"
image = r006-534ef2ac-6158-45b3-9657-57629fa85305
profile = "cx3d-8x20"
primary_network_interface {
subnet = 0d933c75-492a-4756-9832-1200585dfa79
allow_ip_spoofing = true
}
vpc = r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b
zone = "us-south-3"
keys = [363f6d70-0000-0001-0000-00000013b96c]
storage_qos_modes = [pooled]
boot_volume {
name = "example-boot-volume"
delete_volume_on_instance_delete = true
}
volume_attachments {
delete_volume_on_instance_delete = false
name = "example-data-vol-01"
volume_prototype {
profile = "5iops-tier"
capacity = 3000
}
}
volume_attachments {
delete_volume_on_instance_delete = false
name = "example-data-vol-02"
volume_prototype {
profile = "5iops-tier"
capacity = 3000
}
}
}
Per ulteriori esempi di ibm_is_instance_template, consulta il riferimento Terraform ibm_is_instance_template.
Passi successivi
Dopo aver creato un template dell'istanza, puoi eseguire il provisioning di una singola istanza del server virtuale oppure puoi eseguire il provisioning di più istanze contemporaneamente come parte di un gruppo di istanze. Facoltativamente, puoi impostare le politiche di scalabilità automatica per il tuo gruppo di istanze per aggiungere o rimuovere dinamicamente le istanze del server virtuale dal tuo gruppo. Per ulteriori informazioni, vedi i seguenti argomenti: