2042 kube-scheduler
三实例 kube-scheduler 的集群,启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态。当 leader 节点不可用时,阻塞的节点将再次进行选举产生新的 leader 节点,从而保证服务的可用性。
为保证通信安全,本文档先生成 x509 证书和私钥,kube-scheduler 在如下两种情况下使用该证书:
部署策略:
3 节点高可用;
使用 kubeconfig 访问 apiserver 的安全端口;
在安全端口(https,10251) 输出 prometheus 格式的 metrics。
部署软件规划
IP
部署软件包
10.40.61.116
kube-scheduler
10.40.58.153
kube-scheduler
10.40.58.154
kube-scheduler
01.创建kube-scheduler证书和私钥
创建证书签名请求:
cat > kube-scheduler-csr.json <<EOF
{
"CN": "system:kube-scheduler",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "China",
"L": "Beijing",
"O": "Kubernetes",
"OU": "Kubernetes",
"ST": "Beijing"
}
]
}
EOFCN为 system:kube-scheduler,kubernetes 内置的 ClusterRoleBindings system:kube-scheduler 将赋予 kube-scheduler 工作所需的权限。
创建 kube-scheduler 凭证与私钥:
结果将产生以下两个文件:
02.创建kubeconfig文件
先确定apiserver对外提供服务的地址
设置集群参数
设置客户端认证参数
设置上下文参数
设置默认上下文
03.使用systemd管理kube-scheduler
启动参数的请看kube-scheduler
04.启动/停止 kube-scheduler
kube-schedulercan be started and stopped as follows:
05.验证
检查服务:
检查端口:
kube-scheduler 监听 10251 和 10259 端口:
10251:接收 http 请求,非安全端口,不需要认证授权;
10259:接收 https 请求,安全端口,需要认证授权。
两个接口都对外提供 /metrics 和 /healthz 的访问。
请求/metrice测试
05.参数详解
专注于调度,参数没多少,全在代码逻辑中了。
启动命令
参数用途说明
开启选举。
同kube-controller-manager
06.Q&A
Q:
A: 设置客户端认证参数的时候--client-key和--client-certificate设置的相同, 正确的设置如下
最后更新于
这有帮助吗?