<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OPSaid – 控制平面</title><link>https://opsaid.net/docs/cloud-native/kubernetes/control-plane/</link><description>Recent content in 控制平面 on OPSaid</description><generator>Hugo -- gohugo.io</generator><atom:link href="https://opsaid.net/docs/cloud-native/kubernetes/control-plane/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: kube-apiserver 配置</title><link>https://opsaid.net/docs/cloud-native/kubernetes/control-plane/kube-apiserver-config/</link><pubDate>Mon, 19 Dec 2022 11:34:43 +0800</pubDate><guid>https://opsaid.net/docs/cloud-native/kubernetes/control-plane/kube-apiserver-config/</guid><description>
&lt;h2 id="简要概述">简要概述&lt;/h2>
&lt;p>一些关键参数说明。&lt;/p>
&lt;h2 id="参数解析">参数解析&lt;/h2>
&lt;h3 id="节点异常后-pod-重建时间">节点异常后 Pod 重建时间&lt;/h3>
&lt;p>配置以下参数，默认值为 300 秒：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>--default-not-ready-toleration-seconds=300
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--default-unreachable-toleration-seconds=300
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>同时开启 TaintNodesByCondition 控制器，默认也是启用的：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>--enable-admission-plugins=TaintNodesByCondition
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样在创建生成 Pod 时，会自动添加以下 tolerations 分别表示对污点 &amp;ldquo;NotReady:NoExecute&amp;rdquo;、&amp;ldquo;Unreachable:NoExecute&amp;rdquo; 的容忍时长：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>apiVersion: v1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kind: Pod
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>metadata:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>spec:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> containers:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>......
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> tolerations:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - effect: NoExecute
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> key: node.kubernetes.io/not-ready
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> operator: Exists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> tolerationSeconds: 300
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - effect: NoExecute
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> key: node.kubernetes.io/unreachable
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> operator: Exists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> tolerationSeconds: 300
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>以上说明当节点出现 &amp;ldquo;node.kubernetes.io/not-ready&amp;rdquo; 或 &amp;ldquo;node.kubernetes.io/unreachable&amp;rdquo; 时，该 Pod 还将在这个节点上运行多长时间，如默认集群节点判断不健康需要 40s 则以上发生 Pod 被驱逐需要 340s（40s + 300s）时间。&lt;/p>
&lt;h3 id="在集群级别应用-pod-安全标准">在集群级别应用 Pod 安全标准&lt;/h3>
&lt;p>涉及参数：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>--admission-control-config-file
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>配置示例：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>--admission-control-config-file=/etc/kubernetes/policies/admission-controls.yaml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/kubernetes/policies/admission-controls.yaml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>apiVersion: apiserver.config.k8s.io/v1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kind: AdmissionConfiguration
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>plugins:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- name: PodSecurity
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> configuration:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> apiVersion: pod-security.admission.config.k8s.io/v1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> kind: PodSecurityConfiguration
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> defaults:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> enforce: &amp;#34;baseline&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> enforce-version: &amp;#34;latest&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> audit: &amp;#34;restricted&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> audit-version: &amp;#34;latest&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> warn: &amp;#34;restricted&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> warn-version: &amp;#34;latest&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> exemptions:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> usernames: []
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> runtimeClasses: []
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> namespaces: [kube-system]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>EOF
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这里使用 &lt;a href="https://opsaid.net/docs/identity-security/kubernetes-security/admission/">AdmissionConfiguration&lt;/a> 配置了一个静态的 PodSecurity 准入控制器。说明如果违反 &amp;ldquo;baseline&amp;rdquo; 则不允许创建 Pod，如果违反 &amp;ldquo;restricted&amp;rdquo; 模式，则记录审计日志并在终端输出警告。具体配置可参考 &lt;a href="https://kubernetes.io/zh-cn/docs/concepts/security/pod-security-standards/">Pod 安全标准&lt;/a>。&lt;/p></description></item><item><title>Docs: kube-controller-manager 配置</title><link>https://opsaid.net/docs/cloud-native/kubernetes/control-plane/kube-controller-manager-config/</link><pubDate>Mon, 19 Dec 2022 11:34:43 +0800</pubDate><guid>https://opsaid.net/docs/cloud-native/kubernetes/control-plane/kube-controller-manager-config/</guid><description>
&lt;h2 id="简要概述">简要概述&lt;/h2>
&lt;p>TODO;&lt;/p>
&lt;h2 id="参数解析">参数解析&lt;/h2>
&lt;h3 id="节点被标记为不健康的时间">节点被标记为不健康的时间&lt;/h3>
&lt;p>涉及参数：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>--node-monitor-grace-period=40s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>在将一个 Node 标记为不健康之前允许其无响应的时长上限，必须比 kubelet 的 nodeStatusUpdateFrequency 大 N 倍，这里 N 指的是 kubelet 发送节点状态的重试次数。&lt;/p>
&lt;h3 id="为每个节点分配-cidr-地址">为每个节点分配 cidr 地址&lt;/h3>
&lt;p>涉及参数：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>--allocate-node-cidrs=true
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--cluster-cidr=192.168.202.0/24
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--node-cidr-mask-size=28
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>此时控制器将会按照 &amp;ldquo;cluster-cidr&amp;rdquo; 的网段为每个节点分配地址段，使用 &amp;ldquo;node-cidr-mask-size&amp;rdquo; 作为子网掩码并写入 Node 如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># kubectl get node 192.168.0.2 -o yaml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>apiVersion: v1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kind: Node
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>metadata:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> name: 192.168.0.2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>spec:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> podCIDR: 192.168.202.0/28
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> podCIDRs:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - 192.168.202.0/28
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果 &lt;code>allocate-node-cidrs=false&lt;/code> 时，为以下结果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>apiVersion: v1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kind: Node
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>metadata:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> name: 192.168.0.2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>spec: &lt;span style="color:#ce5c00;font-weight:bold">{}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>针对不同的 cni 实现不一定需要开启该功能，如使用 &amp;ldquo;cilium&amp;rdquo; 的 &amp;ldquo;ipam=kubernetes&amp;rdquo; 则需要开启。&lt;/p></description></item><item><title>Docs: kube-scheduler 配置</title><link>https://opsaid.net/docs/cloud-native/kubernetes/control-plane/kube-scheduler-config/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://opsaid.net/docs/cloud-native/kubernetes/control-plane/kube-scheduler-config/</guid><description>
&lt;h2 id="简要概述">简要概述&lt;/h2>
&lt;p>kube-scheduler 主要配置已经均迁移至 &lt;a href="https://kubernetes.io/docs/reference/config-api/kube-scheduler-config.v1/">KubeSchedulerConfiguration&lt;/a> 不建议在启动命令行上配置。&lt;/p>
&lt;h2 id="kubeschedulerconfiguration">KubeSchedulerConfiguration&lt;/h2>
&lt;blockquote>
&lt;blockquote>
&lt;p>github.com/kubernetes/kubernetes/src/k8s.io/kube-scheduler/config/v1/types.go&lt;/p>
&lt;/blockquote>
&lt;/blockquote>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-golang" data-lang="golang">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">// KubeSchedulerConfiguration configures a scheduler
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span>&lt;span style="color:#204a87;font-weight:bold">type&lt;/span> &lt;span style="color:#000">KubeSchedulerConfiguration&lt;/span> &lt;span style="color:#204a87;font-weight:bold">struct&lt;/span> &lt;span style="color:#000;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">metav1&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">TypeMeta&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;,inline&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#8f5902;font-style:italic">// Parallelism defines the amount of parallelism in algorithms for scheduling a Pods. Must be greater than 0. Defaults to 16
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#000">Parallelism&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">*&lt;/span>&lt;span style="color:#204a87;font-weight:bold">int32&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;parallelism,omitempty&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#8f5902;font-style:italic">// LeaderElection defines the configuration of leader election client.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#000">LeaderElection&lt;/span> &lt;span style="color:#000">componentbaseconfigv1alpha1&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">LeaderElectionConfiguration&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;leaderElection&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#8f5902;font-style:italic">// ClientConnection specifies the kubeconfig file and client connection
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// settings for the proxy server to use when communicating with the apiserver.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#000">ClientConnection&lt;/span> &lt;span style="color:#000">componentbaseconfigv1alpha1&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">ClientConnectionConfiguration&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;clientConnection&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#8f5902;font-style:italic">// DebuggingConfiguration holds configuration for Debugging related features
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// TODO: We might wanna make this a substruct like Debugging componentbaseconfigv1alpha1.DebuggingConfiguration
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#000">componentbaseconfigv1alpha1&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">DebuggingConfiguration&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;,inline&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#8f5902;font-style:italic">// PercentageOfNodesToScore is the percentage of all nodes that once found feasible
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// for running a pod, the scheduler stops its search for more feasible nodes in
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// the cluster. This helps improve scheduler&amp;#39;s performance. Scheduler always tries to find
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// at least &amp;#34;minFeasibleNodesToFind&amp;#34; feasible nodes no matter what the value of this flag is.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// Example: if the cluster size is 500 nodes and the value of this flag is 30,
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// then scheduler stops finding further feasible nodes once it finds 150 feasible ones.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// When the value is 0, default percentage (5%--50% based on the size of the cluster) of the
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// nodes will be scored. It is overridden by profile level PercentageofNodesToScore.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#000">PercentageOfNodesToScore&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">*&lt;/span>&lt;span style="color:#204a87;font-weight:bold">int32&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;percentageOfNodesToScore,omitempty&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#8f5902;font-style:italic">// PodInitialBackoffSeconds is the initial backoff for unschedulable pods.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// If specified, it must be greater than 0. If this value is null, the default value (1s)
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// will be used.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#000">PodInitialBackoffSeconds&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">*&lt;/span>&lt;span style="color:#204a87;font-weight:bold">int64&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;podInitialBackoffSeconds,omitempty&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#8f5902;font-style:italic">// PodMaxBackoffSeconds is the max backoff for unschedulable pods.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// If specified, it must be greater than podInitialBackoffSeconds. If this value is null,
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// the default value (10s) will be used.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#000">PodMaxBackoffSeconds&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">*&lt;/span>&lt;span style="color:#204a87;font-weight:bold">int64&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;podMaxBackoffSeconds,omitempty&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#8f5902;font-style:italic">// Profiles are scheduling profiles that kube-scheduler supports. Pods can
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// choose to be scheduled under a particular profile by setting its associated
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// scheduler name. Pods that don&amp;#39;t specify any scheduler name are scheduled
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// with the &amp;#34;default-scheduler&amp;#34; profile, if present here.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// +listType=map
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// +listMapKey=schedulerName
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#000">Profiles&lt;/span> &lt;span style="color:#000;font-weight:bold">[]&lt;/span>&lt;span style="color:#000">KubeSchedulerProfile&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;profiles,omitempty&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#8f5902;font-style:italic">// Extenders are the list of scheduler extenders, each holding the values of how to communicate
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// with the extender. These extenders are shared by all scheduler profiles.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#8f5902;font-style:italic">// +listType=set
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span> &lt;span style="color:#000">Extenders&lt;/span> &lt;span style="color:#000;font-weight:bold">[]&lt;/span>&lt;span style="color:#000">Extender&lt;/span> &lt;span style="color:#4e9a06">`json:&amp;#34;extenders,omitempty&amp;#34;`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="默认scheduler配置">默认scheduler配置&lt;/h2></description></item></channel></rss>