Panoramica dei prerequisiti di installazione

I cluster Anthos su Bare Metal hanno i seguenti set di prerequisiti per l'installazione:

Se utilizzi una macchina come workstation come nodo nodo di cluster, deve soddisfare i prerequisiti per entrambe.

Prima di iniziare

Durante l'installazione, devi fornire le seguenti credenziali:

  • Le chiavi SSH private necessarie per accedere alle macchine dei nodi del cluster.
  • Se non utilizzi root, il nome di accesso al computer del nodo del cluster.
  • Le chiavi dell'account di servizio Google Cloud. Per scoprire di più, consulta la sezione Creazione e gestione delle chiavi degli account di servizio.

Assicurati di avere tutte le credenziali necessarie prima di tentare di installare cluster Anthos su Bare Metal.

Accesso a gcloud

  1. Accedi a gcloud come utente utilizzando gcloud auth application-default:
  2. gcloud auth application-default login
    
    Devi avere un ruolo di proprietario/editor del progetto per utilizzare l'abilitazione automatica delle API e le funzionalità di creazione dell'account di servizio, descritte di seguito. Puoi anche aggiungere i seguenti ruoli IAM all'utente:
    • Amministratore account di servizio
    • Amministratore chiavi account di servizio
    • Amministratore IAM progetto
    • Visualizzatore Compute
    • Amministratore Service Usage
    In alternativa, se hai già un account di servizio con questi ruoli, esegui:
    export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILE
    
    JSON_KEY_FILE specifica il percorso del file delle chiavi JSON dell'account di servizio.
  3. Ottieni il tuo ID progetto Google Cloud da utilizzare con la creazione del cluster:
  4. export CLOUD_PROJECT_ID=$(gcloud config get-value project)
    

Prerequisiti della workstation

La workstation bmctl deve soddisfare i seguenti prerequisiti:

  • Il sistema operativo è la stessa distribuzione Linux supportata in esecuzione sulle macchine dei nodi del cluster.
  • Docker 19.03 o versioni successive installato.
  • L'utente non root è membro del gruppo docker (per le istruzioni, vedi Gestire Docker come utente non root).
  • gcloud installato.
  • Più di 50 GiB di spazio su disco libero.
  • Connettività di livello 3 a tutte le macchine dei nodi del cluster.
  • Accesso a tutte le macchine dei nodi del cluster tramite SSH tramite chiavi private con accesso root senza password. L'accesso può essere diretto o sudo.
  • Accedi al VIP del piano di controllo.

Prerequisiti della macchina nodo

