Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-10 GMT+08:00

Criação de um cluster

Função

Essa API é usada para criar um cluster vazio, que tem apenas nós principais, mas não nós de trabalho. Depois de criar um cluster chamando essa API, você pode adicionar nós criando nós.

  • O URL para gerenciamento de clusters está no formato de **https://Endpoint/uri, no qual uri indica o caminho do recurso, ou seja, o caminho para acesso à API.
  • Por padrão, o ICAgent não é instalado quando você chama essa API para criar um cluster. Se você precisar instalar o ICAgent, adicione "cluster.install.addons.external/install":"[{"addonTemplateName":"icagent"}]" às annotations no corpo da solicitação. O ICAgent será instalado automaticamente durante a criação do cluster. O ICAgent é um agente de coleta de dados de O&M usado pelo Application Performance Management (APM). Ele é executado em cada servidor para coletar dados das sondas em tempo real. O ICAgent é o pré-requisito para alcançar o O&M de aplicação. Se o ICAgent não estiver instalado, as funções de O&M de aplicação não poderão ser usadas.

Restrições

Antes de chamar a API do CCE para criar um cluster, certifique-se de que as seguintes condições sejam atendidas:

  • Uma VPC está disponível.
  • Os blocos CIDR foram configurados corretamente para contêineres e serviços. Eles não são editáveis após a criação do cluster, a menos que você crie um novo cluster.
  • Uma agência foi criada corretamente e não é excluída. Se a verificação da agência falhar, o cluster não será criado. Você pode fazer logon no console do CCE. Se nenhuma agência for criada, o sistema solicitará que você crie uma. Se uma agência tiver sido criada, nenhuma mensagem será exibida.
  • Por padrão, uma conta pode criar no máximo cinco clusters em cada região. Se você precisar criar mais clusters, poderá enviar um aplicativo para aumentar a cota.

URI

POST /api/v3/projects/{project_id}/clusters

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto. Para obter detalhes sobre como obter o valor, consulte Como obter parâmetros no URI da API.

Parâmetros de solicitação

Tabela 2 Parâmetros de cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

Content-Type

Sim

String

Tipo de corpo da mensagem (formato).

X-Auth-Token

Sim

String

As solicitações para chamar uma API podem ser autenticadas usando um token ou AK/SK. Se a autenticação baseada em token for usada, esse parâmetro é obrigatório e deve ser definido como um token de usuário. Para obter detalhes, consulte Obtenção de um token de usuário.

Tabela 3 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

kind

Sim

String

Tipo de API. O valor é fixo em Cluster ou cluster e não pode ser alterado.

apiVersion

Sim

String

Versão da API. O valor é fixado em v3 e não pode ser alterado.

metadata

Sim

ClusterMetadata object

Informações básicas sobre um cluster. Metadados são uma coleção de atributos.

spec

Sim

ClusterSpec object

Descrição detalhada do cluster. O CCE cria ou atualiza objetos definindo ou atualizando spec.

status

Não

ClusterStatus object

Status do cluster e ID de tarefa da tarefa de criar cluster.

Tabela 4 ClusterMetadata

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome do cluster.

Digite de 4 a 128 caracteres, começando com uma letra minúscula e não terminando com um hífen (-). Somente letras minúsculas, dígitos e hifens (-) são permitidos.

uid

Não

String

ID de cluster, que identifica exclusivamente o recurso. Esse ID é gerado automaticamente após a criação do cluster. Um ID definido pelo usuário não terá efeito.

alias

Não

String

Alias de um nome de cluster exibido no console do CCE e o nome pode ser alterado.

Digite de 4 a 128 caracteres, começando com uma letra minúscula e não terminando com um hífen (-). Somente letras minúsculas, dígitos e hifens (-) são permitidos.

Um alias de cluster deve ser exclusivo.

No corpo da solicitação para criar ou atualizar um cluster, se o alias do cluster não for especificado ou definido como null, o nome do cluster será usado como o alias do cluster. No corpo da resposta para obter um cluster, o alias do cluster é retornado. Se não estiver configurado, o nome do cluster será retornado.

annotations

Não

Map<String,String>

Anotações de cluster, no formato de pares chave-valor.

"annotations": {
   "key1" : "value1",
   "key2" : "value2"
}
NOTA:
  • annotations: não rotula nem seleciona objetos. Os metadados em annotations podem ser pequenos ou grandes, estruturados ou não estruturados e podem incluir caracteres que não são permitidos em rótulos.
  • Esse campo não é armazenado no banco de dados e é usado apenas para especificar os complementos a serem instalados no cluster.
  • Instale o ICAgent durante a criação do cluster adicionando o par chave-valor "cluster.install.addons.external/install":"[{"addonTemplateName":"icagent"}]".

labels

Não

Map<String,String>

Rótulos do cluster, no formato de pares chave-valor.

NOTA:

O valor deste campo é gerado automaticamente pelo sistema e é usado pelo front-end para identificar os recursos suportados pelo cluster durante a atualização. Os valores personalizados são inválidos.

creationTimestamp

Não

String

Hora em que o cluster foi criado.

updateTimestamp

Não

String

Hora em que o cluster foi atualizado.

Tabela 5 ClusterSpec

Parâmetro

Obrigatório

Tipo

Descrição

category

Não

String

Tipo de cluster. Opções:

  • CCE: cluster do CCE. Cluster do CCE oferece suporte à implementação híbrida de VMs e BMSs e a nós heterogêneos, como nós de GPU e NPU, permitindo que você execute seus contêineres em um ambiente de tempo de execução de contêiner seguro e estável, baseado em um modelo de rede de alto desempenho.
  • Turbo: cluster do CCE Turbo. Os clusters do CCE Turbo one-stop e econômicos são executados na infraestrutura da nuvem nativa 2.0, apresentando sinergia de hardware e software para redes sem perdas, alta segurança e confiabilidade e programação inteligente.

type

Não

String

Arquitetura de nó principal:

  • VirtualMachine: x86
  • ARM64: Kunpeng baseado em Arm

flavor

Sim

String

Valor padrão: quando você cria um cluster do CCE ou cluster de Kunpeng, o valor é cce.s1.small para cenários não de DeC e cce.dec.s1.small para cenários de DeC.

Flavor de cluster, que não pode ser alterado após a criação do cluster.

  • cce.s1.small: cluster do CCE híbrido de pequena escala e mestre único (≤ 50 nós).
  • cce.s1.medium: cluster do CCE híbrido de escala média e mestre único (≤ 200 nós).
  • cce.s2.small: cluster do CCE de pequena escala e vários mestres (≤ 50 nós)
  • cce.s2.medium: cluster do CCE de média escala e vários mestres (≤ 200 nós)
  • cce.s2.large: cluster do CCE de grande escala e vários mestres (≤ 1.000 nós)
  • cce.s2.xlarge: cluster do CCE de escala ultra grande e e vários mestres (≤ 2.000 nós)
NOTA:
  • s1: cluster do CCE de mestre único
  • s2: cluster do CCE de vários mestres
  • dec: cluster do CCE dedicado. Por exemplo, cce.dec.s1.small é um cluster do CCE híbrido dedicado de pequena escala e mestre único (≤ 50 nós).
  • Os valores nos parênteses acima indicam o número máximo de nós que podem ser gerenciados pelo cluster.
  • Um cluster de mestre único tem apenas um nó principal. Se o nó principal estiver inativo, o cluster ficará indisponível e deixará de atender novas cargas de trabalho. No entanto, as cargas de trabalho existentes no cluster não são afetadas.
  • Um cluster de vários mestres é altamente disponível. Quando um nó principal está com defeito, o cluster ainda está disponível.

version

Não

String

Versão do cluster, que espelha a versão de linha de base da comunidade do Kubernetes. Recomenda-se a versão mais recente.

