Introduction and deployment of pre-job master node

table of Contents

Components Introduction

kubernetes masterNode runs the following kube-apiservercomponents: kube-scheduler, kube-controller-manager, ,kube-nginx

  • kube-apiserver, kube-scheduler, kube-controller-manager instances are multi-mode
  • kube-scheduler and kube-controller-manager will automatically elect a leader instance, other instances in blocking mode, hung up when the leader, leader re-elected, so as to ensure service availability
  • kube-apiserver is stateless, the need for proxy access kube-nginx, so as to ensure service availability

The following operations are K8s-01 operation

Download kubernetes binary package and distribute to all master node

cd /opt/k8s/work
wget https://dl.k8s.io/v1.15.6/kubernetes-server-linux-amd64.tar.gz
tar -xzvf kubernetes-server-linux-amd64.tar.gz
cd kubernetes
tar -xzvf  kubernetes-src.tar.gz

Download extract work if the deployment of the preparatory work done, do not need to repeat here.

The master copy of the required binaries on all master machines

cd /opt/k8s/work
source /opt/k8s/bin/environment.sh
for node_ip in ${MASTER_IPS[@]}
  do
    echo ">>> ${node_ip}"
    scp kubernetes/server/bin/{apiextensions-apiserver,cloud-controller-manager,kube-apiserver,kube-controller-manager,kube-proxy,kube-scheduler,kubeadm,kubectl,kubelet,mounter} root@${node_ip}:/opt/k8s/bin/
    ssh root@${node_ip} "chmod +x /opt/k8s/bin/*"
  done

kube-apiserver availability

  • Step Nginx 4 layer using a transparent proxy functions implemented k8s node (master node and worker nodes) availability of access kube-apiserver
  • Control node kube-controller-manager, kube-scheduler is multi-instance deployments, so long as a normal instance, you can ensure high availability cluster
  • Pod in the domain name service cluster uses k8s kubernetes access kube-apiserver, kube-dns will automatically resolve the IP more kube-apiserver node, it is also highly available
  • Nginx in each process, multiple back-end docking apiserver example, Nginx for them to do health checks and load balancing
    kubelet, kube-proxy, controller- manager, schedule by the local nginx (monitor our vip 10.0.20.10) to access kube-apiserver, in order to achieve high availability kube-apiserver

Guess you like

Origin www.cnblogs.com/winstom/p/11992127.html