mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Merge pull request #24461 from wojtek-t/enable_components_to_use_protobufs
Automatic merge from submit-queue Allow components to use protobufs while talking to apiserver.
This commit is contained in:
commit
34fc7f0401
@ -123,6 +123,7 @@ func Run(s *options.CMServer) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeconfig.ContentConfig.ContentType = s.ContentType
|
||||||
// Override kubeconfig qps/burst settings from flags
|
// Override kubeconfig qps/burst settings from flags
|
||||||
kubeconfig.QPS = s.KubeAPIQPS
|
kubeconfig.QPS = s.KubeAPIQPS
|
||||||
kubeconfig.Burst = s.KubeAPIBurst
|
kubeconfig.Burst = s.KubeAPIBurst
|
||||||
|
@ -145,6 +145,7 @@ func (s *CMServer) AddFlags(fs *pflag.FlagSet) {
|
|||||||
fs.StringVar(&s.Master, "master", s.Master, "The address of the Kubernetes API server (overrides any value in kubeconfig)")
|
fs.StringVar(&s.Master, "master", s.Master, "The address of the Kubernetes API server (overrides any value in kubeconfig)")
|
||||||
fs.StringVar(&s.Kubeconfig, "kubeconfig", s.Kubeconfig, "Path to kubeconfig file with authorization and master location information.")
|
fs.StringVar(&s.Kubeconfig, "kubeconfig", s.Kubeconfig, "Path to kubeconfig file with authorization and master location information.")
|
||||||
fs.StringVar(&s.RootCAFile, "root-ca-file", s.RootCAFile, "If set, this root certificate authority will be included in service account's token secret. This must be a valid PEM-encoded CA bundle.")
|
fs.StringVar(&s.RootCAFile, "root-ca-file", s.RootCAFile, "If set, this root certificate authority will be included in service account's token secret. This must be a valid PEM-encoded CA bundle.")
|
||||||
|
fs.StringVar(&s.ContentType, "kube-api-content-type", s.ContentType, "ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.")
|
||||||
fs.Float32Var(&s.KubeAPIQPS, "kube-api-qps", s.KubeAPIQPS, "QPS to use while talking with kubernetes apiserver")
|
fs.Float32Var(&s.KubeAPIQPS, "kube-api-qps", s.KubeAPIQPS, "QPS to use while talking with kubernetes apiserver")
|
||||||
fs.IntVar(&s.KubeAPIBurst, "kube-api-burst", s.KubeAPIBurst, "Burst to use while talking with kubernetes apiserver")
|
fs.IntVar(&s.KubeAPIBurst, "kube-api-burst", s.KubeAPIBurst, "Burst to use while talking with kubernetes apiserver")
|
||||||
fs.DurationVar(&s.ControllerStartInterval.Duration, "controller-start-interval", s.ControllerStartInterval.Duration, "Interval between starting controller managers.")
|
fs.DurationVar(&s.ControllerStartInterval.Duration, "controller-start-interval", s.ControllerStartInterval.Duration, "Interval between starting controller managers.")
|
||||||
|
@ -38,6 +38,7 @@ const (
|
|||||||
type ProxyServerConfig struct {
|
type ProxyServerConfig struct {
|
||||||
componentconfig.KubeProxyConfiguration
|
componentconfig.KubeProxyConfiguration
|
||||||
ResourceContainer string
|
ResourceContainer string
|
||||||
|
ContentType string
|
||||||
KubeAPIQPS float32
|
KubeAPIQPS float32
|
||||||
KubeAPIBurst int
|
KubeAPIBurst int
|
||||||
ConfigSyncPeriod time.Duration
|
ConfigSyncPeriod time.Duration
|
||||||
@ -77,6 +78,7 @@ func (s *ProxyServerConfig) AddFlags(fs *pflag.FlagSet) {
|
|||||||
fs.BoolVar(&s.MasqueradeAll, "masquerade-all", s.MasqueradeAll, "If using the pure iptables proxy, SNAT everything")
|
fs.BoolVar(&s.MasqueradeAll, "masquerade-all", s.MasqueradeAll, "If using the pure iptables proxy, SNAT everything")
|
||||||
fs.StringVar(&s.ClusterCIDR, "cluster-cidr", s.ClusterCIDR, "The CIDR range of pods in the cluster. It is used to bridge traffic coming from outside of the cluster. If not provided, no off-cluster bridging will be performed.")
|
fs.StringVar(&s.ClusterCIDR, "cluster-cidr", s.ClusterCIDR, "The CIDR range of pods in the cluster. It is used to bridge traffic coming from outside of the cluster. If not provided, no off-cluster bridging will be performed.")
|
||||||
fs.BoolVar(&s.CleanupAndExit, "cleanup-iptables", s.CleanupAndExit, "If true cleanup iptables rules and exit.")
|
fs.BoolVar(&s.CleanupAndExit, "cleanup-iptables", s.CleanupAndExit, "If true cleanup iptables rules and exit.")
|
||||||
|
fs.StringVar(&s.ContentType, "kube-api-content-type", s.ContentType, "ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.")
|
||||||
fs.Float32Var(&s.KubeAPIQPS, "kube-api-qps", s.KubeAPIQPS, "QPS to use while talking with kubernetes apiserver")
|
fs.Float32Var(&s.KubeAPIQPS, "kube-api-qps", s.KubeAPIQPS, "QPS to use while talking with kubernetes apiserver")
|
||||||
fs.IntVar(&s.KubeAPIBurst, "kube-api-burst", s.KubeAPIBurst, "Burst to use while talking with kubernetes apiserver")
|
fs.IntVar(&s.KubeAPIBurst, "kube-api-burst", s.KubeAPIBurst, "Burst to use while talking with kubernetes apiserver")
|
||||||
fs.DurationVar(&s.UDPIdleTimeout.Duration, "udp-timeout", s.UDPIdleTimeout.Duration, "How long an idle UDP connection will be kept open (e.g. '250ms', '2s'). Must be greater than 0. Only applicable for proxy-mode=userspace")
|
fs.DurationVar(&s.UDPIdleTimeout.Duration, "udp-timeout", s.UDPIdleTimeout.Duration, "How long an idle UDP connection will be kept open (e.g. '250ms', '2s'). Must be greater than 0. Only applicable for proxy-mode=userspace")
|
||||||
|
@ -178,6 +178,7 @@ func NewProxyServerDefault(config *options.ProxyServerConfig) (*ProxyServer, err
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeconfig.ContentType = config.ContentType
|
||||||
// Override kubeconfig qps/burst settings from flags
|
// Override kubeconfig qps/burst settings from flags
|
||||||
kubeconfig.QPS = config.KubeAPIQPS
|
kubeconfig.QPS = config.KubeAPIQPS
|
||||||
kubeconfig.Burst = config.KubeAPIBurst
|
kubeconfig.Burst = config.KubeAPIBurst
|
||||||
|
@ -245,6 +245,7 @@ func (s *KubeletServer) AddFlags(fs *pflag.FlagSet) {
|
|||||||
fs.Var(&s.SystemReserved, "system-reserved", "A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently only cpu and memory are supported. See http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md for more detail. [default=none]")
|
fs.Var(&s.SystemReserved, "system-reserved", "A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently only cpu and memory are supported. See http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md for more detail. [default=none]")
|
||||||
fs.Var(&s.KubeReserved, "kube-reserved", "A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for kubernetes system components. Currently only cpu and memory are supported. See http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md for more detail. [default=none]")
|
fs.Var(&s.KubeReserved, "kube-reserved", "A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for kubernetes system components. Currently only cpu and memory are supported. See http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md for more detail. [default=none]")
|
||||||
fs.BoolVar(&s.RegisterSchedulable, "register-schedulable", s.RegisterSchedulable, "Register the node as schedulable. No-op if register-node is false. [default=true]")
|
fs.BoolVar(&s.RegisterSchedulable, "register-schedulable", s.RegisterSchedulable, "Register the node as schedulable. No-op if register-node is false. [default=true]")
|
||||||
|
fs.StringVar(&s.ContentType, "kube-api-content-type", s.ContentType, "ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.")
|
||||||
fs.Float32Var(&s.KubeAPIQPS, "kube-api-qps", s.KubeAPIQPS, "QPS to use while talking with kubernetes apiserver")
|
fs.Float32Var(&s.KubeAPIQPS, "kube-api-qps", s.KubeAPIQPS, "QPS to use while talking with kubernetes apiserver")
|
||||||
fs.IntVar(&s.KubeAPIBurst, "kube-api-burst", s.KubeAPIBurst, "Burst to use while talking with kubernetes apiserver")
|
fs.IntVar(&s.KubeAPIBurst, "kube-api-burst", s.KubeAPIBurst, "Burst to use while talking with kubernetes apiserver")
|
||||||
fs.BoolVar(&s.SerializeImagePulls, "serialize-image-pulls", s.SerializeImagePulls, "Pull images one at a time. We recommend *not* changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Issue #10959 has more details. [default=true]")
|
fs.BoolVar(&s.SerializeImagePulls, "serialize-image-pulls", s.SerializeImagePulls, "Pull images one at a time. We recommend *not* changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Issue #10959 has more details. [default=true]")
|
||||||
|
@ -470,6 +470,7 @@ func CreateAPIServerClientConfig(s *options.KubeletServer) (*restclient.Config,
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clientConfig.ContentType = s.ContentType
|
||||||
// Override kubeconfig qps/burst settings from flags
|
// Override kubeconfig qps/burst settings from flags
|
||||||
clientConfig.QPS = s.KubeAPIQPS
|
clientConfig.QPS = s.KubeAPIQPS
|
||||||
clientConfig.Burst = s.KubeAPIBurst
|
clientConfig.Burst = s.KubeAPIBurst
|
||||||
|
@ -45,6 +45,7 @@ type HollowNodeConfig struct {
|
|||||||
Morph string
|
Morph string
|
||||||
NodeName string
|
NodeName string
|
||||||
ServerPort int
|
ServerPort int
|
||||||
|
ContentType string
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -60,17 +61,19 @@ func (c *HollowNodeConfig) addFlags(fs *pflag.FlagSet) {
|
|||||||
fs.StringVar(&c.NodeName, "name", "fake-node", "Name of this Hollow Node.")
|
fs.StringVar(&c.NodeName, "name", "fake-node", "Name of this Hollow Node.")
|
||||||
fs.IntVar(&c.ServerPort, "api-server-port", 443, "Port on which API server is listening.")
|
fs.IntVar(&c.ServerPort, "api-server-port", 443, "Port on which API server is listening.")
|
||||||
fs.StringVar(&c.Morph, "morph", "", fmt.Sprintf("Specifies into which Hollow component this binary should morph. Allowed values: %v", knownMorphs.List()))
|
fs.StringVar(&c.Morph, "morph", "", fmt.Sprintf("Specifies into which Hollow component this binary should morph. Allowed values: %v", knownMorphs.List()))
|
||||||
|
fs.StringVar(&c.ContentType, "kube-api-content-type", "application/json", "ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.")
|
||||||
}
|
}
|
||||||
|
|
||||||
func createClientFromFile(path string) (*client.Client, error) {
|
func (c *HollowNodeConfig) createClientFromFile() (*client.Client, error) {
|
||||||
c, err := clientcmd.LoadFromFile(path)
|
clientConfig, err := clientcmd.LoadFromFile(c.KubeconfigPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error while loading kubeconfig from file %v: %v", path, err)
|
return nil, fmt.Errorf("error while loading kubeconfig from file %v: %v", c.KubeconfigPath, err)
|
||||||
}
|
}
|
||||||
config, err := clientcmd.NewDefaultClientConfig(*c, &clientcmd.ConfigOverrides{}).ClientConfig()
|
config, err := clientcmd.NewDefaultClientConfig(*clientConfig, &clientcmd.ConfigOverrides{}).ClientConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error while creating kubeconfig: %v", err)
|
return nil, fmt.Errorf("error while creating kubeconfig: %v", err)
|
||||||
}
|
}
|
||||||
|
config.ContentType = c.ContentType
|
||||||
client, err := client.New(config)
|
client, err := client.New(config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error while creating client: %v", err)
|
return nil, fmt.Errorf("error while creating client: %v", err)
|
||||||
@ -90,7 +93,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create a client to communicate with API server.
|
// create a client to communicate with API server.
|
||||||
cl, err := createClientFromFile(config.KubeconfigPath)
|
cl, err := config.createClientFromFile()
|
||||||
clientset := clientset.FromUnversionedClient(cl)
|
clientset := clientset.FromUnversionedClient(cl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Fatal("Failed to create a Client. Exiting.")
|
glog.Fatal("Failed to create a Client. Exiting.")
|
||||||
|
@ -76,6 +76,7 @@ kube-controller-manager
|
|||||||
--google-json-key="": The Google Cloud Platform Service Account JSON Key to use for authentication.
|
--google-json-key="": The Google Cloud Platform Service Account JSON Key to use for authentication.
|
||||||
--horizontal-pod-autoscaler-sync-period=30s: The period for syncing the number of pods in horizontal pod autoscaler.
|
--horizontal-pod-autoscaler-sync-period=30s: The period for syncing the number of pods in horizontal pod autoscaler.
|
||||||
--kube-api-burst=30: Burst to use while talking with kubernetes apiserver
|
--kube-api-burst=30: Burst to use while talking with kubernetes apiserver
|
||||||
|
--kube-api-content-type="": ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.
|
||||||
--kube-api-qps=20: QPS to use while talking with kubernetes apiserver
|
--kube-api-qps=20: QPS to use while talking with kubernetes apiserver
|
||||||
--kubeconfig="": Path to kubeconfig file with authorization and master location information.
|
--kubeconfig="": Path to kubeconfig file with authorization and master location information.
|
||||||
--leader-elect[=false]: Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.
|
--leader-elect[=false]: Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.
|
||||||
@ -109,7 +110,7 @@ kube-controller-manager
|
|||||||
--terminated-pod-gc-threshold=12500: Number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods. If <= 0, the terminated pod garbage collector is disabled.
|
--terminated-pod-gc-threshold=12500: Number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods. If <= 0, the terminated pod garbage collector is disabled.
|
||||||
```
|
```
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 5-Apr-2016
|
###### Auto generated by spf13/cobra on 21-Apr-2016
|
||||||
|
|
||||||
|
|
||||||
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
||||||
|
@ -67,6 +67,7 @@ kube-proxy
|
|||||||
--iptables-masquerade-bit=14: If using the pure iptables proxy, the bit of the fwmark space to mark packets requiring SNAT with. Must be within the range [0, 31].
|
--iptables-masquerade-bit=14: If using the pure iptables proxy, the bit of the fwmark space to mark packets requiring SNAT with. Must be within the range [0, 31].
|
||||||
--iptables-sync-period=30s: How often iptables rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0.
|
--iptables-sync-period=30s: How often iptables rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0.
|
||||||
--kube-api-burst=10: Burst to use while talking with kubernetes apiserver
|
--kube-api-burst=10: Burst to use while talking with kubernetes apiserver
|
||||||
|
--kube-api-content-type="": ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.
|
||||||
--kube-api-qps=5: QPS to use while talking with kubernetes apiserver
|
--kube-api-qps=5: QPS to use while talking with kubernetes apiserver
|
||||||
--kubeconfig="": Path to kubeconfig file with authorization information (the master location is set by the master flag).
|
--kubeconfig="": Path to kubeconfig file with authorization information (the master location is set by the master flag).
|
||||||
--log-flush-frequency=5s: Maximum number of seconds between log flushes
|
--log-flush-frequency=5s: Maximum number of seconds between log flushes
|
||||||
@ -78,7 +79,7 @@ kube-proxy
|
|||||||
--udp-timeout=250ms: How long an idle UDP connection will be kept open (e.g. '250ms', '2s'). Must be greater than 0. Only applicable for proxy-mode=userspace
|
--udp-timeout=250ms: How long an idle UDP connection will be kept open (e.g. '250ms', '2s'). Must be greater than 0. Only applicable for proxy-mode=userspace
|
||||||
```
|
```
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 18-Apr-2016
|
###### Auto generated by spf13/cobra on 21-Apr-2016
|
||||||
|
|
||||||
|
|
||||||
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
||||||
|
@ -58,6 +58,7 @@ kube-scheduler
|
|||||||
--algorithm-provider="DefaultProvider": The scheduling algorithm provider to use, one of: DefaultProvider
|
--algorithm-provider="DefaultProvider": The scheduling algorithm provider to use, one of: DefaultProvider
|
||||||
--google-json-key="": The Google Cloud Platform Service Account JSON Key to use for authentication.
|
--google-json-key="": The Google Cloud Platform Service Account JSON Key to use for authentication.
|
||||||
--kube-api-burst=100: Burst to use while talking with kubernetes apiserver
|
--kube-api-burst=100: Burst to use while talking with kubernetes apiserver
|
||||||
|
--kube-api-content-type="": ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.
|
||||||
--kube-api-qps=50: QPS to use while talking with kubernetes apiserver
|
--kube-api-qps=50: QPS to use while talking with kubernetes apiserver
|
||||||
--kubeconfig="": Path to kubeconfig file with authorization and master location information.
|
--kubeconfig="": Path to kubeconfig file with authorization and master location information.
|
||||||
--leader-elect[=false]: Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.
|
--leader-elect[=false]: Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.
|
||||||
@ -72,7 +73,7 @@ kube-scheduler
|
|||||||
--scheduler-name="default-scheduler": Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's annotation with key 'scheduler.alpha.kubernetes.io/name'
|
--scheduler-name="default-scheduler": Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's annotation with key 'scheduler.alpha.kubernetes.io/name'
|
||||||
```
|
```
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 28-Jan-2016
|
###### Auto generated by spf13/cobra on 21-Apr-2016
|
||||||
|
|
||||||
|
|
||||||
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
||||||
|
@ -101,6 +101,7 @@ kubelet
|
|||||||
--image-gc-high-threshold=90: The percent of disk usage after which image garbage collection is always run. Default: 90%
|
--image-gc-high-threshold=90: The percent of disk usage after which image garbage collection is always run. Default: 90%
|
||||||
--image-gc-low-threshold=80: The percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. Default: 80%
|
--image-gc-low-threshold=80: The percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. Default: 80%
|
||||||
--kube-api-burst=10: Burst to use while talking with kubernetes apiserver
|
--kube-api-burst=10: Burst to use while talking with kubernetes apiserver
|
||||||
|
--kube-api-content-type="": ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.
|
||||||
--kube-api-qps=5: QPS to use while talking with kubernetes apiserver
|
--kube-api-qps=5: QPS to use while talking with kubernetes apiserver
|
||||||
--kube-reserved=: A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for kubernetes system components. Currently only cpu and memory are supported. See http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md for more detail. [default=none]
|
--kube-reserved=: A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for kubernetes system components. Currently only cpu and memory are supported. See http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md for more detail. [default=none]
|
||||||
--kubeconfig="/var/lib/kubelet/kubeconfig": Path to a kubeconfig file, specifying how to authenticate to API server (the master location is set by the api-servers flag).
|
--kubeconfig="/var/lib/kubelet/kubeconfig": Path to a kubeconfig file, specifying how to authenticate to API server (the master location is set by the api-servers flag).
|
||||||
@ -152,7 +153,7 @@ kubelet
|
|||||||
--volume-stats-agg-period=1m0s: Specifies interval for kubelet to calculate and cache the volume disk usage for all pods and volumes. To disable volume calculations, set to 0. Default: '1m'
|
--volume-stats-agg-period=1m0s: Specifies interval for kubelet to calculate and cache the volume disk usage for all pods and volumes. To disable volume calculations, set to 0. Default: '1m'
|
||||||
```
|
```
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 28-Mar-2016
|
###### Auto generated by spf13/cobra on 21-Apr-2016
|
||||||
|
|
||||||
|
|
||||||
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
||||||
|
@ -187,6 +187,7 @@ keep-gogoproto
|
|||||||
km-path
|
km-path
|
||||||
kube-api-burst
|
kube-api-burst
|
||||||
kube-api-qps
|
kube-api-qps
|
||||||
|
kube-api-content-type
|
||||||
kube-master
|
kube-master
|
||||||
kube-master
|
kube-master
|
||||||
kube-master-url
|
kube-master-url
|
||||||
|
@ -119,6 +119,7 @@ func DeepCopy_componentconfig_KubeControllerManagerConfiguration(in KubeControll
|
|||||||
out.ClusterCIDR = in.ClusterCIDR
|
out.ClusterCIDR = in.ClusterCIDR
|
||||||
out.AllocateNodeCIDRs = in.AllocateNodeCIDRs
|
out.AllocateNodeCIDRs = in.AllocateNodeCIDRs
|
||||||
out.RootCAFile = in.RootCAFile
|
out.RootCAFile = in.RootCAFile
|
||||||
|
out.ContentType = in.ContentType
|
||||||
out.KubeAPIQPS = in.KubeAPIQPS
|
out.KubeAPIQPS = in.KubeAPIQPS
|
||||||
out.KubeAPIBurst = in.KubeAPIBurst
|
out.KubeAPIBurst = in.KubeAPIBurst
|
||||||
if err := DeepCopy_componentconfig_LeaderElectionConfiguration(in.LeaderElection, &out.LeaderElection, c); err != nil {
|
if err := DeepCopy_componentconfig_LeaderElectionConfiguration(in.LeaderElection, &out.LeaderElection, c); err != nil {
|
||||||
@ -184,6 +185,7 @@ func DeepCopy_componentconfig_KubeSchedulerConfiguration(in KubeSchedulerConfigu
|
|||||||
out.AlgorithmProvider = in.AlgorithmProvider
|
out.AlgorithmProvider = in.AlgorithmProvider
|
||||||
out.PolicyConfigFile = in.PolicyConfigFile
|
out.PolicyConfigFile = in.PolicyConfigFile
|
||||||
out.EnableProfiling = in.EnableProfiling
|
out.EnableProfiling = in.EnableProfiling
|
||||||
|
out.ContentType = in.ContentType
|
||||||
out.KubeAPIQPS = in.KubeAPIQPS
|
out.KubeAPIQPS = in.KubeAPIQPS
|
||||||
out.KubeAPIBurst = in.KubeAPIBurst
|
out.KubeAPIBurst = in.KubeAPIBurst
|
||||||
out.SchedulerName = in.SchedulerName
|
out.SchedulerName = in.SchedulerName
|
||||||
@ -280,6 +282,7 @@ func DeepCopy_componentconfig_KubeletConfiguration(in KubeletConfiguration, out
|
|||||||
out.MaxOpenFiles = in.MaxOpenFiles
|
out.MaxOpenFiles = in.MaxOpenFiles
|
||||||
out.ReconcileCIDR = in.ReconcileCIDR
|
out.ReconcileCIDR = in.ReconcileCIDR
|
||||||
out.RegisterSchedulable = in.RegisterSchedulable
|
out.RegisterSchedulable = in.RegisterSchedulable
|
||||||
|
out.ContentType = in.ContentType
|
||||||
out.KubeAPIQPS = in.KubeAPIQPS
|
out.KubeAPIQPS = in.KubeAPIQPS
|
||||||
out.KubeAPIBurst = in.KubeAPIBurst
|
out.KubeAPIBurst = in.KubeAPIBurst
|
||||||
out.SerializeImagePulls = in.SerializeImagePulls
|
out.SerializeImagePulls = in.SerializeImagePulls
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -313,6 +313,8 @@ type KubeletConfiguration struct {
|
|||||||
// registerSchedulable tells the kubelet to register the node as
|
// registerSchedulable tells the kubelet to register the node as
|
||||||
// schedulable. No-op if register-node is false.
|
// schedulable. No-op if register-node is false.
|
||||||
RegisterSchedulable bool `json:"registerSchedulable"`
|
RegisterSchedulable bool `json:"registerSchedulable"`
|
||||||
|
// contentType is contentType of requests sent to apiserver.
|
||||||
|
ContentType string `json:"contentType"`
|
||||||
// kubeAPIQPS is the QPS to use while talking with kubernetes apiserver
|
// kubeAPIQPS is the QPS to use while talking with kubernetes apiserver
|
||||||
KubeAPIQPS float32 `json:"kubeAPIQPS"`
|
KubeAPIQPS float32 `json:"kubeAPIQPS"`
|
||||||
// kubeAPIBurst is the burst to allow while talking with kubernetes
|
// kubeAPIBurst is the burst to allow while talking with kubernetes
|
||||||
@ -354,6 +356,8 @@ type KubeSchedulerConfiguration struct {
|
|||||||
PolicyConfigFile string `json:"policyConfigFile"`
|
PolicyConfigFile string `json:"policyConfigFile"`
|
||||||
// enableProfiling enables profiling via web interface.
|
// enableProfiling enables profiling via web interface.
|
||||||
EnableProfiling bool `json:"enableProfiling"`
|
EnableProfiling bool `json:"enableProfiling"`
|
||||||
|
// contentType is contentType of requests sent to apiserver.
|
||||||
|
ContentType string `json:"contentType"`
|
||||||
// kubeAPIQPS is the QPS to use while talking with kubernetes apiserver.
|
// kubeAPIQPS is the QPS to use while talking with kubernetes apiserver.
|
||||||
KubeAPIQPS float32 `json:"kubeAPIQPS"`
|
KubeAPIQPS float32 `json:"kubeAPIQPS"`
|
||||||
// kubeAPIBurst is the QPS burst to use while talking with kubernetes apiserver.
|
// kubeAPIBurst is the QPS burst to use while talking with kubernetes apiserver.
|
||||||
@ -506,13 +510,15 @@ type KubeControllerManagerConfiguration struct {
|
|||||||
// rootCAFile is the root certificate authority will be included in service
|
// rootCAFile is the root certificate authority will be included in service
|
||||||
// account's token secret. This must be a valid PEM-encoded CA bundle.
|
// account's token secret. This must be a valid PEM-encoded CA bundle.
|
||||||
RootCAFile string `json:"rootCAFile"`
|
RootCAFile string `json:"rootCAFile"`
|
||||||
|
// contentType is contentType of requests sent to apiserver.
|
||||||
|
ContentType string `json:"contentType"`
|
||||||
// kubeAPIQPS is the QPS to use while talking with kubernetes apiserver.
|
// kubeAPIQPS is the QPS to use while talking with kubernetes apiserver.
|
||||||
KubeAPIQPS float32 `json:"kubeAPIQPS"`
|
KubeAPIQPS float32 `json:"kubeAPIQPS"`
|
||||||
// kubeAPIBurst is the burst to use while talking with kubernetes apiserver.
|
// kubeAPIBurst is the burst to use while talking with kubernetes apiserver.
|
||||||
KubeAPIBurst int `json:"kubeAPIBurst"`
|
KubeAPIBurst int `json:"kubeAPIBurst"`
|
||||||
// leaderElection defines the configuration of leader election client.
|
// leaderElection defines the configuration of leader election client.
|
||||||
LeaderElection LeaderElectionConfiguration `json:"leaderElection"`
|
LeaderElection LeaderElectionConfiguration `json:"leaderElection"`
|
||||||
// vloumeConfiguration holds configuration for volume related features.
|
// volumeConfiguration holds configuration for volume related features.
|
||||||
VolumeConfiguration VolumeConfiguration `json:"volumeConfiguration"`
|
VolumeConfiguration VolumeConfiguration `json:"volumeConfiguration"`
|
||||||
// How long to wait between starting controller managers
|
// How long to wait between starting controller managers
|
||||||
ControllerStartInterval unversioned.Duration `json:"controllerStartInterval"`
|
ControllerStartInterval unversioned.Duration `json:"controllerStartInterval"`
|
||||||
|
@ -159,6 +159,7 @@ func autoConvert_v1alpha1_KubeSchedulerConfiguration_To_componentconfig_KubeSche
|
|||||||
if err := api.Convert_Pointer_bool_To_bool(&in.EnableProfiling, &out.EnableProfiling, s); err != nil {
|
if err := api.Convert_Pointer_bool_To_bool(&in.EnableProfiling, &out.EnableProfiling, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
out.ContentType = in.ContentType
|
||||||
out.KubeAPIQPS = in.KubeAPIQPS
|
out.KubeAPIQPS = in.KubeAPIQPS
|
||||||
out.KubeAPIBurst = in.KubeAPIBurst
|
out.KubeAPIBurst = in.KubeAPIBurst
|
||||||
out.SchedulerName = in.SchedulerName
|
out.SchedulerName = in.SchedulerName
|
||||||
@ -186,6 +187,7 @@ func autoConvert_componentconfig_KubeSchedulerConfiguration_To_v1alpha1_KubeSche
|
|||||||
if err := api.Convert_bool_To_Pointer_bool(&in.EnableProfiling, &out.EnableProfiling, s); err != nil {
|
if err := api.Convert_bool_To_Pointer_bool(&in.EnableProfiling, &out.EnableProfiling, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
out.ContentType = in.ContentType
|
||||||
out.KubeAPIQPS = in.KubeAPIQPS
|
out.KubeAPIQPS = in.KubeAPIQPS
|
||||||
out.KubeAPIBurst = in.KubeAPIBurst
|
out.KubeAPIBurst = in.KubeAPIBurst
|
||||||
out.SchedulerName = in.SchedulerName
|
out.SchedulerName = in.SchedulerName
|
||||||
|
@ -94,6 +94,7 @@ func DeepCopy_v1alpha1_KubeSchedulerConfiguration(in KubeSchedulerConfiguration,
|
|||||||
} else {
|
} else {
|
||||||
out.EnableProfiling = nil
|
out.EnableProfiling = nil
|
||||||
}
|
}
|
||||||
|
out.ContentType = in.ContentType
|
||||||
out.KubeAPIQPS = in.KubeAPIQPS
|
out.KubeAPIQPS = in.KubeAPIQPS
|
||||||
out.KubeAPIBurst = in.KubeAPIBurst
|
out.KubeAPIBurst = in.KubeAPIBurst
|
||||||
out.SchedulerName = in.SchedulerName
|
out.SchedulerName = in.SchedulerName
|
||||||
|
@ -95,6 +95,8 @@ type KubeSchedulerConfiguration struct {
|
|||||||
PolicyConfigFile string `json:"policyConfigFile"`
|
PolicyConfigFile string `json:"policyConfigFile"`
|
||||||
// enableProfiling enables profiling via web interface.
|
// enableProfiling enables profiling via web interface.
|
||||||
EnableProfiling *bool `json:"enableProfiling"`
|
EnableProfiling *bool `json:"enableProfiling"`
|
||||||
|
// contentType is contentType of requests sent to apiserver.
|
||||||
|
ContentType string `json:"contentType"`
|
||||||
// kubeAPIQPS is the QPS to use while talking with kubernetes apiserver.
|
// kubeAPIQPS is the QPS to use while talking with kubernetes apiserver.
|
||||||
KubeAPIQPS float32 `json:"kubeAPIQPS"`
|
KubeAPIQPS float32 `json:"kubeAPIQPS"`
|
||||||
// kubeAPIBurst is the QPS burst to use while talking with kubernetes apiserver.
|
// kubeAPIBurst is the QPS burst to use while talking with kubernetes apiserver.
|
||||||
|
@ -63,6 +63,7 @@ func (s *SchedulerServer) AddFlags(fs *pflag.FlagSet) {
|
|||||||
var unusedBindPodsBurst int
|
var unusedBindPodsBurst int
|
||||||
fs.IntVar(&unusedBindPodsBurst, "bind-pods-burst", 0, "unused, use --kube-api-burst")
|
fs.IntVar(&unusedBindPodsBurst, "bind-pods-burst", 0, "unused, use --kube-api-burst")
|
||||||
fs.MarkDeprecated("bind-pods-burst", "flag is unused and will be removed. Use kube-api-burst instead.")
|
fs.MarkDeprecated("bind-pods-burst", "flag is unused and will be removed. Use kube-api-burst instead.")
|
||||||
|
fs.StringVar(&s.ContentType, "kube-api-content-type", s.ContentType, "ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.")
|
||||||
fs.Float32Var(&s.KubeAPIQPS, "kube-api-qps", s.KubeAPIQPS, "QPS to use while talking with kubernetes apiserver")
|
fs.Float32Var(&s.KubeAPIQPS, "kube-api-qps", s.KubeAPIQPS, "QPS to use while talking with kubernetes apiserver")
|
||||||
fs.IntVar(&s.KubeAPIBurst, "kube-api-burst", s.KubeAPIBurst, "Burst to use while talking with kubernetes apiserver")
|
fs.IntVar(&s.KubeAPIBurst, "kube-api-burst", s.KubeAPIBurst, "Burst to use while talking with kubernetes apiserver")
|
||||||
fs.StringVar(&s.SchedulerName, "scheduler-name", s.SchedulerName, "Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's annotation with key 'scheduler.alpha.kubernetes.io/name'")
|
fs.StringVar(&s.SchedulerName, "scheduler-name", s.SchedulerName, "Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's annotation with key 'scheduler.alpha.kubernetes.io/name'")
|
||||||
|
@ -79,6 +79,7 @@ func Run(s *options.SchedulerServer) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeconfig.ContentType = s.ContentType
|
||||||
// Override kubeconfig qps/burst settings from flags
|
// Override kubeconfig qps/burst settings from flags
|
||||||
kubeconfig.QPS = s.KubeAPIQPS
|
kubeconfig.QPS = s.KubeAPIQPS
|
||||||
kubeconfig.Burst = s.KubeAPIBurst
|
kubeconfig.Burst = s.KubeAPIBurst
|
||||||
|
Loading…
Reference in New Issue
Block a user