You can delete Virtlet pods to have them restarted and pick up the changes after you add, remove or modify the configuration mappings.
All the config mappings must reside in kube-system namespace. Each mapping can specify nodeSelector or nodeName to target a subset of the nodes. If neither nodeSelector nor nodeName is specified, the mapping will target all the nodes. If the several mappings apply to the node, their order is determined by priority value, with mappings with higher value of priority taking precendence. config specifies the list of configuration fields (see the full table of config fields in the next section of this document).
In the example above, for the node named kube-node-2, KVM is disabled, log level is set to 5 and the raw device list is set to sda*,loop*. For nodes with foo=bar label, the log level is overridden and set to 3. If kube-node-2 node has foo=bar label, the log level will be set to 3 there as the label-based mapping has higher priority.
The table below lists all the Virtlet configuration fields, with their corresponding command line flags and environment variables that are handled by Virtlet binary. Note that you may only need these environment variables and configuration flags if you're not using the standard Virtlet deployment YAML as generated by virtletctl gen.
Only the following config fields mentioned in this table can be used with standard Virtlet deployment YAML: downloadProtocol, rawDevices, disableKVM, enableSriov, calicoSubnetSize, enableRegexpImageTranslation, cpuModel and logLevel. Other options may need adjusting the YAML to change the paths of volume mounts. disableLogging option is intended for debugging purposes only.