---
title: Kubernetes e Private Cloud
description: Vendi cluster Kubernetes (CKS) e Private Cloud (VPC) con banda dedicata su CloudStack: offerte richieste e punti di connessione.
url: https://nexcmp.com/it/docs/infrastructure/kubernetes-and-private-cloud/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Kubernetes e Private Cloud {#kubernetes-and-private-cloud}

> **Dove nel pannello di amministrazione:** Kubernetes: Infrastructure › Cloud provider › CloudStack › Kubernetes (CKS) (`/infra/cloudstack?tab=k8s`), quindi Services › Kubernetes (Overview, Clusters, Versions, Policy). Private Cloud: Services › Private Cloud (Overview `/vpc`, VPC `/vpc/list`, Plans & pricing `/vpc/plans`). Attiva entrambi i moduli in System › Admin › License & updates.

## Descrizione {#what-it-does}

- **Kubernetes.** I clienti creano cluster Kubernetes gestiti sul tuo CloudStack tramite CloudStack Kubernetes Service (CKS). Il control plane è gratuito; i clienti pagano per i nodi **worker**. NexCMP crea una rete separata e un IP pubblico per ciascun cluster, mantenendo isolati i cluster dei diversi clienti.
- **Private Cloud.** I clienti ottengono una rete privata (un VPC di CloudStack) con router, subnet (tier), regole firewall (network ACL) e macchine virtuali all'interno. Viene venduto tramite **piano di banda** con velocità dedicata e illimitata (ad esempio 50, 100, 500 Mbps, 1 e 3 Gbps). Ciascun cliente può avere un VPC per impostazione predefinita.

