zoukankan      html  css  js  c++  java
  • 二进制文件安装安装flannel

    二进制文件安装安装flannel

    overlay网络简介

    覆盖网络就是应用层网络,它是面向应用层的,不考虑或很少考虑网络层,物理层的问题。

    详细说来,覆盖网络是指建立在另一个网络上的网络。该网络中的结点可以看作通过虚拟或逻辑链路而连接起来的。虽然在底层有很多条物理链路,但是这些虚拟或逻辑链路都与路径一一对应。例如:许多P2P网络就是覆盖网络,因为它运行在互连网的上层。覆盖网络允许对没有IP地址标识的目的主机路由信息,例如:Freenet 和DHT(分布式哈希表)可以路由信息到一个存储特定文件的结点,而这个结点的IP地址事先并不知道。

    覆盖网络被认为是一条用来改善互连网路由的途径,让二层网络在三层网络中传递,既解决了二层的缺点,又解决了三层的不灵活!

    Flannel的工作原理

    Flannel实质上是一种“覆盖网络(overlay network)”,也就是将TCP数据包装在另一种网络包里面进行路由转发和通信,目前已经支持UDP、VxLAN、AWS VPC和GCE路由等数据转发方式。

    默认的节点间数据通信方式是UDP转发。

     
     

    工作原理

    数据从源容器中发出后,经由所在主机的docker0虚拟网卡转发到flannel0虚拟网卡,这是个P2P的虚拟网卡,flanneld服务监听在网卡的另外一端。

    Flannel通过Etcd服务维护了一张节点间的路由表,详细记录了各节点子网网段 。

    源主机的flanneld服务将原本的数据内容UDP封装后根据自己的路由表投递给目的节点的flanneld服务,数据到达以后被解包,然后直接进入目的节点的flannel0虚拟网卡,然后被转发到目的主机的docker0虚拟网卡,最后就像本机容器通信一下的有docker0路由到达目标容器。

    #by love19791126 107420988@qq.com
    # 安装flannel 在node01-02节点部署
    # vim /etc/profile
    # PATH=$PATH:/opt/kubernetes/bin
    
    # source /etc/profile
    #设置网络 在master执行
    etcdctl --ca-file=/opt/kubernetes/ssl/ca.pem --cert-file=/opt/kubernetes/ssl/server.pem --key-file=/opt/kubernetes/ssl/server-key.pem --endpoints="https://192.168.1.251:2379,https://192.168.1.252:2379,https://192.168.1.253:2379" set /coreos.com/network/config '{"Network":"172.17.0.0/16","Backend":{"Type":"vxlan"}}'
    #解压fannle 在master执行
    tar zxvf flannel-v0.11.0-linux-amd64.tar.gz
    #scp文件到节点 在master执行
    scp flanneld mk-docker-opts.sh root@192.168.1.252:/opt/kubernetes/bin/
    scp flanneld mk-docker-opts.sh root@192.168.1.253:/opt/kubernetes/bin/
    #配置文件 在node01-02节点部署
    vim /opt/kubernetes/cfg/flannel
    FLANNEL_OPTIONS="--etcd-endpoints=https://192.168.1.251:2379,https://192.168.1.252:2379,https://192.168.1.253:2379 -etcd-cafile=/opt/kubernetes/ssl/ca.pem --etcd-certfile=/opt/kubernetes/ssl/server.pem --etcd-keyfile=/opt/kubernetes/ssl/server-key.pem"
    #修改docker启动文件 在node01-02节点部署
    vim /usr/lib/systemd/system/docker.service
    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network-online.target firewalld.service
    Wants=network-online.target
    
    [Service]
    Type=notify
    EnvironmentFile=-/run/flannel/subnet.env
    ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS
    ExecReload=/bin/kill -s HUP $MAINPID
    TimeoutStartSec=0
    Restart=on-failure
    
    StartLimitBurst=3
    
    StartLimitInterval=60s
    
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    
    
    Delegate=yes
    
    KillMode=process
    
    [Install]
    WantedBy=multi-user.target
    #加载配置文件 在node01-02节点部署
    systemctl daemon-reload
    systemctl start docker
    #配置flanneld文件 在node01-02节点部署
    vim /opt/kubernetes/cfg/flanneld.service 
    [Unit]
    Description=Flannel overlay address etcd agent
    After=network-online.target network.target
    Before=docker.service
    
    [Service]
    Type=notify
    EnvironmentFile=/opt/kubernetes/cfg/flannel
    ExecStart=/opt/kubernetes/bin/flanneld --ip-masq $FLANNEL_OPTIONS
    ExecStartPost=/opt/kubernetes/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    #加载配置文件 启动flannel 在node01-02节点部署
    cp /opt/kubernetes/cfg/flanneld.service  /usr/lib/systemd/system/flanneld.service
    systemctl daemon-reload
    systemctl start flanneld
    systemctl restart docker
    #查看网络
    etcdctl --ca-file=/opt/kubernetes/ssl/ca.pem --cert-file=/opt/kubernetes/ssl/server.pem --key-file=/opt/kubernetes/ssl/server-key.pem --endpoints="https://192.168.1.251:2379,https://192.168.1.252:2379,https://192.168.1.253:2379"  ls /coreos.com/network/subnets
    #获取容器是在那个节点上
    etcdctl --ca-file=/opt/kubernetes/ssl/ca.pem --cert-file=/opt/kubernetes/ssl/server.pem --key-file=/opt/kubernetes/ssl/server-key.pem --endpoints="https://192.168.1.251:2379,https://192.168.1.252:2379,https://192.168.1.253:2379"  get /coreos.com/network/subnets/172.17.98.0-24
  • 相关阅读:
    UVa 11389
    uva 1418
    uva 10905 Children's Game
    uva 471
    UVA 1508
    Uva120 Stacks of Flapjacks
    UVA 10020 Minimal coverage
    UVA434
    UVa 311
    决策树算法
  • 原文地址:https://www.cnblogs.com/love19791125/p/11283633.html
Copyright © 2011-2022 走看看