06-0.部署 master 节点

kubernetes master 节点运行如下组件:

  • kube-apiserver
  • kube-scheduler
  • kube-controller-manager

kube-scheduler 和 kube-controller-manager 可以以集群模式运行,通过 leader 选举产生一个工作进程,其它进程处于阻塞模式。

对于 kube-apiserver,可以运行多个实例(本文档是 3 实例),但对其它组件需要提供统一的访问地址,该地址需要高可用。本文档使用 keepalived 和 haproxy 实现 kube-apiserver VIP 高可用和负载均衡。

下载最新版本的二进制文件

CHANGELOG页面 下载 server tarball 文件。

  1. cd /opt/k8s/work
  2. wget https://dl.k8s.io/v1.8.15/kubernetes-server-linux-amd64.tar.gz
  3. tar -xzvf kubernetes-server-linux-amd64.tar.gz
  4. cd kubernetes
  5. tar -xzvf kubernetes-src.tar.gz

将二进制文件拷贝到所有 master 节点:

  1. cd /opt/k8s/work
  2. source /opt/k8s/bin/environment.sh
  3. for node_ip in ${NODE_IPS[@]}
  4. do
  5. echo ">>> ${node_ip}"
  6. scp kubernetes/server/bin/* root@${node_ip}:/opt/k8s/bin/
  7. ssh root@${node_ip} "chmod +x /opt/k8s/bin/*"
  8. done