Difference between revisions of "LXD"

From Funtoo
Jump to navigation Jump to search
(first info, go ahead and edit what is here, I am going to continue with installation)
 
Line 34: Line 34:


== Installing LXD in Funtoo ==
== Installing LXD in Funtoo ==
=== Kernel pre-requisities ===
These options should be enable in your kernel to use all of the functions of LXD:
!GRKERNSEC_CHROOT_CAPS
!GRKERNSEC_CHROOT_CHMOD
!GRKERNSEC_CHROOT_DOUBLE
!GRKERNSEC_CHROOT_MOUNT
!GRKERNSEC_CHROOT_PIVOT
!GRKERNSEC_PROC
!GRKERNSEC_SYSFS_RESTRICT
!NETPRIO_CGROUP
BRIDGE
CGROUP_CPUACCT
CGROUP_DEVICE
CGROUP_FREEZER
CGROUP_SCHED
CGROUPS
CHECKPOINT_RESTORE
CPUSETS
DEVPTS_MULTIPLE_INSTANCES
DUMMY
INET_TCP_DIAG
INET_UDP_DIAG
IP_NF_NAT
IP_NF_TARGET_MASQUERADE
IP6_NF_NAT
IP6_NF_TARGET_MASQUERADE
IPC_NS
IPV6
MACVLAN
NAMESPACES
NET_IPGRE
NET_IPGRE_DEMUX
NET_IPIP
NET_NS
NETFILTER_XT_MATCH_COMMENT
NETLINK_DIAG
NF_NAT_MASQUERADE_IPV4
NF_NAT_MASQUERADE_IPV6
PACKET_DIAG
PID_NS
POSIX_MQUEUE
UNIX_DIAG
USER_NS
UTS_NS
VETH
VXLAN

Revision as of 13:07, March 26, 2017

LXD is a container "hypervisor" it should provide user with a new and fresh experience using LXC technology.

LXD consists of three components:

  • A system-wide daemon (lxd)
  • A command line client (lxc)
  • An OpenStack Nova plugin (nova-compute-lxd)

A REST API that is accesible both locally and if enabled, over the network is provided from the lxd daemon.

The command line tool is designed to be a very simple, yet very powerful tool to manage all your containers. It can handle connections to multiple container hosts and easily give you an overview of all the containers on your network, let you create some more where you want them and even move them around while they're running.

The OpenStack plugin then allows you to use your lxd hosts as compute nodes, running workloads on containers rather than virtual machines.

The LXD project was founded and is currently led by Canonical Ltd and Ubuntu with contributions from a range of other companies and individual contributors.

Features

Some of the biggest features of LXD are:

  • Secure by design (unprivileged containers, resource restrictions and much more)
  • Scalable (from containers on your laptop to thousand of compute nodes)
  • Intuitive (simple, clear API and crisp command line experience)
  • Image based (no more distribution templates, only good, trusted images)
  • Live migration

Relationship with LXC

LXD isn't a rewrite of LXC, in fact it's building on top of LXC to provide a new, better user experience. Under the hood, LXD uses LXC through liblxc and its Go binding to create and manage the containers.

It's basically an alternative to LXC's tools and distribution template system with the added features that come from being controllable over the network.

Licensing

LXD is free software and is developed under the Apache 2 license.

Installing LXD in Funtoo

Kernel pre-requisities

These options should be enable in your kernel to use all of the functions of LXD: !GRKERNSEC_CHROOT_CAPS !GRKERNSEC_CHROOT_CHMOD !GRKERNSEC_CHROOT_DOUBLE !GRKERNSEC_CHROOT_MOUNT !GRKERNSEC_CHROOT_PIVOT !GRKERNSEC_PROC !GRKERNSEC_SYSFS_RESTRICT !NETPRIO_CGROUP BRIDGE CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED CGROUPS CHECKPOINT_RESTORE CPUSETS DEVPTS_MULTIPLE_INSTANCES DUMMY INET_TCP_DIAG INET_UDP_DIAG IP_NF_NAT IP_NF_TARGET_MASQUERADE IP6_NF_NAT IP6_NF_TARGET_MASQUERADE IPC_NS IPV6 MACVLAN NAMESPACES NET_IPGRE NET_IPGRE_DEMUX NET_IPIP NET_NS NETFILTER_XT_MATCH_COMMENT NETLINK_DIAG NF_NAT_MASQUERADE_IPV4 NF_NAT_MASQUERADE_IPV6 PACKET_DIAG PID_NS POSIX_MQUEUE UNIX_DIAG USER_NS UTS_NS VETH VXLAN