1、kube_scheduler准备

默认kube_scheduler 部署在kube-apiserver部署的服务器上面服务器的配置等在这就不在列出来
二进制文件以及包含在kube-apiserver一起所以不在进行二进制的下载跟分发

2、生成kube_scheduler访问kube-apiserver 证书

cat << EOF | tee /apps/work/k8s/cfssl/k8s/k8s_scheduler.json
{"CN": "system:kube-scheduler","hosts": [""], "key": {"algo": "rsa","size": 2048},"names": [{"C": "CN","ST": "GuangDong","L": "GuangZhou","O": "system:kube-scheduler","OU": "Kubernetes-manual"}]
}
EOF##  生成 Kubernetes Scheduler 证书和私钥
cfssl gencert \-ca=/apps/work/k8s/cfssl/pki/k8s/k8s-ca.pem \-ca-key=/apps/work/k8s/cfssl/pki/k8s/k8s-ca-key.pem \-config=/apps/work/k8s/cfssl/ca-config.json \-profile=kubernetes \/apps/work/k8s/cfssl/k8s/k8s_scheduler.json | \cfssljson -bare /apps/work/k8s/cfssl/pki/k8s/k8s_scheduler

3、创建kube_scheduler.kubeconfig

cd /apps/work/k8s/kubernetes/server/config
kubectl config set-cluster kubernetes \--certificate-authority=/apps/work/k8s/cfssl/pki/k8s/k8s-ca.pem \--embed-certs=true \--server=https://192.168.3.10:5443 \--kubeconfig=kube_scheduler.kubeconfigkubectl config set-credentials system:kube-scheduler \--client-certificate=/apps/work/k8s/cfssl/pki/k8s/k8s_scheduler.pem \--embed-certs=true \--client-key=/apps/work/k8s/cfssl/pki/k8s/k8s_scheduler-key.pem \--kubeconfig=kube_scheduler.kubeconfig
kubectl config set-context kubernetes \--cluster=kubernetes \--user=system:kube-scheduler \--kubeconfig=kube_scheduler.kubeconfig
kubectl config use-context kubernetes --kubeconfig=kube_scheduler.kubeconfig
说明:--server=https://192.168.3.10:5443  为每台kube-apiserver IP加端口不使用vip ip 连接

4、kube_scheduler 一些特殊参数的说明

use-legacy-policy-config=true 创建自己的调度方法
--policy-config-file=/apps/kubernetes/config/scheduler-policy-config.json 自己的调度算法
vi scheduler-policy-config.json

{
"kind" : "Policy",
"apiVersion" : "v1",
"predicates" : [
{"name" : "PodFitsHostPorts"},
{"name" : "PodFitsResources"},
{"name" : "NoDiskConflict"},
{"name" : "NoVolumeZoneConflict"},
{"name" : "MatchNodeSelector"},
{"name" : "HostName"}
],
"priorities" : [
{"name" : "LeastRequestedPriority", "weight" : 1},
{"name" : "BalancedResourceAllocation", "weight" : 1},
{"name" : "ServiceSpreadingPriority", "weight" : 1},
{"name" : "EqualPriority", "weight" : 1}
],
"hardPodAffinitySymmetricWeight" : 10
}

说明: 这里使用默认调度算法不做修改

5、创建 kube_scheduler 启动配置 所有服务器配置一样

说明: --address不能是服务器ip如果写服务器的ip kubectl get cs 就会报错
cd /apps/work/k8s/kubernetes/server/conf
vi kube-scheduler
KUBE_SCHEDULER_OPTS=" \--logtostderr=false \--address=0.0.0.0 \--leader-elect=true \--kubeconfig=/apps/kubernetes/config/kube_scheduler.kubeconfig \--authentication-kubeconfig=/apps/kubernetes/config/kube_scheduler.kubeconfig \--authorization-kubeconfig=/apps/kubernetes/config/kube_scheduler.kubeconfig \--alsologtostderr=true \--kube-api-qps=100 \--kube-api-burst=100 \--log-dir=/apps/kubernetes/log \--v=2"

