Creazione di un file di configurazione Kubernetes

In Compute Cloud@Customer, è possibile impostare un file di configurazione Kubernetes per ogni cluster OKE con cui si lavora. Il file di configurazione Kubernetes consente di accedere ai cluster OKE utilizzando il comando kubectl e il dashboard Kubernetes.

I file di configurazione Kubernetes organizzano informazioni su cluster, utenti, spazi di nomi e meccanismi di autenticazione. È possibile definire contesti per passare facilmente tra cluster e spazi di nomi. Lo strumento kubectl utilizza i file di configurazione Kubernetes per trovare le informazioni necessarie per scegliere un cluster e comunicare con il server API di un cluster.

Installazione dello strumento della riga di comando Kubernetes

Installare e configurare lo strumento della riga di comando Kubernetes kubectl. Lo strumento kubectl consente di eseguire operazioni sui cluster OKE, ad esempio distribuire applicazioni, ispezionare e gestire risorse cluster e visualizzare i log.

Per installare kubectl, vedere Strumenti di installazione di Kubernetes. La versione kubectl deve essere inclusa in una versione secondaria della versione Kubernetes del cluster OKE. Ad esempio, un client v1.29 può comunicare con i piani di controllo v1.28, v1.29 e v1.30. Consulta le versioni supportate di Kubernetes.

Per ulteriori informazioni, incluso un elenco completo delle operazioni kubectl, vedere la pagina di riferimento https://kubernetes.io/docs/reference/kubectl/.

Creare un file di configurazione Kubernetes

Utilizzare l'interfaccia CLI per creare il file di configurazione Kubernetes.

Suggerimento

Il pulsante Avvio rapido in una pagina dei dettagli del cluster nella console di Compute Cloud@Customer mostra come creare un file di configurazione Kubernetes e fornisce l'OCID del cluster.

  1. Recupera l'OCID del cluster: oci ce cluster list

  2. Eseguire il comando oci ce cluster create-kubeconfig come descritto per creare il file di configurazione.

    L'opzione --cluster-id è obbligatoria.

    Il valore predefinito dell'opzione --file è ~/.kube/config. Se si dispone già di un file nella posizione specificata e si desidera sostituirlo, utilizzare l'opzione --overwrite. Per mantenere più file di configurazione, selezionare un file diverso utilizzando la variabile di ambiente KUBECONFIG o l'opzione --kubeconfig.

    Il valore dell'opzione --kube-endpoint deve essere PUBLIC_ENDPOINT.

    Se non si specifica l'opzione --profile, viene utilizzato il valore corrente della variabile di ambiente OCI_CLI_PROFILE. Si consiglia di specificare questo valore.

    Se specificato, il valore dell'opzione --token-version deve essere 2.0.0.

    Ad esempio:

    Utilizzare il comando riportato di seguito per configurare un file di configurazione Kubernetes per il cluster specificato utilizzando l'endpoint pubblico.

    $ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.unique_ID \
    --file $HOME/.kube/config --kube-endpoint PUBLIC_ENDPOINT --profile profile-name
    New config written to the Kubeconfig file /home/username/.kube/config

    Un file di configurazione Kubernetes include un comando CLI che genera dinamicamente un token di autenticazione e lo inserisce quando si esegue un comando kubectl. Per impostazione predefinita, il comando CLI nel file di configurazione Kubernetes utilizza il profilo CLI corrente durante la generazione di un token di autenticazione. Se nel file di configurazione dell'interfaccia CLI sono stati definiti più profili, utilizzare uno dei metodi riportati di seguito per specificare quale profilo utilizzare durante la generazione del token di autenticazione. Il valore profile-name corrisponde al nome del profilo nel file di configurazione dell'interfaccia CLI.

    • Assicurarsi che la variabile di ambiente OCI_CLI_PROFILE sia impostata sul profilo per la tenancy in cui risiede ocid1.cluster.unique_ID. Questa impostazione viene ignorata se è stato utilizzato uno dei seguenti metodi per specificare il profilo per questo cluster nel file di configurazione Kubernetes.

    • Specificare l'opzione --profile nella riga di comando create-kubeconfig come mostrato nel comando di esempio precedente.

    • Modificare il file di configurazione generato come mostrato nell'esempio riportato di seguito.

      user:
        exec:
          apiVersion: client.authentication.k8s.io/v1beta1
          args:
          - ce
          - cluster
          - generate-token
          - --cluster-id
          - cluster ocid
          - --profile
          - profile-name
          command: oci
          env: []

    Utilizzare il comando seguente per impostare la variabile di ambiente KUBECONFIG sul file di configurazione Kubernetes creato o aggiornato nel comando precedente:

    $ export KUBECONFIG=$HOME/.kube/config

    Il comando seguente mostra il contenuto del nuovo file di configurazione YAML:

    $ kubectl config view

    Se si esegue di nuovo il comando con un OCID cluster diverso, le nuove informazioni vengono unite alle informazioni esistenti. Verrà visualizzato il seguente messaggio.

    Existing Kubeconfig file found at /home/username/.kube/config and new config merged into it

Operazioni successive:

Verificare l'accesso al cluster.

Verificare l'accesso al cluster

Prima di eseguire i comandi kubectl, assicurarsi che la variabile di ambiente OCI_CLI_PROFILE sia impostata sul nome del profilo definito nel file di configurazione OCI:

$ export OCI_CLI_PROFILE=<profile-name>

Eseguire il comando seguente per confermare che è possibile accedere al cluster:

$ kubectl cluster-info

Ogni spazio di nomi Kubernetes contiene almeno un ServiceAccount: il valore predefinito ServiceAccount per lo spazio di nomi, denominato default. Se non si specifica un valore ServiceAccount quando si crea un pod, il servizio OKE assegna automaticamente il valore ServiceAccount denominato default nello spazio di nomi.

Un'applicazione in esecuzione all'interno di un pod può accedere all'API Kubernetes utilizzando le credenziali dell'account di servizio con MOUNT automatico.

Operazioni successive:

Crea un dashboard Kubernetes.

Crea un dashboard Kubernetes

Il dashboard consente di gestire il cluster e di gestire e risolvere i problemi delle applicazioni in esecuzione nel cluster.

Nel sito Kubernetes, vedere Distribuire e accedere al dashboard Kubernetes

Operazioni successive:

Creazione di un pool di nodi di lavoro OKE