Backup work
This commit is contained in:
parent
42785fa98b
commit
ac583527f5
90
demo.md
90
demo.md
|
@ -1,11 +1,16 @@
|
|||
# Inhoud van de demo
|
||||
# Onderwerpen van de demo
|
||||
* Mini-omschrijving XS4ALL voice platform
|
||||
* Waarom LXD?
|
||||
* Doel van de demo: LXD + Ansible + Galera cluster
|
||||
* Installatie VM's voor de demo
|
||||
* Netwerktopologie
|
||||
* LXD clustering
|
||||
* De Ansible container
|
||||
|
||||
* Ansible-vault voor opslag secrets
|
||||
* Dynamische inventory
|
||||
* Container bootstrapping vanuit Ansible
|
||||
* Installatie van het Galera cluster
|
||||
* Rolling upgrade Galera cluster
|
||||
|
||||
# Mini-omschrijving XS4ALL voice platform
|
||||
|
||||
|
@ -209,46 +214,58 @@ CONTAINER2 aangesloten is op SIP en mgmt. CONTAINER4 is alleen aangesloten op he
|
|||
SIP netwerk, en kan via dat netwerk op layer 2 CONTAINER1 en CONTAINER2 ook bereiken.
|
||||
|
||||
|
||||
__Voor de demo gebruiken we een simpeler opzet:__
|
||||
__Voor de demo gebruiken we een iets simpeler opzet:__
|
||||
|
||||
```yaml
|
||||
network:
|
||||
version: 2
|
||||
ethernets:
|
||||
enp1s0: {}
|
||||
enp6s0: {}
|
||||
bridges:
|
||||
br-demo:
|
||||
br-public:
|
||||
dhcp4: no
|
||||
dhcp6: no
|
||||
interfaces: ["enp1s0"]
|
||||
addresses: ["192.168.56.150/24"] # of 151 voor sidn-demo-02
|
||||
addresses: ["192.168.56.150/24"] # en 151 op de andere host
|
||||
gateway4: "192.168.56.1"
|
||||
nameservers:
|
||||
addresses: ["192.168.56.1"]
|
||||
addresses: ["8.8.8.8", "9.9.9.9"]
|
||||
br-demo:
|
||||
dhcp4: no
|
||||
dhcp6: no
|
||||
interfaces: ["enp6s0"]
|
||||
addresses: ["10.0.0.150/24"] # en 151 op de andere host
|
||||
```
|
||||
|
||||
Dus maar 1 bridge "br-demo" en het "fysieke" interface enp1s0 van de VM zit
|
||||
"ingeplugd" in deze bridge. In een plaatje:
|
||||
Bridge br-public is aangesloten op een bridge die NAT netwerk verzorgt op
|
||||
de VM host en daarmee gebruikt kan worden om via NAT naar het internet te
|
||||
komen. Bridge br-demo zit aangesloten op een host-only bridge op de VM host
|
||||
en heeft dus de rol van een losse, niet-connected netwerkswitch.
|
||||
|
||||
In een plaatje:
|
||||
|
||||
```text
|
||||
KVM host
|
||||
192.168.56.1 (gateway + DHCP + DNS)
|
||||
|
|
||||
|
|
||||
+------192.168.56.0/24----+
|
||||
| |
|
||||
+------O---------------+ +------O---------------+
|
||||
| enp1s0 | | enp1s0 |
|
||||
| | | | | |
|
||||
| +---O------------+ | | +---O------------+ |
|
||||
| | br-demo | | | | br-demo | |
|
||||
| | 192.168.56.150 | | | | 192.168.56.151 | |
|
||||
| +--O---O---------+ | | +--O--O----------+ |
|
||||
| | | | | | | |
|
||||
| | CONTAINER2 | | | CONTAINER4 |
|
||||
| | | | | |
|
||||
| CONTAINER1 | | CONTAINER3 |
|
||||
| | | |
|
||||
+------192.168.56.0/24-----------+
|
||||
| |
|
||||
| private |
|
||||
| +----bridge----+ |
|
||||
| | 10.0.0.0/24 | |
|
||||
| | | |
|
||||
+------O------O--------+ +--O----------O--------+
|
||||
| enp1s0 enp6s0 | | enp6s0 enp1s0 |
|
||||
| | | | | | | |
|
||||
| br-public br-demo | | br-demo br-public |
|
||||
| | \ / | | | | \ / | |
|
||||
| | \/ | | | | \/ | |
|
||||
| | /\ | | | | /\ | |
|
||||
| ansible-01 \ | | | galera-02 \ | |
|
||||
| | | | | \ | |
|
||||
| galera-01 | | galera-03 |
|
||||
+----------------------+ +----------------------+
|
||||
KVM guest: sidn-demo-01 KVM guest: sidn-demo-02
|
||||
```
|
||||
|
@ -367,6 +384,11 @@ sidn-demo-0X# lxc profile edit demo
|
|||
timezone: Europe/Amsterdam
|
||||
description: SIDN demo profile
|
||||
devices:
|
||||
if-public:
|
||||
name: if-public
|
||||
nictype: bridged
|
||||
parent: br-public
|
||||
type: nic
|
||||
if-demo:
|
||||
name: if-demo
|
||||
nictype: bridged
|
||||
|
@ -390,7 +412,7 @@ ook voor oudere versies van Ubuntu en voor niet cloud-init images te gebruiken i
|
|||
Noot:
|
||||
In de praktijk hebben wij tot op heden alleen maar timezone en netwerkconfiguratie
|
||||
gepusht met de cloud-init configuratie. En zelfs de netwerkconfguratie slechts
|
||||
deels, omdat deze met de cloud-init van Ubuntu 14.04 nog niet mogelijk was.
|
||||
deels, omdat demodeze met de cloud-init van Ubuntu 14.04 nog niet mogelijk was.
|
||||
|
||||
|
||||
|
||||
|
@ -402,7 +424,7 @@ koppelt, die onderling gaan uitwisselen welke containers er op de hosts draaien.
|
|||
Daarna krijg je met bijvoorbeeld "lxc list" niet alleen inzicht in de containers
|
||||
die op de lokale host draaien, maar ook in alle containers die op alle cluster
|
||||
hosts draaien.
|
||||
|
||||
demo
|
||||
Het klinkt heel goed: LXD clustering. Functioneel heb ik er echter nog
|
||||
weinig heil in gevonden voor onze setup. Bovendien heb ik op clustersystemen
|
||||
regelmatig problemen gezien met het goed werkend houden van het cluster,
|
||||
|
@ -480,13 +502,19 @@ sidn-demo-01# vi /tmp/config
|
|||
version: 1
|
||||
config:
|
||||
- type: physical
|
||||
name: if-demo
|
||||
subnets:
|
||||
- type: static
|
||||
name: if-public
|
||||
subnets:
|
||||
- type: static
|
||||
address: 192.168.56.160
|
||||
netmask: 255.255.255.0
|
||||
gateway: 192.168.56.1
|
||||
dns_nameservers: [192.168.56.1]
|
||||
- type: physical
|
||||
name: if-demo
|
||||
subnets:
|
||||
- type: static
|
||||
address: 10.0.0.160
|
||||
netmask: 255.255.255.0
|
||||
```
|
||||
|
||||
Bouw de container op en start hem:
|
||||
|
@ -519,13 +547,15 @@ Opmerkingen:
|
|||
ook weggelaten kunnen worden.
|
||||
|
||||
|
||||
Op de container is nu te zien dat het layer 2 netwerk via de netwerk bridge
|
||||
Op de container is nu te zien dat het layer 2 netwerk via de netwerk bridges
|
||||
ontsloten is vanuit de container:
|
||||
|
||||
```
|
||||
ansible# ip a (laat zien dat er nu een if-demo interface bestaat)
|
||||
ansible# ping 192.168.56.150 (een ping naar de eigen LXD host)
|
||||
ansible# ping 192.168.56.151 (een ping naar de andere LXD host)
|
||||
ansible# ping 10.0.0.150 (een ping naar de eigen LXD host)
|
||||
ansible# ping 10.0.0.151 (een ping naar de andere LXD host)
|
||||
```
|
||||
|
||||
#### Connectie Ansible -> managed hosts
|
||||
|
@ -591,8 +621,8 @@ sidn-demo-0X# lxc exec sidn-demo-01:ansible cat /root/.ssh/id_rsa.pub >> /root/.
|
|||
Hierna moet het volgende werken:
|
||||
|
||||
```bash
|
||||
ansible# ssh 192.168.56.150 touch .hushlogin
|
||||
ansible# ssh 192.168.56.151 touch .hushlogin
|
||||
ansible# ssh 10.0.0.150 touch .hushlogin
|
||||
ansible# ssh 10.0.0.151 touch .hushlogin
|
||||
```
|
||||
|
||||
#### Installatie van de Ansible software
|
||||
|
|
Loading…
Reference in New Issue