1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
---
kubernetes_node_name: "{{ inventory_hostname | replace('ele-', '') }}"
kubernetes_version: 1.26.1
kubernetes_container_runtime: containerd
containerd_pkg_provider: docker-com
kubernetes_network_plugin: kubeguard
kubernetes:
cluster_name: emc
dedicated_controlplane_nodes: yes
api_extra_sans:
- 178.63.180.137
- emc-ctrl.elev8.at
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:
ele-emc-e01: 1
ele-emc-e02: 2
ele-emc-e03: 3
ele-emc-e04: 4
ele-emc-e05: 5
ele-emc-e06: 6
ele-emc-r0: 100
ele-emc-lb: 110
ele-telesto: 111
ele-dione: 112
ele-emc-ctrl: 127
direct_net_zones:
encoder:
transfer_net: 172.18.191.0/24
node_interface:
ele-telesto: enp36s0
ele-dione: eno2
kubernetes_overlay_node_ip: "{{ kubernetes.pod_ip_range | ansible.utils.ipsubnet(kubernetes.pod_ip_range_size, kubeguard.node_index[inventory_hostname]) | ansible.utils.ipaddr(1) | ansible.utils.ipaddr('address') }}"
kubernetes_metrics_server_version: 0.6.2
kubernetes_openebs_zfs_version: 2.1.0
kubernetes_openebs_zfs_node_selector:
"feature.node.kubernetes.io/storage-zfs": "true"
kubernetes_openebs_zfs_storage_classes:
zfs-storage:
allowVolumeExpansion: yes
volumeBindingMode: WaitForFirstConsumer
reclaimPolicy: Delete
parameters:
fstype: "zfs"
poolname: "storage"
kubernetes_cert_manager_version: 1.9.2
kubernetes_ingress_nginx_version: 1.6.4
kubernetes_ingress_nginx_variant: daemonset-with-hostnetwork
kubernetes_ingress_nginx_node_selector:
streaming.spreadspace.org/lb: ""
kubernetes_node_feature_discovery_version: 0.11.2
kubernetes_node_feature_discovery_worker_config: |
core:
labelSources:
- "all"
- "-cpu"
sources:
pci:
deviceClassWhitelist: ["03", "0b40", "12", "0400"]
custom:
- name: "storage.zfs"
labels:
"feature.node.kubernetes.io/storage-zfs": "true"
matchFeatures:
- feature: kernel.loadedmodule
matchExpressions:
zfs: {op: Exists}
- name: "intel.gpu"
labels:
"intel.feature.node.kubernetes.io/gpu": "true"
matchFeatures:
- feature: pci.device
matchExpressions:
vendor: {op: In, value: ["8086"]}
class: {op: In, value: ["0300", "0380"]}
- feature: kernel.loadedmodule
matchExpressions:
drm: {op: Exists}
- name: blackmagic.decklink"
labels:
"blackmagic.feature.node.kubernetes.io/decklink": "true"
matchAny:
- matchFeatures:
- feature: pci.device
matchExpressions:
vendor: {op: In, value: ["bdbd"]}
class: {op: In, value: ["0400"]}
- feature: kernel.loadedmodule
matchExpressions:
blackmagic: {op: Exists}
- matchFeatures:
- feature: pci.device
matchExpressions:
vendor: {op: In, value: ["bdbd"]}
class: {op: In, value: ["0400"]}
- feature: kernel.loadedmodule
matchExpressions:
blackmagic_io: {op: Exists}
kubernetes_intel_gpu_device_plugin_version: 0.24.0
kubernetes_intel_gpu_device_plugin_node_selector:
"intel.feature.node.kubernetes.io/gpu": "true"
|