Gestire i cluster Kubernetes

Google Distributed Cloud (GDC) con air gap ti consente di gestire i cluster Kubernetes dopo la creazione utilizzando GKE su GDC. Questo servizio ti consente di adattarti ai requisiti in evoluzione dei carichi di lavoro dei container e di gestire i nodi del cluster esistenti con i seguenti workflow:

Questo documento è destinato agli amministratori IT del gruppo di amministratori della piattaforma che gestiscono i carichi di lavoro dei container ospitati in cluster che si estendono su più progetti e agli sviluppatori del gruppo di operatori delle applicazioni che sono responsabili della creazione dei carichi di lavoro delle applicazioni all'interno di un singolo progetto. Per ulteriori informazioni, consulta Segmenti di pubblico per la documentazione air-gap di GDC.

Prima di iniziare

Per completare le attività descritte in questo documento, devi disporre delle seguenti risorse e dei seguenti ruoli:

  • Per visualizzare e gestire i pool di nodi in un cluster Kubernetes condiviso, chiedi all'amministratore IAM dell'organizzazione di concederti i seguenti ruoli:

    • Amministratore cluster utente (user-cluster-admin)
    • Visualizzatore nodi del cluster utente (user-cluster-node-viewer)

    Questi ruoli non sono associati a uno spazio dei nomi del progetto.

  • Per visualizzare e gestire i node pool in un cluster Kubernetes standard, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore cluster standard (standard-cluster-admin). Questo ruolo è associato allo spazio dei nomi del progetto.

  • Per eseguire comandi su un cluster Kubernetes, assicurati di disporre delle seguenti risorse:

    • Individua il nome del cluster Kubernetes o chiedi a un membro del gruppo di amministratori della piattaforma qual è il nome del cluster.

    • Accedi e genera il file kubeconfig per il cluster Kubernetes se non ne hai uno.

    • Utilizza il percorso kubeconfig del cluster Kubernetes per sostituire KUBERNETES_CLUSTER_KUBECONFIG in queste istruzioni.

Spostare i cluster nella gerarchia del progetto

I progetti forniscono un raggruppamento logico delle istanze di servizio. Puoi aggiungere e rimuovere cluster Kubernetes condivisi dalla gerarchia di progetti GDC per raggruppare i servizi in modo appropriato. Non puoi spostare i cluster standard nella gerarchia dei progetti perché sono limitati a un singolo progetto.

Allegare il progetto a un cluster condiviso

Quando crei un cluster condiviso dalla console GDC, devi collegare almeno un progetto prima di poter eseguire il deployment dei carichi di lavoro dei container. Se devi aggiungere altri progetti a un cluster esistente, completa i seguenti passaggi:

  1. Nel menu di navigazione, seleziona Kubernetes Engine > Cluster.
  2. Fai clic sul cluster nell'elenco dei cluster per aprire la pagina Dettagli cluster.
  3. Seleziona Allega progetto.
  4. Seleziona i progetti disponibili da aggiungere dall'elenco dei progetti. Fai clic su Salva.

Scollegare il progetto da un cluster condiviso

Per scollegare un progetto da un cluster condiviso esistente, completa i seguenti passaggi:

  1. Nel menu di navigazione, seleziona Kubernetes Engine > Cluster.
  2. Fai clic sul cluster nell'elenco dei cluster per aprire la pagina Dettagli cluster.
  3. Fai clic su Scollega per scollegare il progetto dal cluster.

Visualizzare tutti i cluster in un'organizzazione

Puoi visualizzare tutti i cluster Kubernetes disponibili in un'organizzazione, inclusi i relativi stati, le versioni di Kubernetes e altri dettagli.

Poiché i cluster Kubernetes sono una risorsa di zona, puoi elencare i cluster solo per zona.

Console

  • Nel menu di navigazione, seleziona Kubernetes Engine > Cluster.

    Vengono visualizzati tutti i cluster condivisi disponibili nell'organizzazione con i relativi stati e altre informazioni:

    Pagina dei dettagli del cluster per gli stati e altre informazioni per ogni cluster condiviso nell'organizzazione.

