Change Scheduler for k3s
k3s 调度问题 k8s 默认调度器不会更具节点的实际负载进行调度,只会根据request中申请的资源来。所以会导致多数的部署都是往一台比较强劲的节点上,或者新加入的节点不会有任何的pod分配过来。 metrics-server 使用 k8s 默认的metrics-server 来获取节点资源使用情况 kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml load-watcher 为 trimaran 打分时提供当前node的资源使用情况数据。 上游项目地址: https://github.com/paypal/load-watcher 镜像: https://github.com/tsic404/docker-images/pkgs/container/load-watcher 为了 load-watcher 方便读取集群各个节点的资源使用信息,将kubeconfig作为configmap传递到容器中,并指定 KUBE_CONFIG 环境变量。 --- # kube-config configmap apiVersion: v1 kind: ConfigMap metadata: name: kube-config labels: app: load-watcher namespace: loadwatcher immutable: true data: kube-config: | xxxxx --- apiVersion: apps/v1 kind: Deployment metadata: name: load-watcher-deployment namespace: loadwatcher labels: app: load-watcher spec: replicas: 1 selector: matchLabels: app: load-watcher template: metadata: labels: app: load-watcher spec: containers: - name: load-watcher image: ghcr....