Você pode criar clusters de duas versões mais recentes no console do CCE. Para saber quais versões de cluster estão disponíveis, efetue logon no console do CCE, crie um cluster e verifique o parâmetro Cluster Version. Você pode chamar APIs para criar clusters de outras versões. No entanto, essas versões de cluster serão gradualmente encerradas. Para obter detalhes sobre a política de suporte, consulte o anúncio do CCE.

NOTA:
  • Se não for especificado, um cluster da versão mais recente será criado.
  • Se uma versão do cluster de linha de base for especificada, mas a versão R não for especificada, um cluster da versão R mais recente será criado por padrão. É uma boa prática não especificar a versão R.
  • Os clusters do CCE Turbo da v1.19 ou posterior estão disponíveis comercialmente.

platformVersion

Não

String

Versão da plataforma de cluster do CCE, indicando a versão interna sob a versão de cluster (version). As versões da plataforma são usadas para rastrear iterações em uma versão principal do cluster. Elas são exclusivas dentro de uma versão de cluster principal e são contados quando a versão de cluster principal é alterada. Este parâmetro não pode ser personalizado. Quando você cria um cluster, a versão mais recente da plataforma correspondente é selecionada automaticamente.

O formato de platformVersion é cce.X.Y.

  • X: versão interna do recurso, indicando alterações nos recursos, patches ou suporte ao sistema operacional na versão do cluster. O valor começa a partir de 1 e aumenta monotonicamente.
  • Y: versão de patch de uma versão de recurso interno. Ela é usada apenas para atualização do pacote de software após a versão do recurso ser colocada on-line. Nenhuma outra modificação está envolvida. O valor começa a partir de 0 e aumenta monotonicamente.

description

Não

String

Descrição do cluster, por exemplo, qual finalidade o cluster se destina a servir. Por predefinição, este campo é deixado por especificar. Para modificar a descrição do cluster depois que o cluster é criado, chame a API para atualizar as informações do cluster ou vá para a página de detalhes do cluster no console do CCE. Somente a codificação UTF-8 é suportada.

customSan

Não

Array of strings

Campo SAN personalizado no certificado de servidor do servidor de API de cluster, que deve estar em conformidade com as especificações de formato SSL e X509.

  1. Nomes duplicados não são permitidos.
  2. Deve estar em conformidade com os formatos de endereço IP e nome de domínio.

Exemplo:

SAN 1: DNS Name=example.com
SAN 2: DNS Name=www.example.com
SAN 3: DNS Name=example.net
SAN 4: IP Address=93.184.216.34

ipv6enable

Não

Boolean

Se o cluster suporta endereços IPv6. Este campo é suportado para clusters de v1.15 e versões posteriores.

hostNetwork

Sim

HostNetwork object

Parâmetros de rede de nó, incluindo VPC e ID da sub-rede. Esse campo é obrigatório porque os nós em um cluster se comunicam entre si usando uma VPC.

containerNetwork

Sim

ContainerNetwork object

Parâmetros de rede de contêiner, incluindo o modelo de rede de contêiner e o bloco CIDR de contêiner.

eniNetwork

Não

EniNetwork object

Configuração do modelo Cloud Native Network 2.0. Especifique este campo ao criar um cluster do CCE Turbo.

serviceNetwork

Não

ServiceNetwork object

Bloco CIDR de serviço, incluindo blocos CIDR IPv4.

authentication

Não

Authentication object

Configurações do modo de autenticação de cluster.

billingMode

Não

Integer

Modo de cobrança de um cluster.

  • 0: pagamento por uso; -1: anual/mensal.

Padrões para pagamento por uso.

masters

Não

Array of MasterSpec objects

Configurações avançadas dos nós principais

kubernetesSvcIpRange

Não

String

Blocos CIDR de serviço para clusterIPs do Kubernetes. Este campo está disponível apenas para clusters v1.11.7 e posteriores. Se este parâmetro não for especificado durante a criação do cluster, o valor padrão 10.247.0.0/16 será usado. Este parâmetro está obsoleto. Use serviceNetwork em vez disso. O novo campo contém o IPv4 CIDR blocos.

clusterTags

Não

Array of ResourceTag objects

Tags de recursos do cluster.

kubeProxyMode

Não

String

Modo de encaminhamento de serviço. Dois modos estão disponíveis:

  • iptables: o kube-proxy tradicional usa regras do iptables para implementar o balanceamento de carga de serviço. Neste modo, muitas regras do iptables serão geradas quando muitos Serviços forem implementados. Além disso, atualizações não incrementais causarão latência e até problemas de desempenho tangíveis no caso de picos de tráfego de serviço.
  • ipvs: modo kube-proxy otimizado com maior taxa de transferência e velocidade. Este modo suporta atualizações incrementais e pode manter as ligações ininterruptas durante as atualizações de serviço. É adequado para aglomerados de grande porte.

az

Não

String

AZ. Este campo é retornado apenas para uma consulta.

Para obter detalhes sobre as AZs suportadas pelo CCE, consulte Regiões e pontos de extremidade.

extendParam

Não

ClusterExtendParam object

Campo estendido para decidir se o cluster se estenderá pelas AZs ou se pertencerá a um projeto empresarial especificado ou se um cluster do CCE dedicado deve ser criado.

supportIstio

Não

Boolean

Se Istio é suportado.

configurationsOverride

Não

Array of PackageConfiguration objects

Se sobrescrever as configurações de componente padrão do cluster. Se um componente ou um parâmetro que não é suportado pelo componente for especificado, esta configuração será ignorada. Para obter detalhes sobre os componentes configuráveis suportados e seus parâmetros, consulte Configuração de parâmetros do Kubernetes.

Tabela 6 HostNetwork

Parâmetro

Obrigatório

Tipo

Descrição

vpc

Sim

String

ID da VPC usada para criar um nó principal

Você pode obtê-lo de uma das seguintes maneiras:

  • Método 1: faça logon no console da VPC e visualize o ID da VPC nos detalhes da VPC.
  • Método 2: consulte o ID da VPC por meio da API da VPC.

    Para obter detalhes, consulte Consulta de VPCs.

NOTA:

Atualmente, o modelo de rede da VPC não oferece suporte à interconexão com VPCs que contêm um bloco CIDR secundário.

subnet

Sim

String

ID de rede da sub-rede usada para criar um nó principal. Métodos:

  • Método 1: faça logon no console da VPC e clique na sub-rede de destino na página de guia Subnets. Você pode visualizar o ID da rede na página exibida.
  • Método 2: use a API da VPC para consultar sub-redes. Para obter detalhes, consulte Consulta de sub-redes.

SecurityGroup

Não

String

ID de grupo de segurança do nó de trabalho padrão do cluster. Se especificado, o cluster será vinculado ao grupo de segurança de destino. Caso contrário, o sistema criará automaticamente um grupo de segurança de nó de trabalho padrão para você. O grupo de segurança de nó padrão precisa permitir o acesso de determinadas portas para garantir as comunicações normais. Para obter detalhes, consulte Como para endurecer as regras de grupo de segurança criadas automaticamente para nós de cluster do CCE.

Tabela 7 ContainerNetwork

Parâmetro

Obrigatório

Tipo

Descrição

mode

Sim

String

Modelo de rede de contêineres. Selecione um dos seguintes valores possíveis:

  • overlay_l2: uma rede overlay_l2 (rede de túnel de contêineres) construída para contêineres usando OpenVSwitch (OVS).
  • vpc-router: uma rede underlay_l2 criada para contêineres usando IPvlan e rotas da VPC personalizadas.
  • eni*: Cloud Native Network 2.0. Esse modelo possui interfaces de rede elástica nativas da nuvem integradas (ENIs), usa blocos CIDR da VPC para alocar endereços IP de contêineres e permite a distribuição direta de tráfego para contêineres por meio de um balanceador de carga para alto desempenho. Use este modelo ao criar um cluster do CCE Turbo.

cidr

Não

String

Bloco CIDR do contêiner. Recomendado: 10.0.0.0/12-19, 172.16.0.0/16-19 ou192.168.0.0/16-19. Se o bloco CIDR selecionado entrar em conflito com os existentes, um erro será relatado.

Não editável após a criação do cluster. (Preterido. Um cidrs especificado tornará cidr inválido.)

cidrs

Não

Array of ContainerCIDR objects

Lista de blocos CIDR do contêiner. Em clusters de v1.21 e posteriores, o campo cidrs é usado. Quando o tipo de rede do cluster for vpc-router, você poderá adicionar vários blocos CIDR de contêiner. Em versões anteriores à v1.21, se o campo cidrs for usado, o primeiro elemento CIDR na matriz será usado como o bloco CIDR do contêiner.

Este parâmetro não pode ser modificado após a criação do cluster.

Tabela 8 ContainerCIDR

Parâmetro

Obrigatório

Tipo

Descrição

cidr

Sim

String

Bloco CIDR do contêiner. Recomendado: 10.0.0.0/12-19, 172.16.0.0/16-19 e 192.168.0.0/16-19

Tabela 9 EniNetwork

Parâmetro

Obrigatório

Tipo

Descrição

eniSubnetId

Sim

String

ID da sub-rede IPv4 da sub-rede da ENI. (O IPv6 não é suportado e está sendo descartado.) Você pode obtê-lo de uma das seguintes maneiras:

  • Método 1: faça logon no console da VPC e clique na sub-rede de destino na página Subnets. Você pode exibir o ID de sub-rede IPv4 na página exibida.
  • Método 2: use a API da VPC para consultar sub-redes.

    Para obter detalhes, consulte Consulta de sub-redes.

eniSubnetCIDR

Sim

String

CIDR da sub-rede da ENI (sendo descartado)

subnets

Sim

Array of NetworkSubnet objects

Lista de IDs de sub-rede IPv4

Tabela 10 NetworkSubnet

Parâmetro

Obrigatório

Tipo

Descrição

subnetID

Sim

String

ID de sub-rede IPv4 da sub-rede para a criação de nós principais. Atualmente, IPv6 não é suportado. Você pode obtê-lo de uma das seguintes maneiras:

  • Método 1: faça logon no console da VPC e clique na sub-rede de destino na página Subnets. Você pode exibir o ID de sub-rede IPv4 na página exibida.
  • Método 2: use a API da VPC para consultar sub-redes.

    Para obter detalhes, consulte Consulta de sub-redes.

Tabela 11 ServiceNetwork

Parâmetro

Obrigatório

Tipo

Descrição

IPv4CIDR

Não

String

Intervalo de valores dos blocos CIDR IPv4 clusterIP do Kubernetes. Se este parâmetro não for especificado durante a criação do cluster, o valor padrão 10.247.0.0/16 será usado.

Tabela 12 Authentication

Parâmetro

Obrigatório

Tipo

Descrição

mode

Não

String

Modo de autenticação de cluster.

  • Clusters do Kubernetes v1.11 ou anterior suportam x509, rbac e authenticating_proxy. O padrão é x509.
  • Clusters do Kubernetes v1.13 ou posterior suportam rbac e authenticating_proxy. O padrão é rbac.

authenticatingProxy

Não

AuthenticatingProxy object

Configuração relacionada ao modo authenticating_proxy. Este campo é obrigatório quando o modo de autenticação é authenticating_proxy.

Tabela 13 AuthenticatingProxy

Parâmetro

Obrigatório

Tipo

Descrição

ca

Não

String

Certificado de CA X509 (codificado em Base64) configurado no modo authenticating_proxy. Esse campo é obrigatório quando o modo de autenticação de cluster é authenticating_proxy.

Tamanho máximo: 1 MB

cert

Não

String

Certificado de cliente emitido pelo certificado de CA X509 configurado no modo authenticating_proxy, que é usado para autenticação do kube-apiserver para o servidor de API estendido. (O valor deve ser codificado em Base64.) Esse campo é obrigatório quando o modo de autenticação de cluster é authenticating_proxy.

privateKey

Não

String

Chave privada do certificado de cliente emitido pelo certificado de CA X509 configurado no modo authenticating_proxy, que é usado para autenticação do kube-apiserver para o servidor de API estendido. A chave privada usada pelo cluster do Kubernetes não oferece suporte à criptografia de senha. Use uma chave privada não criptografada. (O valor deve ser codificado em Base64.) Esse campo é obrigatório quando o modo de autenticação de cluster é authenticating_proxy.

Tabela 14 MasterSpec

Parâmetro

Obrigatório

Tipo

Descrição

availabilityZone

Não

String

AZ

Tabela 15 ResourceTag

Parâmetro

Obrigatório

Tipo

Descrição

key

Não

String

Chave.

  • Não pode ser nula. Máximo de caracteres: 128.
  • Use letras, dígitos e espaços no formato UTF-8.
  • Pode conter os seguintes caracteres especiais: _.:/=+-@.
  • Não é possível iniciar com _sys_.

value

Não

String

Valor.

  • Pode ser nulo, mas não o padrão. Máximo de caracteres: 255.
  • Use letras, dígitos e espaços no formato UTF-8.
  • Pode conter os seguintes caracteres especiais: _.:/=+-@.
Tabela 16 ClusterExtendParam

Parâmetro

Obrigatório

Tipo

Descrição

clusterAZ

Não

String

AZ dos nós principais no cluster.

Para obter detalhes sobre as AZs suportadas pelo CCE, consulte Regiões e pontos de extremidade.

  • multi_az: (opcional) o cluster se estenderá pelas AZs. Este campo é configurável apenas para clusters de alta disponibilidade.
  • AZ do pool de computação em nuvem dedicado: o cluster será implementado na AZ da Dedicated Cloud (DeC). Este parâmetro é obrigatório para clusters do CCE dedicados.

dssMasterVolumes

Não

String

Se o sistema e os discos de dados de um nó principal usam armazenamento distribuído dedicado. Se este parâmetro for omitido ou não especificado, os discos EVS são usados por padrão.

Este parâmetro é obrigatório para clusters do CCE dedicados. Está no seguinte formato:

<rootVol.dssPoolID>.<rootVol.volType>;<dataVol.dssPoolID>.<dataVol.volType>

Descrições do campo:

  • rootVol é o disco do sistema. dataVol é o disco de dados.
  • dssPoolID indica o ID do pool de armazenamento DSS.
  • volType indica o tipo de volume de armazenamento do pool de armazenamento DSS, como SAS e SSD.

Exemplo: c950ee97-587c-4f24-8a74-3367e3da570f.sas;6edbc2f4-1507-44f8-ac0d-eed1d2608d38.ssd

NOTA:

Esse campo não pode ser configurado para clusters do CCE não dedicados.

enterpriseProjectId

Não

String

ID do projeto empresarial ao qual um cluster pertence.

NOTA:
  • Um projeto empresarial pode ser configurado somente depois que a função de projeto empresarial estiver ativada.
  • O projeto empresarial ao qual o cluster pertence deve ser o mesmo ao qual outros recursos de serviço de nuvem associados ao cluster pertencem.

kubeProxyMode

Não

String

Modo de encaminhamento de serviço. Dois modos estão disponíveis:

  • iptables: o kube-proxy tradicional usa regras do iptables para implementar o balanceamento de carga de serviço. Neste modo, muitas regras do iptables serão geradas quando muitos Serviços forem implementados. Além disso, atualizações não incrementais causarão latência e até problemas de desempenho tangíveis no caso de picos de tráfego de serviço.
  • ipvs: modo kube-proxy otimizado com maior taxa de transferência e velocidade. Este modo suporta atualizações incrementais e pode manter as ligações ininterruptas durante as atualizações de serviço. É adequado para aglomerados de grande porte.
NOTA:

Este parâmetro foi obsoleto. Se este parâmetro e kubeProxyMode em ClusterSpec forem especificados ao mesmo tempo, o último será usado.

clusterExternalIP

Não

String

EIP do nó principal

alpha.cce/fixPoolMask

