zoukankan      html  css  js  c++  java
  • lb

    yum install keepalived nginx -y
    yum install keepalived nginx -t
    
    
    
    ========================================================
    ========================================================
    nginx配置文件
    加上这一段:
    
    stream {
    
       log_format  main  '$remote_addr $upstream_addr - [$time_local] $status $upstream_bytes_sent';
        access_log  /var/log/nginx/k8s-access.log  main;
    
        upstream k8s-apiserver {
            server 192.168.1.63:6443;
            server 192.168.1.64:6443;
        }
        server {
            listen 6443;
            proxy_pass k8s-apiserver;
        }
    }
    
    
    keepalived配置文件
    
    
    ! Configuration File for keepalived 
     
    global_defs { 
       notification_email { 
         acassen@firewall.loc 
         failover@firewall.loc 
         sysadmin@firewall.loc 
       } 
       notification_email_from Alexandre.Cassen@firewall.loc  
       smtp_server 127.0.0.1 
       smtp_connect_timeout 30 
       router_id NGINX_MASTER 
    } 
    
    vrrp_script check_nginx {
        script "/usr/local/nginx/sbin/check_nginx.sh"  ###检测脚本
    }
    
    vrrp_instance VI_1 { 
        state BACKUP
        interface enp0s3    ##改成你网卡的设备名去配置文件看看在写
        virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 (主备一致)
        priority 100      # 优先级,主比备高,备写90
        advert_int 1    # 指定VRRP 心跳包通告间隔时间,默认1秒 
        authentication { 
            auth_type PASS      ##密码验证
            auth_pass 1111 
        }  
        virtual_ipaddress {     ####vip地址
            192.168.1.60/24 
        } 
        track_script {      #指定脚本检测
            check_nginx
        } 
    }
    
    
    systemctl start nginx
    sysremctl start keepalived 
    
    总结:
    1,ip add查看master节点,会发现多出来一个ip地址60,这个就是vip,当master正常运行时,backup是没有这个ip的
    2,可以用ping命令检测,当master节点挂了,60这个ip会漂移到bakcup节点继续提供服务
    3,中间会有1次ping断层
    
    ========================================================
    ========================================================
    将node01和node02 添加到负载均衡集群中
    1,node01操作
    
    root@k8s-node01: /opt/kubernetes/cfg 16:00:20
    $ grep 60 *
    bootstrap.kubeconfig:    server: https://192.168.1.60:6443
    bootstrap.kubeconfig:    token: 0fb61c46f8991b718eb38d27b605b008
    kubelet.kubeconfig:    server: https://192.168.1.60:6443
    kube-proxy.kubeconfig:    server: https://192.168.1.60:6443
    root@k8s-node01: /opt/kubernetes/cfg 16:00:25
    $ 
    ##将grep出来的60位置原来是master节点ip,全部替换成60,指向负载ip地址,node-2同样操作
    重启node节点kubelet,kube-proxy
    
    2,验证
    lb-master查看日志,node节点通过两个master链接lb
    root@lb-master: /opt 14:36:30
    $ tail -f /var/log/nginx/k8s-access.log 
    192.168.1.65 192.168.1.64:6443 - [25/Mar/2019:11:43:02 +0800] 200 1119
    192.168.1.65 192.168.1.63:6443 - [25/Mar/2019:13:27:07 +0800] 200 1119
    192.168.1.66 192.168.1.63:6443 - [25/Mar/2019:13:27:07 +0800] 200 1119
    192.168.1.65 192.168.1.63:6443 - [25/Mar/2019:13:27:07 +0800] 200 1566
    192.168.1.66 192.168.1.63:6443 - [25/Mar/2019:13:27:07 +0800] 200 1118
    192.168.1.65 192.168.1.64:6443 - [25/Mar/2019:13:27:07 +0800] 200 1566
    192.168.1.66 192.168.1.64:6443 - [25/Mar/2019:13:27:07 +0800] 200 1566
    192.168.1.66 192.168.1.64:6443 - [25/Mar/2019:13:27:07 +0800] 200 1118
    192.168.1.65 192.168.1.64:6443 - [25/Mar/2019:13:27:07 +0800] 200 1117
    192.168.1.65 192.168.1.64:6443 - [25/Mar/2019:13:27:07 +0800] 200 1117
    
    
    ========================================================
    ========================================================
    k8s双master节点
    1,将master节点配置文件systemctl管理工具考到master02上
    scp -r /opt/kubernetes/ root@192.168.1.64:/opt/
    scp /usr/lib/systemd/system/{kube-apiserver,kube-scheduler,kube-controller-manager}.service root@192.168.1.64:/usr/lib/systemd/system/
    scp /usr/bin/kubectl root@192.168.1.64:/usr/bin/
    
    2,修改master02节点kube-apiserver,kube-scheduler,kube-controller-manager配置文件ip地址改成master02的
    
    root@master02: /opt/kubernetes/cfg 15:47:12
    $ pwd
    /opt/kubernetes/cfg
    root@master02: /opt/kubernetes/cfg 15:47:12
    $ ls
    kube-apiserver  kube-controller-manager  kube-scheduler  token.csv
    ##这是已经改完了的了,正常是grep 63,会显示文件中含有master01节点ip63的所有。
    root@master02: /opt/kubernetes/cfg 15:47:15
    $ grep 64 *
    kube-apiserver:--bind-address=192.168.1.64 
    kube-apiserver:--secure-port=6443 
    kube-apiserver:--advertise-address=192.168.1.64 
    root@master02: /opt/kubernetes/cfg 15:47:19
    $ 
    ps: 
     因为kube-ctroller-manager  kube-scheduler配置文件写的都是127.0.0.1所有没有改动
    3,启动master02
    systemctl restart kube-apiserver
    systemctl restart kube-ctroller-manager
    systemctl restart kube-scheduler
    
    4,验证
    root@master02: /opt/kubernetes/cfg 15:50:18
    $ kubectl get node
    NAME           STATUS   ROLES    AGE     VERSION
    192.168.1.65   Ready    <none>   63m     v1.13.4
    192.168.1.66   Ready    <none>   4d22h   v1.13.4
    root@master02: /opt/kubernetes/cfg 15:50:22
    $ kubectl get csr
    NAME                                                   AGE   REQUESTOR           CONDITION
    node-csr-XMad_RYrooh4SENAIOWeD2VIGEZOR-5jVG3QASPBZzA   65m   kubelet-bootstrap   Approved,Issued
    root@master02: /opt/kubernetes/cfg 15:50:25
    $ kubectl get cs
    NAME                 STATUS    MESSAGE             ERROR
    controller-manager   Healthy   ok                  
    scheduler            Healthy   ok                  
    etcd-0               Healthy   {"health":"true"}   
    etcd-2               Healthy   {"health":"true"}   
    etcd-1               Healthy   {"health":"true"}   
    root@master02: /opt/kubernetes/cfg 15:50:28
    $ kubectl get pod
    NAME                     READY   STATUS             RESTARTS   AGE
    java-84767655bc-5rlth    0/1     CrashLoopBackOff   15         57m
    nginx-7cdbd8cdc9-2jwmj   1/1     Running            0          51m
    nginx-7cdbd8cdc9-bwp9v   1/1     Running            0          57m
    nginx-7cdbd8cdc9-zc2rl   1/1     Running            0          57m
    root@master02: /opt/kubernetes/cfg 15:50:30
    $ 
    
    ========================================================
    ========================================================
  • 相关阅读:
    周末之个人杂想(十三)
    PowerTip of the DaySorting Multiple Properties
    PowerTip of the DayCreate Remoting Solutions
    PowerTip of the DayAdd Help to Your Functions
    PowerTip of the DayAcessing Function Parameters by Type
    PowerTip of the DayReplace Text in Files
    PowerTip of the DayAdding Extra Information
    PowerTip of the DayPrinting Results
    Win7下IIS 7.5配置SSAS(2008)远程访问
    PowerTip of the DayOpening Current Folder in Explorer
  • 原文地址:https://www.cnblogs.com/Carr/p/10595518.html
Copyright © 2011-2022 走看看