Upload
walisson-lopes
View
10
Download
0
Embed Size (px)
DESCRIPTION
LXC
Citation preview
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
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
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
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.
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
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..
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.
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