Utilizzare Google Cloud e Kubernetes YAML in Cloud Code per Cloud Shell

Cloud Code per Cloud Shell è progettato per semplificare la configurazione di Kubernetes e Cloud Build analizzando lo schema sia per la struttura sia per i valori validi e fornendo errori descrittivi. Cloud Code offre soluzioni immediate per schemi comuni, completamenti intelligenti e visualizzazione di documentazione al passaggio del mouse.

File di configurazione YAML supportati

Cloud Code supporta anche le definizioni di risorse personalizzate (CRD) di Kubernetes più diffuse, come Kubeflow, out-of-the-box.

Utilizza schema personalizzato

Con Cloud Code, puoi fornire il tuo schema CRD con l'impostazione cloudcode.yaml.crdSchemaLocations nel file settings.json. Puoi fare riferimento a un file locale o a un URL. Gli URL che rimandano a github.com vengono convertiti automaticamente in raw.githubusercontent.com.

Eseguire il pull dello schema da un cluster

Quando passi a un cluster che esegue Kubernetes 1.16 e versioni successive nella visualizzazione Kubernetes, Cloud Code estrae automaticamente lo schema di tutti i CRD installati.

Configurare con gli snippet

Gli snippet pronti all'uso per lo schema YAML comune (utilizzando Command/Ctrl+Space per visualizzare le opzioni) semplificano l'avvio di un nuovo file YAML o l'aggiunta di un file esistente senza errori, rispettando al contempo le best practice. Cloud Code semplifica il lavoro con i campi ripetitivi compilando le istanze rimanenti dopo aver compilato il primo campo.

Cloud Code offre i seguenti snippet:

  • Anthos Config Management - Cluster
  • Anthos Config Management - Cluster Selector
  • Anthos Config Management - Config Management
  • Anthos Config Management - Namespace Selector
  • Cloud Build - Cloud Run deployment
  • Cloud Build - Docker container build
  • Cloud Build - GKE deployment
  • Cloud Build - GKE Skaffold deployment
  • Cloud Build - Go build
  • Cloud Build - Terraform plan + apply
  • Config Connector - BigQueryDataset
  • Config Connector - BigQueryTable
  • Config Connector - BigtableCluster
  • Config Connector - BigtableInstance
  • Config Connector - PubSubSubscription
  • Config Connector - PubSubTopic
  • Config Connector - RedisInstance
  • Config Connector - SpannerInstance
  • Kubernetes - ConfigMap
  • Kubernetes - Deployment
  • Kubernetes - Ingress
  • Kubernetes - Pod
  • Kubernetes - Secret
  • Kubernetes - Service
  • Migrate to Containers - Export
  • Migrate to Containers - PersistentVolumeClaim
  • Migrate to Containers - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

Completare con il contesto

In base allo schema corrente, Cloud Code fornisce completamenti contestuali e documenti pertinenti per aiutarti a scegliere l'opzione giusta.

Completamento del contesto per lo schema Kubernetes

Convalida schema YAML

Cloud Code offre il supporto per la convalida dello schema segnalando i tag e i valori non validi nei file YAML e suggerendo correzioni, se possibile.

Il valore del campo del nome è sottolineato in rosso per evidenziare un valore non valido di 1234. Il testo visualizzato al passaggio del mouse indica: Tipo errato. Stringa prevista.

Mostra la documentazione al passaggio del mouse

Cloud Code mostra la documentazione pertinente quando tieni premuto il cursore sopra un valore nello schema.

Informazioni sulla documentazione quando si posiziona il cursore sopra un valore nello schema

Accedere alle definizioni delle risorse

Per visualizzare le definizioni di una risorsa, fai clic con il tasto destro del mouse sulla risorsa e scegli Vai alla definizione o Dai un'occhiata alla definizione.

Applica un file YAML

Per applicare una modifica alla configurazione utilizzando il file corrente, apri la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P o fai clic su Visualizza > Tavolozza comandi) e poi esegui Cloud Code: Applica il file JSON/YAML corrente alla risorsa di cui è stato eseguito il deployment in K8s.

Questo comando mostra una visualizzazione della differenza per consentirti di esaminare le modifiche. Fai clic su Applica quando ti viene chiesto se applicare questa modifica. Viene eseguito kubectl apply -f.

Visualizzare le differenze tra i file YAML

Per visualizzare le differenze tra un file YAML nel controllo del codice sorgente e un file YAML di cui è stato eseguito il deployment, apri la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P o fai clic su Visualizza > Tavolozza comandi) e poi esegui Cloud Code: Diff Current JSON/YAML File with K8s Deployed Resource.

Esegui una prova di un file YAML

Cloud Code esegue automaticamente prove non attendibili mentre digiti le informazioni nel file YAML e sottolinea gli eventuali errori con una linea a zig zag gialla.

Le linee ondulate gialle vengono visualizzate quando il server considera un errore in una parte del codice in base al risultato di una prova secca. ad esempio violazioni delle norme, nomi duplicati o convalide che Cloud Code non esegue lato client (come i numeri di porta massimi).

Per visualizzare la descrizione dell'errore nel file YAML, tieni premuto il cursore sopra il codice sottolineato in giallo.

La convalida del dry run lato server non va a buon fine in "hello.deployment.yaml" con un messaggio di errore visualizzato come messaggio popup. I dettagli dell 'errore si trovano nel canale di output; lo spazio dei nomi "spazio-nomi-casuale" non esiste

Vengono visualizzate linee ondulate rosse per gli errori rilevati prima che Cloud Code effettui il controllo con il server Kubernetes. Ad esempio, se inserisci un numero dove è prevista una stringa, viene attivata una linea ondulata rossa.

utilizza i secret

L'utilizzo di mappe di configurazione e secret è un aspetto fondamentale del lavoro con Kubernetes. Per visualizzare il contesto di un secret in base64 con Cloud Code, tieni premuto il cursore sul secret da decodificare.

Decodifica il secret tenendo premuto il cursore sopra il secret

Passaggi successivi