Não

String

Número de bits de máscara do pool de endereços IP fixos do modelo de rede de contêiner. Este campo é compatível apenas com o modelo de rede da VPC (vpc-router).

Esse parâmetro determina o número de endereços IP de contêiner que podem ser alocados a um nó. O número máximo de pods que podem ser criados em um nó é decidido por esse parâmetro e maxPods definido durante a criação do nó. Para obter detalhes, consulte Número máximo de pods que podem ser criados em um nó.

Para caracteres inteiros, o valor varia de 24 a 28.

decMasterFlavor

Não

String

Especificações do nó principal no cluster híbrido dedicado.

dockerUmaskMode

Não

String

Configuração padrão do UmaskMode do Docker em um cluster. O valor pode ser secure ou normal. Se esse parâmetro não for especificado, normal será usado por padrão.

kubernetes.io/cpuManagerPolicy

Não

String

Política de gerenciamento de CPU de cluster. O valor pode ser none (ou null) ou static. O valor padrão é none (ou null).

  • none ou null: desativa pods de ocupar exclusivamente CPUs. Selecione essa opção se quiser um grande pool de núcleos de CPU compartilháveis.
  • static: permite que pods ocupem exclusivamente CPUs. Selecione essa opção se sua carga de trabalho for sensível ao cache da CPU e à latência de agendamento. Em um cluster do CCE Turbo, essa configuração é válida apenas para nós em que contêineres comuns, não contêineres Kata, são executados.

orderID

Não

String

ID do pedido. Este parâmetro é retornado na resposta quando o cluster é faturado anualmente/mensalmente com o pagamento automático ativado (somente em cenários de criação).

periodType

Não

String

  • month: a unidade é mês.
  • year: a unidade é ano.
NOTA:

Parâmetro de solicitação, que é válido e obrigatório quando billingMode é definido como 1 (cobrança anual/mensal). Parâmetro de resposta, que é retornado somente quando um cluster anual/mensal é criado.

periodNum

Não

Integer

Duração da assinatura. O valor pode ser:

  • Se periodType for month, o valor varia de 1 a 9.
  • Se periodType for year, o valor varia de 1 a 3.
NOTA:

Parâmetro de solicitação, que é válido e obrigatório quando billingMode é definido como 1. Parâmetro de resposta, que é retornado somente quando um cluster anual/mensal é criado.

isAutoRenew

Não

String

Se a renovação automática está ativada.

  • true: a renovação automática está ativada.
  • false: a renovação automática não está ativada.
NOTA:

Este campo é válido quando billingMode é definido como 1. Se não for especificado, a renovação automática não está ativada.

isAutoPay

Não

String

Se deduzir taxas automaticamente.

  • true: ative a dedução automática de taxas.
  • false: não ative a dedução automática de taxas.
NOTA:

Este campo é válido quando billingMode é definido como 1. Se não for especificado, a dedução automática da taxa não está ativada.

upgradefrom

Não

String

Registros de como o cluster é atualizado para a versão atual

Tabela 17 PackageConfiguration

Parâmetro

Obrigatório

Tipo

Descrição

name

Não

String

Nome do componente.

configurations

Não

Array of ConfigurationItem objects

Item de configuração do componente.

Tabela 18 ConfigurationItem

Parâmetro

Obrigatório

Tipo

Descrição

name

Não

String

Nome do item de configuração do componente.

value

Não

Object

Valor do item de configuração do componente.

Tabela 19 ClusterStatus

Parâmetro

Obrigatório

Tipo

Descrição

phase

Não

String

Status do cluster. Valores possíveis:

  • Available: o cluster está sendo executado corretamente.
  • Unavailable: o cluster está exibindo um comportamento inesperado. Exclua manualmente o cluster.
  • ScalingUp: os nós estão sendo adicionados ao cluster.
  • ScalingDown: o cluster está sendo reduzido para menos nós.
  • Creating: o cluster está sendo criado.
  • Deleting: o cluster está sendo excluído.
  • Upgrading: o cluster está sendo atualizado.
  • Resizing: as especificações do cluster estão sendo alteradas.
  • RollingBack: o cluster está sendo revertido.
  • RollbackFailed: a reversão é anormal.
  • Empty: o cluster não tem recursos.

jobID

Não

String

ID da tarefa associada ao cluster no estado atual. Opções:

  • ID da tarefa associada retornada ao criar um cluster. Você pode usá-lo para obter as tarefas auxiliares para criar um cluster.
  • ID da tarefa associada retornada quando um cluster falha ao ser excluído ou é excluído. Se esse parâmetro não estiver vazio, você poderá usar o ID da tarefa para obter as tarefas auxiliares para excluir um cluster.
NOTA:

As tarefas são de curta duração. Não utilize as informações da tarefa em cenários como a determinação do estado do cluster.

reason

Não

String

Motivo da alteração do estado do cluster. Esse parâmetro é retornado se o cluster não estiver no estado Available.

message

Não

String

Informações detalhadas sobre por que o cluster muda para o estado atual. Esse parâmetro é retornado se o cluster não estiver no estado Available.

endpoints

Não

Array of ClusterEndpoints objects

Endereço de acesso do kube-apiserver no cluster.

isLocked

Não

Boolean

O recurso de CBC está bloqueado.

lockScene

Não

String

Cenário em que o recurso de CBC está bloqueado.

lockSource

Não

String

Bloqueio de recursos.

lockSourceId

Não

String

ID do recurso bloqueado.

deleteOption

Não

Object

Se excluir as configurações. Este parâmetro está contido apenas na resposta à solicitação de exclusão.

deleteStatus

Não

Object

Se excluir as informações de status. Este parâmetro está contido apenas na resposta à solicitação de exclusão.

Tabela 20 ClusterEndpoints

Parâmetro

Obrigatório

Tipo

Descrição

url

Não

String

Endereço de acesso do kube-apiserver no cluster.

type

Não

String

Tipo do endereço de acesso do cluster.

  • Internal: endereço para acesso à rede interna
  • External: endereço para acesso à rede externa

Parâmetros de resposta

Código de status: 201

Tabela 21 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

kind

String

Tipo de API. O valor é fixo em Cluster ou cluster e não pode ser alterado.

apiVersion

String

Versão da API. O valor é fixado em v3 e não pode ser alterado.

metadata

ClusterMetadata object

Informações básicas sobre um cluster. Metadados são uma coleção de atributos.

spec

ClusterSpec object

Descrição detalhada do cluster. O CCE cria ou atualiza objetos definindo ou atualizando spec.

status

ClusterStatus object

Status do cluster e ID de tarefa da tarefa de criar cluster.

Tabela 22 ClusterMetadata

Parâmetro

Tipo

Descrição

name

String

Nome do cluster.

Digite de 4 a 128 caracteres, começando com uma letra minúscula e não terminando com um hífen (-). Somente letras minúsculas, dígitos e hifens (-) são permitidos.

uid

String

ID de cluster, que identifica exclusivamente o recurso. Esse ID é gerado automaticamente após a criação do cluster. Um ID definido pelo usuário não terá efeito.

alias

String

Alias de um nome de cluster exibido no console do CCE e o nome pode ser alterado.

Digite de 4 a 128 caracteres, começando com uma letra minúscula e não terminando com um hífen (-). Somente letras minúsculas, dígitos e hifens (-) são permitidos.

Um alias de cluster deve ser exclusivo.

No corpo da solicitação para criar ou atualizar um cluster, se o alias do cluster não for especificado ou definido como null, o nome do cluster será usado como o alias do cluster. No corpo da resposta para obter um cluster, o alias do cluster é retornado. Se não estiver configurado, o nome do cluster será retornado.

annotations

Map<String,String>

Anotações de cluster, no formato de pares chave-valor.

