Customizar o Cluster CIDR
Funcionalidade somente disponível para a versão v3.
Clique aqui para mais informações sobre as versões de plataforma do produto de Kubernetes.
Todo Cluster Kubernetes possui uma faixa de IPs (CIDR) reservada para utilização dos Pods, já que cada Pod deve possuir um endereço de IP único em um Cluster. Essa faixa de IPs é subdividida para cada Node do Cluster (chamado de Pod CIDR).
Por padrão, a faixa de IP utilizada no produto de Kubernetes da Magalu Cloud é 192.168.0.0/16, sendo subdividida em faixas com a máscara /24 para cada Node. Por exemplo:
| Cluster CIDR | Node | CIDR alocado ao Node |
|---|---|---|
| 192.168.0.0/16 | node01 | 192.168.0.0/24 |
| 192.168.0.0/16 | node02 | 192.168.1.0/24 |
| 192.168.0.0/16 | node03 | 192.168.2.0/24 |
| ... | ... | ... |
| 192.168.0.0/16 | node256 | 192.168.225.0/24 |
No exemplo acima, com o Cluster CIDR padrão, é possível criar um Cluster Kubernetes de até 256 Nodes.
Caso seja especificado o valor 10.128.0.0/13, o mesmo será subdivido com a máscara de rede /24, resultando em 2^(24-13) = 2^11 = 2048, sendo possível criar um Cluster com até 2048 Nodes.
| Cluster CIDR | Node | CIDR alocado ao Node |
|---|---|---|
| 10.128.0.0/13 | node01 | 10.128.0.0/24 |
| 10.128.0.0/13 | node02 | 10.128.1.0/24 |
| 10.128.0.0/13 | node03 | 10.128.2.0/24 |
| ... | ... | ... |
| 10.128.0.0/13 | node2048 | 10.135.0.0/24 |
Para a versão v3 do produto de Kubernetes da Magalu Cloud, recomendamos que um Cluster não ultrapasse o número de 2000 Nodes.
Clique aqui para mais informações sobre as versões de plataforma do produto de Kubernetes.
Customizando o Cluster CIDR
O produto de Kubernetes da Magalu Cloud permite realizar a customização dessa faixa de IP através do campo cluster_ipv4_cidr.
O valor padrão é 192.168.0.0/16, sendo subdividido com a máscara /24 para cada Node.
Somente serão aceitos faixas de IP das classes A, B e C, conforme a RFC1819.
A faixa de IP sempre será subdividida com a máscara /24. A alteração desse valor não é permitida.
Esse endereçamento é utilizado na camada de rede dentro do Cluster (também conhecido como overlay), podendo ser repetido em múltiplos Clusters.
Esse campo só poderá ser utilizado durante a criação do Cluster, não sendo possível alterá-lo posteriormente.
Para evitar conflitos de endereçamento de rede, siga as orientações a seguir.
Não sobreponha as redes especificadas nos campos cluster_ipv4_cidr e service_ipv4_cidr.
Não utilize redes que se sobreponham com os Subnet Pools da MGC.
Para customizar o Cluster CIDR, crie um Cluster com a CLI da MGC utilizando o comando abaixo:
mgc kubernetes cluster create \
--name j-docs-cluster-cidr \
--node-pools '[{"flavor": "BV4-8-40", "name": "nodepool01", "replicas": 3}]' \
--cluster_ipv4_cidr 10.128.0.0/13
Verificar o Cluster CIDR
Com a CLI da MGC, utilize o comando abaixo para verificar o Cluster CIDR utilizado:
mgc k8s cluster get <cluster-id>
cluster_ipv4_cidr: 10.128.0.0/13
[...]
Verificar o Cluster CIDR nos Nodes
Com acesso ao Cluster, você pode conferir a subdivisão do Cluster CIDR em cada Node:
kubectl get blockaffinities -o custom-columns=NODE:.spec.node,CIDR:.spec.cidr
NODE CIDR
k8s-j-docs-cluster-cidr-cp-1f3f59b23 10.129.236.0/24
k8s-j-docs-cluster-cidr-cp-2dbb1f8f9 10.135.48.0/24
k8s-j-docs-cluster-cidr-cp-e528e2c9e 10.131.201.0/24
k8s-j-docs-cluster-cidr-nodepool0-30a0816f8 10.130.98.0/24
k8s-j-docs-cluster-cidr-nodepool0-48105923d 10.131.190.0/24
k8s-j-docs-cluster-cidr-nodepool0-543af276b 10.132.191.0/24
O recurso Node do Cluster Kubernetes possui o campo .spec.podCIDR, porém seu valor deve ser ignorado.
No produto Kubernetes da Magalu Cloud, a solução de CNI é responsável pela alocação do Pod CIDR para o Node, armazenando essa informação no recurso BlockAffinity.
Verificar os Endereços dos Pods
Com os comandos abaixo, crie um Pod e verifique que o seu endereço de IP está corretamente dentro da faixa do Node:
kubectl run nginx --image nginx:latest
kubectl get pod nginx -o custom-columns=NAME:.metadata.name,POD-IP:.status.podIP,NODE:.spec.nodeName
NAME POD-IP NODE
nginx 10.132.191.3 k8s-j-docs-cluster-cidr-nodepool0-543af276b