- 在开始之前需要准备什么?
- 创建kube-scheduler证书请求文件【即证书的生成⓵】
- 根据上面证书配置文件生成kube-scheduler证书【即证书的生成⓶】
- 创建与关联kube-scheduler配置文件(为后面生成系统服务做准备)
- 创建kube-scheduler服务配置文件【准备系统服务⓵】
- 创建kube-scheduler启动配置文件【准备系统服务⓶】
- 同步kube-scheduler证书文件到对应的master节点【准备其它节点证书】
- 启动kube-scheduler服务【安装部署】
- 总结
继续上一篇文章《k8s二进制集群之kube-controller-manager部署》下面介绍一下k8s中的kube调度管理工具Kube Scheduler。
Kube Scheduler 是 Kubernetes 集群的核心组件之一,负责将新创建的 Pod 分配到集群中合适的节点(Node)上运行。它的核心目标是基于资源需求、调度策略和集群状态,为每个 Pod 选择一个最优的节点,确保集群资源的高效利用和应用的稳定运行。
其主要作用和特点:
- 资源调度:根据 Pod 的资源请求(如 CPU、内存)和节点的可用资源,选择能满足需求的节点。
- 策略匹配:通过预定义的调度策略(如节点亲和性、污点容忍、区域分布等),决定 Pod 的部署位置。
- 集群负载均衡:避免节点过载,尽量均衡分配 Pod,提升集群整体性能和稳定性。
在开始之前需要准备什么?
- Kube scheduler证书文件:如何去生成?
- 如何将kube scheduler制作成系统服务?
- 当证书和服务配置文件准备好后,怎么去关联到k8s服务?
下面我们跟着这些问题,往下看逐一去解决与安装部署。
创建kube-scheduler证书请求文件【即证书的生成⓵】
注:证书的关联的地址、信息需要根据你的实际情况去修改
cat > kube-scheduler-csr.json <<"EOF"
{
"CN":"system:kube-scheduler",
"hosts": [
"127.0.0.1",
"192.168.3.41",
"192.168.3.42",
"192.168.3.43"
],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [{
"C":"CN",
"ST":"zhejiang",
"L":"hangzhou",
"O":"system:kube-scheduler",
"OU":"system"
}]
}
EOF
根据上面证书配置文件生成kube-scheduler证书【即证书的生成⓶】
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes kube-scheduler-csr.json | cfssljson -bare kube-scheduler
输出以下示例信息表示证书生成成功,结果会在当前目录