"annotations": {
   "key1" : "value1",
   "key2" : "value2"
}
NOTA:
  • annotations: não rotula nem seleciona objetos. Os metadados em annotations podem ser pequenos ou grandes, estruturados ou não estruturados e podem incluir caracteres que não são permitidos em rótulos.
  • Esse campo não é armazenado no banco de dados e é usado apenas para especificar os complementos a serem instalados no cluster.
  • Instale o ICAgent durante a criação do cluster adicionando o par chave-valor "cluster.install.addons.external/install":"[{"addonTemplateName":"icagent"}]".

labels

Map<String,String>

Rótulos do cluster, no formato de pares chave-valor.

NOTA:

O valor deste campo é gerado automaticamente pelo sistema e é usado pelo front-end para identificar os recursos suportados pelo cluster durante a atualização. Os valores personalizados são inválidos.

creationTimestamp

String

Hora em que o cluster foi criado.

updateTimestamp

String

Hora em que o cluster foi atualizado.

Tabela 23 ClusterSpec

Parâmetro

Tipo

Descrição

category

String

Tipo de cluster. Opções:

  • CCE: cluster do CCE. Cluster do CCE oferece suporte à implementação híbrida de VMs e BMSs e a nós heterogêneos, como nós de GPU e NPU, permitindo que você execute seus contêineres em um ambiente de tempo de execução de contêiner seguro e estável, baseado em um modelo de rede de alto desempenho.
  • Turbo: cluster do CCE Turbo. Os clusters do CCE Turbo one-stop e econômicos são executados na infraestrutura da nuvem nativa 2.0, apresentando sinergia de hardware e software para redes sem perdas, alta segurança e confiabilidade e programação inteligente.

type

String

Arquitetura de nó principal:

  • VirtualMachine: x86
  • ARM64: Kunpeng baseado em Arm

flavor

String

Valor padrão: quando você cria um cluster do CCE ou cluster de Kunpeng, o valor é cce.s1.small para cenários não de DeC e cce.dec.s1.small para cenários de DeC.

Flavor de cluster, que não pode ser alterado após a criação do cluster.

  • cce.s1.small: cluster do CCE híbrido de pequena escala e mestre único (≤ 50 nós).
  • cce.s1.medium: cluster do CCE híbrido de escala média e mestre único (≤ 200 nós).
  • cce.s2.small: cluster do CCE de pequena escala e vários mestres (≤ 50 nós)
  • cce.s2.medium: cluster do CCE de média escala e vários mestres (≤ 200 nós)
  • cce.s2.large: cluster do CCE de grande escala e vários mestres (≤ 1.000 nós)
  • cce.s2.xlarge: cluster do CCE de escala ultra grande e e vários mestres (≤ 2.000 nós)
NOTA:
  • s1: cluster do CCE de mestre único
  • s2: cluster do CCE de vários mestres
  • dec: cluster do CCE dedicado. Por exemplo, cce.dec.s1.small é um cluster do CCE híbrido dedicado de pequena escala e mestre único (≤ 50 nós).
  • Os valores nos parênteses acima indicam o número máximo de nós que podem ser gerenciados pelo cluster.
  • Um cluster de mestre único tem apenas um nó principal. Se o nó principal estiver inativo, o cluster ficará indisponível e deixará de atender novas cargas de trabalho. No entanto, as cargas de trabalho existentes no cluster não são afetadas.
  • Um cluster de vários mestres é altamente disponível. Quando um nó principal está com defeito, o cluster ainda está disponível.

version

String

Versão do cluster, que espelha a versão de linha de base da comunidade do Kubernetes. Recomenda-se a versão mais recente.

Você pode criar clusters de duas versões mais recentes no console do CCE. Para saber quais versões de cluster estão disponíveis, efetue logon no console do CCE, crie um cluster e verifique o parâmetro Cluster Version. Você pode chamar APIs para criar clusters de outras versões. No entanto, essas versões de cluster serão gradualmente encerradas. Para obter detalhes sobre a política de suporte, consulte o anúncio do CCE.

NOTA:
  • Se não for especificado, um cluster da versão mais recente será criado.
  • Se uma versão do cluster de linha de base for especificada, mas a versão R não for especificada, um cluster da versão R mais recente será criado por padrão. É uma boa prática não especificar a versão R.
  • Os clusters do CCE Turbo da v1.19 ou posterior estão disponíveis comercialmente.

platformVersion

String

Versão da plataforma de cluster do CCE, indicando a versão interna sob a versão de cluster (version). As versões da plataforma são usadas para rastrear iterações em uma versão principal do cluster. Elas são exclusivas dentro de uma versão de cluster principal e são contados quando a versão de cluster principal é alterada. Este parâmetro não pode ser personalizado. Quando você cria um cluster, a versão mais recente da plataforma correspondente é selecionada automaticamente.

O formato de platformVersion é cce.X.Y.

  • X: versão interna do recurso, indicando alterações nos recursos, patches ou suporte ao sistema operacional na versão do cluster. O valor começa a partir de 1 e aumenta monotonicamente.
  • Y: versão de patch de uma versão de recurso interno. Ela é usada apenas para atualização do pacote de software após a versão do recurso ser colocada on-line. Nenhuma outra modificação está envolvida. O valor começa a partir de 0 e aumenta monotonicamente.

description

String

Descrição do cluster, por exemplo, qual finalidade o cluster se destina a servir. Por predefinição, este campo é deixado por especificar. Para modificar a descrição do cluster depois que o cluster é criado, chame a API para atualizar as informações do cluster ou vá para a página de detalhes do cluster no console do CCE. Somente a codificação UTF-8 é suportada.

customSan

Array of strings

Campo SAN personalizado no certificado de servidor do servidor de API de cluster, que deve estar em conformidade com as especificações de formato SSL e X509.

  1. Nomes duplicados não são permitidos.
  2. Deve estar em conformidade com os formatos de endereço IP e nome de domínio.

Exemplo:

SAN 1: DNS Name=example.com
SAN 2: DNS Name=www.example.com
SAN 3: DNS Name=example.net
SAN 4: IP Address=93.184.216.34

ipv6enable

Boolean

Se o cluster suporta endereços IPv6. Este campo é suportado para clusters de v1.15 e versões posteriores.

hostNetwork

HostNetwork object

Parâmetros de rede de nó, incluindo VPC e ID da sub-rede. Esse campo é obrigatório porque os nós em um cluster se comunicam entre si usando uma VPC.

containerNetwork

ContainerNetwork object

Parâmetros de rede de contêiner, incluindo o modelo de rede de contêiner e o bloco CIDR de contêiner.

eniNetwork

EniNetwork object

Configuração do modelo Cloud Native Network 2.0. Especifique este campo ao criar um cluster do CCE Turbo.

serviceNetwork

ServiceNetwork object

Bloco CIDR de serviço, incluindo blocos CIDR IPv4.

authentication

Authentication object

Configurações do modo de autenticação de cluster.

billingMode

Integer

Modo de cobrança de um cluster.

  • 0: pagamento por uso; -1: anual/mensal.

Padrões para pagamento por uso.

masters

  

Configurações avançadas dos nós principais

kubernetesSvcIpRange

String

Blocos CIDR de serviço para clusterIPs do Kubernetes. Este campo está disponível apenas para clusters v1.11.7 e posteriores. Se este parâmetro não for especificado durante a criação do cluster, o valor padrão 10.247.0.0/16 será usado. Este parâmetro está obsoleto. Use serviceNetwork em vez disso. O novo campo contém o IPv4 CIDR blocos.

clusterTags

Array of ResourceTag objects

Tags de recursos do cluster.

kubeProxyMode

String

Modo de encaminhamento de serviço. Dois modos estão disponíveis:

  • iptables: o kube-proxy tradicional usa regras do iptables para implementar o balanceamento de carga de serviço. Neste modo, muitas regras do iptables serão geradas quando muitos Serviços forem implementados. Além disso, atualizações não incrementais causarão latência e até problemas de desempenho tangíveis no caso de picos de tráfego de serviço.
  • ipvs: modo kube-proxy otimizado com maior taxa de transferência e velocidade. Este modo suporta atualizações incrementais e pode manter as ligações ininterruptas durante as atualizações de serviço. É adequado para aglomerados de grande porte.

