Especificação dos complementos a serem instalados durante a criação do cluster
Ao criar um cluster, você pode adicionar um par chave-valor às annotations do campo metadata no corpo da solicitação para instalar um complemento no cluster. A chave é cluster.install.addons/install e o valor é uma matriz JSON de AddonTemplate.
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
Value |
Sim |
JSON array of AddonTemplate string |
Complemento a ser instalado no cluster. Se esse parâmetro não for especificado, os complementos coredns e storage-driver serão instalados por padrão para clusters do Kubernetes 1.13 e versões anteriores, e os complementos coredns, everest e npd serão instalados por padrão para clusters do Kubernetes 1.15 e versões posteriores. Para mais detalhes, consulte Tabela 2. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
addonTemplateName |
Sim |
String |
Nome do complemento. O valor pode ser coredns, autoscaler, gpu-beta ou storage-driver. |
version |
Não |
String |
Versão do complemento. Para ver as informações sobre a versão do complemento, faça logon no console do CCE, clique em Add-ons no painel de navegação. Clique no nome do complemento de destino. Na página de guia Version History, você pode exibir as versões do complemento. Se este parâmetro for deixado em branco, a versão mais recente é usada por padrão. |
values |
Não |
Json Map |
Parâmetros a serem definidos para instalar um complemento.
NOTA:
Você não precisa definir esse parâmetro ao instalar o complemento storage-driver. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
flavor |
Sim |
flavor object |
Especificações de complemento. |
custom |
Sim |
custom object |
Parâmetros de coredns personalizados. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
description |
Sim |
String |
Descrição da especificação. |
name |
Sim |
String |
Nome do flavor. |
replicas |
Sim |
Integer |
Número de pods. |
resources |
Sim |
resource object |
Recursos de complemento. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
name |
Sim |
String |
Nome do recurso. |
limitsCpu |
Sim |
String |
Limite da cota de CPU. |
limitsMem |
Sim |
String |
Limite da cota de memória. |
requestsCpu |
Sim |
String |
CPU solicitada. |
requestsMem |
Sim |
String |
Memória solicitada. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
stub_domains |
Não |
Json Map |
Mapa JSON que usa a chave de sufixo do DNS (como acme.local) e o valor composto pela matriz JSON do endereço IP DNS. |
upstream_nameservers |
Não |
Json Array |
O valor deste parâmetro substitui o valor do servidor de nomes obtido do /etc/resolv.conf do nó por padrão. Restrição: um máximo de três servidores de nome upstream pode ser especificado. |
tenant_id |
Sim |
String |
ID do projeto. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
flavor |
Sim |
flavor Object |
Especificações de complemento. |
custom |
Sim |
custom object |
Parâmetros personalizados do autoscaler. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
coresTotal |
Sim |
Integer |
Número máximo e mínimo de núcleos de um cluster. O formato é <min>:<max>. O complemento autoscaler executa o dimensionamento de cluster dentro desse intervalo. |
maxEmptyBulkDeleteFlag |
Sim |
Integer |
Número máximo de nós vazios que podem ser excluídos por vez. |
maxNodesTotal |
Sim |
Integer |
Número máximo de nós em todos os grupos de nós. O complemento autoscaler executa o dimensionamento de cluster dentro desse intervalo. |
memoryTotal |
Sim |
Integer |
Tamanho máximo e mínimo da memória de um cluster. O formato é <min>:<max>. O complemento autoscaler executa o dimensionamento de cluster dentro desse intervalo. |
scaleDownDelayAfterAdd |
Sim |
Integer |
Intervalo para realizar a avaliação de redução após uma ampliação. |
scaleDownDelayAfterDelete |
Sim |
Integer |
Intervalo para realizar a avaliação de redução após os nós serem excluídos. O valor padrão é scanInterval. |
scaleDownDelayAfterFailure |
Sim |
Integer |
Intervalo para realização de avaliação de redução após uma falha de redução. |
scaleDownEnabled |
Sim |
Boolean |
Se deve ativar a redução do cluster. |
scaleDownUnneededTime |
Sim |
Integer |
Tempo de espera para iniciar uma redução depois que um nó atingiu o limite de redução. |
scaleDownUtilizationThreshold |
Sim |
Float |
Porcentagem de limite do total de CPU ou memória ocupada por todos os pods em execução no nó para os recursos alocáveis no nó. Quando a porcentagem real é menor que esse limite, a redução de escala do nó é acionada. |
scaleUpCpuUtilizationThreshold |
Sim |
Float |
Limite de uso da CPU para acionar o aumento de escala. |
scaleUpMemUtilizationThreshold |
Sim |
Float |
Limite de uso de memória para disparar o aumento de escala. |
scaleUpUnscheduledPodEnabled |
Sim |
Boolean |
O aumento de escala é acionado quando há pods não programados. |
scaleUpUtilizationEnabled |
Sim |
Boolean |
O aumento de escala é acionado quando o uso de recursos atinge o limite. |
tenant_id |
Sim |
String |
ID do projeto. |
unremovableNodeRecheckTimeout |
Sim |
Integer |
Intervalo para verificar se um nó pode ser removido. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
custom |
Sim |
custom object |
Parâmetros do cliente da gpu-beta. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
is_driver_from_nvidia |
Sim |
Boolean |
Se usar o driver NVIDIA. Defina este parâmetro como true. |
nvidia_driver_download_url |
Sim |
String |
URL de baixar o driver. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
type |
Sim |
String |
Tipo de cluster. Valores possíveis:
|
flavor |
Sim |
String |
flavor de cluster, que não pode ser alterado após a criação do cluster.
NOTA:
|
version |
Não |
String |
Versão básica do Kubernetes do cluster. Recomenda-se a versão mais recente.
NOTA:
Se esse parâmetro não for definido, o cluster da versão mais recente é criado por padrão. |
description |
Não |
String |
Descrição do cluster, por exemplo, qual finalidade o cluster se destina a servir. Por predefinição, este parâmetro é deixado por especificar. Para modificar a descrição do cluster depois que o cluster é criado, chame a API usada para atualizar as informações sobre um cluster especificado ou vá para a página de detalhes do cluster no console do CCE. |
ipv6enable |
Não |
Boolean |
Se o cluster suporta IPv6. Os clusters da versão 1.15 e posteriores suportam IPv6. |
hostNetwork |
Sim |
HostNetwork object |
Parâmetros de rede de nó, incluindo ID de VPC e sub-rede. hostNetwork é 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. |
authentication |
Não |
Authentication object |
Configurações do modo de autenticação de cluster. |
kubernetesSvcIpRange |
Não |
String |
Bloco CIDR de serviço ou o intervalo de endereços IP no qual o kubernetes clusterIp deve se enquadrar. Este parâmetro está disponível apenas para clusters v1.11.7 e posteriores. |
billingMode |
Não |
Integer |
Modo de cobrança de um cluster. Atualmente, apenas clusters de pagamento por uso podem ser criados. O valor 0 indica pagamento por uso. Se este parâmetro não for especificado, o valor padrão 0 será usado. |
masters |
Não |
MasterSpec object |
Configurações avançadas do nó principal |
extendParam |
Não |
Map<String,String> |
Campos estendidos no formato de pares chave-valor. Você pode configurar clusters de multi-AZ e clusters híbridos dedicados e criar clusters em projetos empresariais específicos. |
Exemplo de solicitação
{ "kind" : "Cluster", "apiVersion" : "v3", "metadata" : { "name" : "mycluster", "labels" : { "foo" : "bar" }, "annotations" : { "cluster.install.addons/install" : "[{\"addonTemplateName\":\"autoscaler\",\"version\":\"1.15.11\",\"values\":{\"flavor\":{\"description\":\"Has only one instance\",\"name\":\"Single\",\"replicas\":1,\"resources\":[{\"limitsCpu\":\"90m\",\"limitsMem\":\"200Mi\",\"name\":\"autoscaler\",\"requestsCpu\":\"50m\",\"requestsMem\":\"100Mi\"}]},\"custom\":{\"coresTotal\":32000,\"maxEmptyBulkDeleteFlag\":10,\"maxNodesTotal\":1000,\"memoryTotal\":128000,\"scaleDownDelayAfterAdd\":10,\"scaleDownDelayAfterDelete\":10,\"scaleDownDelayAfterFailure\":3,\"scaleDownEnabled\":false,\"scaleDownUnneededTime\":10,\"scaleDownUtilizationThreshold\":0.5,\"scaleUpCpuUtilizationThreshold\":1,\"scaleUpMemUtilizationThreshold\":1,\"scaleUpUnscheduledPodEnabled\":true,\"scaleUpUtilizationEnabled\":true,\"tenant_id\":\"22a8a02394794b908d256103a5b63c65\",\"unremovableNodeRecheckTimeout\":5}}},{\"addonTemplateName\":\"coredns\",\"version\":\"1.15.3\",\"values\":{\"flavor\":{\"description\":\"Has two instances\",\"name\":2500,\"replicas\":2,\"resources\":[{\"limitsCpu\":\"500m\",\"limitsMem\":\"512Mi\",\"name\":\"coredns\",\"requestsCpu\":\"500m\",\"requestsMem\":\"512Mi\"}]},\"custom\":{\"stub_domains\":{},\"upstream_nameservers\":[],\"tenant_id\":\"22a8a02394794b908d256103a5b63c65\"}}},{\"addonTemplateName\":\"gpu-beta\",\"version\":\"1.1.7\",\"values\":{\"custom\":{\"is_driver_from_nvidia\":true,\"nvidia_driver_download_url\":\"https://us.download.nvidia.com/tesla/396.37/NVIDIA-Linux-x86_64-396.37.run\"}}},{\"addonTemplateName\":\"storage-driver\",\"version\":\"\"}]" } }, "spec" : { "type" : "VirtualMachine", "flavor" : "cce.s1.small", "version" : "v1.15.11", "description" : "this is a demo cluster", "hostNetwork" : { "vpc" : "1cb74d47-8e09-4d14-a065-75f4fc03e5eb", "subnet" : "d44c089c-fbdc-49b3-ae8f-7b42c64219cf" }, "containerNetwork" : { "mode" : "overlay_l2", "cidr" : "172.16.0.0/16" }, "extendParam" : { "foo" : "bar" } } }