Le macchine nodo hanno i seguenti prerequisiti:

  • Il sistema operativo è una delle distribuzioni Linux supportate.
  • La versione del kernel Linux è 4.17.0 o successiva. Ubuntu 18.04 e 18.04.1 sono con kernel Linux versione 4.15 e quindi non compatibili.
  • Soddisfa i requisiti hardware minimi.
  • Accesso a Internet.
  • Connettività di livello 3 a tutte le altre macchine nodo.
  • Accedi al VIP del piano di controllo.
  • Server dei nomi DNS configurati correttamente.
  • Nessun nome host duplicato.
  • Uno dei seguenti servizi NTP è attivo e funziona:
    • cronaca
    • NTP
    • ntpdate
    • system-timesync
  • Un gestore di pacchetti attivo: apt, dnf e così via.
  • Su Ubuntu devi disattivare il protocollo non elaborato (UFW). Esegui systemctl stop ufw per disattivare UFW.
  • Su Ubuntu e a partire dai cluster Anthos su Bare Metal 1.8.2, non devi disabilitare AppArmor. Se esegui il deployment dei cluster utilizzando release precedenti di cluster Anthos su Bare Metal, disabilita AppArmor con il comando seguente: systemctl stop apparmor
  • Se scegli Docker come runtime del container, puoi utilizzare Docker 19.03 o versioni successive installate. Se non hai installato Docker sulle tue macchine nodo o se hai installato una versione precedente, Anthos su Bare Metal installa Docker 19.03.13 o versioni successive quando crei i cluster.
  • Se utilizzi il runtime del container predefinito, containerd, non hai bisogno di Docker e l'installazione di Docker può causare problemi. Per ulteriori informazioni, consulta i problemi noti.

  • I prerequisiti per lo spazio su disco dipendono dalla versione dei cluster di cui esegui il deployment:

    Cluster versione 1.10.1 e precedenti

    Ogni volta che installi cluster Anthos su Bare Metal versione 1.10.1 o precedente, assicurati che i file system che supportano le seguenti directory abbiano la capacità richiesta e soddisfino i seguenti requisiti:

    • Le directory hanno almeno 128 GiB di capacità di archiviazione gratuita e le partizioni sottostanti per le directory hanno la seguente capacità:
      • /: 20 GiB (21.474.836.480 byte)
      • /var/lib/docker o /var/lib/containerd, a seconda del runtime del container: 30 GiB (32.212.254.720 byte)
      • /var/lib/kubelet: 10 GiB (10.737.418.240 byte)
      • /mnt/anthos-system: 25 GiB (26.843.545.600 byte)
      • /var/lib/etcd: 20 GiB (21.474.836.480 byte, applicabile solo ai nodi del piano di controllo)
    • Lo spazio su disco complessivo è inferiore al 90% di utilizzo.

    Cluster versione 1.10.2 e successive

    A partire dalla release 1.10.2, la creazione del cluster controlla solo lo spazio libero richiesto per i cluster Anthos sui componenti di sistema Bare Metal. Questa modifica ti offre un maggiore controllo sullo spazio assegnato ai carichi di lavoro delle applicazioni. Ogni volta che installi Cluster Anthos su Bare Metal versione 1.10.2 o successiva, assicurati che i file system che supportano le seguenti directory abbiano la capacità richiesta e soddisfino i seguenti requisiti:

    • /: 17 GiB (18.253.611.008 byte).
    • /var/lib/docker o /var/lib/containerd, a seconda del runtime del container:
      • 30 GiB (32.212.254.720 byte) per i nodi del piano di controllo.
      • 10 GiB (10.485.760 byte) per i nodi worker.
    • /var/lib/kubelet: 500 MiB (524.288.000 byte).
    • /var/lib/etcd: 20 GiB (21.474.836.480 byte, applicabile solo ai nodi del piano di controllo).

    Indipendentemente dalla versione del cluster, gli elenchi precedenti di directory possono trovarsi sulla stessa partizione o su parti diverse. Se si trovano nella stessa partizione sottostante, il requisito di spazio è la somma dello spazio richiesto per ogni singola directory nella partizione. Per tutte le versioni di release, il processo di creazione del cluster crea le directory, se necessario.

  • Le directory /var/lib/etcd e /etc/kubernetes non esistono o sono vuote.

Oltre ai prerequisiti per l'installazione e l'esecuzione di cluster Anthos su Bare Metal, i clienti sono tenuti a rispettare gli standard pertinenti che regolano il loro settore o segmento di attività, come i requisiti PCI DSS per le aziende che elaborano carte di credito o STIG (Security Technical Implementation Guide) per le aziende del settore della difesa.

Prerequisiti delle macchine del bilanciatore del carico

Quando il deployment non ha un pool di nodi del bilanciatore del carico specializzato, puoi fare in modo che i nodi worker o i nodi del piano di controllo creino un pool di nodi del bilanciatore del carico. In tal caso, hanno ulteriori prerequisiti:

  • Le macchine si trovano nella stessa subnet di livello 2.
  • Tutti i VIP si trovano nella subnet dei nodi del bilanciatore del carico e sono instradabili dal gateway della subnet.
  • Il gateway della subnet del bilanciatore del carico deve ascoltare gli ARP gratuiti per inoltrare i pacchetti al bilanciatore del carico master.

Prerequisiti del progetto Google Cloud

Prima di installare Cluster Anthos su Bare Metal, abilita i seguenti servizi per il tuo progetto GCP associato:

  • anthos.googleapis.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • iam.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com

Puoi utilizzare lo strumento bmctl anche per attivare questi servizi.

Prerequisiti degli account di servizio

Negli ambienti di produzione, devi creare account di servizio separati per scopi diversi. I cluster Anthos su Bare Metal richiedono i seguenti diversi tipi di account di servizio Google Cloud in base al loro scopo:

  • Per accedere a Container Registry (gcr.io), non è richiesto alcun ruolo speciale.
  • Per registrare un cluster in un parco risorse, concedi il ruolo IAM roles/gkehub.admin all'account di servizio nel progetto Google Cloud.
  • Per connetterti ai parchi risorse, concedi il ruolo IAM roles/gkehub.connect all'account di servizio nel progetto Google Cloud.
  • Per inviare log e metriche alla suite operativa di Google Cloud, concedi i seguenti ruoli IAM all'account di servizio nel progetto Google Cloud:

    • roles/logging.logWriter
    • roles/monitoring.metricWriter
    • roles/stackdriver.resourceMetadata.writer
    • roles/monitoring.dashboardEditor
    • roles/opsconfigmonitoring.resourceMetadata.writer

Puoi utilizzare lo strumento bmctl anche per creare questi account di servizio.