gdcloud

  • Elenca i cluster condivisi disponibili della zona in un'organizzazione:

    gdcloud clusters list
    

    L'output è simile al seguente:

    CLUSTERREF.NAME   READINESS.STATE   TYPE   CURRENTVERSION.USERCLUSTERVERSION     CURRENTVERSION.SUPPORT.STATUS
    user-vm-1         Ready             user   1.15.0-gdch.394225-1.28.15-gke.1200   In Support
    user-vm-2         Ready             user   1.15.0-gdch.394225-1.29.12-gke.800    In Support
    

API

  • Elenca i cluster Kubernetes disponibili della zona in un'organizzazione:

    kubectl get clusters.cluster.gdc.goog -n KUBERNETES_CLUSTER_NAMESPACE \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Sostituisci quanto segue:

    • MANAGEMENT_API_SERVER: il percorso kubeconfig del server API zonale. Se non hai ancora generato un file kubeconfig per il server API nella zona di destinazione, consulta Accedi per i dettagli.
    • KUBERNETES_CLUSTER_NAMESPACE: lo spazio dei nomi del cluster. Per i cluster condivisi, utilizza lo spazio dei nomi platform. Per i cluster standard, utilizza lo spazio dei nomi del progetto del cluster.

    L'output è simile al seguente:

    NAME        STATE     K8S VERSION
    user-vm-1   Running   1.25.10-gke.2100
    user-test   Running   1.26.5-gke.2100
    

Elenca le versioni di Kubernetes disponibili per un cluster

Puoi elencare le versioni di Kubernetes disponibili nella tua zona GDC per verificare le funzionalità di Kubernetes a cui puoi accedere nel cluster.

  • Elenca le versioni di Kubernetes disponibili nella tua zona:

    kubectl get userclustermetadata.upgrade.private.gdc.goog \
        -o=custom-columns=K8S-VERSION:.spec.kubernetesVersion \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Sostituisci MANAGEMENT_API_SERVER con il file kubeconfig del server API zonale del cluster.

    L'output è simile al seguente:

    K8S-VERSION
    1.25.10-gke.2100
    1.26.5-gke.2100
    1.27.4-gke.500
    

Visualizzare le proprietà aggiornabili

Per ogni cluster Kubernetes, è disponibile un insieme di proprietà da modificare dopo la creazione. Puoi modificare solo le proprietà modificabili che si trovano in spec della risorsa personalizzata Cluster. Non tutte le proprietà in spec sono idonee per l'aggiornamento dopo il provisioning del cluster. Per visualizzare queste proprietà aggiornabili, completa i seguenti passaggi:

Console

  1. Nel menu di navigazione, seleziona Kubernetes Engine > Cluster.

  2. Nell'elenco dei cluster Kubernetes, fai clic sul nome di un cluster per visualizzarne le proprietà.

  3. Le proprietà modificabili hanno un'icona Modifica.

kubectl

  • Visualizza l'elenco delle proprietà per la specifica Cluster e i valori validi corrispondenti a ciascuna proprietà:

    kubectl explain clusters.cluster.gdc.goog.spec \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Sostituisci MANAGEMENT_API_SERVER con il percorso kubeconfig del server API zonale. Se non hai ancora generato un file kubeconfig per il server API nella zona di destinazione, consulta Accedi per i dettagli.

    L'output è simile al seguente:

    KIND:     Cluster
    VERSION:  cluster.gdc.goog/v1
    
    RESOURCE: spec <Object>
    
    DESCRIPTION:
        <empty>
    
    FIELDS:
      clusterNetwork    <Object>
        The cluster network configuration. If unset, the default configurations
        with pod and service CIDR sizes are used. Optional. Mutable.
    
      initialVersion    <Object>
        The GDC air-gapped version information of the user cluster during cluster creation.
        Optional. Default to use the latest applicable version. Immutable.
    
      loadBalancer  <Object>
        The load balancer configuration. If unset, the default configuration with
        the ingress service IP address size is used. Optional. Mutable.
    
      nodePools <[]Object>
        The list of node pools for the cluster worker nodes. Optional. Mutable.
    
      releaseChannel    <Object>
        The release channel a cluster is subscribed to. When a cluster is
        subscribed to a release channel, GDC maintains the cluster versions for
        users. Optional. Mutable.
    

    Aggiorna queste impostazioni utilizzando la console GDC o kubectl CLI. Ad esempio, puoi ridimensionare un node pool.

Passaggi successivi