Skip to content

Commit 01358d8

Browse files
committed
feat: add helm values for affinity and ns on fabric ds
1 parent a69ef28 commit 01358d8

File tree

3 files changed

+26
-13
lines changed

3 files changed

+26
-13
lines changed

deployments/liqo/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
| authentication.awsConfig.secretAccessKey | string | `""` | SecretAccessKey for the Liqo user. |
1212
| authentication.awsConfig.useExistingSecret | bool | `false` | Use an existing secret to configure the AWS credentials. |
1313
| authentication.enabled | bool | `true` | Enable/Disable the authentication module. |
14-
| common.affinity | object | `{}` | Affinity for all liqo pods, excluding virtual kubelet. |
14+
| common.affinity | object | `{}` | Affinity for all liqo pods, excluding virtual kubelet pod and fabric daemonset. |
1515
| common.extraArgs | list | `[]` | Extra arguments for all liqo pods, excluding virtual kubelet. |
1616
| common.globalAnnotations | object | `{}` | Global annotations to be added to all resources created by Liqo controllers |
1717
| common.globalLabels | object | `{"liqo.io/managed":"true"}` | Global labels to be added to all resources created by Liqo controllers |
18-
| common.nodeSelector | object | `{}` | NodeSelector for all liqo pods, excluding virtual kubelet. |
19-
| common.tolerations | list | `[]` | Tolerations for all liqo pods, excluding virtual kubelet. |
18+
| common.nodeSelector | object | `{}` | NodeSelector for all liqo pods, excluding virtual kubelet pod and fabric daemonset. |
19+
| common.tolerations | list | `[]` | Tolerations for all liqo pods, excluding virtual kubelet pod and fabric daemonset. |
2020
| controllerManager.config.defaultLimitsEnforcement | string | `"None"` | Defines how strict is the enforcement of the quota offered by the remote cluster. enableResourceEnforcement must be enabled to use this feature. Possible values are: None, Soft, Hard. None: the offloaded pods might not have the resource `requests` or `limits`. Soft: it forces the offloaded pods to have `requests` set. If the pods go over the requests, the total used resources might go over the quota. Hard: it forces the offloaded pods to have `limits` and `requests` set, with `requests` == `limits`. This is the safest mode as the consumer cluster cannot go over the quota. |
2121
| controllerManager.config.enableNodeFailureController | bool | `false` | Ensure offloaded pods running on a failed node are evicted and rescheduled on a healthy node, preventing them to remain in a terminating state indefinitely. This feature can be useful in case of remote node failure to guarantee better service continuity and to have the expected pods workload on the remote cluster. However, enabling this feature could produce zombies in the worker node, in case the node returns Ready again without a restart. |
2222
| controllerManager.config.enableResourceEnforcement | bool | `true` | It enforces offerer-side that offloaded pods do not exceed offered resources (based on container limits). This feature is suggested to be enabled when consumer-side enforcement is not sufficient. It makes sure that the sum of the requests of the offloaded pods never exceeds the quota offered by the remote cluster. The quota can be still exceeded if no limits and requests are defined in the offloaded pods or if the limits are larger than the requests. For a stricter enforcement, the defaultLimitsEnforcement can be set to Hard. |
@@ -92,12 +92,14 @@
9292
| networking.fabric.config.nftablesMonitor | bool | `false` | Enable/Disable the nftables monitor for the fabric pod. It means that the fabric pod will monitor the nftables rules and will restore them in case of changes. In some cases (like K3S), this monitor can cause a huge amount of CPU usage. If you are experiencing high CPU usage, you can disable this feature. |
9393
| networking.fabric.image.name | string | `"ghcr.io/liqotech/fabric"` | Image repository for the fabric pod. |
9494
| networking.fabric.image.version | string | `""` | Custom version for the fabric image. If not specified, the global tag is used. |
95+
| networking.fabric.pod.affinity | object | `{}` | Affinity for the fabric pod. |
9596
| networking.fabric.pod.annotations | object | `{}` | Annotations for the fabric pod. |
9697
| networking.fabric.pod.extraArgs | list | `[]` | Extra arguments for the fabric pod. |
9798
| networking.fabric.pod.labels | object | `{}` | Labels for the fabric pod. |
99+
| networking.fabric.pod.nodeSelector | object | `{}` | NodeSelector for the fabric pod. |
98100
| networking.fabric.pod.priorityClassName | string | `""` | PriorityClassName (https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#pod-priority) for the fabric pod. |
99101
| networking.fabric.pod.resources | object | `{"limits":{},"requests":{}}` | Resource requests and limits (https://kubernetes.io/docs/user-guide/compute-resources/) for the fabric pod. |
100-
| networking.fabric.tolerations | list | `[]` | Extra tolerations for the fabric daemonset. |
102+
| networking.fabric.pod.tolerations | list | `[]` | Extra tolerations for the fabric pod. |
101103
| networking.gatewayTemplates | object | `{"container":{"gateway":{"image":{"name":"ghcr.io/liqotech/gateway","version":""}},"geneve":{"image":{"name":"ghcr.io/liqotech/gateway/geneve","version":""}},"wireguard":{"image":{"name":"ghcr.io/liqotech/gateway/wireguard","version":""}}},"ping":{"interval":"2s","lossThreshold":5,"updateStatusInterval":"10s"},"replicas":1,"server":{"service":{"allocateLoadBalancerNodePorts":"","annotations":{}}},"wireguard":{"implementation":"kernel"}}` | Set the options for the default gateway (server/client) templates. The default templates use a WireGuard implementation to connect the gateway of the clusters. These options are used to configure only the default templates and should not be considered if a custom template is used. |
102104
| networking.gatewayTemplates.container.gateway.image.name | string | `"ghcr.io/liqotech/gateway"` | Image repository for the gateway container. |
103105
| networking.gatewayTemplates.container.gateway.image.version | string | `""` | Custom version for the gateway image. If not specified, the global tag is used. |

deployments/liqo/templates/liqo-fabric-daemonset.yaml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@ spec:
2525
{{- toYaml .Values.networking.fabric.pod.labels | nindent 8 }}
2626
{{- end }}
2727
spec:
28+
{{- if .Values.networking.fabric.pod.nodeSelector }}
29+
nodeSelector:
30+
{{- toYaml .Values.networking.fabric.pod.nodeSelector | nindent 8 }}
31+
{{- end }}
32+
{{- if .Values.networking.fabric.pod.affinity }}
33+
affinity:
34+
{{- toYaml .Values.networking.fabric.pod.affinity | nindent 8 }}
35+
{{- end }}
2836
tolerations:
2937
- key: CriticalAddonsOnly
3038
operator: Exists
@@ -34,11 +42,11 @@ spec:
3442
key: node-role.kubernetes.io/infra
3543
- effect: NoSchedule
3644
key: node-role.kubernetes.io/control-plane
37-
{{- if .Values.networking.fabric.tolerations }}
38-
{{- toYaml .Values.networking.fabric.tolerations | nindent 8 }}
45+
{{- if .Values.networking.fabric.pod.tolerations }}
46+
{{- toYaml .Values.networking.fabric.pod.tolerations | nindent 8 }}
3947
{{- end }}
4048
serviceAccountName: {{ include "liqo.prefixedName" $fabricConfig }}
41-
{{- include "liqo.imagePullSecrets" . | nindent 6 }}
49+
{{- include "liqo.imagePullSecrets" . | nindent 6 -}}
4250
containers:
4351
- image: {{ .Values.networking.fabric.image.name }}{{ include "liqo.suffix" $fabricConfig }}:{{ include "liqo.version" $fabricConfig }}
4452
imagePullPolicy: {{ .Values.pullPolicy }}
@@ -98,5 +106,4 @@ spec:
98106
{{- if .Values.networking.fabric.pod.priorityClassName }}
99107
priorityClassName: {{ .Values.networking.fabric.pod.priorityClassName }}
100108
{{- end }}
101-
102109
{{- end }}

deployments/liqo/values.yaml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@ networking:
101101
labels: {}
102102
# -- Extra arguments for the fabric pod.
103103
extraArgs: []
104+
# -- NodeSelector for the fabric pod.
105+
nodeSelector: {}
106+
# -- Extra tolerations for the fabric pod.
107+
tolerations: []
108+
# -- Affinity for the fabric pod.
109+
affinity: {}
104110
# -- Resource requests and limits (https://kubernetes.io/docs/user-guide/compute-resources/) for the fabric pod.
105111
resources:
106112
limits: {}
@@ -112,8 +118,6 @@ networking:
112118
name: "ghcr.io/liqotech/fabric"
113119
# -- Custom version for the fabric image. If not specified, the global tag is used.
114120
version: ""
115-
# -- Extra tolerations for the fabric daemonset.
116-
tolerations: []
117121
config:
118122
# -- Enabe/Disable the full masquerade mode for the fabric pod.
119123
# It means that all traffic will be masquerade using the first external cidr IP, instead of using the pod IP.
@@ -298,11 +302,11 @@ storage:
298302
storageNamespace: liqo-storage
299303

300304
common:
301-
# -- NodeSelector for all liqo pods, excluding virtual kubelet.
305+
# -- NodeSelector for all liqo pods, excluding virtual kubelet pod and fabric daemonset.
302306
nodeSelector: {}
303-
# -- Tolerations for all liqo pods, excluding virtual kubelet.
307+
# -- Tolerations for all liqo pods, excluding virtual kubelet pod and fabric daemonset.
304308
tolerations: []
305-
# -- Affinity for all liqo pods, excluding virtual kubelet.
309+
# -- Affinity for all liqo pods, excluding virtual kubelet pod and fabric daemonset.
306310
affinity: {}
307311
# -- Extra arguments for all liqo pods, excluding virtual kubelet.
308312
extraArgs: []

0 commit comments

Comments
 (0)