BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias CRI-O: Um container runtime open source para o Kubernetes

CRI-O: Um container runtime open source para o Kubernetes

O Comitê de Supervisão Técnica (Technical Oversight Committee, TOC) da Cloud Native Computing Foundation (CNCF) votou por aceitar o CRI-O como um projeto em nível de incubação em 8 de abril. O CRI-O, criado pela Red Hat, é um container runtime baseado no Open Container Initiative (OCI) para o Kubernetes que fornece uma alternativa ao Docker, rkt ou Moby.

O CRI-O foi projetado para funcionar especificamente com o Kubernetes, entregando um runtime mínimo que implementa os componentes padrões do Kubernetes baseados no Container Runtime Interface (CRI). As primeiras versões do Kubernetes suportavam apenas containers com o runtime do Docker. Como o equipe do Kubernetes começou a adicionar suporte para novos runtimes como o rkt, decidiram desenvolver e lançar o CRI para desacoplar o Kubernetes de runtimes de containers específicos.

O CRI é uma interface de plug-in que consiste em buffers de protocolo e uma API gRPC que permite que o Kubernetes, através do kubelet, se comunique com qualquer container runtime que satisfaça a interface CRI. Os dois principais RPCs CRI são Serviço de Imagem e Serviço de Runtime, que especificam como extrair uma imagem e gerenciar os ciclos de vida dos containers.

O CRI-O habilita o Kubernetes para utilizar qualquer runtime compatível com OCI como o container runtime para a execução de pods. Com foco apenas na execução de containers no Kubernetes, o escopo do projeto é limitado aos seguintes pontos:

  • Suporta vários formatos de imagem, incluindo o formato de imagem Docker existente;
  • Suporte para vários meios para realizar o download imagens, incluindo confiança e verificação de imagens;
  • Gerenciamento de imagens de containers (gerenciamento de camadas de imagens, sobreposição de sistemas de arquivos, etc);
  • Gerenciamento do ciclo de vida do processo de container;
  • Monitoramento e registro necessários para satisfazer o CRI;
  • Isolamento de recursos, conforme exigido pelo CRI.

O runtime do CRI-O obtém vantagem do Open Container Initiative, que fornece uma especificação para a configuração, ambiente de execução e ciclo de vida de um container, bem como uma especificação para a configuração, sistema de arquivos, índice e manifesto de uma imagem. Para gerenciar imagens e armazenamento de containers, o CRI-O usa os containers/imagens e containers/bibliotecas de armazenamento do projeto open source de containers, que inclui diversas ferramentas. As duas bibliotecas são usadas para extrair imagens de um registro de imagens e armazenar o conteúdo da imagem no sistema de arquivos do container.

A rede de CRI-O é implementada com o Container Networking Interface, outro projeto do CNCF que fornece especificações e bibliotecas para configurar interfaces de rede em containers do Linux, que são monitorados com a ferramenta interna chamada cronmon, que coleta logs e registra os códigos de saída.

CRI-O architecture

De acordo com o projeto CRI-O, o principal benefício é a estabilidade no ecossistema Kubernetes, com o compromisso de passar nos testes do mesmo. O CRI-O é desenvolvido com branches para cada versão, inclusive de ser desenvolvido juntamente com os ciclos de lançamento e depreciação do Kubernetes. A codebase do CRI-O contém testes de ponta a ponta no Kubernetes que são executados em todas as requisições pull e devem passar antes que os PRs sejam aceitos.

O CRI-O começou a ser desenvolvido em 2016, após o projeto Kubernetes introduzir o CRI, e o CRI-O 1.0 foi lançado em 2017. Atualmente, o CRI-O suporta runc e Kata Containers como runtime containers, com a compatibilidade total com qualquer outro OCI. O CRI-O suporta imagens de container OCI e pode extrair qualquer registro do container. Os principais contribuidores incluem RedHat, Intel, SUSE, Hyper e IBM.

Maiores informações sobre como começar a usar o CRI-O e como contribuir com o projeto podem ser encontradas na página no Github do CRI-O.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT