Kubernetes mediante Cloud Shell: distribuzione di un'applicazione Flask Python
In questa esercitazione viene utilizzato un account Oracle Cloud Infrastructure per impostare un cluster Kubernetes. Quindi, si crea un'applicazione Python con una struttura Flask. Infine, distribuire l'applicazione nel cluster utilizzando Cloud Shell.
I task chiave includono come:
- Creare un compartimento.
- Impostare un cluster Kubernetes su OCI.
- Crea un'applicazione Python in una struttura Flask.
- Crea un'immagine Docker.
- Invia l'immagine a OCI Container Registry.
- Utilizzare Cloud Shell per distribuire l'applicazione Docker nel cluster.
- Connettersi all'applicazione da Internet.
Per ulteriori informazioni, vedere:
Informazioni preliminari
Per eseguire correttamente questa esercitazione, è necessario disporre dei seguenti elementi:
- Un account a pagamento Oracle Cloud Infrastructure. Vedere Iscrizione a Oracle Cloud Infrastructure.
- Cloud Shell offre le applicazioni riportate di seguito.
- JDK 8+
- Python 3.6.8+
- Kubectl 1.18.10+
- Apache Maven 3.5+
- Docker 19.0.11+
Il vantaggio di utilizzare Cloud Shell consiste nel fatto che tutti gli strumenti necessari per gestire l'applicazione sono già installati e pronti per l'uso.
1. Prepara
Preparare l'ambiente per creare e distribuire l'applicazione.
- Accedi alla console di Oracle Cloud Infrastructure.
- Aprire il menu di navigazione e fare clic su Governance e amministrazione. In Governance fare clic su Limiti, quote e uso.
- Trova il limite del servizio per le aree:
- Filtro per le seguenti opzioni:
- Servizio: aree
- Ambito: tenancy
- Risorsa: conteggio aree sottoscritte
- Compartimento:
<tenancy-name>(radice)
- Trova limite servizio:
- Nome limite:
subscribed-region-count - Limite servizio: minimo 2
- Nome limite:
- Filtro per le seguenti opzioni:
- Trova il conteggio delle memorie centrali di Computazione disponibile per VM.Standard.E3. Forma Flex:
- Filtro per le seguenti opzioni:
- Servizio: Compute
- Ambito:
<first-availability-domain>. Esempio:EMlr:US-ASHBURN-AD-1 - Risorsa: memorie per Standard.E3. Istanze Flex e BM.Standard.E3.128
- Compartimento:
<tenancy-name>(radice)
- Trova conteggio memorie centrali disponibili:
- Nome limite:
standard-e3-core-ad-count - Disponibile: minimo 1
- Nome limite:
- Ripetere l'operazione per Ambito:
<second-availability-domain>e<third-availability-domain>. Ogni area deve avere almeno una memoria centrale disponibile per questa forma.
- Filtro per le seguenti opzioni:
- Scopri se sono disponibili 50 GB di volume a blocchi:
- Filtro per le seguenti opzioni:
- Servizio: volume a blocchi
- Ambito:
<first-availability-domain>. Esempio:EMlr:US-ASHBURN-AD-1 - Dimensione volume risorsa (GB)
- Compartimento:
<tenancy-name>(radice)
- Trova conteggio memorie centrali disponibili:
- Nome limite:
total-storage-gb - Disponibile: minimo 50
- Nome limite:
- Ripetere l'operazione per Ambito:
<second-availability-domain>e<third-availability-domain>. Ogni area deve avere almeno 50 GB di volume a blocchi disponibili.
- Filtro per le seguenti opzioni:
- Scopri quanti load balancer flessibili hai a disposizione:
- Filtro per le seguenti opzioni:
- Servizio: LbaaS
- Ambito:
<your-region>. Esempio:us-ashburn-1 - Risorsa:
<blank> - Compartimento:
<tenancy-name>(radice)
- Trovare il conteggio per le seguenti forme
- Nome limite:
lb-flexible-bandwidth-count - Disponibile: minimo 1
- Nome limite:
- Filtro per le seguenti opzioni:
Questa esercitazione crea tre istanze di computazione con una forma VM.Standard.E2.1 per i nodi cluster. Per utilizzare un'altra forma, filtrare per il conteggio di memorie centrali. Ad esempio, per VM.Standard2.4, filtrare i memorie per le istanze VM e BM basate su Standard2 e ottenere il conteggio.
Per un elenco di tutte le forme, vedere Forme standard VM.
Questa esercitazione crea tre istanze di computazione con un file VM.Standard.E3. Forma Flex per i nodi cluster. Per utilizzare un'altra forma, filtrare per il conteggio di memorie centrali. Ad esempio, per VM.Standard2.4, filtrare i memorie per le istanze VM e BM basate su Standard2 e ottenere il conteggio.
Per un elenco di tutte le forme, vedere Forme standard VM.
Questa esercitazione utilizza un workflow 'Creazione rapida' per creare un cluster con una subnet regionale pubblica che ospita un load balancer flessibile. Per utilizzare un load balancer diverso, è possibile utilizzare un workflow personalizzato per specificare in modo esplicito quali risorse di rete esistenti utilizzare, incluse le subnet esistenti in cui creare i load balancer.
Per utilizzare un'altra larghezza di banda per il load balancer, filtrare la relativa conteggio, ad esempio larghezza di banda da 100 Mbps o larghezza di banda da 400 Mbps.
-
Nel menu di navigazione , selezionare il menu Profilo
e quindi selezionare Impostazioni utente o Profilo personale, a seconda dell'opzione visualizzata.
- Fare clic su Token di autenticazione.
- Fare clic su Genera token.
- Fornire una descrizione.
- Fare clic su Genera token.
- Copiare il token e salvarlo.
- Fare clic su Chiudi.
Assicurarsi di salvare il token subito dopo averlo creato. Non si dispone dell'accesso in seguito.
2. Imposta un cluster
Installare e configurare le opzioni di gestione per il cluster Kubernetes. Successivamente, distribuire l'applicazione in questo cluster.
Se il nome utente si trova nel gruppo Amministratori, saltare questa sezione. In caso contrario, chiedere all'amministratore di aggiungere il criterio seguente alla tenancy:
allow group <the-group-your-username-belongs> to manage compartments in tenancyQuesto privilegio consente di creare un compartimento per tutte le risorse dell'esercitazione.
- Nel menu di navigazione selezionare il menu Profilo
e quindi selezionare Impostazioni utente o Profilo personale, a seconda dell'opzione visualizzata. - Nel riquadro sinistro, fare clic su Gruppi.
- In un blocco note, copiare il nome gruppo a cui appartiene il nome utente.
- Aprire il menu di navigazione e fare clic su Identità e sicurezza. In Identità, fare clic su Criteri.
- Fare clic su Crea criterio.
- Inserire le seguenti informazioni:
- Nome:
manage-compartments - Descrizione:
Allow the group <the-group-your-username-belongs> to list, create, update, delete and recover compartments in the tenancy. - Compartimento:
<your-tenancy>(root)
- Nome:
- Per Costruzione guidata criteri, fare clic su Mostra editor manuale.
- Incolla nel seguente criterio:
allow group <the-group-your-username-belongs> to manage compartments in tenancy - Fare clic su Crea.
Di riferimento
Il tipo di risorsa compartments in Combinazioni Verbi + Tipo di risorsa per IAM
Creare un compartimento per le risorse create in questa esercitazione.
- Accedi alla console di Oracle Cloud Infrastructure.
- Aprire il menu di navigazione e fare clic su Identità e sicurezza. In Identità, fare clic su Compartimenti.
- Fare clic su Crea compartimento.
- Inserire le seguenti informazioni:
- Nome:
<your-compartment-name> - Descrizione:
Compartment for <your-description>. - Compartimento padre:
<your-tenancy>(root)
- Nome:
- Fare clic su Crea compartimento.
Riferimento: creare un compartimento
Se il nome utente si trova nel gruppo Amministratori, saltare questa sezione. In caso contrario, chiedere all'amministratore di aggiungere il criterio seguente alla tenancy:
allow group <the-group-your-username-belongs> to manage all-resources in compartment <your-compartment-name>Con questo privilegio, puoi gestire tutte le risorse nel tuo compartimento, concedendo in pratica i diritti amministrativi in tale compartimento.
- Aprire il menu di navigazione e fare clic su Identità e sicurezza. In Identità, fare clic su Criteri.
- Selezionare il compartimento dalla lista Compartimento.
- Fare clic su Crea criterio.
- Inserire le seguenti informazioni:
- Nome:
manage-<your-compartment-name>-resources - Descrizione:
Allow users to list, create, update, and delete resources in <your-compartment-name>. - Compartimento:
<your-tenancy>(root)
- Nome:
- In Costruzione guidata criteri, selezionare le scelte riportate di seguito.
- Casi d'uso dei criteri:
Compartment Management - Modelli di criteri comuni:
Let compartment admins manage the compartment - Gruppi:
<the-group-your-username-belongs> - Posizione:
<your-tenancy>(root)
- Casi d'uso dei criteri:
- Fare clic su Crea.
Di riferimento
Creare un cluster con impostazioni predefinite e nuove risorse di rete tramite il workflow 'Creazione rapida'.
Dopo aver creato un cluster Kubernetes, impostare Cloud Shell per accedere al cluster.
L'impostazione dell'accesso al cluster consente di preparare l'applicazione per la distribuzione.
3. Crea l'applicazione Docker
Successivamente, imposta il framework Flask su Cloud Shell. Quindi, creare ed eseguire un'applicazione Python.
Crea la tua applicazione Flask.
Eseguire l'applicazione Flask.
Creazione di un'applicazione Python locale con la struttura Flask riuscita.
Riferimenti:
Per ulteriori informazioni su Flask, vedere Documentazione sulla maschera.
Successivamente, crea un'immagine Docker per l'applicazione Flask.
4. Distribuisci immagine Docker
Con l'immagine Python creata, ora puoi distribuirla.
Con l'immagine Docker locale creata, eseguire il PUSH dell'immagine nel registro dei container.
Procedere come segue.
Trovare l'immagine in Container Registry dopo il completamento del comando push.
Pagina successiva
Hai creato un'applicazione Hello World Python, l'hai distribuita in un cluster Kubernetes e l'hai resa accessibile su Internet, utilizzando la struttura Flask.
Dai un'occhiata a questi siti per scoprire ulteriori informazioni sullo sviluppo con i prodotti Oracle: