zoukankan      html  css  js  c++  java
  • 二进制部署Flannel网络

    一步一脚印

    二进制部署Flannel分为以下几个步骤

    • 写入分配的子网到etcd中,供flannel使用
    • 下载二进制包
    • 部署与配置flannel(node节点)
    • systemd管理Flannel
    • 配置Docker使用的Flannel生成的子网
    • 启动Flannel

    1.节点IP

    lnhMaster01 192.168.176.128
    lnhNode01 192.168.176.135
    lnhNode02 192.168.176.137

    2.下载flannel二进制文件
    wget https://github.com/coreos/flannel/releases/download/v0.12.0/flannel-v0.12.0-linux-amd64.tar.gz
    解压后将两个可执行文件flanneld, mk-docker-opts.sh 复制到/opt/kubernetes/bin中

    3.linMaster02节点将flannel网络配置存入etcd

    /opt/etcd/bin/etcdctl --ca-file=/opt/etcd/ssl/ca.pem --cert-file=/opt/etcd/ssl/server.pem --key-file=/opt/etcd/ssl/server-key.pem --endpoints="https://192.168.176.128:2379,https://192.168.176.135:2379,https://192.168.176.137:2379" set /coreos.com/network/config '{"Network": "172.15.0.0/16", "Backend": {"Type": "vxlan"}}'
    

    4.lnhNode01节点: 编辑flannel配置文件 /opt/kubernetes/cfg/flanneld

    注意: lnhNode01和lnhNode00都有和lnhMaster01 /opt/etcd/ssl/目录下的证书文件

    FLANNEL_OPTIONS="-etcd-cafile=/opt/etcd/ssl/ca.pem -etcd-certfile=/opt/etcd/ssl/server.pem -etcd-keyfile=/opt/etcd/ssl/server-key.pem "
    

    5.lnhNode01节点: 编辑flannel.sh脚本生成flanned.service,并配置docker.service以使用flannel分配的网络

    #!/bin/bash
    
    cat <<EOF >/usr/lib/systemd/system/flanneld.service
    [Unit]
    Description=Flanneld overlay address etcd agent
    After=network-online.target network.target
    Before=docker.service
    
    [Service]
    Type=notify
    EnvironmentFile=/opt/kubernetes/cfg/flanneld
    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
    
    EOF
    
    cat <<EOF >/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
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    TimeoutStartSec=0
    Delegate=yes
    KillMode=process
    Restart=on-failure
    StartLimitBurst=3
    StartLimitInterval=60s
    
    [Install]
    WantedBy=multi-user.target
    
    EOF
    
    systemctl daemon-reload
    systemctl enable flanneld
    systemctl restart flanneld
    systemctl restart docker
    

    6.lnhNode01节点:执行./flannel.sh,成功后会生成/run/flannel/subnet.env 文件记录了本机可分配的ip

    7.lnhNode02执行同lnhNode01一样的操作,即可配置flannel网络

    8.检查flannel是否配置成功

    首先看flanneld.service服务是否正常启动
    如果正常启动,执行route命令看是否有flannel路由信息
    ifconfig 查看是否有flannel开头的桥接网卡信息
    如果以上都正常,那么用node1的docker0和node2的docker0相互ping,是可以ping通的
    

    参考学习:https://blog.csdn.net/zhenliang8

    充满鲜花的世界到底在哪里
  • 相关阅读:
    C#网页数据采集(三)HttpWebRequest
    C#获取局域网ip
    C#调用Mail发送QQ邮件
    C#操作Excel(NPOI)
    html文字两行后,就用省略号代替剩下的
    js的dom测试及实例代码
    js循环数组(总结)
    黑马vue---61、为什么vue组件的data要是一个函数
    黑马vue---59-60、组件中的data和methods
    黑马vue---31-32、vue过滤器实例
  • 原文地址:https://www.cnblogs.com/aliases/p/13806645.html
Copyright © 2011-2022 走看看