kubernetes集群安装指南:kube-scheduler组件集群部署

  

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
  EOF 

kubernetes集群安装指南:kube-scheduler组件集群部署