6、创建kube-scheduler.service 启动文件

cd /apps/work/k8s/kubernetes/
vi kube-scheduler.service
[Unit]
Description=Kubernetes Scheduler
Documentation=https://github.com/kubernetes/kubernetes[Service]
LimitNOFILE=1024000
LimitNPROC=1024000
LimitCORE=infinity
LimitMEMLOCK=infinityEnvironmentFile=-/apps/kubernetes/conf/kube-scheduler
ExecStart=/apps/kubernetes/bin/kube-scheduler $KUBE_SCHEDULER_OPTS
Restart=on-failure
RestartSec=5
User=k8s[Install]
WantedBy=multi-user.target

7、分发kube-scheduler 配置文件启动文件

说明:  使用ansible 分发时kube_scheduler.kubeconfig  server=https://192.168.3.10:5443 可以使用参数进行分发
server=https://{{ ansible_ssh_host }}:5443 这样就不用每次修改修改 ansible_ssh_host 参数就是连接远程服务器ip分发 kube_scheduler.kubeconfig ansible -i host master -m  template -a "src=server/config/kube_scheduler.kubeconfig dest=/apps/kubernetes/config owner=k8s group=root mode=644"
分发:kube-scheduler
ansible -i host master -m copy -a "src=server/conf/kube-scheduler dest=/apps/kubernetes/conf owner=k8s group=root mode=644"
分发:kube-scheduler.service
ansible -i host master -m copy -a "src=kube-scheduler.service dest=/usr/lib/systemd/system/kube-scheduler.service"

8、启动kube-scheduler

ansible -i host master -m shell -a "systemctl daemon-reload"
ansible -i host master -m shell -a "systemctl enable kube-scheduler"
ansible -i host master -m shell -a "systemctl start kube-scheduler"
ansible -i host master -m shell -a "systemctl status kube-scheduler"

9、查看kube-scheduler 是否配置成功

kubectl get cs
[root@jenkins kubernetes]# kubectl get cs
NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok
controller-manager   Unhealthy  Get http://127.0.0.1:10252/healthz: net/http: HTTP/1.x
etcd-5               Healthy   {"health":"true"}
etcd-4               Healthy   {"health":"true"}
etcd-3               Healthy   {"health":"true"}
etcd-1               Healthy   {"health":"true"}
etcd-2               Healthy   {"health":"true"}
etcd-0               Healthy   {"health":"true"}

下一篇: Kubernetes 生产环境安装部署 基于 Kubernetes v1.14.0 之 kube_controller_manager 部署

转载于:https://blog.51cto.com/juestnow/2404594

