You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+36-15
Original file line number
Diff line number
Diff line change
@@ -131,40 +131,61 @@ spec:
131
131
132
132
### Node Taints
133
133
134
-
KubeIP can be configured to attempt removal of a Taint Key from its node once the static IP has been successfully assigned, preventing workloads from being scheduled on the node until it has successfully received a static IP address. This can be useful, for example, in cases where the workload must call resources with IP-whitelisting, to prevent race conditions between KubeIP and the workload on newly provisioned nodes.
134
+
KubeIP can be configured to attempt removal of a Taint Key from its node once the static IP has been successfully assigned, preventing
135
+
workloads from being scheduled on the node until it has successfully received a static IP address. This can be useful, for example, in cases
136
+
where the workload must call resources with IP-whitelisting, to prevent race conditions between KubeIP and the workload on newly provisioned
137
+
nodes.
135
138
136
-
To enable this feature, set the `taint-key` configuration parameter (See [How to run KubeIP](#how-to-run-kubeip)) to the taint key that should be removed. Then add a toleration to the KubeIP DaemonSet, so that it itself can be scheduled on the tainted nodes. For example, given that new nodes are created with a taint key of `kubeip.com/not-ready`:
139
+
To enable this feature, set the `taint-key` configuration parameter (See [How to run KubeIP](#how-to-run-kubeip)) to the taint key that
140
+
should be removed. Then add a toleration to the KubeIP DaemonSet, so that it itself can be scheduled on the tainted nodes. For example,
141
+
given that new nodes are created with a taint key of `kubeip.com/not-ready`:
137
142
138
-
```diff
143
+
```yaml
139
144
kind: DaemonSet
140
145
spec:
141
146
template:
142
147
spec:
143
148
serviceAccountName: kubeip-service-account
144
-
+ tolerations:
145
-
+ - key: kubeip.com/not-ready
146
-
+ operator: Exists
147
-
+ effect: NoSchedule
149
+
tolerations:
150
+
- key: kubeip.com/not-ready
151
+
operator: Exists
152
+
effect: NoSchedule
153
+
securityContext:
154
+
runAsNonRoot: true
155
+
runAsUser: 1001
156
+
runAsGroup: 1001
157
+
fsGroup: 1001
148
158
containers:
149
159
- name: kubeip
150
160
image: doitintl/kubeip-agent
151
161
env:
152
-
+ - name: TAINT_KEY
153
-
+ value: kubeip.com/not-ready
162
+
- name: TAINT_KEY
163
+
value: kubeip.com/not-ready
164
+
securityContext:
165
+
privileged: false
166
+
allowPrivilegeEscalation: false
167
+
capabilities:
168
+
drop:
169
+
- ALL
170
+
readOnlyRootFilesystem: true
154
171
```
155
172
156
-
The parameter has no default value, and if not set, KubeIP will not attempt to remove any taints. If the provided Taint Key is not present on the node, KubeIP will simply log this fact and continue normally without attempting to remove it. If the Taint Key is present, but removing it fails for some reason, KubeIP will release the IP address back into the pool before restarting and trying again.
173
+
The parameter has no default value, and if not set, KubeIP will not attempt to remove any taints. If the provided Taint Key is not present
174
+
on the node, KubeIP will simply log this fact and continue normally without attempting to remove it. If the Taint Key is present, but
175
+
removing it fails for some reason, KubeIP will release the IP address back into the pool before restarting and trying again.
157
176
158
-
Using this feature requires KubeIP to have permission to patch nodes. To use this feature, the `ClusterRole` resource rules need to be updated. **Note that if this configuration option is not set, KubeIP will not attempt to patch any nodes, and the change to the rules is not necessary.**
177
+
Using this feature requires KubeIP to have permission to patch nodes. To use this feature, the `ClusterRole` resource rules need to be
178
+
updated. **Note that if this configuration option is not set, KubeIP will not attempt to patch any nodes, and the change to the rules is not
179
+
necessary.**
159
180
160
-
Please keep in mind that this will give KubeIP permission to make updates to any node in your cluster, so please make sure that this aligns with your security requirements before enabling this feature!
181
+
Please keep in mind that this will give KubeIP permission to make updates to any node in your cluster, so please make sure that this aligns
182
+
with your security requirements before enabling this feature!
0 commit comments