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 nó

Função

Essa API é usada para criar um nó em um cluster especificado.

  • Se não houver cluster, crie um.
  • O URL para gerenciamento de cluster está no formato https://Endpoint/uri. No URL, uri indica o caminho do recurso, ou seja, o caminho para o acesso à API.

Restrições

Somente nós de KVM podem ser criados. Nós de KVM não podem ser usados após serem criados.

URI

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

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.

cluster_id

Sim

String

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

Tabela 2 Parâmetros de consulta

Parâmetro

Obrigatório

Tipo

Descrição

nodepoolScaleUp

Não

String

Se a solicitação é entregue pelo pool de nós. Se o valor não for NodepoolScaleUp, o número de pods no pool de nós correspondente será atualizado automaticamente.

Parâmetros de solicitação

Tabela 3 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 4 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

kind

Sim

String

Tipo de API. O valor é fixado em Node 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

Não

NodeMetadata object

Metadados de nó, que é uma coleção de atributos.

spec

Sim

NodeSpec object

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

Tabela 5 NodeMetadata

Parâmetro

Obrigatório

Tipo

Descrição

name

Não

String

Nome do nó.

NOTA:

Digite de 1 a 56 caracteres que comecem com uma letra e não terminem com um hífen (-). Somente letras minúsculas, dígitos e hifens (-) são permitidos. Se name não for especificado ou estiver vazio, o nome do nó será gerado com base na regra padrão. A regra padrão é Cluster name-Random characters. Somente os primeiros 36 caracteres são mantidos para um nome de cluster muito longo. Se o número de nós (contagem) for maior que 1, alguns caracteres aleatórios serão adicionados ao final do nome do nó inserido de acordo com a regra padrão. A regra padrão é User-defined name-Random characters. Apenas os primeiros 50 caracteres no nome definido pelo usuário são mantidos, seguidos por alguns caracteres aleatórios.

uid

Não

String

ID do nó, que é exclusivo e gerado automaticamente após a criação do recurso. Um ID definido pelo usuário não terá efeito.

labels

Não

Map<String,String>

Rótulo do nó do CCE (não o rótulo do Kubernetes nativo).

Os rótulos são usados para selecionar objetos que atendem a determinados critérios. Um rótulo é um par chave-valor.

Exemplo:

"labels": {
  "key" : "value"
}

annotations

Não

Map<String,String>

Anotações de nó do CCE, em pares de chave-valor (não nas anotações do Kubernetes nativo). Exemplo:

"annotations": {
  "key1" : "value1",
  "key2" : "value2"
}
NOTA:
  • annotations não são usadas para identificar ou selecionar 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.
  • Este parâmetro é usado apenas para consulta e não pode ser inserido por meio de uma solicitação. Os dados inseridos deste parâmetro são inválidos.

creationTimestamp

Não

String

Hora em que o objeto foi criado. O valor é gerado automaticamente após a criação do objeto. Um valor definido pelo usuário não terá efeito.

updateTimestamp

Não

String

Hora em que o objeto foi atualizado. O valor é gerado automaticamente após a criação do objeto. Um valor definido pelo usuário não terá efeito.

Tabela 6 NodeSpec

Parâmetro

Obrigatório

Tipo

Descrição

flavor

Sim

String

Especificações do nó. Para obter detalhes sobre as especificações de nó suportadas pelo CCE, consulte Descrição do flavor do nó.

az

Sim

String

Nome da AZ onde o nó a ser criado está localizado. . Para obter detalhes sobre as AZs suportadas pelo CCE, consulte Regiões e pontos de extremidade.

os

Não

String

O tipo de SO do nó. Para obter detalhes sobre os sistemas operacionais compatíveis, consulte [Descrição do sistema operacional do nó] (node-os.xml).

NOTA:
  • O sistema seleciona automaticamente o SO suportado com base na versão do cluster. Se o cluster atual não oferecer suporte ao SO, um erro será relatado.
  • Se alpha.cce/NodeImageID em extendParam for especificado durante a criação do nó, não será necessário configurar esse parâmetro.
  • Esse parâmetro é obrigatório ao criar um pool de nós.

login

Sim

Login object

Modo de logon do nó. O par de chaves ou a senha devem ser usados para o logon.

rootVolume

Sim

Volume object

Informações sobre discos no nó

dataVolumes

Sim

Array of Volume objects

Parâmetros do disco de dados do nó. Atualmente, você pode adicionar o segundo disco de dados para o seu nó no console do CCE. Esse disco de dados é usado pelo tempo de execução do contêiner e pelo kubelet. Não desinstale este disco. Caso contrário, o nó ficará indisponível. Para nós de DeC, a descrição do parâmetro é a mesma que para rootVolume.

storage

Não

Storage object

Parâmetro de gerenciamento de inicialização de disco.

Este parâmetro é complexo de configurar. Para obter detalhes, consulte Anexação de discos a um nó.

Se esse parâmetro mantiver seu padrão, os discos serão gerenciados com base no parâmetro DockerLVMConfigOverride (descartado) em extendParam. Este parâmetro é suportado pelos clusters da versão 1.15.11 e posterior.

NOTA:

Se uma especificação de nó envolver discos locais e discos EVS ao mesmo tempo, não retenha o valor padrão deste parâmetro para evitar partições de disco inesperadas.

publicIP

Não

NodePublicIP object

EIP de um nó.

NOTA:

Este parâmetro não é suportado quando adiciona um nó a um pool de nós.

nodeNicSpec

Não

NodeNicSpec object

NIC do nó

count

Não

Integer

Número de nós a serem criados em um lote. O valor deve ser um inteiro positivo maior ou igual a 1 e menor ou igual ao limite definido. Esse parâmetro pode ser deixado em branco quando é usado para um pool de nós.

billingMode

Não

Integer

Modo de cobrança de nó.

  • 0: pagamento pelo uso
  • 1: anual/mensal
  • 2: (descartado) cobrança anual/mensal com pagamento automático ativado

taints

Não

Array of Taint objects

Você pode adicionar manchas aos nós criados para configurar a antiafinidade. Um máximo de 20 manchas podem ser adicionadas. Cada mancha contém os seguintes parâmetros:

  • Key: uma chave deve conter de 1 a 63 caracteres, começando com uma letra ou dígito. Apenas letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos. Um nome de subdomínio do DNS pode ser usado como prefixo de uma chave.
  • Value: um valor deve começar com uma letra ou dígito e pode conter no máximo 63 caracteres, incluindo letras, dígitos, hifens (-) e pontos (.).
  • Effect: as opções disponíveis são NoSchedule, PreferNoSchedule e NoExecute. Ao criar um nó, você pode especificar o valor inicial para este parâmetro e este campo não é retornado durante a consulta. Ao usar pools de nós, o valor inicial pode ser especificado no modelo de nó e esse campo é retornado durante a consulta. Em outros cenários, esse campo não é retornado durante a consulta.

Exemplo:

"taints": [{
  "key": "status",
  "value": "unavailable",
  "effect": "NoSchedule"
}, {
  "key": "looks",
  "value": "bad",
  "effect": "NoSchedule"
}]

k8sTags

Não

Map<String,String>

Definido em pares chave-valor. Um máximo de 20 pares chave-valor são permitidos.

  • Key: digite 1 a 63 caracteres começando com uma letra ou dígito. Apenas letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos. Um subdomínio do DNS pode ser prefixo para uma chave e conter um máximo de 253 caracteres. Exemplo de subdomínio do DNS: example.com/my-key
  • Value: o valor pode ser deixado em branco ou conter de 1 a 63 caracteres que começam com uma letra ou dígito. Somente letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos na cadeia de caracteres. Ao criar um nó, você pode especificar o valor inicial para este parâmetro e este campo não é retornado durante a consulta. Ao usar pools de nós, o valor inicial pode ser especificado no modelo de nó e esse campo é retornado durante a consulta. Em outros cenários, esse campo não é retornado durante a consulta.

Exemplo:

"k8sTags": {
  "key": "value"
}

ecsGroupId

Não

String

ID do grupo do servidor de nuvem. Se esse campo for especificado, o nó será criado no grupo de servidores de nuvem especificado.

dedicatedHostId

Não

String

ID do DeH para o qual o nó está programado.

NOTA:

Este parâmetro não é suportado quando você adiciona um nó durante a criação do pool de nós.

userTags

Não

Array of UserTag objects

Tag do servidor de nuvem. A chave de tag deve ser exclusiva. O número máximo de tags personalizadas suportadas pelo CCE depende da região e não pode exceder 8. Ao criar um nó, você pode especificar o valor inicial para este parâmetro e este campo não é retornado durante a consulta. Ao usar pools de nós, o valor inicial pode ser especificado no modelo de nó e esse campo é retornado durante a consulta. Em outros cenários, esse campo não é retornado durante a consulta.

NOTA:

Use apenas letras, caracteres Unicode, dígitos, caracteres especiais (-,_). Máximo de caracteres: 36

runtime

Não

Runtime object

Tempo de execução do contêiner:

  • Clusters da v1.25 ou anterior: docker.
  • Clusters da v1.25 e posterior: o tempo de execução do contêiner varia com o sistema operacional. Para nós que executam EulerOS 2.5 ou EulerOS 2.8, o tempo de execução padrão do contêiner é docker. Para nós que executam outros SOs, o tempo de execução de contêiner padrão é containerd.

initializedConditions

Não

Array of strings

Sinalizador de inicialização personalizado.

Antes que os nós do CCE sejam inicializados, eles são contaminados com node.cloudprovider.kubernetes.io/uninitialized para evitar que os pods sejam programados para eles.

O CCE oferece suporte a sinalizadores de inicialização personalizados. Depois de receber o parâmetro initializedConditions, o CCE converte o valor do parâmetro em um rótulo de nó e provisiona o rótulo com o nó, por exemplo, cloudprovider.openvessel.io/inject-initialized-conditions=CCEInitial_CustomedInitial.

Depois que o nó é rotulado, seu status.Conditions é pesquisado para verificar se o type de conditions tem um nome de sinalizador, como CCEInitial e CustomedInitial. Se todos os sinalizadores de entrada existirem e seu status for True, a inicialização do nó será concluída e a mancha de inicialização será removida.

  • Use apenas letras e dígitos. Máximo de caracteres: 20.
  • Máximo de sinalizadores: 2.

extendParam

Não

NodeExtendParam object

Parâmetros estendidos para criar um nó.

Tabela 7 Login

Parâmetro

Obrigatório

Tipo

Descrição

sshKey

Não

String

Nome do par de chaves usado para logon.

userPassword

Não

UserPassword object

Senha usada para logon do nó.

Tabela 8 UserPassword

Parâmetro

Obrigatório

Tipo

Descrição

username

Não

String

Conta de logon. O padrão é root.

password

Sim

String

