zoukankan      html  css  js  c++  java
  • 二进制部署k8s集群(8):安装容器网络插件Flannel

    kubectl只开放了容器网络定义,未做容器网络实现,需要安装第三方的容器网络插件(CNI插件),容器网络市场占有率最高的是Flannel,其次是Calico,本篇使用Flannel容器网络插件。

    【前期做准备,下载Flannel安装包】:

    Flannel下载地址:https://github.com/coreos/flannel/releases/ 

    最新版是Flannel-v.0.12.0

    解压安装包,建立Flannel软连接

    将下载后的安装包 flannel-v0.12.0-linux-amd64.tar.gz 解压到所有kubenetes工作节点下的【/opt/flannel-v.0.12.0】目录。

    mkdir -p /opt/flannel-v.0.12.0
    tar xvf /tools/k8s/flannel-v0.12.0-linux-amd64.tar.gz -C /opt/flannel-v.0.12.0/
    ln -s /opt/flannel-v.0.12.0/ /opt/flannel

      

    拷贝ca证书及client证书到flannel安装目录

    将【kube管理节点1】上创建的三个证书文件【ca.pem、client.pem、client-key.pem】拷贝到所有工作节点的【/opt/flannel-v.0.12.0/certs】目录

    mkdir /opt/flannel-v.0.12.0/certs
    scp 192.168.0.102:/opt/certs/ca.pem /opt/flannel-v.0.12.0/certs
    scp 192.168.0.102:/opt/certs/client.pem /opt/flannel-v.0.12.0/certs
    scp 192.168.0.102:/opt/certs/client-key.pem /opt/flannel-v.0.12.0/certs
    创建启动文件

    【创建环境文件】

    vi /opt/flannel-v.0.12.0/subnet.env

    FLANNEL_NETWORK=172.17.0.0/16
    FLANNEL_SUBNET=172.17.106.1/24
    FLANNEL_MTU=1500
    FLANNEL_IPMASQ=FALSE

    【创建flanneld.sh启动文件

    如果etcd使用http协议(无证书)的情况,使用下面这样配置

    vi /opt/flannel/flanneld.sh

    #!/bin/sh
     ./flanneld 
      --public-ip=192.168.0.106 
      --etcd-endpoints=http://192.168.0.102:2379,http://192.168.0.103:2379,http://192.168.0.104:2379 
      --iface=ens33 
      --subnet-file=./subnet.env 
      --healthz-port=2401

    --iface=ens33 是网卡名,根据实际网卡名填写

    如果etcd使用https协议(有证书)的情况,使用下面这样配置

    vi /opt/flannel/flanneld.sh

    #!/bin/sh
     ./flanneld 
      --public-ip=192.168.0.106 
      --etcd-endpoints=https://192.168.0.102:2379,https://192.168.0.103:2379,https://192.168.0.104:2379 
      --etcd-keyfile=./certs/client-key.pem 
      --etcd-certfile=./certs/client.pem 
      --etcd-cafile=./certs/ca.pem 
      --iface=ens33 
      --subnet-file=./subnet.env 
      --healthz-port=2401

    --iface=ens33 是网卡名,根据实际网卡名填写

     给flannel.sh加执行权限

    chmod +x /opt/flannel/flanneld.sh

    创建日志目录

    mkdir -p /data/logs/flanneld
    在etcd上创建flannel网络节点

    进入任何一个etcd节点服务器。

    切换到 etcd01节点服务器,切换到IP为【192.168.0.102】的节点,添加flannel的网络配置数据到etcd。

    先查看etcdl的管理工具etcdctl是否有安装:

    which etcdctl

     说明有安装etcdctl工具。

    添加flannel网络配置数据到etcd

    etcdctl put /coreos.com/network/config '{"Network": "172.17.0.0/16", "Backend": {"Type": "host-gw"}}'

     查看刚才添加的数据

    etcdctl get /coreos.com/network/config

      

      

    执行启劝文件直接启动flannel

    使用启动文件启动flannel,查看启动效果:

    cd /opt/flannel
    ./flanneld.sh
  • 相关阅读:
    Android轻量级的开源缓存框架ASimpleCache
    ESP8266学习笔记6:ESP8266规范wifi连接操作
    javascript——正則表達式
    STL经常使用遍历算法for_each和transform的比較
    OpenGL(八)使用 subroutine 切换可编程管线
    (一二〇)CALayer的一些特性
    Android 5.0 怎样正确启用isLoggable(一)__使用具体解释
    Elasticsearch的javaAPI之query dsl-queries
    kettle使用log4j管理输出日志
    YY博客园UML用例图-活动图-状态图之博客模块
  • 原文地址:https://www.cnblogs.com/yyee/p/13381605.html
Copyright © 2011-2022 走看看