Crane-scheduler 使用教程

Crane-scheduler 使用教程

crane-schedulerCrane scheduler is a Kubernetes scheduler which can schedule pod based on actual node load.项目地址:https://gitcode.com/gh_mirrors/cr/crane-scheduler

1. 项目介绍

Crane-scheduler 是一个基于 Kubernetes 的调度器插件集合,旨在根据节点的实际负载情况来调度 Pod。它通过动态调度策略,确保 Pod 能够被调度到负载较低的节点上,从而提高集群的整体资源利用率和稳定性。

Crane-scheduler 的核心功能包括:

  • 动态调度:根据节点的实时负载数据进行调度决策。
  • 负载感知:通过 Prometheus 收集节点的负载数据,并基于这些数据进行调度。

2. 项目快速启动

2.1 安装 Prometheus

确保你的 Kubernetes 集群已经安装了 Prometheus。如果没有安装,可以使用以下命令进行安装:

kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/main/bundle.yaml

2.2 安装 Crane-scheduler

  1. 克隆项目仓库:
git clone https://github.com/gocrane/crane-scheduler.git
cd crane-scheduler
  1. 安装 Crane-scheduler:
kubectl apply -f deploy/controller/rbac.yaml
kubectl apply -f deploy/controller/deployment.yaml
  1. 替换默认调度器为 Crane-scheduler:
KUBE_EDITOR="sed -i 's/v1beta2/v1beta1/g'" kubectl edit cm scheduler-config -n crane-system
KUBE_EDITOR="sed -i 's/0.0.23/0.0.20/g'" kubectl edit deploy crane-scheduler -n crane-system

2.3 测试 Crane-scheduler

使用以下示例 YAML 文件测试 Crane-scheduler:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: cpu-stress
spec:
  selector:
    matchLabels:
      app: cpu-stress
  replicas: 1
  template:
    metadata:
      labels:
        app: cpu-stress
    spec:
      schedulerName: crane-scheduler
      hostNetwork: true
      tolerations:
        - key: node.kubernetes.io/network-unavailable
          operator: Exists
          effect: NoSchedule
      containers:
        - name: stress
          image: docker.io/gocrane/stress:latest
          command: ["stress", "-c", "1"]
          resources:
            requests:
              memory: "1Gi"
              cpu: "1"
            limits:
              memory: "1Gi"
              cpu: "1"

3. 应用案例和最佳实践

3.1 负载均衡调度

在生产环境中,Crane-scheduler 可以帮助实现负载均衡调度,确保各个节点的负载分布均匀,避免某些节点过载而其他节点空闲的情况。

3.2 资源优化

通过动态调度策略,Crane-scheduler 可以有效利用集群中的资源,减少资源浪费,提高资源利用率。

4. 典型生态项目

4.1 Prometheus

Prometheus 是 Crane-scheduler 的重要依赖,用于收集和存储节点的负载数据。通过 Prometheus,Crane-scheduler 能够获取实时的节点负载信息,并基于这些信息进行调度决策。

4.2 Kubernetes

Crane-scheduler 是基于 Kubernetes 的调度器插件,因此 Kubernetes 是其核心生态项目。通过与 Kubernetes 的深度集成,Crane-scheduler 能够实现高效的 Pod 调度。


通过以上步骤,你可以快速启动并使用 Crane-scheduler,实现基于实际节点负载的 Pod 调度。

crane-schedulerCrane scheduler is a Kubernetes scheduler which can schedule pod based on actual node load.项目地址:https://gitcode.com/gh_mirrors/cr/crane-scheduler

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓华茵Doyle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值