8
7/21/2019 Linux Container http://slidepdf.com/reader/full/linux-container 1/8  Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte - IFRN/MOSSORÓ - Bruno Willis Bezerra Rocha Cássia Regina Carvalho Rayane Karolayne Felinto Samuel Rodrigues Balbino Walisson Markley Lopes Linux Containers MOSSORÓ/RN DEZEMBRO DE 2015

Linux Container

Embed Size (px)

DESCRIPTION

LXC

Citation preview

Page 1: Linux Container

7/21/2019 Linux Container

http://slidepdf.com/reader/full/linux-container 1/8

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande

do Norte

- IFRN/MOSSORÓ -

Bruno Willis Bezerra Rocha

Cássia Regina Carvalho

Rayane Karolayne Felinto

Samuel Rodrigues Balbino

Walisson Markley Lopes

Linux Containers

MOSSORÓ/RN

DEZEMBRO DE 2015

Page 2: Linux Container

7/21/2019 Linux Container

http://slidepdf.com/reader/full/linux-container 2/8

Bruno Willis Bezerra Rocha

Cássia Regina Carvalho

Rayane Karolayne Felinto

Samuel Rodrigues BalbinoWalisson Markley Lopes

Linux Containers

Trabalho apresentado

como requisito avaliativo

de disciplina FSORSOR,

ministrado pela Profº.

Higor Morais, IFRN.

MOSSORÓ/RN

DEZEMBRO DE 2015

Page 3: Linux Container

7/21/2019 Linux Container

http://slidepdf.com/reader/full/linux-container 3/8

Linux Container(LXC)

O Linux Containers é

uma espécie de processo de virtua-

lização em nível de

sistema operacional que

possibilita a execução

de muitos sistemas

Linux de maneira

isolada, os chamados containers, em um único

host de controle. Nasceu em agosto de 2008 com objetivo de uma alternativa a

tecnologia chroot, assim atuando entre a maquina virtual e a chroot, assim era

possivel a criação de um ambiente mais próximo de uma instalação Linux, porém,

sem necessitar de um kernel separado. Podemos então concluir que o LXC(Linux

Cotainer) é uma saída para quem busca uma virtualização completa e leve,

comparando a outras como o hypervisors KVM,VMware e hypervisors. O LXC é

uma funcionalidade que visa oferecer melhor desempenho, mais segurança,

agilidade e flexibilidade no processo de criação e implementação de aplicações. O

UOL HOST é o mais popular no Brasil, oferecendo esta tecnologia inovadora na

Hospedagem de Sites e Banco de Dados.

O Kernel Linux possui Cgroups que é bastante utilizado para a limitação e o

isolamento do uso de CPU, disco, memória, rede, etc. O Kernel Linux também pode

ser utilizado para o isolamento de namespace, que é basicamente a separação dos

grupos dos processos, de modo que eles não

consigam visualizar os recursos de outros

grupos.

Podemos ver logo abaixo uma melhor

explicação sobre esse processo:

Para adentrarmos um pouco mais no

assunto, precisamos em antemão saber sobre

Page 4: Linux Container

7/21/2019 Linux Container

http://slidepdf.com/reader/full/linux-container 4/8

as duas formas de virtualização ( bare metal e hosted)

Na forma de virtualização bare metal, o software que proporcionará a

virtualização será instalado diretamente sobre os seguintes hardwares:

(Xen,VMware, Hyper-V), nesse tipo de virtualização é proporcionado um isolamento bem maior e ao mesmo tempo uma sobrecarga

O tipo bare metal, o software que proporciona a virtualização é instalado

diretamente sobre o hardware:(Xen, VMware, Hyper-V), esse tipo proporciona um

isolamento maior e ao mesmo uma sobrecarga, pois cada nova máquina virtual que

é criada irá executar um próprio kernel individual e instância do sistema operacional.

Já no tipo hosted, o software que é executado irá proporcionar uma virtualização

sobre um sistema operacional: (VirtualBox). A virtualização por containers que é proposta pelo LXC ocorre de uma

maneira menos isolada, pois compartilha algumas partes do kernel do host,

tornando assim a sobrecarga bem menor.

Virtualização

Vantagens da virtualização: Podemos citar como algumas vantagens da

virtualização a consolidação de servidores, a redução de custos, o aumento do

tempo em produção (uptime), migração de máquinas virtuais, melhor tempo de

provisionamento, a criação de ambientes de teste/lab e planos de recuperação de

desastres mais eficientes e simples, além de redução no consumo de energia,

espaço e dos custos com resfriamento dos data centers.

Mesmo com pontos com pontos positivos, a virtualização ainda carrega

consigo alguns pontos que podem ser melhorados.

Tempo de provisionamento: A crianção de uma maquina virtual pode demorar

um pouco, comparando ao provisionamento de um servidor físico o

desempenho é melhor, por ter uma velocidade mais elevada.

Quantidade de VMs: Devido ser fácil a criação de uma maquina virtual,

muitas vezes são criadas várias maquinas e muitas vezes sem necessitar,

dificultando assim o gerenciamento.

Provisionamento dinâmico: As vezes é necessária a criação de maquinas

virtuais de modo rápido, com o tempo gasto no provisionamento, essa

necessidade não pode ser atendida.

Page 5: Linux Container

7/21/2019 Linux Container