Se um nome de usuário e uma senha forem usados para criar um nó, esse campo será blindado no corpo da resposta. Uma senha deve atender aos seguintes requisitos de complexidade:

  • Contém de 8 a 26 caracteres.
  • Contém pelo menos três dos seguintes tipos de caracteres: letras maiúsculas, minúsculas, dígitos e caracteres especiais (!@$%^-_=+[{}]:,./?~#*)
  • Não pode conter o nome de usuário ou o nome de usuário escrito ao contrário. O campo password deve ser salgado durante a criação do nó. Para obter detalhes, consulte Adição de um sal no campo de senha ao criar um nó.
Tabela 9 Volume

Parâmetro

Obrigatório

Tipo

Descrição

size

Sim

Integer

Tamanho do disco, em GB.

  • Disco do sistema: 40 a 1024 -faixa de valores para discos de dados: 100 a 32768

volumetype

Sim

String

Tipo de disco. Para obter detalhes sobre valores possíveis, consulte a descrição do parâmetro root_volume na API usada para criar um ECS.

  • SAS: disco SAS de alta I/O
  • SSD: disco SSD de I/O ultra-alta
  • SATA: disco SATA de I/O comum. Os discos SATA foram removidos do EVS. Você pode encontrá-los anexados apenas em nós existentes.
  • ESSD: disco SSD de uso geral
  • GPSDD: disco SSD de uso geral

extendParam

Não

Map<String,Object>

Parâmetros de disco estendido, definidos em extendparam na API usada para criar um ECS. . Para obter detalhes, consulte Criação de um ECS.

cluster_id

Não

String

ID do pool de armazenamento usado pelo disco do sistema do ECS. Esse campo é usado somente para clusters de DeC, que funcionam como dssPoolID, ou seja, o ID do pool de armazenamento DSS.

Para obter o valor, consulte o campo ID na API usada para obter detalhes de um pool de armazenamento DSS.

cluster_type

Não

String

Classe de armazenamento do disco do sistema do servidor em nuvem. O valor é sempre dss. Este campo é usado somente para clusters de DeC.

hw:passthrough

Não

Boolean

  • Preste atenção a este campo se o seu ECS for compatível com SDI. Se o valor desse campo for true, um disco SCSI será criado.
  • Se o tipo de pool de nós for ElasticBMS, esse campo deve ser definido como true.
  • Se uma especificação de nó envolver discos locais e discos EVS ao mesmo tempo, defina os parâmetros de inicialização do disco. Para obter detalhes, consulte Anexação de discos a um nó.

metadata

Não

VolumeMetadata object

Informações de criptografia de disco EVS. Este campo é obrigatório somente quando você precisa criptografar o disco do sistema ou discos de dados do nó a ser criado.

Tabela 10 VolumeMetadata

Parâmetro

Obrigatório

Tipo

Descrição

__system__encrypted

Não

String

Se o disco EVS é criptografado. O valor 0 indica que o disco EVS não está criptografado e o valor 1 indica que o disco EVS está criptografado.

Se este parâmetro não for especificado, o disco EVS não será criptografado por padrão.

__system__cmkid

Não

String

ID de CMK, que indica criptografia em metadata. Este campo é usado com __system__encrypted.

Tabela 11 Storage

Parâmetro

Obrigatório

Tipo

Descrição

storageSelectors

Sim

Array of StorageSelectors objects

Seleção de disco. Os discos correspondentes são gerenciados de acordo com matchLabels e storageType.

storageGroups

Sim

Array of StorageGroups objects

Um grupo de armazenamento consiste em vários dispositivos de armazenamento. É usado para dividir o espaço de armazenamento.

Tabela 12 StorageSelectors

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome do seletor, usado como índice de selectorNames em storageGroup. Portanto, o nome de cada seletor deve ser exclusivo.

storageType

Sim

String

Especifica o tipo de armazenamento. Atualmente, apenas evs (volumes EVS) e local (volumes locais) são suportados. O armazenamento local não suporta a seleção de disco. Todos os discos locais formarão um VG. Portanto, somente um storageSelector do tipo local é permitido.

matchLabels

Não

matchLabels object

Campo correspondente de um volume do EVS. Os campos size, volumeType, metadataEncrypted, metadataCmkid e count são suportados.

Tabela 13 matchLabels

Parâmetro

Obrigatório

Tipo

Descrição

size

Não

String

Tamanho do disco correspondente. Se este parâmetro não for especificado, o tamanho do disco não é limitado. Exemplo: 100

volumeType

Não

String

Tipos de disco EVS. SSD, GPSSD, SAS, ESSD e SATA são suportados.

metadataEncrypted

Não

String

Identificador de criptografia do disco. 0 indica que o disco não está encriptado e 1 indica que o disco está encriptado.

metadataCmkid

Não

String

ID da chave mestra do cliente de um disco criptografado. O valor é uma cadeia de 36 bytes.

count

Não

String

Número de discos a serem selecionados. Se este parâmetro for deixado em branco, todos os discos deste tipo serão selecionados.

Tabela 14 StorageGroups

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome de um grupo de armazenamento virtual, que deve ser exclusivo.

  • Se cceManaged for definido como true, o nome deve ser definido como vgpass.
  • Se o disco de dados for usado como um volume de armazenamento temporário, o nome deverá ser vg-everest-localvolume-ephemeral.
  • Se o disco de dados for usado como um volume de armazenamento persistente, o nome deverá ser vg-everest-localvolume-persistent.

cceManaged

Não

Boolean

Espaço de armazenamento para Kubernetes e componentes de tempo de execução. Apenas um grupo pode ser definido como true. Se esse parâmetro for deixado em branco, o valor padrão false será usado.

selectorNames

Sim

Array of strings

Este parâmetro corresponde a name em storageSelectors. Um grupo pode corresponder a vários seletores, mas um seletor pode corresponder a apenas um grupo.

virtualSpaces

Sim

Array of VirtualSpace objects

Gerenciamento detalhado da configuração do espaço em um grupo.

Tabela 15 VirtualSpace

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome de um virtualSpace.

  • Kubernetes: configuração do espaço do Kubernetes. lvmConfig precisa ser configurado.
  • runtime: configuração do espaço de tempo de execução. runtimeConfig precisa ser configurado.
  • user: configuração do espaço do usuário. lvmConfig precisa ser configurado.

size

Sim

String

Tamanho de um virtualSpace. O valor deve ser um inteiro em porcentagem. Exemplo: 90%.

NOTA:

A soma das porcentagens de todos os virtualSpaces em um grupo não pode exceder 100%.

lvmConfig

Não

LVMConfig object

Configurações de LVM, aplicáveis a kubernetes e espaços de user. Observe que um espaço virtual suporta apenas uma configuração.

runtimeConfig

Não

RuntimeConfig object

Configurações de tempo de execução, aplicável ao espaço de runtime. Observe que um espaço virtual suporta apenas uma configuração.

Tabela 16 LVMConfig

Parâmetro

Obrigatório

Tipo

Descrição

lvType

Sim

String

Modo de gravação de LVM. linear indica o modo linear. striped indica o modo repartido, no qual vários discos são usados para formar uma distribuição para melhorar o desempenho do disco.

path

Não

String

Caminho ao qual o disco está anexado. Este parâmetro tem efeito somente na configuração do usuário. O valor é um caminho absoluto. Dígitos, letras, pontos (.), hifens (-) e sublinhados (_) são permitidos.

Tabela 17 RuntimeConfig

Parâmetro

Obrigatório

Tipo

Descrição

lvType

Sim

String

Modo de gravação de LVM. linear indica o modo linear. striped indica o modo repartido, no qual vários discos são usados para formar uma distribuição para melhorar o desempenho do disco.

Tabela 18 NodePublicIP

Parâmetro

Obrigatório

Tipo

Descrição

ids

Não

Array of strings

IDs de EIPs existentes. A quantidade não pode ser maior que o número de nós a serem criados.

NOTA:

Se ids foi definido, você não precisa definir count e eip.

count

Não

Integer

Número de EIPs a serem criados dinamicamente.

NOTA:

count e eip devem ser definidos ao mesmo tempo.

eip

Não

NodeEIPSpec object

Configuração do EIP.

Tabela 19 NodeEIPSpec

Parâmetro

Obrigatório

Tipo

Descrição

iptype

Sim

String

Tipo de EIP, especificado em publicip.type na API para atribuir um EIP. Para obter detalhes, consulte Atribuição de um EIP.

bandwidth

Não

NodeBandwidth object

Parâmetros de largura de banda do EIP

Tabela 20 NodeBandwidth

Parâmetro

Obrigatório

Tipo

Descrição

chargemode

Não

String

Modo de cobrança de largura de banda.

  • Se este campo não for especificado, a cobrança é baseada em largura de banda. - Se o campo for nulo, a cobrança é baseada na largura de banda.
  • Se o valor for traffic, a cobrança será baseado no tráfego.
  • Se o valor estiver fora das opções anteriores, o servidor de nuvem falhará ao ser criado.
NOTA:
  • Cobrança por largura de banda: a cobrança será baseada na taxa de transmissão de dados (em Mbps) das redes públicas. Este modo de cobrança é recomendado se o uso da largura de banda for superior a 10%.
  • Cobrança por tráfego: a cobrança baseia-se na quantidade total de dados (em GB) transmitidos através da rede pública. Esse modo está disponível somente quando você está criando um nó de pagamento por uso. Esse modo de cobrança é recomendado se o uso da largura de banda for inferior a 10%.

size

Não

Integer

Tamanho da largura de banda, especificado em bandwidth.size na API para atribuir um EIP. Para obter detalhes, consulte Atribuição de um EIP.

sharetype

Não

String

Tipo de compartilhamento de largura de banda. Opções de valor: PER (largura de banda exclusiva)

Tabela 21 NodeNicSpec

Parâmetro

Obrigatório

Tipo

Descrição

primaryNic

Não

NicSpec object

Descrição da NIC primária.

extNics

Não

Array of NicSpec objects

NIC de extensão

NOTA:

Este parâmetro não é suportado quando adiciona um nó a um pool de nós.

Tabela 22 NicSpec

Parâmetro

Obrigatório

Tipo

Descrição

subnetId

Não

String

ID da sub-rede à qual a NIC pertence. Se subnetId não for especificado ao criar a ENI primária, a sub-rede do cluster será usada. Ao criar uma ENI de extensão, você deve especificar subnetId.

fixedIps

Não

Array of strings

O endereço IP da ENI primária é especificado usando fixedIps. O número de endereços IP não pode ser maior do que o número de nós criados. fixedIps ou ipBlock podem ser especificados. fiexdIps não pode ser especificado para ENIs de extensão.

ipBlock

Não

String

Formato CIDR do intervalo de IP da NIC primária. O endereço IP do nó criado cai nesse intervalo. fixedIps e ipBlock não podem ser especificados ao mesmo tempo.

Tabela 23 Taint

Parâmetro

Obrigatório

Tipo

Descrição

key

Sim

String

Chave.

value

Não

String

Valor.

effect

Sim

String

Efeito.

Tabela 24 UserTag

Parâmetro

Obrigatório

Tipo

Descrição

key

Não

String

Chave do rótulo do servidor de nuvem. O valor não pode começar com CCE- ou __type_baremetal.

value

Não

String

Valor do rótulo do servidor de nuvem.

Tabela 25 Runtime

Parâmetro

Obrigatório

Tipo

Descrição

name

Não

String

Tempo de execução do contêiner. Valor padrão:

  • Clusters anteriores à v1.25 o valor padrão é docker.
  • Clusters da v1.25 e posterior: o tempo de execução de contêiner padrão varia dependendo do sistema operacional. Para nós que executam EulerOS 2.5 ou EulerOS 2.8, o tempo de execução de contêiner padrão é docker; para nós que executam outros sistemas operacionais, o tempo de execução de contêiner padrão é containerd.
Tabela 26 NodeExtendParam

Parâmetro

Obrigatório

Tipo

Descrição

ecs:performancetype

Não

String

Tipos de flavors do ECS. Esse campo é retornado na resposta.

orderID

Não

String

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

productID

Não

String

ID do produto. Este campo é retornado na resposta quando o nó é faturado anualmente/mensal com o pagamento automático ativado.

maxPods

Não

Integer

Número máximo de pods que podem ser criados no nó, incluindo os pods padrão do sistema. Intervalo de valores: 16 a 256.

Esse limite impede que o nó seja sobrecarregado de pods.

O número de pods que podem ser criados em um nó é determinado por vários parâmetros. Para obter detalhes, consulte Número máximo de pods que podem ser criados em um nó.

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 somente quando billingMode é definido como1 (cobrança anual/mensal) ou 2 (cobrança anual/mensal com renovação automática ativada) (descartado). Parâmetro de resposta, que é retornado somente quando um nó 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 será 1.
NOTA:

Parâmetro de solicitação, que é válido e obrigatório quando billingMode é definido como 1 ou 2 (descartado). Parâmetro de resposta, que é retornado somente quando um nó 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 ou 2 (descartado). 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 ou 2 (descartado). Se não for especificado quando billingMode estiver definido como 1, a dedução automática da taxa não estará ativada. (Descartado: se não for especificado quando billingMode estiver definido como 2, a dedução automática da taxa será ativada.)

DockerLVMConfigOverride

Não

String

Item de configuração do disco de dados do Docker. (Este parâmetro foi descartado. Use o campo storage em vez disso.) Exemplo de configuração padrão:

"DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear"

Por padrão, se nenhum disco VD estiver disponível, ocorrerá um erro porque o disco de dados não foi encontrado. Defina diskType com base no tipo de letra de unidade real. Os seguintes campos estão incluídos:

  • userLV (opcional): tamanho do espaço do usuário, por exemplo, vgpaas/20%VG.
  • userPath (opcional): monta o caminho do espaço do usuário, por exemplo, /home/wqt-test.
  • diskType: tipo de disco. Atualmente, apenas evs, hdd e ssd são suportados.
  • lvType: tipo de um volume lógico. O valor pode ser linear ou striped.
  • dockerThinpool: tamanho do espaço de Docker, por exemplo, vgpaas/60%VG.
  • kubernetesLV: tamanho do espaço de kubelet, por exemplo, vgpaas/20%VG.

dockerBaseSize

Não

Integer

Espaço em disco disponível de um único contêiner em um nó, em GB.

Se este parâmetro for deixado em branco ou for definido como 0, o valor padrão será usado. No modo de Device Mapper, o valor padrão é 10. No modo de OverlayFS, o espaço disponível de um único contêiner não é limitado por padrão, e a configuração dockerBaseSize só entra em vigor nos nós EulerOS no cluster da nova versão.

Para obter detalhes sobre como alocar o espaço para o tempo de execução do contêiner, consulte Alocação de espaço em disco de dados.

Quando Device Mapper é usado, é aconselhável definir dockerBaseSize para um valor menor ou igual a 80 GB. Se o valor for muito grande, o tempo de execução do contêiner pode falhar ao ser iniciado devido à inicialização longa. Se houver requisitos especiais para o espaço em disco do contêiner, você poderá montar um dispositivo de armazenamento externo ou local.

publicKey

Não

String

Chave pública de um nó.

alpha.cce/preInstall

Não

String

Script de pré-instalação.

NOTA:

O valor de entrada deve ser codificado em Base64. (Comando: echo -n "Content to be encoded" | base64)

alpha.cce/postInstall

Não

String

Script de pós-instalação.

NOTA:

O valor de entrada deve ser codificado em Base64. (Comando: echo -n "Content to be encoded" | base64)

alpha.cce/NodeImageID

Não

String

Este parâmetro é necessário quando uma imagem personalizada é usada para criar um nó do BMS.

nicMultiqueue

Não

String

  • Número de filas da ENI. Exemplo de configuração:
"[{\"queue\":4}]"

Os seguintes campos estão incluídos:

  • queue: número de filas da ENI.
  • Este campo pode ser configurado somente para nós do BMS em um cluster do CCE Turbo.
  • As proporções suportadas são {"1":128, "2":92, "4":92, "8":32, "16":16, "28":9}. Ou seja, se houver uma fila, um máximo de 128 ENIs podem ser vinculadas. Se houver duas filas, um máximo de 92 ENIs podem ser vinculadas para duas filas.
  • Um número maior de filas da ENI indica um desempenho mais alto, mas menos ENIs podem ser vinculadas. As configurações de fila não podem ser alteradas após a criação do pool de nós.

nicThreshold

Não

String

  • Limites de pré-vinculação da ENI. Exemplo de configuração:
"0.3:0.6"
  • Low threshold (L): determina o número mínimo de ENIs pré-vinculadas (mín.). Fórmula: mín. = número total de ENIs do nó x L
  • Low threshold (L): determina o número máximo de ENIs pré-vinculadas (máx.). Fórmula: máx. = número total de ENIs do nó x H
  • Número de ENI vinculadas a um nó do BMS (B) e número de ENI utilizadas pelos pods (U): U + mín. < B < U + máx.
  • Se o número de ENIs pré-vinculadas em um nó do BMS for menor do que o mínimo permitido, o sistema vinculará mais ENIs para tornar os números iguais.
  • Se o número de ENIs pré-vinculadas em um nó do BMS for maior do que o máximo permitido, o sistema periodicamente desvincula ENIs (aproximadamente a cada 2 minutos) para tornar os números iguais.
  • Ambos os limiares são valores de um lugar decimal variando de 0,0 a 1,0. O limiar baixo deve ser menor ou igual ao alto.
  • Este campo pode ser configurado somente para nós do BMS em um cluster do CCE Turbo.
  • As ENIs pré-vinculadas podem acelerar a criação de cargas de trabalho, mas ocupam endereços IP.

chargingMode

Não

Integer

Modo de cobrança de um nó. Este parâmetro foi obsoleto. Use o parâmetro billingMode no NodeSpec.

agency_name

Não

String

Nome de uma agência

Uma agência é criada por um administrador de locatário no Identity and Access Management (IAM) para fornecer credenciais temporárias para que os nós do CCE acessem os serviços em nuvem. Este parâmetro é retornado somente quando é transferido durante a criação do nó.

kube-reserved-mem

Não

Integer

Memória de nó reservada, que é reservada para componentes do Kubernetes.

system-reserved-mem

Não

Integer

Memória de nó reservada, que é reservada para componentes do sistema.

Parâmetros de resposta

Código de status: 201

Tabela 27 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

kind

String

Tipo de API. O valor é fixado em Node e não pode ser alterado.

apiVersion

String

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

metadata

NodeMetadata object

Metadados de nó, que é uma coleção de atributos.

spec

NodeSpec object

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

status

NodeStatus object

Status do nó, que é gravado dinamicamente. Um valor definido pelo usuário não funcionará quando um nó estiver sendo criado ou modificado.

Tabela 28 NodeMetadata

Parâmetro

Tipo

Descrição

name

String

Nome do nó.

NOTA:

Digite de 1 a 56 caracteres que comecem com uma letra e não terminem com um hífen (-). Somente letras minúsculas, dígitos e hifens (-) são permitidos. Se name não for especificado ou estiver vazio, o nome do nó será gerado com base na regra padrão. A regra padrão é Cluster name-Random characters. Somente os primeiros 36 caracteres são mantidos para um nome de cluster muito longo. Se o número de nós (contagem) for maior que 1, alguns caracteres aleatórios serão adicionados ao final do nome do nó inserido de acordo com a regra padrão. A regra padrão é User-defined name-Random characters. Apenas os primeiros 50 caracteres no nome definido pelo usuário são mantidos, seguidos por alguns caracteres aleatórios.

uid

String

ID do nó, que é exclusivo e gerado automaticamente após a criação do recurso. Um ID definido pelo usuário não terá efeito.

labels

Map<String,String>

Rótulo do nó do CCE (não o rótulo do Kubernetes nativo).

Os rótulos são usados para selecionar objetos que atendem a determinados critérios. Um rótulo é um par chave-valor.

Exemplo:

"labels": {
  "key" : "value"
}

annotations

Map<String,String>

Anotações de nó do CCE, em pares de chave-valor (não nas anotações do Kubernetes nativo). Exemplo:

"annotations": {
  "key1" : "value1",
  "key2" : "value2"
}
NOTA:
  • annotations não são usadas para identificar ou selecionar 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.
  • Este parâmetro é usado apenas para consulta e não pode ser inserido por meio de uma solicitação. Os dados inseridos deste parâmetro são inválidos.

creationTimestamp

String

Hora em que o objeto foi criado. O valor é gerado automaticamente após a criação do objeto. Um valor definido pelo usuário não terá efeito.

updateTimestamp

String

Hora em que o objeto foi atualizado. O valor é gerado automaticamente após a criação do objeto. Um valor definido pelo usuário não terá efeito.

Tabela 29 NodeSpec

Parâmetro

Tipo

Descrição

flavor

String

Especificações do nó. Para obter detalhes sobre as especificações de nó suportadas pelo CCE, consulte Descrição do flavor do nó.

az

String

Nome da AZ onde o nó a ser criado está localizado. . Para obter detalhes sobre as AZs suportadas pelo CCE, consulte Regiões e pontos de extremidade.

os

String

O tipo de SO do nó. Para obter detalhes sobre os sistemas operacionais compatíveis, consulte [Descrição do sistema operacional do nó] (node-os.xml).

NOTA:
  • O sistema seleciona automaticamente o SO suportado com base na versão do cluster. Se o cluster atual não oferecer suporte ao SO, um erro será relatado.
  • Se alpha.cce/NodeImageID em extendParam for especificado durante a criação do nó, não será necessário configurar esse parâmetro.
  • Esse parâmetro é obrigatório ao criar um pool de nós.

login

Login object

Modo de logon do nó. O par de chaves ou a senha devem ser usados para o logon.

rootVolume

Volume object

Informações sobre discos no nó

dataVolumes

Array of Volume objects

Parâmetros do disco de dados do nó. Atualmente, você pode adicionar o segundo disco de dados para o seu nó no console do CCE. Esse disco de dados é usado pelo tempo de execução do contêiner e pelo kubelet. Não desinstale este disco. Caso contrário, o nó ficará indisponível. Para nós de DeC, a descrição do parâmetro é a mesma que para rootVolume.

storage

Storage object

Parâmetro de gerenciamento de inicialização de disco.

Este parâmetro é complexo de configurar. Para obter detalhes, consulte Anexação de discos a um nó.

Se esse parâmetro mantiver seu padrão, os discos serão gerenciados com base no parâmetro DockerLVMConfigOverride (descartado) em extendParam. Este parâmetro é suportado pelos clusters da versão 1.15.11 e posterior.

NOTA:

Se uma especificação de nó envolver discos locais e discos EVS ao mesmo tempo, não retenha o valor padrão deste parâmetro para evitar partições de disco inesperadas.

publicIP

NodePublicIP object

EIP de um nó.

NOTA:

Este parâmetro não é suportado quando adiciona um nó a um pool de nós.

nodeNicSpec

NodeNicSpec object

NIC do nó

count

Integer

Número de nós a serem criados em um lote. O valor deve ser um inteiro positivo maior ou igual a 1 e menor ou igual ao limite definido. Esse parâmetro pode ser deixado em branco quando é usado para um pool de nós.

billingMode

Integer

Modo de cobrança de nó.

  • 0: pagamento pelo uso
  • 1: anual/mensal
  • 2: (descartado) cobrança anual/mensal com pagamento automático ativado

taints

Array of Taint objects

Você pode adicionar manchas aos nós criados para configurar a antiafinidade. Um máximo de 20 manchas podem ser adicionadas. Cada mancha contém os seguintes parâmetros:

  • Key: uma chave deve conter de 1 a 63 caracteres, começando com uma letra ou dígito. Apenas letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos. Um nome de subdomínio do DNS pode ser usado como prefixo de uma chave.
  • Value: um valor deve começar com uma letra ou dígito e pode conter no máximo 63 caracteres, incluindo letras, dígitos, hifens (-) e pontos (.).
  • Effect: as opções disponíveis são NoSchedule, PreferNoSchedule e NoExecute. Ao criar um nó, você pode especificar o valor inicial para este parâmetro e este campo não é retornado durante a consulta. Ao usar pools de nós, o valor inicial pode ser especificado no modelo de nó e esse campo é retornado durante a consulta. Em outros cenários, esse campo não é retornado durante a consulta.

Exemplo:

"taints": [{
  "key": "status",
  "value": "unavailable",
  "effect": "NoSchedule"
}, {
  "key": "looks",
  "value": "bad",
  "effect": "NoSchedule"
}]

k8sTags

Map<String,String>

Definido em pares chave-valor. Um máximo de 20 pares chave-valor são permitidos.

  • Key: digite 1 a 63 caracteres começando com uma letra ou dígito. Apenas letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos. Um subdomínio do DNS pode ser prefixo para uma chave e conter um máximo de 253 caracteres. Exemplo de subdomínio do DNS: example.com/my-key
  • Value: o valor pode ser deixado em branco ou conter de 1 a 63 caracteres que começam com uma letra ou dígito. Somente letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos na cadeia de caracteres. Ao criar um nó, você pode especificar o valor inicial para este parâmetro e este campo não é retornado durante a consulta. Ao usar pools de nós, o valor inicial pode ser especificado no modelo de nó e esse campo é retornado durante a consulta. Em outros cenários, esse campo não é retornado durante a consulta.

Exemplo:

"k8sTags": {
  "key": "value"
}

ecsGroupId

String

ID do grupo do servidor de nuvem. Se esse campo for especificado, o nó será criado no grupo de servidores de nuvem especificado.

dedicatedHostId

String

ID do DeH para o qual o nó está agendado.

NOTA:

Não há suporte para esse parâmetro quando você adiciona um nó durante a criação do pool de nós.

userTags

Array of UserTag objects

Tag do servidor de nuvem. A chave de tag deve ser exclusiva. O número máximo de tags personalizadas suportadas pelo CCE depende da região e não pode exceder 8. Ao criar um nó, você pode especificar o valor inicial para este parâmetro e este campo não é retornado durante a consulta. Ao usar pools de nós, o valor inicial pode ser especificado no modelo de nó e esse campo é retornado durante a consulta. Em outros cenários, esse campo não é retornado durante a consulta.

NOTA:

Use apenas letras, caracteres Unicode, dígitos, caracteres especiais (-,_). Máximo de caracteres: 36

runtime

Runtime object

Tempo de execução do contêiner:

  • Clusters da v1.25 ou anterior: docker.
  • Clusters da v1.25 e posterior: o tempo de execução do contêiner varia com o sistema operacional. Para nós que executam EulerOS 2.5 ou EulerOS 2.8, o tempo de execução padrão do contêiner é docker. Para nós que executam outros SOs, o tempo de execução de contêiner padrão é containerd.

initializedConditions

Array of strings

Sinalizador de inicialização personalizado.

Antes que os nós do CCE sejam inicializados, eles são contaminados com node.cloudprovider.kubernetes.io/uninitialized para evitar que os pods sejam programados para eles.

O CCE oferece suporte a sinalizadores de inicialização personalizados. Depois de receber o parâmetro initializedConditions, o CCE converte o valor do parâmetro em um rótulo de nó e provisiona o rótulo com o nó, por exemplo, cloudprovider.openvessel.io/inject-initialized-conditions=CCEInitial_CustomedInitial.

Depois que o nó é rotulado, seu status.Conditions é pesquisado para verificar se o type de conditions tem um nome de sinalizador, como CCEInitial e CustomedInitial. Se todos os sinalizadores de entrada existirem e seu status for True, a inicialização do nó será concluída e a mancha de inicialização será removida.

  • Use apenas letras e dígitos. Máximo de caracteres: 20.
  • Máximo de sinalizadores: 2.

extendParam

NodeExtendParam object

Parâmetros estendidos para criar um nó.

Tabela 30 Login

Parâmetro

Tipo

Descrição

sshKey

String

Nome do par de chaves usado para logon.

userPassword

UserPassword object

Senha usada para logon do nó.

Tabela 31 UserPassword

Parâmetro

Tipo

Descrição

username

String

Conta de logon. O padrão é root.

password

String

Se um nome de usuário e uma senha forem usados para criar um nó, esse campo será blindado no corpo da resposta. Uma senha deve atender aos seguintes requisitos de complexidade:

  • Contém de 8 a 26 caracteres.
  • Contém pelo menos três dos seguintes tipos de caracteres: letras maiúsculas, minúsculas, dígitos e caracteres especiais (!@$%^-_=+[{}]:,./?~#*)
  • Não pode conter o nome de usuário ou o nome de usuário escrito ao contrário. O campo password deve ser salgado durante a criação do nó. Para obter detalhes, consulte Adição de um sal no campo de senha ao criar um nó.
Tabela 32 Volume

Parâmetro

Tipo

Descrição

size

Integer

Tamanho do disco, em GB.

  • Disco do sistema: 40 a 1024 -faixa de valores para discos de dados: 100 ao 32768

volumetype

String

Tipo de disco. Para obter detalhes sobre valores possíveis, consulte a descrição do parâmetro root_volume na API usada para criar um ECS.

  • SAS: disco SAS de alta I/O
  • SSD: disco SSD de I/O ultra-alta
  • SATA: disco SATA de I/O comum. Os discos SATA foram removidos do EVS. Você pode encontrá-los anexados apenas em nós existentes.
  • ESSD: disco SSD de uso geral
  • GPSDD: disco SSD de uso geral

extendParam

Map<String,Object>

Parâmetros de disco estendido, definidos em extendparam na API usada para criar um ECS. . Para obter detalhes, consulte Criação de um ECS.

cluster_id

String

ID do pool de armazenamento usado pelo disco do sistema do ECS. Esse campo é usado somente para clusters de DeC, que funcionam como dssPoolID, ou seja, o ID do pool de armazenamento DSS.

Para obter o valor, consulte o campo ID na API usada para obter detalhes de um pool de armazenamento DSS.

cluster_type

String

Classe de armazenamento do disco do sistema do servidor em nuvem. O valor é sempre dss. Este campo é usado somente para clusters de DeC.

hw:passthrough

Boolean

  • Preste atenção a este campo se o seu ECS for compatível com SDI. Se o valor desse campo for true, um disco SCSI será criado.
  • Se o tipo de pool de nós for ElasticBMS, esse campo deve ser definido como true.
  • Se uma especificação de nó envolver discos locais e discos EVS ao mesmo tempo, defina os parâmetros de inicialização do disco. Para obter detalhes, consulte Anexação de discos a um nó.

metadata

VolumeMetadata object

Informações de criptografia de disco EVS. Este campo é obrigatório somente quando você precisa criptografar o disco do sistema ou discos de dados do nó a ser criado.

Tabela 33 VolumeMetadata

Parâmetro

Tipo

Descrição

__system__encrypted

String

Se o disco EVS é criptografado. O valor 0 indica que o disco EVS não está criptografado e o valor 1 indica que o disco EVS está criptografado.

Se este parâmetro não for especificado, o disco EVS não será criptografado por padrão.

__system__cmkid

String

ID de CMK, que indica criptografia em metadata. Este campo é usado com __system__encrypted.

Tabela 34 Storage

Parâmetro

Tipo

Descrição

storageSelectors

Array of StorageSelectors objects

Seleção de disco. Os discos correspondentes são gerenciados de acordo com matchLabels e storageType.

storageGroups

Array of StorageGroups objects

Um grupo de armazenamento consiste em vários dispositivos de armazenamento. É usado para dividir o espaço de armazenamento.

Tabela 35 StorageSelectors

Parâmetro

Tipo

Descrição

name

String

Nome do seletor, usado como índice de selectorNames em storageGroup. Portanto, o nome de cada seletor deve ser exclusivo.

storageType

String

Especifica o tipo de armazenamento. Atualmente, apenas evs (volumes EVS) e local (volumes locais) são suportados. O armazenamento local não suporta a seleção de disco. Todos os discos locais formarão um VG. Portanto, somente um storageSelector do tipo local é permitido.

matchLabels

matchLabels object

Campo correspondente de um volume do EVS. Os campos size, volumeType, metadataEncrypted, metadataCmkid e count são suportados.

Tabela 36 matchLabels

Parâmetro

Tipo

Descrição

size

String

Tamanho do disco correspondente. Se este parâmetro não for especificado, o tamanho do disco não é limitado. Exemplo: 100

volumeType

String

Tipos de disco EVS. SSD, GPSSD, SAS, ESSD e SATA são suportados.

metadataEncrypted

String

Identificador de criptografia do disco. 0 indica que o disco não está encriptado e 1 indica que o disco está encriptado.

metadataCmkid

String

ID da chave mestra do cliente de um disco criptografado. O valor é uma cadeia de 36 bytes.

count

String

Número de discos a serem selecionados. Se este parâmetro for deixado em branco, todos os discos deste tipo serão selecionados.

Tabela 37 StorageGroups

Parâmetro

Tipo

Descrição

name

String

Nome de um grupo de armazenamento virtual, que deve ser exclusivo.

NOTA:

|

  • Se cceManaged for definido como true, o nome deve ser definido como vgpass.
  • Se o disco de dados for usado como um volume de armazenamento temporário, o nome deverá ser vg-everest-localvolume-ephemeral.
  • Se o disco de dados for usado como um volume de armazenamento persistente, o nome deverá ser vg-everest-localvolume-persistent.

cceManaged

Boolean

Espaço de armazenamento para Kubernetes e componentes de tempo de execução. Apenas um grupo pode ser definido como true. Se esse parâmetro for deixado em branco, o valor padrão false será usado.

selectorNames

Array of strings

Este parâmetro corresponde a name em storageSelectors. Um grupo pode corresponder a vários seletores, mas um seletor pode corresponder a apenas um grupo.

virtualSpaces

Array of VirtualSpace objects

Gerenciamento detalhado da configuração do espaço em um grupo.

Tabela 38 VirtualSpace

Parâmetro

Tipo

Descrição

name

String

Nome de um virtualSpace.

  • Kubernetes: configuração do espaço do Kubernetes. lvmConfig precisa ser configurado.
  • runtime: configuração do espaço de tempo de execução. runtimeConfig precisa ser configurado.
  • user: configuração do espaço do usuário. lvmConfig precisa ser configurado.

size

String

Tamanho de um virtualSpace. O valor deve ser um inteiro em porcentagem. Exemplo: 90%.

NOTA:

A soma das porcentagens de todos os virtualSpaces em um grupo não pode exceder 100%.

lvmConfig

LVMConfig object

Configurações de LVM, aplicáveis a kubernetes e espaços de user. Observe que um espaço virtual suporta apenas uma configuração.

runtimeConfig

RuntimeConfig object

Configurações de tempo de execução, aplicável ao espaço de runtime. Observe que um espaço virtual suporta apenas uma configuração.

Tabela 39 LVMConfig

Parâmetro

Tipo

Descrição

lvType

String

Modo de gravação de LVM. linear indica o modo linear. striped indica o modo repartido, no qual vários discos são usados para formar uma distribuição para melhorar o desempenho do disco.

path

String

Caminho ao qual o disco está anexado. Este parâmetro tem efeito somente na configuração do usuário. O valor é um caminho absoluto. Dígitos, letras, pontos (.), hifens (-) e sublinhados (_) são permitidos.

Tabela 40 RuntimeConfig

Parâmetro

Tipo

Descrição

lvType

String

Modo de gravação de LVM. linear indica o modo linear. striped indica o modo repartido, no qual vários discos são usados para formar uma distribuição para melhorar o desempenho do disco.

Tabela 41 NodePublicIP

Parâmetro

Tipo

Descrição

ids

Array of strings

IDs de EIPs existentes. A quantidade não pode ser maior que o número de nós a serem criados.

NOTA:

Se ids foi definido, você não precisa definir count e eip.

count

Integer

Número de EIPs a serem criados dinamicamente.

NOTA:

count e eip devem ser definidos ao mesmo tempo.

eip

NodeEIPSpec object

Configuração do EIP.

Tabela 42 NodeEIPSpec

Parâmetro

Tipo

Descrição

iptype

String

Tipo de EIP, especificado em publicip.type na API para atribuir um EIP. Para obter detalhes, consulte Atribuição de um EIP.

bandwidth

NodeBandwidth object

Parâmetros de largura de banda do EIP

Tabela 43 NodeBandwidth

Parâmetro

Tipo

Descrição

chargemode

String

Modo de cobrança de largura de banda.

  • Se este campo não for especificado, a cobrança é baseada em largura de banda. - Se o campo for nulo, a cobrança é baseada na largura de banda.
  • Se o valor for traffic, a cobrança será baseado no tráfego.
  • Se o valor estiver fora das opções anteriores, o servidor de nuvem falhará ao ser criado.
NOTA:
  • Cobrança por largura de banda: a cobrança será baseada na taxa de transmissão de dados (em Mbps) das redes públicas. Este modo de cobrança é recomendado se o uso da largura de banda for superior a 10%.
  • Cobrança por tráfego: a cobrança baseia-se na quantidade total de dados (em GB) transmitidos através da rede pública. Esse modo está disponível somente quando você está criando um nó de pagamento por uso. Esse modo de cobrança é recomendado se o uso da largura de banda for inferior a 10%.

size

Integer

Tamanho da largura de banda, especificado em bandwidth.size na API para atribuir um EIP. Para obter detalhes, consulte Atribuição de um EIP.

sharetype

String

Tipo de compartilhamento de largura de banda. Opções de valor: PER (largura de banda exclusiva)

Tabela 44 NodeNicSpec

Parâmetro

Tipo

Descrição

primaryNic

NicSpec object

Descrição da NIC primária.

extNics

Array of NicSpec objects

NIC de extensão

NOTA:

Este parâmetro não é suportado quando adiciona um nó a um pool de nós.

Tabela 45 NicSpec

Parâmetro

Tipo

Descrição

subnetId

String

ID da sub-rede à qual a NIC pertence. Se subnetId não for especificado ao criar a ENI primária, a sub-rede do cluster será usada. Ao criar uma ENI de extensão, você deve especificar subnetId.

fixedIps

Array of strings

O endereço IP da ENI primária é especificado usando fixedIps. O número de endereços IP não pode ser maior que o número de nós criados. fixedIps ou ipBlock podem ser especificados. fiexdIps não pode ser especificado para ENIs de extensão.

ipBlock

String

Formato CIDR do intervalo de IP da NIC primária. O endereço IP do nó criado cai nesse intervalo. fixedIps e ipBlock não podem ser especificados ao mesmo tempo.

Tabela 46 Taint

Parâmetro

Tipo

Descrição

key

String

Chave.

value

String

Valor.

effect

String

Efeito.

Tabela 47 UserTag

Parâmetro

Tipo

Descrição

key

String

Chave do rótulo do servidor de nuvem. O valor não pode começar com CCE- ou __type_baremetal.

value

String

Valor do rótulo do servidor de nuvem.

Tabela 48 Runtime

Parâmetro

Tipo

Descrição

name

String

Tempo de execução do contêiner. Valor padrão:

  • Clusters anteriores à v1.25 o valor padrão é docker.
  • Clusters da v1.25 e posterior: o tempo de execução de contêiner padrão varia dependendo do sistema operacional. Para nós que executam EulerOS 2.5 ou EulerOS 2.8, o tempo de execução de contêiner padrão é docker; para nós que executam outros sistemas operacionais, o tempo de execução de contêiner padrão é containerd.
Tabela 49 NodeExtendParam

Parâmetro

Tipo

Descrição

ecs:performancetype

String

Tipos de flavors do ECS. Esse campo é retornado na resposta.

orderID

String

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

productID

String

ID do produto. Este campo é retornado na resposta quando o nó é faturado anualmente/mensal com o pagamento automático ativado.

maxPods

Integer

Número máximo de pods que podem ser criados no nó, incluindo os pods padrão do sistema. Intervalo de valores: 16 a 256.

Esse limite impede que o nó seja sobrecarregado de pods.

O número de pods que podem ser criados em um nó é determinado por vários parâmetros. Para obter detalhes, consulte Número máximo de pods que podem ser criados em um nó.

periodType

String

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

Parâmetro de solicitação, que é válido e obrigatório somente quando billingMode é definido como1 (cobrança anual/mensal) ou 2 (cobrança anual/mensal com renovação automática ativada) (descartado). Parâmetro de resposta, que é retornado somente quando um nó 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 será 1.
NOTA:

Parâmetro de solicitação, que é válido e obrigatório quando billingMode é definido como 1 ou 2 (descartado). Parâmetro de resposta, que é retornado somente quando um nó 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 ou 2 (descartado). 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 ou 2 (descartado). Se não for especificado quando billingMode estiver definido como 1, a dedução automática da taxa não estará ativada. (Descartado: se não for especificado quando billingMode estiver definido como 2, a dedução automática da taxa será ativada.)

DockerLVMConfigOverride

String

Item de configuração do disco de dados do Docker. (Este parâmetro foi descartado. Use o campo storage em vez disso.) Exemplo de configuração padrão:

"DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear"

Por padrão, se nenhum disco VD estiver disponível, ocorrerá um erro porque o disco de dados não foi encontrado. Defina diskType com base no tipo de letra de unidade real. Os seguintes campos estão incluídos:

  • userLV (opcional): tamanho do espaço do usuário, por exemplo, vgpaas/20%VG.
  • userPath (opcional): monta o caminho do espaço do usuário, por exemplo, /home/wqt-test.
  • diskType: tipo de disco. Atualmente, apenas evs, hdd e ssd são suportados.
  • lvType: tipo de um volume lógico. O valor pode ser linear ou striped.
  • dockerThinpool: tamanho do espaço de Docker, por exemplo, vgpaas/60%VG.
  • kubernetesLV: tamanho do espaço de kubelet, por exemplo, vgpaas/20%VG.

dockerBaseSize

Integer

Espaço em disco disponível de um único contêiner em um nó, em GB.

Se este parâmetro for deixado em branco ou for definido como 0, o valor padrão será usado. No modo de Device Mapper, o valor padrão é 10. No modo de OverlayFS, o espaço disponível de um único contêiner não é limitado por padrão, e a configuração dockerBaseSize só entra em vigor nos nós EulerOS no cluster da nova versão.

Para obter detalhes sobre como alocar o espaço para o tempo de execução do contêiner, consulte Alocação de espaço em disco de dados.

Quando Device Mapper é usado, é aconselhável definir dockerBaseSize para um valor menor ou igual a 80 GB. Se o valor for muito grande, o tempo de execução do contêiner pode falhar ao ser iniciado devido à inicialização longa. Se houver requisitos especiais para o espaço em disco do contêiner, você poderá montar um dispositivo de armazenamento externo ou local.

publicKey

String

Chave pública de um nó.

alpha.cce/preInstall

String

Script de pré-instalação.

NOTA:

O valor de entrada deve ser codificado em Base64. (Comando: echo -n "Content to be encoded" | base64)

alpha.cce/postInstall

String

Script de pós-instalação.

NOTA:

O valor de entrada deve ser codificado em Base64. (Comando: echo -n "Content to be encoded" | base64)

alpha.cce/NodeImageID

String

Este parâmetro é necessário quando uma imagem personalizada é usada para criar um nó do BMS.

nicMultiqueue

String

  • Número de filas da ENI. Exemplo de configuração:
"[{\"queue\":4}]"

Os seguintes campos estão incluídos:

  • queue: número de filas da ENI.
  • Este campo pode ser configurado somente para nós do BMS em um cluster do CCE Turbo.
  • As proporções suportadas são {"1":128, "2":92, "4":92, "8":32, "16":16, "28":9}. Ou seja, se houver uma fila, um máximo de 128 ENIs podem ser vinculadas. Se houver duas filas, um máximo de 92 ENIs podem ser vinculadas para duas filas.
  • Um número maior de filas da ENI indica um desempenho mais alto, mas menos ENIs podem ser vinculadas. As configurações de fila não podem ser alteradas após a criação do pool de nós.

nicThreshold

String

  • Limites de pré-vinculação da ENI. Exemplo de configuração:
"0.3:0.6"
  • Low threshold (L): determina o número mínimo de ENIs pré-vinculadas (mín.). Fórmula: mín. = número total de ENIs do nó x L
  • Low threshold (L): determina o número máximo de ENIs pré-vinculadas (máx.). Fórmula: máx. = número total de ENIs do nó x H
  • Número de ENI vinculadas a um nó do BMS (B) e número de ENI utilizadas pelos pods (U): U + mín. < B < U + máx.
  • Se o número de ENIs pré-vinculadas em um nó do BMS for menor do que o mínimo permitido, o sistema vinculará mais ENIs para tornar os números iguais.
  • Se o número de ENIs pré-vinculadas em um nó do BMS for maior do que o máximo permitido, o sistema periodicamente desvincula ENIs (aproximadamente a cada 2 minutos) para tornar os números iguais.
  • Ambos os limiares são valores de um lugar decimal variando de 0,0 a 1,0. O limiar baixo deve ser menor ou igual ao alto.
  • Este campo pode ser configurado somente para nós do BMS em um cluster do CCE Turbo.
  • As ENIs pré-vinculadas podem acelerar a criação de cargas de trabalho, mas ocupam endereços IP.

chargingMode

Integer

Modo de cobrança de um nó. Este parâmetro foi obsoleto. Use o parâmetro billingMode no NodeSpec.

agency_name

String

Nome de uma agência

Uma agência é criada por um administrador de locatário no Identity and Access Management (IAM) para fornecer credenciais temporárias para que os nós do CCE acessem os serviços em nuvem. Este parâmetro é retornado somente quando é transferido durante a criação do nó.

kube-reserved-mem

Integer

Memória de nó reservada, que é reservada para componentes do Kubernetes.

system-reserved-mem

Integer

Memória de nó reservada, que é reservada para componentes do sistema.

Tabela 50 NodeStatus

Parâmetro

Tipo

Descrição

phase

String

Status do nó, que é o status de um nó durante seu ciclo de vida (como instalação e desinstalação) ou o status de um nó em um cluster do Kubernetes. Opções:

  • Build: o nó está sendo criado.
  • Installing: o nó está sendo gerenciado.
  • Upgrading: o nó está sendo atualizado.
  • Active: o nó não está funcionando corretamente.
  • Abnormal: o nó está anormal.
  • Deleting: o nó está sendo excluído.
  • Error: o nó está com defeito.

lastProbeTime

String

Última vez em que o status do nó foi verificado. Se o cluster estiver no estado anormal, congelado ou intermediário (por exemplo, criando), a verificação de status do nó pode ser afetada. O status do nó que leva mais de cinco minutos para verificar não tem valor de referência.

jobID

String

ID de uma tarefa de criação ou exclusão

serverId

String

ID do nó do ECS ou BMS subjacente

privateIP

String

Endereço IP no segmento de rede privada da NIC primária no nó

privateIPv6IP

String

Endereço IPv6 no segmento de rede privada da NIC primária no nó

publicIP

String

Nó do EIP. Se os dados do ECS não estiverem sincronizados em tempo real, você poderá clicar em Sync Node Data no console para atualizar manualmente os dados.

deleteStatus

DeleteStatus object

Status do recurso durante a exclusão do recurso.

Tabela 51 DeleteStatus

Parâmetro

Tipo

Descrição

previous_total

Integer

Número total de registros de recursos de cluster existentes quando o cluster é excluído.

current_total

Integer

Número mais recente de registros de recursos, que é gerado com base nos registros de recursos de cluster atuais.

updated

Integer

Número total de registros de recursos atualizados quando o cluster é excluído.

added

Integer

Número total de registros de recursos atualizados quando o cluster é excluído.

deleted

Integer

Número total de registros de recursos excluídos quando o cluster é excluído.

Exemplo de solicitações

  • Crie um nó anual/mensal com o flavor de 2 vCPUs e 4 GiB de memória. O nó executa o EulerOS 2.5 para contêineres do Docker. Os tamanhos do disco do sistema e do disco de dados do nó são 50 GB e 100 GB, respectivamente. Ambos os discos são do tipo I/O alta.
    POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes
    
    {
      "kind" : "Node",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "test-67235"
      },
      "spec" : {
        "flavor" : "c7.large.2",
        "az" : "******",
        "os" : "EulerOS 2.5",
        "dataVolumes" : [ {
          "size" : 100,
          "volumetype" : "SAS"
        } ],
        "billingMode" : 1,
        "extendParam" : {
          "maxPods" : 110,
          "periodType" : "month",
          "periodNum" : 1,
          "isAutoPay" : "false",
          "isAutoRenew" : "false"
        },
        "nodeNicSpec" : {
          "primaryNic" : {
            "subnetId" : "ca964acf-8468-4735-8229-97940ef6c881"
          }
        },
        "rootVolume" : {
          "size" : 50,
          "volumetype" : "SAS"
        },
        "runtime" : {
          "name" : "docker"
        },
        "login" : {
          "sshKey" : "KeyPair-001"
        },
        "storage" : {
          "storageSelectors" : [ {
            "name" : "cceUse",
            "storageType" : "evs",
            "matchLabels" : {
              "size" : "100",
              "volumeType" : "SAS",
              "count" : "1"
            }
          } ],
          "storageGroups" : [ {
            "name" : "vgpaas",
            "selectorNames" : [ "cceUse" ],
            "cceManaged" : true,
            "virtualSpaces" : [ {
              "name" : "runtime",
              "size" : "90%"
            }, {
              "name" : "kubernetes",
              "size" : "10%"
            } ]
          } ]
        },
        "count" : 1
      }
    }
  • Crie um nó de pagamento por uso com o flavor de 2 vCPUs e 4 GiB de memória. O nó executa o EulerOS 2.5 para contêineres do Docker. Os tamanhos do disco do sistema e do disco de dados do nó são 50 GB e 100 GB, respectivamente. Ambos os discos são do tipo I/O alta.
    POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes
    
    {
      "kind" : "Node",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "test-83790"
      },
      "spec" : {
        "flavor" : "c7.large.2",
        "az" : "******",
        "os" : "EulerOS 2.5",
        "dataVolumes" : [ {
          "size" : 100,
          "volumetype" : "SAS"
        } ],
        "billingMode" : 0,
        "extendParam" : {
          "maxPods" : 110
        },
        "nodeNicSpec" : {
          "primaryNic" : {
            "subnetId" : "ca964acf-8468-4735-8229-97940ef6c881"
          }
        },
        "rootVolume" : {
          "size" : 50,
          "volumetype" : "SAS"
        },
        "runtime" : {
          "name" : "docker"
        },
        "login" : {
          "sshKey" : "KeyPair-001"
        },
        "storage" : {
          "storageSelectors" : [ {
            "name" : "cceUse",
            "storageType" : "evs",
            "matchLabels" : {
              "size" : "100",
              "volumeType" : "SAS",
              "count" : "1"
            }
          } ],
          "storageGroups" : [ {
            "name" : "vgpaas",
            "selectorNames" : [ "cceUse" ],
            "cceManaged" : true,
            "virtualSpaces" : [ {
              "name" : "runtime",
              "size" : "90%"
            }, {
              "name" : "kubernetes",
              "size" : "10%"
            } ]
          } ]
        },
        "count" : 1
      }
    }