Kubernetes v1.14.0 之 kube_scheduler 部署相关推荐

  1. Kubernetes 生产环境安装部署 基于 Kubernetes v1.14.0 之 etcd集群

    说明:没有明确注明在某台服务器,都是在k8s-operation 工作服务器完成 K8S node 节点数大于2000 节点 k8s-operation 目录规划,工作目录/apps/work/k8s ...

  2. s19.基于 Kubernetes v1.25 (kubeadm) 和 Docker 部署高可用集群(一)

    基于 Kubernetes v1.25 和 Docker 部署高可用集群 主要内容 Kubernetes 集群架构组成 容器运行时 CRI Kubernetes v1.25 新特性 Kubernete ...

  3. kubespray v2.21.0 在线定制部署升级 kubernetes v1.24.0 集群【2】

    文章目录 简介 创建 虚拟机模板 虚拟机名称 配置静态地址 配置代理 yum 配置 配置主机名 安装 git 安装 docker 安装 ansible 配置内核参数 安装 k8s 定制安装 kuber ...

  4. kubeadm安装高可用kubernetes v1.14.1

    前言 步骤跟之前安装1.13版本的是一样的 区别就在于kubeadm init的configuration file 目前kubeadm init with configuration file已经处 ...

  5. Kubernetes v1.17.0 正式发布

    k8s v1.17.0 新增功能 Kubernetes Volume Snapshot:功能现已在 Kubernetes v1.17 中处于 beta 版.它在 Kubernetes v1.12 中作 ...

  6. kubespray v2.21.0 部署 kubernetes v1.24.0 集群

    文章目录 1. 前言 2. 创建7台虚拟机 3. 部署 git 3.1 dnf 安装 3.2 tar 安装 4. 下载 kubespray 介质 5. 配置 zsh 终端 6. 配置互信 7. 安装 ...

  7. kubernetes V1.10.4 集群部署 (手动生成证书)

    说明:本文档涉及docker镜像,yaml文件下载地址 链接:https://pan.baidu.com/s/1QuVelCG43_VbHiOs04R3-Q 密码:70q2 本文只是作为一个安装记录 ...

  8. s24.基于 Kubernetes v1.25 (二进制) 和 Docker部署高可用集群

    1.安装说明 本文章将演示二进制方式安装高可用k8s 1.17+,相对于其他版本,二进制安装方式并无太大区别,只需要区分每个组件版本的对应关系即可. 生产环境中,建议使用小版本大于5的Kubernet ...

  9. Kubernetes v1.22.0 正式发布,众多 API 和功能被移除

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 我们兴奋地向大家宣布,Kubernetes 在 2021 年内的第二个版本.即 1.22 版本已经正式来临! 新版 ...

  10. s20.基于 Kubernetes v1.25 (kubeadm) 和 Docker 部署高可用集群(二)

    4.4 安装 Docker master和node安装docker-ce: [root@k8s-master01 ~]# cat install_docker.sh #!/bin/bash # #** ...

最新文章

  1. CUDA Samples: image normalize(mean/standard deviation)
  2. 超强激光SLAM LIO-SAM!高精度机器人定位建图!
  3. vue2.0 rem运行环境搭建
  4. proftpd的安装配置实例
  5. 【Boost】boost库中timer定时器
  6. Linux 2.6.32-279.el6.x86_64 ANDROID SDK碰到”LIBC.SO.6: VERSION `GLIBC_2.14′ NOT FOUND”的解决方法(1)
  7. TLS/SSL握手过程
  8. mkhd中的matrix
  9. 设计一个基于GUI的扑克程序
  10. eclipse读取mysql数据乱码_eclipse从数据库获取数据时控制台乱码问题
  11. “干掉”程序员饭碗后,OpenAI 又对艺术家下手了!
  12. hadoop component summary
  13. python学习——yield和yield from
  14. 每日一算法7--35选7彩票程序
  15. 【时序异常检测翻译】3.A Deep Neural Network for Unsupervised Anomaly Detection and Diagnosis in Multivariate T
  16. 电力运检工人是如何被AI解放的?
  17. nginx隐藏html后缀名,使用nginx重写“隐藏”.html文件扩展名
  18. php过滑码,小程序中多滑块的实现代码
  19. 网络渗透测试实验一 网络扫描与网络侦查
  20. 最新~涵盖全微服务操作的Spring Cloud 文档竟出自Alibaba

热门文章

  1. hdu1711 Number Sequence kmp模板
  2. [洛谷P3181][HAOI2016]找相同字符
  3. 20165204 20165216 20165220 实验四 外设驱动程序设计
  4. .net core 图片合并,图片水印,等比例缩小,SixLabors.ImageSharp
  5. Python_爬虫笔记_2018.3.19
  6. 20145339顿珠 MS08_067漏洞测试
  7. 新闻简报(7/18)
  8. 韩顺平 java笔记 第8讲 this 类变量 第9讲 类方法
  9. “SecureCRT遇到一个致命的错误且必须关闭”处理办法
  10. 基于Debian的Linux发行版安装深度音乐及其插件,支持ubunut16