diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 5862e773dc4a7ad25b92d36a3bdbded8abf28cab..309162120de6ec5aeced63abbe93c00ba43fbbb0 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -98,6 +98,8 @@ const ( embedCerts = "embed-certs" noVTXCheck = "no-vtx-check" downloadOnly = "download-only" + dnsProxy = "dns-proxy" + hostDNSResolver = "host-dns-resolver" ) var ( @@ -158,6 +160,8 @@ func init() { startCmd.Flags().Bool(gpu, false, "Enable experimental NVIDIA GPU support in minikube (works only with kvm2 driver on Linux)") startCmd.Flags().Bool(hidden, false, "Hide the hypervisor signature from the guest in minikube (works only with kvm2 driver on Linux)") startCmd.Flags().Bool(noVTXCheck, false, "Disable checking for the availability of hardware virtualization before the vm is started (virtualbox)") + startCmd.Flags().Bool(dnsProxy, false, "Enable proxy for NAT DNS requests (virtualbox)") + startCmd.Flags().Bool(hostDNSResolver, true, "Enable host resolver for NAT DNS requests (virtualbox)") if err := viper.BindPFlags(startCmd.Flags()); err != nil { exit.WithError("unable to bind flags", err) } @@ -530,6 +534,8 @@ func generateConfig(cmd *cobra.Command, k8sVersion string) (cfg.Config, error) { GPU: viper.GetBool(gpu), Hidden: viper.GetBool(hidden), NoVTXCheck: viper.GetBool(noVTXCheck), + DNSProxy: viper.GetBool(dnsProxy), + HostDNSResolver: viper.GetBool(hostDNSResolver), }, KubernetesConfig: cfg.KubernetesConfig{ KubernetesVersion: k8sVersion, diff --git a/pkg/minikube/config/types.go b/pkg/minikube/config/types.go index be83b73bfaa4841cbda8f695917a9c9c4a7f483e..c7c0cb005129c68c0a8dbf5f5538d7453f5e6c5b 100644 --- a/pkg/minikube/config/types.go +++ b/pkg/minikube/config/types.go @@ -56,6 +56,8 @@ type MachineConfig struct { GPU bool // Only used by kvm2 Hidden bool // Only used by kvm2 NoVTXCheck bool // Only used by virtualbox + DNSProxy bool // Only used by virtualbox + HostDNSResolver bool // Only used by virtualbox } // KubernetesConfig contains the parameters used to configure the VM Kubernetes. diff --git a/pkg/minikube/drivers/virtualbox/driver.go b/pkg/minikube/drivers/virtualbox/driver.go index 1a1c50d6c1783d542589bedd3249b4d50b2a745f..78441699d1ebf80b4f16a934c5e88d34efc9dd9e 100644 --- a/pkg/minikube/drivers/virtualbox/driver.go +++ b/pkg/minikube/drivers/virtualbox/driver.go @@ -54,8 +54,8 @@ func createVirtualboxHost(config cfg.MachineConfig) interface{} { d.NoVTXCheck = config.NoVTXCheck d.NatNicType = defaultVirtualboxNicType d.HostOnlyNicType = defaultVirtualboxNicType - d.DNSProxy = false - d.HostDNSResolver = true + d.DNSProxy = config.DNSProxy + d.HostDNSResolver = config.HostDNSResolver return d }