Exemplo de respostas

Código de status: 201

A tarefa para criar um nó em um cluster especificado é entregue com êxito.

{
  "kind" : "Node",
  "apiVersion" : "v3",
  "metadata" : {
    "name" : "test-83790",
    "uid" : "5ecfddfe-87db-11ec-b5e5-0255ac101514",
    "annotations" : {
      "jobid" : "5ec1518c-87db-11ec-b5e5-0255ac101514",
      "resourceJobId" : "5ed0d692-87db-11ec-b5e5-0255ac101514"
    }
  },
  "spec" : {
    "flavor" : "c7.large.2",
    "az" : "******",
    "os" : "EulerOS 2.5",
    "login" : {
      "sshKey" : "KeyPair-001"
    },
    "rootVolume" : {
      "volumetype" : "SAS",
      "size" : 50
    },
    "dataVolumes" : [ {
      "volumetype" : "SAS",
      "size" : 100
    } ],
    "storage" : {
      "storageSelectors" : [ {
        "name" : "cceUse",
        "storageType" : "evs",
        "matchLabels" : {
          "count" : "1",
          "size" : "100",
          "volumeType" : "SAS"
        }
      } ],
      "storageGroups" : [ {
        "name" : "vgpaas",
        "cceManaged" : true,
        "selectorNames" : [ "cceUse" ],
        "virtualSpaces" : [ {
          "name" : "runtime",
          "size" : "90%"
        }, {
          "name" : "kubernetes",
          "size" : "10%"
        } ]
      } ]
    },
    "publicIP" : {
      "eip" : {
        "bandwidth" : { }
      }
    },
    "nodeNicSpec" : {
      "primaryNic" : {
        "subnetId" : "ca964acf-8468-4735-8229-97940ef6c881"
      }
    },
    "count" : 1,
    "billingMode" : 0,
    "runtime" : {
      "name" : "docker"
    },
    "extendParam" : {
      "chargingMode" : 0,
      "ecs:performancetype" : "computingv3",
      "init-node-password" : "******",
      "maxPods" : 110,
      "publicKey" : ""
    }
  },
  "status" : {
    "jobID" : "5ec1518c-87db-11ec-b5e5-0255ac101514"
  }
}

Códigos de status

Código de status

Descrição

201

A tarefa para criar um nó em um cluster especificado é entregue com êxito.

Códigos de erro

Consulte Códigos de erro.