Skip to content

Commit ab70f62

Browse files
committed
update README (skip ci)
1 parent ec9e80d commit ab70f62

File tree

1 file changed

+36
-15
lines changed

1 file changed

+36
-15
lines changed

README.md

+36-15
Original file line numberDiff line numberDiff line change
@@ -131,40 +131,61 @@ spec:
131131
132132
### Node Taints
133133
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.
135138
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`:
137142

138-
```diff
143+
```yaml
139144
kind: DaemonSet
140145
spec:
141146
template:
142147
spec:
143148
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
148158
containers:
149159
- name: kubeip
150160
image: doitintl/kubeip-agent
151161
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
154171
```
155172

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.
157176

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.**
159180

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!
161183

162-
```diff
184+
```yaml
163185
rules:
164186
- apiGroups: [ "" ]
165187
resources: [ "nodes" ]
166-
- verbs: [ "get" ]
167-
+ verbs: [ "get", "patch" ]
188+
verbs: [ "get", "patch" ]
168189
```
169190

170191
### AWS

0 commit comments

Comments
 (0)