init
This commit is contained in:
commit
774c5f2485
1 changed files with 128 additions and 0 deletions
128
README.md
Normal file
128
README.md
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
Version: 1.0
|
||||||
|
|
||||||
|
# Install
|
||||||
|
|
||||||
|
```
|
||||||
|
$ apt-get install sqlite3
|
||||||
|
$ apt-get install lxc
|
||||||
|
$ apt-get install python-pip
|
||||||
|
$ pip install pylxc
|
||||||
|
$ pip install simplejson
|
||||||
|
$ pip install pyparsing
|
||||||
|
$ apt-get install dnsmasq
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Setting DNSMASQ
|
||||||
|
|
||||||
|
Uncomment string in file `/etc/dnsmasq.conf`:
|
||||||
|
|
||||||
|
```conf-file=/etc/lxc/dnsmasq.conf```
|
||||||
|
|
||||||
|
Create config file and create simlink:
|
||||||
|
|
||||||
|
```
|
||||||
|
touch /etc/lxc/dnsmasq.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
Change some lines in file: ```/etc/default/lxc```
|
||||||
|
|
||||||
|
```
|
||||||
|
LXC_AUTO="true"
|
||||||
|
LXC_SHUTDOWN_TIMEOUT=120
|
||||||
|
```
|
||||||
|
|
||||||
|
Change some lines in file: ```/etc/default/lxc-net```
|
||||||
|
|
||||||
|
```
|
||||||
|
USE_LXC_BRIDGE="true"
|
||||||
|
...
|
||||||
|
LXC_BRIDGE="lxcbr0"
|
||||||
|
LXC_ADDR="10.0.3.1"
|
||||||
|
LXC_NETMASK="255.255.255.0"
|
||||||
|
LXC_NETWORK="10.0.3.0/24"
|
||||||
|
LXC_DHCP_RANGE="10.0.3.2,10.0.3.254"
|
||||||
|
LXC_DHCP_MAX="253"
|
||||||
|
...
|
||||||
|
LXC_DHCP_CONFILE=/etc/lxc/dnsmasq.conf
|
||||||
|
...
|
||||||
|
LXC_DOMAIN="container.ly"
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Firewall
|
||||||
|
|
||||||
|
### Forwarding
|
||||||
|
|
||||||
|
`nano /etc/sysctl.conf`
|
||||||
|
|
||||||
|
`net.ipv4.ip_forward=1`
|
||||||
|
|
||||||
|
### UFW
|
||||||
|
|
||||||
|
`nano /etc/default/ufw`
|
||||||
|
|
||||||
|
and change string
|
||||||
|
|
||||||
|
`DEFAULT_FORWARD_POLICY="DROP"`
|
||||||
|
|
||||||
|
to
|
||||||
|
|
||||||
|
`DEFAULT_FORWARD_POLICY="ACCEPT"`
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ufw allow 22
|
||||||
|
$ ufw allow 5555
|
||||||
|
$ ufw allow 7001
|
||||||
|
$ ufw enable
|
||||||
|
```
|
||||||
|
|
||||||
|
## Requests
|
||||||
|
|
||||||
|
task_get
|
||||||
|
task_update
|
||||||
|
report_container_status
|
||||||
|
report_container_info
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
container_create
|
||||||
|
container_destroy
|
||||||
|
container_start
|
||||||
|
container_stop
|
||||||
|
container_restart
|
||||||
|
container_clone
|
||||||
|
|
||||||
|
service_mx_add
|
||||||
|
service_mx_delete
|
||||||
|
|
||||||
|
service_web_add
|
||||||
|
service_web_delete
|
||||||
|
service_web_update
|
||||||
|
|
||||||
|
service_ssh_allow
|
||||||
|
service_ssh_deny
|
||||||
|
|
||||||
|
# Using
|
||||||
|
|
||||||
|
For execute task from central server (create, start, stop and destroy container)
|
||||||
|
|
||||||
|
```python client.py```
|
||||||
|
|
||||||
|
For collect information about containers and host-system into local database
|
||||||
|
|
||||||
|
```python logger.py```
|
||||||
|
|
||||||
|
## API
|
||||||
|
|
||||||
|
List containers
|
||||||
|
|
||||||
|
```lxc().list()```
|
||||||
|
|
||||||
|
Check exists container with name 'test'
|
||||||
|
|
||||||
|
```lxc().exists("control.container.ly")```
|
||||||
|
|
||||||
|
Start container
|
||||||
|
|
||||||
|
```lxc().start("control.container.ly")```
|
Loading…
Add table
Reference in a new issue