table of Contents
Components Introduction
kubernetes master
Node runs the following kube-apiserver
components: 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