2013-10-15 10 views
6

Abbiamo un VM dire SampleVM estinto & in esecuzione su Azure Environment e sulla stessa abbiamo creato 2 istanze One è WebRole & altro è WorkerRole in esecuzione su staging Slot.Come arrestare una singola istanza/VM di WebRole/WorkerRole

Il mio problema è che è possibile avviare/arrestare SampleVM tramite il comando powershell, ma come è possibile avviare/arrestare una singola istanza (WebRole o WorkerRole) in esecuzione su un SampleVM.

Tuttavia quando mi fermo SampleVM allora sia il grado ha inoltre fermato ma voglio smettere di una sola istanza/VM cioè WebRole Or WorkerRole.

Si prega di fornire alcuni dei comandi PowerShell con il pass argomento di Stop/Start di una singola istanza

+0

Grazie per ulteriori chiarimenti ma dopo aver letto sono impressionato che non sono chiari sulla mia immagine del caso, quindi ecco una visualizzazione di My Case è come: Ho creato un Cloud Services come "SampleVM" quando clicchiamo su "SampleVM" nel portale di Azure apre una pagina in cui è presente una scheda multipla come Dashboard, Monitor, Configura ecc. e c'è un nome di tabulazione "Istanze" quando ho cliccato su di esso mostra un nuovo frame dove diplica le stesse schede e di seguito che c'è 2 ... – user2881983

+0

... lo slot uno è Production e l'altro è Staging e quando faccio clic su Staging che visualizza una tabella in cui vengono visualizzati 2 nodi/vm/istanze e lo stato mostra che è in esecuzione questa è solo la visualizzazione della mia immagine del caso ..... Ora sono in grado di avviare/arrestare "SampleVM" tramite il comando powershell a causa del quale anche le istanze in esecuzione/node/VM/Role hanno interrotto ... il mio problema è che voglio solo op/avvia un singolo Ruolo/VM/nodo/istanze qualsiasi cosa abbiamo chiamato quei nodi creati nello slot di staging ... – user2881983

+0

di seguito è il comando con cui sono in grado di arrestare/avviare il servizio cloud "Stop-AzureService -ServiceName" SampleVM " -Slot Staging "...... Per favore ora getta un po 'di luce su questo e fornisci qualche aiuto o suggerimento su come posso fermare/avviare una particolare istanza in questo particolare nome di servizio Cloud" SampleVM ". – user2881983

risposta

3

semplice risposta è che a partire da oggi, non si può fermare una singola istanza del vostro ruolo web/lavoratore. Quando si interrompe un ruolo, tutte le istanze vengono arrestate. Si potrebbe rimuovere le istanze dal ruolo, ma ancora una volta non è possibile specificare l'istanza particolare che si desidera rimuovere. Vedere la risposta di @kwill di seguito.

È inoltre possibile trovare seguendo i link utili per l'eliminazione di istanze di ruolo specifici:

http://gauravmantri.com/2013/10/16/a-new-version-of-windows-azure-service-management-api-is-available-with-delete-specific-role-instances-and-more-goodies/

https://github.com/richorama/Two10.Azure.SelfDestruct

6

buona risposta da Gaurav, ma ho voluto aggiungere un po 'più in dettaglio, come penso che ci potrebbe essere un po 'di confusione sui ruoli web e dei lavoratori. Ogni ruolo è una definizione per un gruppo di macchine virtuali che fanno la stessa cosa, come costruita da voi (voi non trattare con il sistema operativo - è sufficiente kickstart la vostra applicazione, e Azure si occupa della VM stessa).

Quando un Service Cloud è in esecuzione, ci sarà un minimo di un'istanza di ogni tipo di ruolo. Quindi nel tuo caso, sia con un ruolo web che con un ruolo di lavoro, avrai almeno due macchine virtuali in esecuzione.

Se si sceglie di ridimensionare il proprio ruolo Web per, diciamo, 3 istanze e quindi decidere di ricomporlo in 2 istanze, non è possibile scegliere quale arrestare; questo è curato dal tessuto di Azure. Ricordate che ogni istanza di un ruolo è in esecuzione il codice identico, e Azure traffico di carico-saldi alle istanze di ruolo (attraverso endpoint esterni che si definiscono). L'unica cosa di cui devi preoccuparti è l'arresto. Hai ca. 5 minuti per pulire qualsiasi processo in esecuzione (e si può facilmente prendere una particolare istanza di bilanciamento del carico durante l'arresto, dal momento che si riceve un evento Stopping()).

Non è possibile arrestare un intero ruolo (ad esempio tutte le istanze di un ruolo) all'interno di un servizio cloud (quindi ... non è possibile eliminare le istanze del ruolo di lavoro lasciando attive le istanze del ruolo Web). Se questo è un requisito, puoi sempre considerare di eseguire il tuo ruolo web in un Servizio Cloud e in un ruolo di lavoro in un altro Servizio Cloud. Se usano le code per passare i dati, tutto funzionerà come prima. Se le istanze del ruolo Web richiedono l'accesso diretto alle istanze del ruolo di lavoro, è possibile inserire entrambi i servizi cloud in una rete virtuale.

Un'altra cosa da considerare: non è necessario avere ruoli separati. Se il costo è un fattore, puoi eseguire tutto il codice nel tuo ruolo web. Impiega poco lavoro per attivare processi/thread aggiuntivi nel tuo ruolo web, durante OnStart() - ricorda che le istanze di ruolo sono macchine virtuali complete di Windows Server; gestisci quello che vuoi Con una singola definizione di ruolo, il ridimensionamento è un po 'approssimativo: tutto viene ridimensionato.Con ruoli separati, è possibile perfezionare il ridimensionamento (molto più importante quando si costruiscono sistemi più grandi).

4

I punti più ampi di David su come modellare il tuo servizio PaaS sono tutti corretti. Ma per aggiungerlo, c'è una nuova API di gestione dei servizi che è stata appena rilasciata, chiamata Elimina istanza del ruolo, che consente di eliminare un'istanza specifica di un ruolo: http://msdn.microsoft.com/en-us/library/windowsazure/dn469418.aspx. Questa funzionalità è completamente nuova per consentire all'utente di scegliere quale istanza eliminare, anziché essere soggetta al comportamento predefinito del tessuto descritto da David (eliminando sempre l'ultima istanza).

Problemi correlati