Control node IP visibility
When vCluster syncs real nodes from the host cluster, it obfuscates node IP addresses by default. This behavior protects sensitive information in multi-tenant environments while still providing node features.
Node IP obfuscation provides several benefits:
- Security: Prevents exposure of host cluster network topology in multi-tenant environments.
- Privacy: Protects sensitive infrastructure information from virtual cluster users.
- Isolation: Maintains logical separation between virtual and host clusters.
Default behavior​
By default, when you enable real node syncing:
sync:
fromHost:
nodes:
enabled: true
vCluster automatically replaces the actual node IP addresses with obfuscated values. For example, if a host node has IP 192.168.1.100
, it appears in the virtual cluster with a generated IP like 10.0.0.1
.
Control IP visibility with patches​
This feature is an Enterprise feature. See our pricing plans or contact our sales team for more information.
Remove IP information completely​
To remove IP addresses entirely from synced nodes:
sync:
fromHost:
nodes:
enabled: true
patches:
- path: status.addresses
expression: |
[]
Advanced node information control​
You can use patches to control other sensitive node information beyond IP addresses:
Hide system information​
sync:
fromHost:
nodes:
enabled: true
patches:
- path: status.nodeInfo.bootID
expression: '""'
- path: status.nodeInfo.systemUUID
expression: '""'
- path: status.nodeInfo.machineID
expression: '""'
Selective field obfuscation​
sync:
fromHost:
nodes:
enabled: true
patches:
- path: status.nodeInfo.osImage
expression: '"Linux"'
- path: status.nodeInfo.kernelVersion
expression: '"Hidden"'
Use node selectors​
When using node selectors with obfuscated IPs, focus on labels rather than IP-based selection:
sync:
fromHost:
nodes:
enabled: true
selector:
labels:
node-role.kubernetes.io/worker: "true"
environment: "production"
This approach ensures your workloads can still be scheduled appropriately without relying on specific IP addresses.
Troubleshoot node IP issues​
Verify obfuscation​
To check if IP obfuscation is working:
- Compare node information between host and virtual clusters:
kubectl get nodes -o wide
vcluster connect my-vcluster -- kubectl get nodes -o wide
- Inspect node details:
vcluster connect my-vcluster -- kubectl describe node <node-name>
Common issues​
- Networking problems: Some network policies or CNI plugins may require real IP addresses. Test thoroughly when modifying IP obfuscation.
- Monitoring tools: Tools that rely on node IPs may need adjustment when IPs are obfuscated.
- Service discovery: Services that use node IPs directly may require alternative approaches.
Best practices​
- Default to obfuscation: Keep IP obfuscation enabled unless you have specific requirements for real IPs.
- Use labels: Rely on node labels rather than IPs for workload scheduling and management.
- Document changes: Clearly document any modifications to default obfuscation behavior.
- Test thoroughly: Verify that your applications work correctly with obfuscated IPs before production deployment.