az

String

AZ. Este campo é retornado apenas para uma consulta.

Para obter detalhes sobre as AZs suportadas pelo CCE, consulte Regiões e pontos de extremidade.

extendParam

ClusterExtendParam object

Campo estendido para decidir se o cluster se estenderá pelas AZs ou se pertencerá a um projeto empresarial especificado ou se um cluster do CCE dedicado deve ser criado.

supportIstio

Boolean

Se Istio é suportado.

configurationsOverride

Array of PackageConfiguration objects

Se sobrescrever as configurações de componente padrão do cluster. Se um componente ou um parâmetro que não é suportado pelo componente for especificado, esta configuração será ignorada. Para obter detalhes sobre os componentes configuráveis suportados e seus parâmetros, consulte Configuração de parâmetros do Kubernetes.

Tabela 24 HostNetwork

Parâmetro

Tipo

Descrição

vpc

String

ID da VPC usada para criar um nó principal

Você pode obtê-lo de uma das seguintes maneiras:

  • Método 1: faça logon no console da VPC e visualize o ID da VPC nos detalhes da VPC.
  • Método 2: consulte o ID da VPC por meio da API da VPC.

    Para obter detalhes, consulte Consulta de VPCs.

NOTA:

Atualmente, o modelo de rede da VPC não oferece suporte à interconexão com VPCs que contêm um bloco CIDR secundário.

subnet

String

ID de rede da sub-rede usada para criar um nó principal. Métodos:

  • Método 1: faça logon no console da VPC e clique na sub-rede de destino na página de guia Subnets. Você pode visualizar o ID da rede na página exibida.
  • Método 2: use a API da VPC para consultar sub-redes. Para obter detalhes, consulte Consulta de sub-redes.

SecurityGroup

String

ID de grupo de segurança do nó de trabalho padrão do cluster. Se especificado, o cluster será vinculado ao grupo de segurança de destino. Caso contrário, o sistema criará automaticamente um grupo de segurança de nó de trabalho padrão para você. O grupo de segurança de nó padrão precisa permitir o acesso de determinadas portas para garantir as comunicações normais. Para obter detalhes, consulte Como para endurecer as regras de grupo de segurança criadas automaticamente para nós de cluster do CCE.

Tabela 25 ContainerNetwork

Parâmetro

Tipo

Descrição

mode

String

Modelo de rede de contêineres. Selecione um dos seguintes valores possíveis:

  • overlay_l2: uma rede overlay_l2 (rede de túnel de contêineres) construída para contêineres usando OpenVSwitch (OVS).
  • vpc-router: uma rede underlay_l2 criada para contêineres usando IPvlan e rotas da VPC personalizadas.
  • eni*: Cloud Native Network 2.0. Esse modelo possui interfaces de rede elástica nativas da nuvem integradas (ENIs), usa blocos CIDR da VPC para alocar endereços IP de contêineres e permite a distribuição direta de tráfego para contêineres por meio de um balanceador de carga para alto desempenho. Use este modelo ao criar um cluster do CCE Turbo.

cidr

String

Bloco CIDR do contêiner. Recomendado: 10.0.0.0/12-19, 172.16.0.0/16-19 ou192.168.0.0/16-19. Se o bloco CIDR selecionado entrar em conflito com os existentes, um erro será relatado.

Não editável após a criação do cluster. (Preterido. Um cidrs especificado tornará cidr inválido.)

cidrs

Array of ContainerCIDR objects

Lista de blocos CIDR do contêiner. Em clusters de v1.21 e posteriores, o campo cidrs é usado. Quando o tipo de rede do cluster for vpc-router, você poderá adicionar vários blocos CIDR de contêiner. Em versões anteriores à v1.21, se o campo cidrs for usado, o primeiro elemento CIDR na matriz será usado como o bloco CIDR do contêiner.

Este parâmetro não pode ser modificado após a criação do cluster.

Tabela 26 ContainerCIDR

Parâmetro

Tipo

Descrição

cidr

String

Bloco CIDR do contêiner. Recomendado: 10.0.0.0/12-19, 172.16.0.0/16-19 e 192.168.0.0/16-19

Tabela 27 EniNetwork

Parâmetro

Tipo

Descrição

eniSubnetId

String

ID da sub-rede IPv4 da sub-rede da ENI. (O IPv6 não é suportado e está sendo descartado.) Você pode obtê-lo de uma das seguintes maneiras:

  • Método 1: faça logon no console da VPC e clique na sub-rede de destino na página Subnets. Você pode exibir o ID de sub-rede IPv4 na página exibida.
  • Método 2: use a API da VPC para consultar sub-redes.

    Para obter detalhes, consulte Consulta de sub-redes.

eniSubnetCIDR

String

CIDR da sub-rede da ENI (sendo descartado)

subnets

Array of NetworkSubnet objects

Lista de IDs de sub-rede IPv4

Tabela 28 NetworkSubnet

Parâmetro

Tipo

Descrição

subnetID

String

ID de sub-rede IPv4 da sub-rede para a criação de nós principais. Atualmente, IPv6 não é suportado. Você pode obtê-lo de uma das seguintes maneiras:

  • Método 1: faça logon no console da VPC e clique na sub-rede de destino na página Subnets. Você pode exibir o ID de sub-rede IPv4 na página exibida.
  • Método 2: use a API da VPC para consultar sub-redes.

    Para obter detalhes, consulte Consulta de sub-redes.

Tabela 29 ServiceNetwork

Parâmetro

Tipo

Descrição

IPv4CIDR

String

Intervalo de valores dos blocos CIDR IPv4 clusterIP do Kubernetes. Se este parâmetro não for especificado durante a criação do cluster, o valor padrão 10.247.0.0/16 será usado.

Tabela 30 Authentication

Parâmetro

Tipo

Descrição

mode

String

Modo de autenticação de cluster.

  • Clusters do Kubernetes v1.11 ou anterior suportam x509, rbac e authenticating_proxy. O padrão é x509.
  • Clusters do Kubernetes v1.13 ou posterior suportam rbac e authenticating_proxy. O padrão é rbac.

authenticatingProxy

AuthenticatingProxy object

Configuração relacionada ao modo authenticating_proxy. Este campo é obrigatório quando o modo de autenticação é authenticating_proxy.

Tabela 31 AuthenticatingProxy

Parâmetro

Tipo

Descrição

ca

String

Certificado de CA X509 (codificado em Base64) configurado no modo authenticating_proxy. Esse campo é obrigatório quando o modo de autenticação de cluster é authenticating_proxy.

Tamanho máximo: 1 MB

cert

String

Certificado de cliente emitido pelo certificado de CA X509 configurado no modo authenticating_proxy, que é usado para autenticação do kube-apiserver para o servidor de API estendido. (O valor deve ser codificado em Base64.) Esse campo é obrigatório quando o modo de autenticação de cluster é authenticating_proxy.

privateKey

String

Chave privada do certificado de cliente emitido pelo certificado de CA X509 configurado no modo authenticating_proxy, que é usado para autenticação do kube-apiserver para o servidor de API estendido. A chave privada usada pelo cluster do Kubernetes não oferece suporte à criptografia de senha. Use uma chave privada não criptografada. (O valor deve ser codificado em Base64.) Esse campo é obrigatório quando o modo de autenticação de cluster é authenticating_proxy.

Tabela 32 MasterSpec

Parâmetro

Tipo

Descrição

availabilityZone

String

AZ

Tabela 33 ResourceTag

Parâmetro

Tipo

Descrição

key

String

Chave.

  • Não pode ser nula. Máximo de caracteres: 128.
  • Use letras, dígitos e espaços no formato UTF-8.
  • Pode conter os seguintes caracteres especiais: _.:/=+-@.
  • Não é possível iniciar com _sys_.

value

String

