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

    充满鲜花的世界到底在哪里
  • 相关阅读:
    【leetcode】二叉搜索树中的众数
    【leetcode】和为零的N个唯一整数
    【leetcode】统计位数为偶数的数字
    【leetcode】寻找数组的中心索引
    【leetcode】找出给定方程的正整数解
    【leetcode】寻找比目标字母大的最小字母
    【leetcode】找出井字棋的获胜者
    输出0~N之间的素数
    判断正整数是否是素数(数据结构课后练习题2.13a)
    052-85
  • 原文地址:https://www.cnblogs.com/aliases/p/13806645.html
Copyright © 2011-2022 走看看