From 28d706eb225d81699a33d898044ec0a1f49a46f2 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 29 Apr 2020 14:35:33 +0200 Subject: lendwirbel: initial install of kubernetes cluster --- inventory/group_vars/k8s-lwl/main.yml | 48 +++++++++++++++++++++++++++++ inventory/host_vars/emc-master.yml | 4 +-- inventory/host_vars/lw-master.yml | 58 +++++++++++++++++++++++++++++++++++ inventory/host_vars/sk-2019vm.yml | 6 ++-- inventory/hosts.ini | 26 +++++++++++++++- 5 files changed, 137 insertions(+), 5 deletions(-) create mode 100644 inventory/group_vars/k8s-lwl/main.yml create mode 100644 inventory/host_vars/lw-master.yml (limited to 'inventory') diff --git a/inventory/group_vars/k8s-lwl/main.yml b/inventory/group_vars/k8s-lwl/main.yml new file mode 100644 index 00000000..e06cb665 --- /dev/null +++ b/inventory/group_vars/k8s-lwl/main.yml @@ -0,0 +1,48 @@ +--- +docker_pkg_provider: docker-com +docker_pkg_name: docker-ce + +kubernetes_version: 1.17.5 +kubernetes_container_runtime: docker +kubernetes_network_plugin: kubeguard + +kubernetes: + cluster_name: lndwrbl-live + + dedicated_master: False + api_extra_sans: + - 178.63.180.137 + - k8s-master.lndwrbl.live + + pod_ip_range: 172.18.0.0/16 + pod_ip_range_size: 24 + service_ip_range: 172.18.192.0/18 + + +kubernetes_secrets: + encryption_config_keys: "{{ vault_kubernetes_encryption_config_keys }}" + + +kubeguard: + ## node_index must be in the range between 1 and 190 -> 189 hosts possible + ## + ## hardcoded hostnames are not nice but if we do this via host_vars + ## the info is spread over multiple files and this makes it more diffcult + ## to find mistakes, so it is nicer to keep it in one place... + node_index: + # lw-live-01: 1 + # lw-live-02: 2 + lw-live-00: 100 + lw-live-dist0: 110 + lw-dione: 111 + lw-helene: 112 + lw-master: 127 + + direct_net_zones: + encoder: + transfer_net: 172.18.191.0/24 + node_interface: + lw-dione: eno2 + lw-helene: eno2 + +kubernetes_overlay_node_ip: "{{ kubernetes.pod_ip_range | ipsubnet(kubernetes.pod_ip_range_size, kubeguard.node_index[inventory_hostname]) | ipaddr(1) | ipaddr('address') }}" diff --git a/inventory/host_vars/emc-master.yml b/inventory/host_vars/emc-master.yml index 6c11048a..e89463a9 100644 --- a/inventory/host_vars/emc-master.yml +++ b/inventory/host_vars/emc-master.yml @@ -16,7 +16,7 @@ install: sdb: type: zfs pool: storage - name: "{{ inventory_hostname }}-data" + name: "streamstats" size: 50g interfaces: - bridge: br-public @@ -52,7 +52,7 @@ kubelet_lvm: emc_stats_lvm: pvs: /dev/sdb - vg: "{{ host_name }}-data" + vg: streamstats lv: stats size: 42G fs: ext4 diff --git a/inventory/host_vars/lw-master.yml b/inventory/host_vars/lw-master.yml new file mode 100644 index 00000000..d198c2a3 --- /dev/null +++ b/inventory/host_vars/lw-master.yml @@ -0,0 +1,58 @@ +--- +vm_host: sk-2019vm + +install: + host: "{{ vm_host }}" + mem: 10240 + numcpu: 6 + disks: + primary: /dev/sda + scsi: + sda: + type: zfs + pool: storage + name: "{{ inventory_hostname }}" + size: 20g + # sdb: + # type: zfs + # pool: storage + # name: "streamstats" + # size: 50g + interfaces: + - bridge: br-public + name: primary0 + autostart: True + +network: + nameservers: "{{ hostvars[vm_host].vm_host.network.dns }}" + domain: "{{ host_domain }}" + systemd_link: + interfaces: "{{ install.interfaces }}" + primary: + interface: primary0 + ip: "{{ hostvars[vm_host].vm_host.network.bridges.public.prefix | ipaddr(hostvars[vm_host].vm_host.network.bridges.public.offsets[inventory_hostname]) | ipaddr('address') }}" + mask: "{{ hostvars[vm_host].vm_host.network.bridges.public.prefix | ipaddr('netmask') }}" + gateway: "{{ hostvars[vm_host].vm_host.network.bridges.public.prefix | ipaddr('address') }}" + overlay: "{{ (hostvars[vm_host].vm_host.network.bridges.public.overlay.prefix | ipaddr(hostvars[vm_host].vm_host.network.bridges.public.overlay.offsets[inventory_hostname])).split('/')[0] }}" + +external_ip: "{{ network.primary.overlay }}" + +docker_lvm: + vg: "{{ host_name }}" + lv: docker + size: 7G + fs: ext4 + +kubelet_lvm: + vg: "{{ host_name }}" + lv: kubelet + size: 5G + fs: ext4 + + +emc_stats_lvm: + pvs: /dev/sdb + vg: streamstats + lv: stats + size: 42G + fs: ext4 diff --git a/inventory/host_vars/sk-2019vm.yml b/inventory/host_vars/sk-2019vm.yml index 99614153..2558f2e3 100644 --- a/inventory/host_vars/sk-2019vm.yml +++ b/inventory/host_vars/sk-2019vm.yml @@ -22,7 +22,8 @@ vm_host: prefix: 192.168.250.254/24 offsets: sk-torrent: 136 - emc-master: 137 +# emc-master: 137 + lw-master: 137 ele-gwhetzner: 138 ch-mimas: 142 sk-testvm: 253 @@ -31,7 +32,8 @@ vm_host: prefix: 178.63.180.136/29 offsets: sk-torrent: 0 - emc-master: 1 +# emc-master: 1 + lw-master: 1 ele-gwhetzner: 2 ch-mimas: 6 sk-testvm: 7 diff --git a/inventory/hosts.ini b/inventory/hosts.ini index ca372098..07c77742 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -99,6 +99,7 @@ env_group=spreadspace lw-telesto host_name=telesto lw-dione host_name=dione lw-helene host_name=helene +lw-master [lendwirbel-live:children] lendwirbel-live-dist @@ -225,6 +226,7 @@ sk-2019vm [kvmguests] emc-master +lw-master ch-keyserver ch-testvm ch-gw-lan @@ -260,6 +262,7 @@ lendwirbel-live-xx [hetzner] emc-master +lw-master sk-testvm sk-torrent @@ -288,7 +291,7 @@ ele-dolmetsch-ctl ele-dolmetsch-raspi -### kubernetes cluster: emc +### Kubernetes Cluster: emc [k8s-emc-encoder] #ele-dione #ele-helene @@ -313,3 +316,24 @@ k8s-emc-streamer [elevate-festival:children] elevate k8s-emc + + +### Kubernetes Cluster: lendwirbel-live +[k8s-lwl-encoder] +lw-dione +lw-helene + +[k8s-lwl-distribution:children] +lendwirbel-live-dist + +[k8s-lwl-streamer:children] +lendwirbel-live-xx + +[k8s-lwl-master] +lw-master + +[k8s-lwl:children] +k8s-lwl-master +k8s-lwl-encoder +k8s-lwl-distribution +k8s-lwl-streamer -- cgit v1.2.3