zoukankan      html  css  js  c++  java
  • Kubernetes 集群部署(3) -- Flannel 集群

    1. 下载包

    wget https://github.com/coreos/flannel/releases/download/v0.11.0/flannel-v0.11.0-linux-amd64.tar.gz

    2. 把解压出来的可执行文件放到 /opt/k8s/bin 下

    3. 创建 /opt/k8s/cfg/flanneld.conf 文件,内容如下:

    FLANNEL_OPTIONS="--etcd-endpoints=https://192.168.137.81:2379,https://192.168.137.82:2379,https://192.168.137.83:2379 -etcd-cafile=/opt/k8s/ssl/ca.pem -etcd-certfile=/opt/k8s/ssl/server.pem -etcd-keyfile=/opt/k8s/ssl/server-key.pem"

    4. 创建 /usr/lib/systemd/system/flanneld.service, 内容如下:

    [Unit]
    Descrition=Flanneld overlay address etcd agent
    After=network-online.target network.target
    Before=docker.service
    
    [Service]
    Type=notify
    EnvironmentFile=/opt/k8s/cfg/flanneld.conf
    ExecStart=/opt/k8s/bin/flanneld --ip-masq $FLANNEL_OPTIONS
    ExecStartPost=/opt/k8s/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target

    5. 运行

    ../bin/etcdctl --ca-file=ca.pem --cert-file=server.pem 
    --key-file=server-key.pem 
    --endpoints="https://192.168.137.81:2379,https://192.168.137.82:2379,https://192.168.137.83:2379" 
    set /coreos.com/network/config '{"Network": "172.17.0.0/16", "Backend": {"Type": "vxlan"}}'

    6. 启动 flannel

    systemctl start flanneld

    7. 查看网络配置:  ifconfig   可以看到 docker 和 flannel 不在同一个网段

    8. 查看生成的文件:  cat /run/flannel/subnet.env

     

    9. 修改 /usr/lib/systemd/system/docker.service (安装 docker 后会有此文件,需要改两处地方)

     

     10. 执行下面的命令

    systemctl daemon-reload
    systemctl restart docker

    11. 再查看网络的话,会看到  docker 和 flannel 在同一个网段了

    12. 在另外一台机器上做以上相同的操作后,其网络如下:

    13. 我们在这台机器上就可以 ping 通另外那台机器上的 docker 的网关了:

  • 相关阅读:
    桥接模式
    单例模式
    迭代器模式
    组合模式
    备忘录模式
    适配器模式
    状态模式
    观察者模式
    golang 字符串统计
    go bytes缓冲区使用介绍 -转自https://www.cnblogs.com/--xiaoyao--/p/5122138.html
  • 原文地址:https://www.cnblogs.com/langfanyun/p/10526822.html
Copyright © 2011-2022 走看看