O que é CRD em Kubernetes?
CRD significa definição de recursos personalizados usados para novos recursos sem adicionar outro servidor de API. Para trabalhar com o CRDS, você não precisa entender a agregação da API. É um recurso muito poderoso introduzido em Kubernetes 1.7 para ser enviado com vários recursos e objetos de API embutidos. Ele permite definir recursos personalizados com um esquema e nome de sua escolha.
O CRDS estende as habilidades da API Kubernetes que excedem a instalação padrão, utilizando as definições de recursos personalizadas. Ao utilizar o CRDS, você pode orientar o Kubernetes de uma maneira que possa lidar com mais do que apenas contêineres. Você pode criar um recurso personalizado de sua própria escolha e torná -lo declarativo usando os controladores personalizados. Agora, vamos aprender a criar uma definição de recurso personalizada e depois projetar um controlador personalizado para controlar o CRD. E então como excluir o CDR para ver seu impacto no Kubernetes.
Pré -requisito
Antes de passarmos para as etapas de criação e exclusão da CRD, certifique -se de que nosso sistema atenda a todas as necessidades dos pré -requisitos.
Instale essas ferramentas, se você ainda não as instalou, antes de prosseguir para a próxima seção.
Agora, passaremos para o guia passo a passo sobre como criar CRDs em Kubernetes.
Etapa 1: Inicie Kubernetes
Para trabalhar com o CDRS, você deve ter um cluster com pelo menos dois nós Kubernetes que não estão funcionando como hosts de avião de controle. Estamos usando o minikube para criar e usar o cluster. Portanto, use o comando abaixo para iniciar o Minikube:
> Minikube Start
Quando você executa este comando, você obterá uma saída semelhante à da abaixo:
Etapa 2: abra ou crie um arquivo de configuração
Agora que nosso minikube está em funcionamento, vamos abrir o arquivo de configuração. O comando 'nano' é usado para abrir os arquivos de configuração. Tudo o que você precisa fazer é fornecer o nome do arquivo ao lado do comando nano seguido pela extensão do arquivo e pressione Enter. Aqui, temos o 'vermelho.arquivo yaml 'que contém os detalhes da configuração para criar o CRDS. Aqui está o comando Nano completo que você pode usar para abrir o arquivo desejado:
> Nano vermelho.Yaml
Quando você executa este comando, o seguinte arquivo será aberto em seu terminal:
Etapa 3: Crie um recurso de terminal
Os recursos de configuração foram salvos no vermelho.Yaml. Estaremos usando isso para criar o novo ponto de extremidade da API RESTful da API com namespaced. Kubectl fornece o comando 'Aplicar' para criar um ponto de extremidade a partir de um arquivo de configuração. Aqui está o comando completo 'Aplicar' que é usado para criar a nova API RESTful de namespaced:
> kubectl Aplicar -f vermelho.Yaml
O ponto final criado por este comando será usado para criar o objeto personalizado que controlará o CRD. A saída a seguir será gerada para o recurso de espaço para o nome:
Etapa 4: Crie um objeto personalizado para controlar o CRD
Os CRDs são controlados pelos objetos personalizados. Podemos criá -los assim que a definição de recurso personalizada for criada. Os objetos personalizados contêm os campos personalizados do JSON arbitrário. Para criar o objeto personalizado, precisamos novamente de um arquivo de configuração da YAML. Use o comando 'nano' para criar o arquivo de configuração YAML:
> Nano Ct.Yaml
Salve os campos necessários com os detalhes específicos no arquivo YAML. Os detalhes da configuração da amostra são mostrados na amostra abaixo:
Agora, use o mesmo arquivo YAML para criar o objeto personalizado. Use o comando 'Aplicar' para criar o objeto personalizado a partir do arquivo YAML especificado. Veja o comando completo dado abaixo:
> kubectl Aplicar -f ct.Yaml
Após a execução bem -sucedida deste comando, você obterá a seguinte saída:
Etapa 5: Gerencie o CRD com um objeto personalizado
Os objetos personalizados são usados para gerenciar o CRDS. Então, vamos aprender como podemos utilizar o objeto personalizado criado recentemente para gerenciar o CRD já criado. Aqui, vamos verificar os detalhes que contêm o objeto personalizado usando o comando 'get'. Veja o comando fornecido no snippet de código abaixo:
> Kubectl Obtenha Crontab
Quando você executa este comando no terminal Minikube, a seguinte saída será gerada:
Se você deseja verificar os dados brutos contidos no arquivo YAML, poderá usar este comando:
> Kubectl Obtenha Ct -o Yaml
Isso mostrará os dados brutos no arquivo YAML, como a amostra dada abaixo:
É assim que podemos criar o CRD e um objeto personalizado para gerenciar e controlar o CRD criado. Agora, se você deseja excluir o CRD criado, poderá seguir o procedimento fornecido abaixo.
Como excluir os CRDs criados em Kubernetes?
Os comandos Kubectl permitem excluir o CRDS em Kubernetes. Quando você tenta excluir a CRD em Kubernetes, os recursos personalizados associados a ele também serão excluídos. O Kubectl fornece o comando 'delete' para excluir qualquer recurso. O comando dado abaixo é usado para excluir a CRD que criamos nas etapas acima:
> kubectl delete -f vermelho.Yaml
Após a execução bem -sucedida deste comando, você obterá o seguinte resultado:
Agora que o CRD e os objetos personalizados associados a ele foram excluídos, você receberá um erro do servidor se tentar acessá -lo. Veja o comando dado abaixo, onde estamos tentando acessar a API RESTFUN de namespaced:
> Kubeclt Get Crontabs
Como o 'Crontabs' foi excluído, o servidor levantará o erro para esta ação. Veja a saída deste comando abaixo:
Conclusão
Este artigo foi uma visão geral rápida de como criar a definição de recursos personalizados, como criar um objeto personalizado para controlar o CRDS e como excluir o CRD do Kubernetes. Com a ajuda de exemplos de amostra, demonstramos cada etapa para ajudá -lo a entender o processo de maneira fácil e rápida.