Valor.

  • Pode ser nulo, mas não o padrão. Máximo de caracteres: 255.
  • Use letras, dígitos e espaços no formato UTF-8.
  • Pode conter os seguintes caracteres especiais: _.:/=+-@.
Tabela 34 ClusterExtendParam

Parâmetro

Tipo

Descrição

clusterAZ

String

AZ dos nós principais no cluster.

Para obter detalhes sobre as AZs suportadas pelo CCE, consulte Regiões e pontos de extremidade.

  • multi_az: (opcional) o cluster se estenderá pelas AZs. Este campo é configurável apenas para clusters de alta disponibilidade.
  • AZ do pool de computação em nuvem dedicado: o cluster será implementado na AZ da Dedicated Cloud (DeC). Este parâmetro é obrigatório para clusters do CCE dedicados.

dssMasterVolumes

String

Se o sistema e os discos de dados de um nó principal usam armazenamento distribuído dedicado. Se este parâmetro for omitido ou não especificado, os discos EVS são usados por padrão.

Este parâmetro é obrigatório para clusters do CCE dedicados. Está no seguinte formato:

<rootVol.dssPoolID>.<rootVol.volType>;<dataVol.dssPoolID>.<dataVol.volType>

Descrições do campo:

  • rootVol é o disco do sistema. dataVol é o disco de dados.
  • dssPoolID indica o ID do pool de armazenamento DSS.
  • volType indica o tipo de volume de armazenamento do pool de armazenamento DSS, como SAS e SSD.

Exemplo: c950ee97-587c-4f24-8a74-3367e3da570f.sas;6edbc2f4-1507-44f8-ac0d-eed1d2608d38.ssd

NOTA:

Esse campo não pode ser configurado para clusters do CCE não dedicados.

enterpriseProjectId

String

ID do projeto empresarial ao qual um cluster pertence.

NOTA:
  • Um projeto empresarial pode ser configurado somente depois que a função de projeto empresarial estiver ativada.
  • O projeto empresarial ao qual o cluster pertence deve ser o mesmo ao qual outros recursos de serviço de nuvem associados ao cluster pertencem.

kubeProxyMode

String

Modo de encaminhamento de serviço. Dois modos estão disponíveis:

  • iptables: o kube-proxy tradicional usa regras do iptables para implementar o balanceamento de carga de serviço. Neste modo, muitas regras do iptables serão geradas quando muitos Serviços forem implementados. Além disso, atualizações não incrementais causarão latência e até problemas de desempenho tangíveis no caso de picos de tráfego de serviço.
  • ipvs: modo kube-proxy otimizado com maior taxa de transferência e velocidade. Este modo suporta atualizações incrementais e pode manter as ligações ininterruptas durante as atualizações de serviço. É adequado para aglomerados de grande porte.
NOTA:

Este parâmetro foi obsoleto. Se este parâmetro e kubeProxyMode em ClusterSpec forem especificados ao mesmo tempo, o último será usado.

clusterExternalIP

String

EIP do nó principal

alpha.cce/fixPoolMask

String

Número de bits de máscara do pool de endereços IP fixos do modelo de rede de contêiner. Este campo é compatível apenas com o modelo de rede da VPC (vpc-router).

Esse parâmetro determina o número de endereços IP de contêiner que podem ser alocados a um nó. O número máximo de pods que podem ser criados em um nó é decidido por esse parâmetro e maxPods definido durante a criação do nó. Para obter detalhes, consulte Número máximo de pods que podem ser criados em um nó.

Para caracteres inteiros, o valor varia de 24 a 28.

decMasterFlavor

String

Especificações do nó principal no cluster híbrido dedicado.

dockerUmaskMode

String

Configuração padrão do UmaskMode do Docker em um cluster. O valor pode ser secure ou normal. Se esse parâmetro não for especificado, normal será usado por padrão.

kubernetes.io/cpuManagerPolicy

String

Política de gerenciamento de CPU de cluster. O valor pode ser none (ou null) ou static. O valor padrão é none (ou null).

  • none ou null: desativa pods de ocupar exclusivamente CPUs. Selecione essa opção se quiser um grande pool de núcleos de CPU compartilháveis.
  • static: permite que pods ocupem exclusivamente CPUs. Selecione essa opção se sua carga de trabalho for sensível ao cache da CPU e à latência de agendamento. Em um cluster do CCE Turbo, essa configuração é válida apenas para nós em que contêineres comuns, não contêineres Kata, são executados.

orderID

String

ID do pedido. Este parâmetro é retornado na resposta quando o cluster é faturado anualmente/mensalmente com o pagamento automático ativado (somente em cenários de criação).

periodType

String

  • month: a unidade é mês.
  • year: a unidade é ano.
NOTA:

Parâmetro de solicitação, que é válido e obrigatório quando billingMode é definido como 1 (cobrança anual/mensal). Parâmetro de resposta, que é retornado somente quando um cluster anual/mensal é criado.

periodNum

Integer

Duração da assinatura. O valor pode ser:

  • Se periodType for month, o valor varia de 1 a 9.
  • Se periodType for year, o valor varia de 1 a 3.
NOTA:

Parâmetro de solicitação, que é válido e obrigatório quando billingMode é definido como 1. Parâmetro de resposta, que é retornado somente quando um cluster anual/mensal é criado.

isAutoRenew

String

Se a renovação automática está ativada.

  • true: a renovação automática está ativada.
  • false: a renovação automática não está ativada.
NOTA:

Este campo é válido quando billingMode é definido como 1. Se não for especificado, a renovação automática não está ativada.

isAutoPay

String

Se deduzir taxas automaticamente.

  • true: ative a dedução automática de taxas.
  • false: não ative a dedução automática de taxas.
NOTA:

Este campo é válido quando billingMode é definido como 1. Se não for especificado, a dedução automática da taxa não está ativada.

upgradefrom

String

Registros de como o cluster é atualizado para a versão atual

Tabela 35 PackageConfiguration

Parâmetro

Tipo

Descrição

name

String

Nome do componente.

configurations

Array of ConfigurationItem objects

Item de configuração do componente.

Tabela 36 ConfigurationItem

Parâmetro

Tipo

Descrição

name

String

Nome do item de configuração do componente.

value

Object

Valor do item de configuração do componente.

Tabela 37 ClusterStatus

Parâmetro

Tipo

Descrição

phase

String

Status do cluster. Valores possíveis:

  • Available: o cluster está sendo executado corretamente.
  • Unavailable: o cluster está exibindo um comportamento inesperado. Exclua manualmente o cluster.
  • ScalingUp: os nós estão sendo adicionados ao cluster.
  • ScalingDown: o cluster está sendo reduzido para menos nós.
  • Creating: o cluster está sendo criado.
  • Deleting: o cluster está sendo excluído.
  • Upgrading: o cluster está sendo atualizado.
  • Resizing: as especificações do cluster estão sendo alteradas.
  • RollingBack: o cluster está sendo revertido.
  • RollbackFailed: a reversão é anormal.
  • Empty: o cluster não tem recursos.

jobID

String

ID da tarefa associada ao cluster no estado atual. Opções:

  • ID da tarefa associada retornada ao criar um cluster. Você pode usá-lo para obter as tarefas auxiliares para criar um cluster.
  • ID da tarefa associada retornada quando um cluster falha ao ser excluído ou é excluído. Se esse parâmetro não estiver vazio, você poderá usar o ID da tarefa para obter as tarefas auxiliares para excluir um cluster.
NOTA:

As tarefas são de curta duração. Não utilize as informações da tarefa em cenários como a determinação do estado do cluster.

reason

String

Motivo da alteração do estado do cluster. Esse parâmetro é retornado se o cluster não estiver no estado Available.

message

String

Informações detalhadas sobre por que o cluster muda para o estado atual. Esse parâmetro é retornado se o cluster não estiver no estado Available.

endpoints

Array of ClusterEndpoints objects

Endereço de acesso do kube-apiserver no cluster.

