kube-scheduler为大师节点组件.kube-scheduler集群包含3个节点,启动后将通过竞争选举机制产生一个领袖节点,其它节点为阻塞状态。当领袖节点不可用后,剩余节点将再次进行选举产生新领袖的节点,从而保证服务的高可用性。
1安装准备
特别说明:这里所有的操作都是在devops这台机器上通过ansible工具执行;kube-scheduler在如下两种情况下使用该证书:
-
<李>与kube-apiserver的安全端口通信使用,李>
<李>在安全端口(https, 10259)输出普罗米修斯格式的指标;李>
1.1环境变量定义h5> <代码类=" language-shell "> # # # # # # # # # # # # # # # # # # # #变量参数设置# # # # # # # # # # # # # # # # # # # # # #
KUBE_NAME=kube-scheduler
K8S_INSTALL_PATH=/数据/应用程序/美丽/kubernetes
K8S_BIN_PATH=$ {K8S_INSTALL_PATH}/sbin
K8S_LOG_DIR=$ {K8S_INSTALL_PATH}/日志
K8S_CONF_PATH=/etc/美丽/kubernetes
KUBE_CONFIG_PATH=/etc/美丽/kubeconfig
CA_DIR=/etc/美丽/ssl
软件=/根/软件
VERSION=v1.14.2
包=" kubernetes-server - {VERSION} -linux-amd64.tar.gz美元”
DOWNLOAD_URL=" https://github.com/devops-apps/download/raw/master/kubernetes/${包}”
ETH_INTERFACE=eth2
LISTEN_IP=$ (ifconfig | grep - 1 $ {ETH_INTERFACE} | grep inet | awk{打印$ 2})
用户=k8 代码>
1.2下载和分发kubernetes二进制文件
访问kubernetes github官方地址下载稳定的缴款包至本机;
<代码类=" language-shell "> wget DOWNLOAD_URL - p美元软件代码>
将kubernetes软件包分发到各个主节点服务器;
<代码类=" language-shell "> sudo ansible master_k8s_vgs - m副本——“src=https://www.yisu.com/zixun/{软件}/美元包dest=${软件}/? b 代码>
2部署kube-scheduler集群
2.1安装kube-scheduler二进制文件
<代码类=" language-shell "> # # # 1。检查是否安装目录中存在。 如果[!- d“K8S_BIN_PATH美元”);然后 mkdir - p K8S_BIN_PATH美元 fi 如果[!- d“K8S_LOG_DIR/KUBE_NAME美元”);然后 mkdir - p K8S_LOG_DIR/KUBE_NAME美元 fi 如果[!- d“K8S_CONF_PATH美元”);然后 mkdir - p K8S_CONF_PATH美元 fi 如果[!- d“KUBE_CONFIG_PATH美元”);然后 mkdir - p KUBE_CONFIG_PATH美元 fi # # # 2。安装kube-apiserver kubernetes二进制。 如果[!- f”软件/kubernetes-server - {VERSION} -linux-amd64.tar美元。广州”);然后 ,wget DOWNLOAD_URL - p软件比美元的在/tmp/安装。日志2祝辞,1 fi cd $软件,,焦油-xzf kubernetes-server - {VERSION} -linux-amd64.tar美元。广州- c。/cp fp kubernetes/服务器/bin/KUBE_NAME K8S_BIN_PATH美元 ln科幻K8S_BIN_PATH/美元KUBE_NAM/usr/local/bin 乔恩- r美元用户:用户K8S_INSTALL_PATH美元 chmod - r 755美元K8S_INSTALL_PATH 代码>
2.2分发kubeconfig文件和证书文件
<编辑>分发证书编辑><代码类=" language-shell "> cd $ {CA_DIR} sudo ansible master_k8s_vgs - m副本——“src=https://www.yisu.com/zixun/kube-scheduler.pem dest=$ {CA_DIR}/? b sudo ansible master_k8s_vgs - m副本——“src=https://www.yisu.com/zixun/kube-scheduler-key.pem dest=$ {CA_DIR}/? b sudo ansible master_k8s_vgs - m副本——“src=https://www.yisu.com/zixun/ca.pem dest=$ {CA_DIR}/? b sudo ansible master_k8s_vgs - m副本——“src=https://www.yisu.com/zixun/ca-key.pem dest=$ {CA_DIR}/? b 代码><编辑>分发kubeconfig认证文件编辑>
kube-scheduler使用kubeconfig文件连接访问apiserver服务,该文件提供了apiserver地址,嵌入的CA证书和kube-scheduler证书:
<代码类=" language-shell "> cd KUBE_CONFIG_PATH美元 sudo ansible master_k8s_vgs - m - \副本 “src=https://www.yisu.com/zixun/kube-scheduler.kubeconfig dest=$ KUBE_CONFIG_PATH/? b 代码>
备注:如果在前面小节已经同步过各组件kubeconfig和证书文件,此处可以不必执行此操作,
2.3创建kube-scheduler配置文件
<代码类=" language-shell ">猫在$ {K8S_CONF_PATH}/kube-scheduler.yaml<& lt; EOF apiVersion: kubescheduler.config.k8s.io/v1alpha1 :KubeSchedulerConfiguration bindTimeoutSeconds: 600 clientConnection: 破裂:200 kubeconfig:“$ {KUBE_CONFIG_PATH}/$ {KUBE_NAME} .kubeconfig” 每秒:100 enableContentionProfiling:假 enableProfiling:真 hardPodAffinitySymmetricWeight: 1 healthzBindAddress: 127.0.0.1:10251 leaderElection: leaderElect:真 metricsBindAddress: 127.0.0.1:10251 EOFkubernetes集群安装指南:kube-scheduler组件集群部署