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
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
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. |
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. |
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:
|
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. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
category |
Não |
String |
Tipo de cluster. Opções:
|
type |
Não |
String |
Arquitetura de nó principal:
|
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.
NOTA:
|
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:
|
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.
|
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.
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.
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:
|
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. |
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:
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:
|
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. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
mode |
Sim |
String |
Modelo de rede de contêineres. Selecione um dos seguintes valores possíveis:
|
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. |
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 |
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:
|
eniSubnetCIDR |
Sim |
String |
CIDR da sub-rede da ENI (sendo descartado) |
subnets |
Sim |
Array of NetworkSubnet objects |
Lista de IDs de sub-rede IPv4 |
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:
|
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. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
mode |
Não |
String |
Modo de autenticação de cluster.
|
authenticatingProxy |
Não |
AuthenticatingProxy object |
Configuração relacionada ao modo authenticating_proxy. Este campo é obrigatório quando o modo de autenticação é authenticating_proxy. |
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. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
key |
Não |
String |
Chave.
|
value |
Não |
String |
Valor.
|
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.
|
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:
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:
|
kubeProxyMode |
Não |
String |
Modo de encaminhamento de serviço. Dois modos estão disponíveis:
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).
|
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 |
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:
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.
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.
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 |
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. |
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. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
phase |
Não |
String |
Status do cluster. Valores possíveis:
|
jobID |
Não |
String |
ID da tarefa associada ao cluster no estado atual. Opções:
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. |
Parâmetros de resposta
Código de status: 201
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. |
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:
|
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
category |
String |
Tipo de cluster. Opções:
|
type |
String |
Arquitetura de nó principal:
|
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.
NOTA:
|
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:
|
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.
|
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.
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.
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:
|
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. |
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:
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:
|
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
mode |
String |
Modelo de rede de contêineres. Selecione um dos seguintes valores possíveis:
|
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. |
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 |
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:
|
eniSubnetCIDR |
String |
CIDR da sub-rede da ENI (sendo descartado) |
subnets |
Array of NetworkSubnet objects |
Lista de IDs de sub-rede IPv4 |
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:
|
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
mode |
String |
Modo de autenticação de cluster.
|
authenticatingProxy |
AuthenticatingProxy object |
Configuração relacionada ao modo authenticating_proxy. Este campo é obrigatório quando o modo de autenticação é authenticating_proxy. |
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
availabilityZone |
String |
AZ |
Parâmetro |
Tipo |
Descrição |
---|---|---|
key |
String |
Chave.
|
value |
String |
Valor.
|
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.
|
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:
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:
|
kubeProxyMode |
String |
Modo de encaminhamento de serviço. Dois modos estão disponíveis:
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).
|
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 |
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:
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.
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.
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 |
Parâmetro |
Tipo |
Descrição |
---|---|---|
name |
String |
Nome do componente. |
configurations |
Array of ConfigurationItem objects |
Item de configuração do componente. |
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
phase |
String |
Status do cluster. Valores possíveis:
|
jobID |
String |
ID da tarefa associada ao cluster no estado atual. Opções:
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. |
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.