isLocked

Boolean

O recurso de CBC está bloqueado.

lockScene

String

Cenário em que o recurso de CBC está bloqueado.

lockSource

String

Bloqueio de recursos.

lockSourceId

String

ID do recurso bloqueado.

deleteOption

Object

Se excluir as configurações. Este parâmetro está contido apenas na resposta à solicitação de exclusão.

deleteStatus

Object

Se excluir as informações de status. Este parâmetro está contido apenas na resposta à solicitação de exclusão.

Tabela 38 ClusterEndpoints

Parâmetro

Tipo

Descrição

url

String

Endereço de acesso do kube-apiserver no cluster.

type

String

Tipo do endereço de acesso do cluster.

  • Internal: endereço para acesso à rede interna
  • External: endereço para acesso à rede externa

Exemplo de solicitações

  • Crie um cluster HA do CCE de v1.19 com 50 nós faturados em uma base de pagamento por uso.
    /api/v3/projects/{project_id}/clusters
    
    {
      "kind" : "Cluster",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "cluster"
      },
      "spec" : {
        "category" : "CCE",
        "flavor" : "cce.s2.small",
        "version" : "v1.19",
        "hostNetwork" : {
          "vpc" : "030bfb19-5fa7-42ad-8a0d-c0721d268867",
          "subnet" : "ca964acf-8468-4735-8229-97940ef6c881"
        },
        "containerNetwork" : {
          "mode" : "vpc-router",
          "cidr" : "10.0.0.0/16"
        },
        "kubernetesSvcIpRange" : "10.247.0.0/16",
        "description" : "",
        "billingMode" : 0,
        "extendParam" : {
          "kubeProxyMode" : "iptables",
          "alpha.cce/fixPoolMask" : "25",
          "enterpriseProjectId" : "0"
        },
        "authentication" : {
          "mode" : "rbac"
        },
        "ipv6enable" : false
      }
    }
  • Crie um cluster HA do CCE de v1.19 com 50 nós faturados em uma base de pagamento por uso e instale o ICAgent no cluster.
    /api/v3/projects/{project_id}/clusters
    
    {
      "kind" : "Cluster",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "cluster",
        "annotations" : {
          "cluster.install.addons.external/install" : "[{\"addonTemplateName\":\"icagent\"}]"
        }
      },
      "spec" : {
        "category" : "CCE",
        "flavor" : "cce.s2.small",
        "version" : "v1.19",
        "hostNetwork" : {
          "vpc" : "030bfb19-5fa7-42ad-8a0d-c0721d268867",
          "subnet" : "ca964acf-8468-4735-8229-97940ef6c881"
        },
        "containerNetwork" : {
          "mode" : "vpc-router",
          "cidr" : "10.0.0.0/16"
        },
        "kubernetesSvcIpRange" : "10.247.0.0/16",
        "description" : "",
        "billingMode" : 0,
        "extendParam" : {
          "kubeProxyMode" : "iptables",
          "alpha.cce/fixPoolMask" : "25",
          "enterpriseProjectId" : "0"
        },
        "authentication" : {
          "mode" : "rbac"
        },
        "ipv6enable" : false
      }
    }
  • Crie um cluster HA do CCE de v1.19 com os 50 nós faturados em uma base do pagamento por uso e configure o grupo de segurança padrão para nós feitos sob encomenda no cluster.
    /api/v3/projects/{project_id}/clusters
    
    {
      "kind" : "Cluster",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "cluster"
      },
      "spec" : {
        "category" : "CCE",
        "flavor" : "cce.s2.small",
        "version" : "v1.19",
        "hostNetwork" : {
          "vpc" : "030bfb19-5fa7-42ad-8a0d-c0721d268867",
          "subnet" : "ca964acf-8468-4735-8229-97940ef6c881",
          "SecurityGroup" : "a4ef108c-2ec6-492f-a6c4-7b64e25ae490"
        },
        "containerNetwork" : {
          "mode" : "vpc-router",
          "cidr" : "10.0.0.0/16"
        },
        "kubernetesSvcIpRange" : "10.247.0.0/16",
        "description" : "",
        "billingMode" : 0,
        "extendParam" : {
          "kubeProxyMode" : "iptables",
          "alpha.cce/fixPoolMask" : "25",
          "enterpriseProjectId" : "0"
        },
        "authentication" : {
          "mode" : "rbac"
        },
        "ipv6enable" : false
      }
    }
  • Essa API é usada para criar um cluster HA do CCE Turbo v1.25 com 50 nós faturados com base em pagamento por uso.
    /api/v3/projects/{project_id}/clusters
    
    {
      "kind" : "Cluster",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "cluster"
      },
      "spec" : {
        "category" : "Turbo",
        "flavor" : "cce.s2.small",
        "version" : "v1.25",
        "type" : "VirtualMachine",
        "hostNetwork" : {
          "vpc" : "030bfb19-5fa7-42ad-8a0d-c0721d268867",
          "subnet" : "ca964acf-8468-4735-8229-97940ef6c881"
        },
        "containerNetwork" : {
          "mode" : "eni"
        },
        "eniNetwork" : {
          "eniSubnetId" : "861fb11d-2f0e-4c10-a98a-166dc26e4ff7",
          "eniSubnetCIDR" : "192.168.0.0/24",
          "subnets" : [ {
            "subnetID" : "861fb11d-2f0e-4c10-a98a-166dc26e4ff7"
          } ]
        },
        "serviceNetwork" : {
          "IPv4CIDR" : "10.247.0.0/16"
        },
        "description" : "",
        "billingMode" : 0,
        "extendParam" : {
          "kubeProxyMode" : "iptables",
          "enterpriseProjectId" : "0"
        },
        "authentication" : {
          "mode" : "rbac"
        },
        "ipv6enable" : false
      }
    }

Exemplo de respostas

Código de status: 201

A tarefa de criação de cluster é entregue com êxito.

{
  "kind" : "Cluster",
  "apiVersion" : "v3",
  "metadata" : {
    "alias" : "cluster",
    "name" : "cluster",
    "uid" : "bce956e1-87f3-11ec-b5e5-0255ac101514",
    "creationTimestamp" : "2022-02-07 08:55:45.785425492 +0000 UTC",
    "updateTimestamp" : "2022-02-07 08:55:45.78542824 +0000 UTC",
    "annotations" : {
      "jobid" : "bd42f724-87f3-11ec-b5e5-0255ac101514",
      "resourceJobId" : "bce99f78-87f3-11ec-b5e5-0255ac101514"
    }
  },
  "spec" : {
    "category" : "CCE",
    "type" : "VirtualMachine",
    "flavor" : "cce.s2.small",
    "version" : "v1.19.10-r0",
    "platformVersion" : "cce.5.0",
    "hostNetwork" : {
      "vpc" : "030bfb19-5fa7-42ad-8a0d-c0721d268867",
      "subnet" : "ca964acf-8468-4735-8229-97940ef6c881"
    },
    "containerNetwork" : {
      "mode" : "vpc-router",
      "cidr" : "10.0.0.0/16",
      "cidrs" : [ {
        "cidr" : "10.0.0.0/16"
      } ]
    },
    "eniNetwork" : { },
    "authentication" : {
      "mode" : "rbac",
      "authenticatingProxy" : { }
    },
    "billingMode" : 0,
    "kubernetesSvcIpRange" : "10.247.0.0/16",
    "kubeProxyMode" : "iptables",
    "extendParam" : {
      "alpha.cce/fixPoolMask" : "25",
      "enterpriseProjectId" : "0",
      "kubeProxyMode" : "iptables",
      "orderID" : ""
    }
  },
  "status" : {
    "phase" : "Creating",
    "jobID" : "bd42f724-87f3-11ec-b5e5-0255ac101514"
  }
}

Códigos de status

Código de status

Descrição

201

A tarefa de criação de cluster é entregue com êxito.

Códigos de erro

Consulte Códigos de erro.