http://slidepdf.com/reader/full/linux-container 5/8

Ambientes de alto desempenho: Ambientes de e High Performance

Computing

tem evitado soluções tradicionais de virtualização por causa do

overhead computacional.

LXCO linux container aparece para aprimorar o uso das tecnologias de

virtualização, abaixo, os benefícios trazidos por ele:

Provisionamento instantâneo: É possível subir um container de modo quase

instantâneo

Desempenho similar ao servidor físico: Como a camada intermediária

hipervisor é ausente, o desempenho sofre pouca alteração.

Agilidade e flexibilidade: Diversas ferramentas facilitam a criação de templates para instalação de novos conteúdo, agilizando assim o processo.

Compartimentação de sistema e aplicações: Para garantir o isolamento de

recursos entre aplicações, algumas fezes se fazia o uso de uma maquina

virtual para cada, com o LXC não é necessário, pois os recursos são

determinados e o kernel controla o uso dos recursos.

Custo: O LXC é um projeto de código aberto e gratuito, e como é código

aberto, há uma participação de comunidade que tem se mostrado ativa com

novos projetos e ferramentas.

Mercado: Atualmente tem sido muito usado, fato esse resulta em uma

aceitação cada vez maior no mercado corporativo.

Features LXC

Kernel Namespaces:Possibilita a abstração

de processos dentro do kernel, ou seja, um

processo ou grupo de processo é isolado dentro do

kernel, tornando possível a visualização de pontos

de montagem, id de processos, id de usuário,

hostname e fila de processo, isolado de outros

processos ou grupo de processo.

AppArmor and SELinux:Se responsabiliza

por carregar politicas de acesso em host, assim.

são definidas regras de acesso a

Page 6: Linux Container

7/21/2019 Linux Container

http://slidepdf.com/reader/full/linux-container 6/8

arquivos/diretórios especificos dentro do host, garantindo que em uma brecha

de segurança, um container visualize ou execute algo malicioso no host.

Seccomp policies: Realiza filtragem das chamadas de sistema aceitando ou

não a chamada. Como o host e container compartilham o mesmo kernel, é necessária politicas especificas a nível de interface do kernel para que o

hóspede não consiga delegar privilégios dentro do sistema host.

Chroots (pivot_root): Tem como função mapear diretórios e ponto de

montagem do sistema container, é a chamada de sistema que cria a árvore

de diretórios que o container terá acesso.

Kernel Capabilities: Todos os sistema UNIX dividem os processos em duas

grandes categorias, processo privilegiados (executadas como root) e processos não privilegiados (executadas com usuário comum), por padrão

todo container executa comando não privilegiados, assim, um processo

dentro de um container é executado como root dentro do host.

Cgroups: Responsável pelo controle de uso de recursos por processo/grupo

de processo, Control Groups pode executar diferentes container com

diferentes limites de uso em (Memória, CPU, I/O).

Docker

O Docker é uma plataforma aberta para desenvolvedores e administradores

de sistemas, usada para construir, executar e distribuir máquinas ou melhor, hosts .

O Docker também disponibiliza um serviço de nuvem para armazenar e compartilhar

imagens prontas, criados tanto pela comunidade responsável pelo Docker, como por

outras pessoas interessadas. Tudo isso de forma gratuita.

Uma host através do Docker pode ser composta por algumas camadas, as

quais se dividem em dois tipos; Imagens e Containers.

Imagens - uma vez em execução essas camadas são montadas como

somente leitura. Elas podem ser compartilhadas por vários hosts e afetam

todos os que estão envolvidos com as imagens..

Page 7: Linux Container

7/21/2019 Linux Container

http://slidepdf.com/reader/full/linux-container 7/8

Containers são camadas montadas como leitura e escrita. É onde estão as

modificações da host em execução. Toda modificação realizada em uma

imagem é feita a partir de um container.

O Docker pode ser considerado como um container em um navio. O

container é dividido em docker-container, o qual pode conter vários serviços como

um servidor web, um banco de dados ou uma aplicação.

O Linux Container Engine utiliza o Ixc no lugar de métodos de virtualização

tradicionais. Isso torna o servidor host muito mais rápido pelo fato de o lxc utilizar o

mesmo servidor host. Como o container é um processo isolado, fazer com que o

servidor funcione mais rápido se torna mais fácil. Os containers ganham mais “poderes” com a utilização do Docker pelo fato de ele conseguir simplificar todo o

processo.

Uma das grandes vantagens do Docker é que é permitido criar o seu próprio

container e movê-lo para qualquer tipo de servidor. Se um processo em andamento

falhar, basta configurar um servidor com o Docker instalado e inserir o seu container

nele.

Page 8: Linux Container

7/21/2019 Linux Container

http://slidepdf.com/reader/full/linux-container 8/8

Referências

http://www.uolhost.uol.com.br/academia/noticias/2015/02/24/linux-containers-lxc-co

mo-funciona-e-quais-sao-suas-vantagens.html#rmcl

http://infoslack.com/devops/conteinerizacao-de-postgresql-com-docker/http://infoslack.com/devops/docker-primeiros-passos/

http://www.mundodocker.com.br/o-que-e-container/

http://infoslack.com/linux/introducao-ao-lxc/

http://www.ricardomartins.com.br/docker-um-engine-linux-container