---
title: Kubernetes and Private Cloud
description: Venda clusters Kubernetes (CKS) e Private Cloud (VPC) com largura de banda dedicada no CloudStack: ofertas necessárias e onde conectá-las.
url: https://nexcmp.com/pt/docs/infrastructure/kubernetes-and-private-cloud/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

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

> **Onde no admin:** Kubernetes: Infrastructure › Cloud provider › CloudStack › Kubernetes (CKS) (`/infra/cloudstack?tab=k8s`), depois Services › Kubernetes (Overview, Clusters, Versions, Policy). Private Cloud: Services › Private Cloud (Overview `/vpc`, VPC `/vpc/list`, Plans & pricing `/vpc/plans`). Ative ambos os módulos em System › Admin › License & updates.

## O que faz {#what-it-does}

- **Kubernetes.** Os clientes criam clusters Kubernetes gerenciados no seu CloudStack com o CloudStack Kubernetes Service (CKS). O plano de controle é gratuito; os clientes pagam pelos nós de **worker**. O NexCMP cria uma rede separada e um IP público para cada cluster, mantendo os clusters de cada cliente isolados.
- **Private Cloud.** Os clientes obtêm uma rede privada (uma CloudStack VPC) com um roteador, sub-redes (tiers), regras de firewall (network ACLs) e máquinas virtuais dentro dela. É vendido por **plano de largura de banda** com velocidade dedicada e ilimitada (por exemplo, 50, 100, 500 Mbps, 1 e 3 Gbps). Cada cliente pode ter uma VPC por padrão.

Ambos são baseados em [CloudStack](https://nexcmp.com/pt/docs/infrastructure/cloudstack/) e usam sua API através da mesma conexão.

## Requisitos {#requirements}

### Kubernetes {#kubernetes}

| Item | Requisito |
|---|---|
| CloudStack | 4.23 (testado). O CKS deve estar **enabled** (`cloud.kubernetes.service.enabled = true`). |
| Conta | Uma conta **Domain Admin** no domínio dedicado, para que o NexCMP possa criar um projeto CloudStack para cada cliente e os limites de recursos dentro dele. Consulte [CloudStack](https://nexcmp.com/pt/docs/infrastructure/cloudstack/#create-a-dedicated-account-and-api-key). |
| `endpoint.url` | A configuração global do CloudStack deve apontar para a sua API de gerenciamento, acessível a partir das VMs do cluster. O NexCMP exibe o valor e o resultado de uma verificação de endpoint. |
| Versões | Pelo menos uma entrada de versão suportada do Kubernetes com sua ISO de binários, no estado **Enabled**. Versões que ultrapassaram o fim de vida útil não podem ser colocadas à venda. |
| Oferta de plano de controle | Uma oferta de serviço gratuita com **exatamente 2 vCPU, 2048 MB RAM e um limite de CPU** (`limitcpuuse = true`), visível para a conta. O servidor rejeita qualquer outra coisa com `cp_offering_invalid`. |
| Rede | Uma oferta de rede isolada compatível com CKS que esteja habilitada. |
| IPs | Endereços IPv4 públicos gratuitos no intervalo comercializável; cada cluster usa um. |
| Capacidade | Cada cluster custa de 2 a 4 GB de RAM para o plano de controle e uma pequena VM de roteador. Fique de olho nas abas de capacidade. |

### Private Cloud {#private-cloud}

| Item | Requisito |
|---|---|
| CloudStack | 4.23 (testado) com VPC habilitado. |
| Oferta de VPC | Uma oferta de VPC. Uma oferta de pilha dupla (dual-stack) também fornece a cada camada um IPv6 /64. |
| Ofertas de rede de camadas | **Uma oferta de rede por plano de largura de banda**, criada para VPC, com a **taxa de rede** (Mbps) igual à do plano, mais uma oferta **bloqueada** de **1 Mbps** que é aplicada quando uma VPC é bloqueada por falta de pagamento. |
| Conta | A conta dedicada (Domain Admin recomendado). As redes VPC ficam na conta, não nos projetos. |
| IPs | Endereços IPv4 públicos gratuitos (cada VPC usa um para NAT de origem). |
| Espaço de endereçamento | Cada VPC recebe um /16 de `10.128.0.0/9`. Mantenha esse intervalo sem uso em suas próprias redes. |
| Depende de | CloudStack conectado; o módulo **Private Cloud**. |

## Preparar a infraestrutura {#prepare-the-infrastructure}

### Kubernetes: habilitar CKS e adicionar versões {#kubernetes-enable-cks-and-add-versions}

1. Habilite o serviço e defina o endpoint, em seguida reinicie o servidor de gerenciamento:

   ```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` é chamado de volta pelo controlador do cluster, portanto, deve ser um endereço que as VMs do cluster possam alcançar.

2. Compile uma ISO de binários do Kubernetes para a versão que você deseja vender, com o script `create-kubernetes-binaries-iso.sh` da árvore de código-fonte do CloudStack, hospede-a em um servidor web e registre-a:

   ```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
   ```

   Aguarde até que o estado da ISO se torne **Ready** e a versão fique como **Enabled**.

3. Crie a oferta de plano de controle, limitada ao domínio do 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. Verifique se uma oferta de rede CKS está habilitada:

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

### Private Cloud: criar as ofertas {#private-cloud-create-the-offerings}

Na interface do CloudStack (**Service Offerings › Network Offerings › Add network offering**) ou com `cmk`:

1. Liste o que você tem:

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

2. Use uma oferta de VPC habilitada (dupla pilha se quiser IPv6). Se precisar de uma nova, klone a oferta de VPC padrão do CloudStack e habilite-a.
3. Para **cada** plano de largura de banda que você vende, crie uma oferta de rede **para VPC** (klone a "isolated network offering for VPC networks" padrão) e defina **Network rate (Mb/s)** para a velocidade do plano: `50`, `100`, `500`, `1000`, `3000`. Habilite cada oferta.
4. Crie mais uma oferta com **taxa de rede 1** (`VPC-LOCKED-1M`) para VPCs bloqueadas: os clientes ainda podem acessar seus servidores via SSH, mas a velocidade é limitada.
5. Anote o UUID de cada offering. O NexCMP precisa deles na próxima seção.

::: warning Os offering IDs fornecidos não existem na sua nuvem
O formulário do Private Cloud vem pré-preenchido com UUIDs de offering que pertencem a outra instalação do CloudStack. Substitua **cada** um pelos seus próprios, ou o primeiro pedido de VPC falhará.
:::

## Conectar no NexCMP {#connect-in-nexcmp}

### Kubernetes {#kubernetes-1}

1. Abra **Infrastructure › Cloud provider › CloudStack** e escolha a aba **Kubernetes (CKS)**. O card à direita **CKS status on CloudStack (read-only)** mostra `kubernetesserviceenabled`, `endpoint.url` com **Endpoint check**, a offering de rede do CKS, as configurações de `cloud.kubernetes.*` e a lista de ISOs e versões. Clique em **Recheck** após corrigir algo.
2. Em **Sales config**, escolha o **Control plane Offering** (um aviso aparece se não for exatamente 2 vCPU / 2048 MB / CPU cap), defina **Max workers per cluster** (1 a 9: o CKS permite 10 nós incluindo o nó de controle), ative **Enable CKS for this backend** e clique em **Save**. O botão se mantém desativado até que uma offering seja escolhida.

      ![A aba Kubernetes (CKS) com a offering do plano de controle escolhida e o card de status do CKS](https://nexcmp.com/pt/docs/images/infrastructure/kubernetes-and-private-cloud-01-cks.webp)

3. Abra **Services › Kubernetes › Versions** e clique em **Sync from CloudStack**. Ative **Available for new clusters** para as versões que você vende, defina a padrão e, se desejar, uma data de **End of life (EOL)**.


4. Abra **Services › Kubernetes › Policy**. Em **Worker plans**, adicione planos com um **Plan code** (A-Z, 0-9, hífen, até 16 caracteres). Defina **NVMe per worker (GB)**, **Min and max workers** e os limites do cluster (clusters ativos por conta, criações por 24 horas, limite global, operações CKS concorrentes). Em seguida, ative **Sell Kubernetes (CKS)**. Pelo menos um plano deve permanecer à venda.

      ![Política do Kubernetes com planos de worker e o botão de vendas](https://nexcmp.com/pt/docs/images/infrastructure/kubernetes-and-private-cloud-03-policy.webp)

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

1. Abra **Services › Private Cloud** (Visão geral). No cartão de política, substitua **VPC offering** e **Locked offering tier** pelos seus próprios UUIDs. Verifique os limites (VPCs por conta, camadas, VMs e regras de ACL por VPC, saldo em horas da taxa do plano necessário para criar, alterações de plano por 24 horas, operações concorrentes onde 0 é uma parada de emergência) e os servidores DNS. Clique em **Save** (será solicitado um motivo).

      ![Visão geral do Private Cloud com os campos de oferta de VPC e oferta bloqueada](https://nexcmp.com/pt/docs/images/infrastructure/kubernetes-and-private-cloud-04-vpc-policy.webp)

2. Abra **Services › Private Cloud › Plans & pricing**. Para cada plano, clique em **Edit** e defina **VND price per month**, **On sale** e o UUID de **CloudStack tier offering** cuja taxa de rede corresponda aos Mbps do plano. A linha exibe o custo e o lucro no uso total, permitindo ver quais planos estão abaixo do seu custo.

      ![Diálogo de edição de plano para um plano de largura de banda do Private Cloud](https://nexcmp.com/pt/docs/images/infrastructure/kubernetes-and-private-cloud-05-vpc-plan.webp)

3. Ative **Sell Private Cloud**. Para testar primeiro, adicione IDs de contas de teste em **Beta accounts**: essas contas podem usar o serviço enquanto o botão de vendas estiver desativado.

## Verificar {#verify}

1. Kubernetes: o cartão de status mostra `kubernetesserviceenabled: true`, uma verificação de endpoint bem-sucedida e uma versão habilitada. Crie um cluster de teste com um worker como cliente; ele deve atingir o estado de execução e `kubectl get nodes` deve exibi-lo como pronto. Exclua-o depois: a rede e o IP retornam ao pool.
2. Private Cloud: crie uma VPC com o menor plano como cliente de teste. A VPC exibe o status ativa, uma camada obtém sua sub-rede, uma VM na camada alcança a Internet através do roteador da VPC, e **Change plan** para um plano maior entra em vigor em cerca de 20 segundos sem derrubar conexões.

## Limites e observações {#limits-and-notes}

- Kubernetes: os workers são faturados como VMs aos preços dos planos e contam como VMs nos limites de VM. Um cluster pode ter no máximo 9 workers devido ao limite de CKS de 10 nós.
- Kubernetes: o plano de controle, o roteador e o IP público de um cluster são gratuitos para o cliente; você arca com os custos deles.
- Private Cloud: todos os planos são **não metrificados**. Os preços no formulário são em dong vietnamita por mês; a coluna de custo usa um preço de referência que não é o seu, portanto, use seus próprios números.
- Uma VPC bloqueada é limitada a 1 Mbps, não é faturada e não é excluída automaticamente.
- Private Cloud usa um roteador por VPC, e não um par redundante. Se o host dele falhar, o CloudStack o reconstrói em poucos minutos.

## Resolução de problemas {#troubleshooting}

| Sintoma | Causa | Correção |
|---|---|---|
| `cp_offering_invalid` / "Esta Offering não é 2 vCPU / 2048 MB / limitcpuuse" | A oferta do plano de controle tem outros tamanhos ou nenhum limite de CPU | Crie a oferta conforme a etapa 3 e selecione-a novamente. |
| O botão **Enable CKS** está desativado | Nenhuma oferta de plano de controle foi selecionada | Selecione uma primeiro. |
| `kubernetesserviceenabled: false` | O CKS está desativado no CloudStack | Ative-o e reinicie o servidor de gerenciamento. |
| A verificação do endpoint falhou | `endpoint.url` não é acessível a partir das VMs do cluster | Defina uma URL acessível, reinicie o servidor de gerenciamento e clique em **Recheck**. |
| "EOL: não é possível habilitar para venda" | A data de fim de vida útil (EOL) da versão já passou | Registre uma versão mais recente. |
| "Sem versões: clique em Sync from CloudStack" | Nenhuma versão do Kubernetes registrada | Registre uma versão e faça a sincronização. |
| "O backend do CKS está DESLIGADO: os clientes não podem criar clusters, mesmo se a opção de vendas estiver ativada" | A opção de vendas está ativada, mas o backend do CKS está desligado | Ative o CKS na aba CloudStack. |
| "Pelo menos 1 plano deve estar à venda" | O último plano de worker foi removido | Mantenha pelo menos um plano ou desative as vendas do Kubernetes. |
| Cluster travado na criação | Capacidade insuficiente ou ISO ausente | Verifique as abas de capacidade e o estado da ISO da versão. |
| Uma nova VPC falha na primeira etapa | O ID da offering da VPC ou tier offering não é válido | Substitua cada UUID de offering por um do seu CloudStack. |
| "cs_offering_id deve ser um UUID" | Um ID de offering não é um UUID | Cole o id de `cmk list networkofferings`. |
| A alteração de plano falhou | A nova tier offering não existe ou a taxa de rede está incorreta | Verifique o UUID da offering e sua taxa de rede. |