Entrambi sono basati su [CloudStack](https://nexcmp.com/it/docs/infrastructure/cloudstack/) e utilizzano la sua API tramite la stessa connessione.

## Requisiti {#requirements}

### Kubernetes {#kubernetes}

| Elemento | Requisito |
|---|---|
| CloudStack | 4.23 (testato). CKS deve essere **abilitato** (`cloud.kubernetes.service.enabled = true`). |
| Account | Un account **Domain Admin** nel dominio dedicato, in modo che NexCMP possa creare un progetto CloudStack per ciascun cliente e i relativi limiti di risorsa. Vedi [CloudStack](https://nexcmp.com/it/docs/infrastructure/cloudstack/#create-a-dedicated-account-and-api-key). |
| `endpoint.url` | L'impostazione globale di CloudStack deve puntare alla tua API di gestione, raggiungibile dalle VM del cluster. NexCMP mostra il valore e l'esito di un controllo dell'endpoint. |
| Versioni | Almeno una voce di versione supportata per Kubernetes con la relativa ISO dei binari, in stato **Enabled**. Le versioni giunte a fine vita non possono essere messe in vendita. |
| Offerta del piano di controllo | Un'offerta di servizio gratuita con **esattamente 2 vCPU, 2048 MB RAM e un limite CPU** (`limitcpuuse = true`), visibile all'account. Il server rifiuta qualsiasi altra configurazione con `cp_offering_invalid`. |
| Rete | Un'offerta di rete isolata compatibile con CKS che sia abilitata. |
| IP | Indirizzi IPv4 pubblici gratuiti nell'intervallo vendibile; ogni cluster ne utilizza uno. |
| Capacità | Ciascun cluster richiede da 2 a 4 GB di RAM per il piano di controllo e una piccola VM router. Monitora le schede della capacità. |

### Private Cloud {#private-cloud}

| Elemento | Requisito |
|---|---|
| CloudStack | 4.23 (testata) con VPC abilitato. |
| Offerta VPC | Un'offerta VPC. Un'offerta dual-stack assegna a ogni livello anche un IPv6 /64. |
| Offerte di rete per i livelli | **Un'offerta di rete per ogni piano di banda**, creata per VPC, con la **velocità di rete** (Mbps) pari a quella del piano, più un'offerta **bloccata** di **1 Mbps** applicata quando un VPC viene bloccato per mancato pagamento. |
| Account | L'account dedicato (consigliato Domain Admin). Le reti VPC rimangono nell'account, non nei progetti. |
| IP | Indirizzi IPv4 pubblici gratuiti (ciascun VPC ne usa uno per il NAT di origine). |
| Spazio di indirizzamento | Ciascun VPC riceve un /16 da `10.128.0.0/9`. Mantieni tale intervallo inutilizzato sulle tue reti. |
| Dipende da | CloudStack connesso; il modulo **Private Cloud**. |

## Prepara l'infrastruttura {#prepare-the-infrastructure}

### Kubernetes: abilita CKS e aggiungi le versioni {#kubernetes-enable-cks-and-add-versions}

1. Abilita il servizio e imposta l'endpoint, quindi riavvia il server di gestione:

   ```bash
   cmk update configuration name=cloud.kubernetes.service.enabled value=true
   cmk update configuration name=endpoint.url value=https://cloudstack.example.com/client/api
   sudo systemctl restart cloudstack-management
   ```

   `endpoint.url` viene richiamato dal controller del cluster, quindi deve essere un indirizzo raggiungibile dalle VM del cluster.

2. Crea un'ISO dei binari Kubernetes per la versione che desideri vendere, utilizzando lo script `create-kubernetes-binaries-iso.sh` dell'albero sorgente di CloudStack, ospitala su un server web e registrala:

   ```bash
   cmk add kubernetessupportedversion name="Kubernetes 1.35.0" semanticversion=1.35.0 \
     url=https://files.example.com/setup-v1.35.0-calico-amd64.iso zoneid=<zone-id> \
     mincpunumber=2 minmemory=2048
   cmk list kubernetessupportedversions filter=name,semanticversion,state,isostate
   ```

   Attendi che lo stato dell'ISO diventi **Ready** e la versione sia **Enabled**.

3. Crea l'offerta del piano di controllo, limitata al dominio NexCMP:

   ```bash
   cmk create serviceoffering name=K8S-CP-2-2 displaytext="Kubernetes control plane" \
     cpunumber=2 cpuspeed=1000 memory=2048 limitcpuuse=true offerha=false domainid=<domain-id>
   ```

4. Verifica che un'offerta di rete CKS sia abilitata:

   ```bash
   cmk list networkofferings state=Enabled forvpc=false filter=id,name
   ```

### Private Cloud: crea le offerte {#private-cloud-create-the-offerings}

Nell'interfaccia utente di CloudStack (**Service Offerings › Network Offerings › Add network offering**) o tramite `cmk`:

1. Elenca quelle esistenti:

   ```bash
   cmk list vpcofferings filter=id,name,state
   cmk list networkofferings forvpc=true filter=id,name,networkrate,state
   ```

2. Usa un'offerta VPC abilitata (dual-stack se desideri IPv6). Se te ne serve una nuova, clona l'offerta VPC predefinita di CloudStack e abilitala.
3. Per **ciascun** piano di banda che vendi, crea un'offerta di rete **per VPC** (clona l'offerta predefinita "isolated network offering for VPC networks") e imposta **Network rate (Mb/s)** sulla velocità del piano: `50`, `100`, `500`, `1000`, `3000`. Abilita ciascuna offerta.
4. Crea un'ulteriore offerta con **network rate 1** (`VPC-LOCKED-1M`) per i VPC bloccati: i clienti potranno comunque raggiungere i propri server via SSH, ma la velocità sarà limitata.
5. Prendi nota dell'UUID di ogni offerta. NexCMP ne ha bisogno nella sezione successiva.

::: warning Gli ID delle offerte fornite non esistono nel tuo cloud
Il modulo Private Cloud è precompilato con gli UUID di offerta appartenenti a un'altra installazione CloudStack. Sostituisci **ciascuno** di essi con il tuo, altrimenti il primo ordine di VPC non andrà a buon fine.
:::

## Collega in NexCMP {#connect-in-nexcmp}

### Kubernetes {#kubernetes-1}

1. Apri **Infrastructure › Cloud provider › CloudStack** e scegli la scheda **Kubernetes (CKS)**. La scheda a destra **CKS status on CloudStack (read-only)** mostra `kubernetesserviceenabled`, `endpoint.url` con **Endpoint check**, l'offerta di rete CKS, le impostazioni `cloud.kubernetes.*` e l'elenco di ISO e versioni. Fai clic su **Recheck** dopo aver risolto un problema.
2. In **Sales config**, scegli **Control plane Offering** (viene visualizzato un avviso se non è esattamente 2 vCPU / 2048 MB / limite CPU), imposta **Max workers per cluster** (da 1 a 9: CKS consente 10 nodi incluso il nodo di controllo), attiva l'interruttore **Enable CKS for this backend** e fai clic su **Save**. L'interruttore rimane disabilitato finché non viene scelta un'offerta.

      ![La scheda Kubernetes (CKS) con l'offerta del piano di controllo scelta e la scheda dello stato CKS](https://nexcmp.com/it/docs/images/infrastructure/kubernetes-and-private-cloud-01-cks.webp)

3. Apri **Services › Kubernetes › Versions** e fai clic su **Sync from CloudStack**. Attiva l'interruttore **Available for new clusters** per le versioni che vendi, imposta la versione predefinita e, facoltativamente, una data di **End of life (EOL)**.


4. Apri **Services › Kubernetes › Policy**. In **Worker plans** aggiungi piani con un **Plan code** (da A a Z, da 0 a 9, trattino, fino a 16 caratteri). Imposta **NVMe per worker (GB)**, **Min and max workers** e i limiti del cluster (cluster attivi per account, creazioni ogni 24 ore, limite globale, operazioni CKS simultanee). Quindi attiva **Sell Kubernetes (CKS)**. Almeno un piano deve rimanere in vendita.

      ![Criteri Kubernetes con i piani worker e l'interruttore di vendita](https://nexcmp.com/it/docs/images/infrastructure/kubernetes-and-private-cloud-03-policy.webp)

### Private Cloud {#private-cloud-1}

1. Apri **Services › Private Cloud** (Panoramica). Nella scheda dei criteri, sostituisci **VPC offering** e **Locked offering tier** con i tuoi UUID. Verifica i limiti (VPC per account, tier, VM e regole ACL per VPC, saldo in ore di canone del piano necessario per la creazione, modifiche del piano ogni 24 ore, operazioni simultanee in cui 0 è un arresto di emergenza) e i server DNS. Fai clic su **Save** (viene richiesto un motivo).

      ![Panoramica di Private Cloud con i campi dell'offerta VPC e dell'offerta bloccata](https://nexcmp.com/it/docs/images/infrastructure/kubernetes-and-private-cloud-04-vpc-policy.webp)

2. Apri **Services › Private Cloud › Plans & pricing**. Per ogni piano fai clic su **Edit** e imposta **VND price per month**, **On sale** e l'UUID del **CloudStack tier offering** la cui velocità di rete corrisponde ai Mbps del piano. La riga mostra costi e profitti a pieno utilizzo, così puoi vedere quali piani sono al di sotto dei tuoi costi.

      ![Finestra di dialogo di modifica del piano per un piano di banda Private Cloud](https://nexcmp.com/it/docs/images/infrastructure/kubernetes-and-private-cloud-05-vpc-plan.webp)

3. Attiva l'interruttore **Sell Private Cloud**. Per provarlo prima, aggiungi ID di account di test a **Beta accounts**: tali account possono utilizzare il servizio mentre l'interruttore di vendita è disattivato.

## Verifica {#verify}

1. Kubernetes: la scheda dello stato mostra `kubernetesserviceenabled: true`, un controllo dell'endpoint riuscito e una versione abilitata. Crea un cluster di test con un singolo worker come cliente; dovrebbe raggiungere lo stato di esecuzione e `kubectl get nodes` dovrebbe mostrarlo come pronto. Eliminalo in seguito: la rete e l'IP tornano nel pool.
2. Private Cloud: crea un VPC con il piano più piccolo come cliente di test. Il VPC risulta attivo, un tier ottiene la sua subnet, una VM nel tier raggiunge Internet tramite il router VPC e **Change plan** verso un piano più grande diventa effettivo in circa 20 secondi senza interrompere le connessioni.

## Limiti e note {#limits-and-notes}

- Kubernetes: i worker vengono fatturati come le VM ai prezzi del piano e contano come VM nei limiti delle VM. Un cluster può avere al massimo 9 worker a causa del limite CKS di 10 nodi.
- Kubernetes: il piano di controllo, il router e l'IP pubblico di un cluster sono gratuiti per il cliente; i relativi costi sono a tuo carico.
- Private Cloud: tutti i piani sono **unmetered**. I prezzi nel modulo sono in dong vietnamiti al mese; la colonna dei costi utilizza un prezzo di riferimento che non è il tuo, quindi usa i tuoi numeri.
- Un VPC bloccato è limitato a 1 Mbps, non viene fatturato e non viene eliminato automaticamente.
- Private Cloud utilizza un router per VPC, non una coppia ridondante. Se il suo host si guasta, CloudStack lo ricostruisce in pochi minuti.

## Troubleshooting {#troubleshooting}

| Sintomo | Causa | Soluzione |
|---|---|---|
| `cp_offering_invalid` / "Questa offering non è 2 vCPU / 2048 MB / limitcpuuse" | L'offencing del control-plane ha dimensioni diverse o nessun limite CPU | Crea l'offencing come al passaggio 3 e selezionalo di nuovo. |
| L'interruttore **Enable CKS** è disattivato | Nessun offencing del control-plane selezionato | Selezione prima uno. |
| `kubernetesserviceenabled: false` | CKS è disattivato in CloudStack | Abilitalo e riavvia il server di gestione. |
| Il controllo dell'endpoint non è riuscito | `endpoint.url` non è raggiungibile dalle VM del cluster | Imposta un URL raggiungibile, riavvia il server di gestione e fai clic su **Recheck**. |
| "EOL: impossibile abilitare per la vendita" | La data di fine vita della versione è trascorsa | Registra una versione più recente. |
| "Nessuna versione: fai clic su Sync from CloudStack" | Nessuna versione Kubernetes registrata | Registra una versione ed esegui la sincronizzazione. |
| "Il backend CKS è OFF: i clienti non possono creare cluster anche se il flag di vendita è abilitato" | Il flag di vendita è attivo ma il backend CKS è disattivato | Abilita CKS nella scheda CloudStack. |
| "Almeno 1 piano deve essere in vendita" | Ultimo piano worker rimosso | Mantieni almeno un piano o disattiva la vendita di Kubernetes. |
| Cluster bloccato durante la creazione | Capacità insufficiente o ISO mancante | Controlla le schede di capacità e lo stato ISO della versione. |
| Un nuovo VPC non riesce nel primo passaggio | L'offencing VPC o l'ID dell'offencing tier non è valido | Sostituisci ogni UUID di offencing con uno del tuo CloudStack. |
| "cs_offering_id deve essere un UUID" | Un ID di offencing non è un UUID | Incolla l'id da `cmk list networkofferings`. |
| La modifica del piano non è riuscita | Il nuovo offencing tier non esiste o la velocità di rete non è corretta | Controlla l'UUID dell'offencing e la sua velocità di rete. |


