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-11-28 GMT+08:00

Criação de um namespace

Quando usar namespaces

Um namespace é uma coleção de recursos e objetos. Vários namespaces podem ser criados dentro de um cluster e isolados uns dos outros. Isso permite que os namespaces compartilhem os mesmos serviços de cluster sem afetar uns aos outros.

Por exemplo, você pode implementar cargas de trabalho em um ambiente de desenvolvimento em um namespace e implementar cargas de trabalho em um ambiente de teste em outro namespace.

Pré-requisitos

Pelo menos um cluster foi criado.

Restrições

Um máximo de 6.000 Serviços podem ser criados em cada namespace. Os Serviços mencionados aqui indicam os recursos do Kubernetes Service adicionados para cargas de trabalho.

Tipos de namespace

Namespaces podem ser criados de uma das seguintes maneiras:

  • Criado automaticamente: quando um cluster está ativo, os namespaces default, kube-public, kube-system e kube-node-lease são criados por padrão.
    • default: todos os objetos para os quais nenhum namespace é especificado são alocados para este namespace.
    • kube-public: os recursos neste namespace podem ser acessados por todos os usuários (incluindo usuários não autenticados), como complementos públicos e gráficos de contêineres.
    • kube-system: todos os recursos criados pelo Kubernetes estão neste namespace.
    • kube-node-lease: cada nó tem um objeto Lease associado nesse namespace. O objeto é atualizado periodicamente pelo nó. Tanto o NodeStatus quanto o NodeLease são considerados pulsações de um nó. Nas versões anteriores à v1.13, apenas o NodeStatus está disponível. O recurso NodeLease é introduzido na v1.13. O NodeLease é mais leve que o NodeStatus. Esse recurso melhora significativamente a escalabilidade e o desempenho do cluster.
  • Criado manualmente: você pode criar namespaces para servir a propósitos separados. Por exemplo, você pode criar três namespaces, um para um ambiente de desenvolvimento, um para um ambiente de depuração conjunto e um para um ambiente de teste. Você também pode criar um namespace para serviços de logon e outro para serviços de jogos.

Criação de um namespace

  1. Efetue logon no console do CCE e clique no nome do cluster para acessar o console do cluster.
  2. Escolha Namespaces no painel de navegação e clique em Create Namespace no canto superior direito.
  3. Defina parâmetros de namespace com base em Tabela 1.

    Tabela 1 Parâmetros para criar um namespace

    Parâmetro

    Descrição

    Name

    Nome exclusivo do namespace criado.

    Description

    Descrição sobre o namespace.

    Quota Management

    As cotas de recursos podem limitar a quantidade de recursos disponíveis em namespaces, obtendo alocação de recursos por namespace.

    AVISO:

    É aconselhável definir cotas de recursos no namespace conforme necessário para evitar exceções de cluster ou nó causadas por sobrecarga de recursos.

    Por exemplo, o número padrão de pods que podem ser criados em cada nó em um cluster é 110. Se você criar um cluster com 50 nós, poderá criar um máximo de 5.500 pods. Portanto, você pode definir uma cota de recursos para garantir que o número total de pods não exceda 5.500 em todos os namespaces.

    Insira um número inteiro. Se a cota de um recurso não for especificada, nenhum limite será colocado no recurso.

    Se desejar limitar a CPU ou a cota de memória, especifique o valor da solicitação de CPU ou memória ao criar uma carga de trabalho.

  4. Após a conclusão da configuração, clique em OK.

Usar o kubectl para criar um namespace

Defina um namespace.

apiVersion: v1 
kind: Namespace 
metadata: 
  name: custom-namespace 

Execute o comando kubectl para criá-lo.

$ kubectl create -f custom-namespace.yaml
namespace/custom-namespace created 

Você também pode executar o comando kubectl create namespace para criar um namespace.

$ kubectl create namespace custom-namespace 
namespace/custom-namespace created