浪人 发表于 2018-5-29 06:00:48

docker管理神器—kubernetes—flannel网络篇

  5.1、flannel介绍
  flannel 是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络 (overlay network) 工具,其目的在于帮助每一个使用 Kuberentes 的 CoreOS 主机拥有一个完整的子网。Kubernetes 会为每一个 POD 分配一个独立的 IP 地址,这样便于同一个 POD 中的 Containers 彼此连接,flannel通过在集群中创建一个覆盖网格网络 (overlay mesh network) 为主机设定一个子网。

  5.2、etcd设置
  5.2.1、设置fannel网络段
  # etcdctl set /coreos.com/network/config '{"Network":"10.2.0.0/16"}'

  5.2.2、修改配置文件
  把/etc/etcd/etcd.conf里的ETCD_LISTEN_CLIENT_URLS=”http://localhost:2379″中的locahost改为0.0.0.0

  5.3、flannel安装配置(所有node节点都需要安装)
  5.3.1、wget https://github.com/coreos/flannel/releases/download/v0.5.5/flannel-0.5.5-linux-amd64.tar.gz
  5.3.2、tar -xzvf flannel-0.5.5-linux-amd64.tar.gz

  5.3.3、安装
  直接复制解压出来的两个文件到可执行目录就可以
  #cp flannel-0.5.5/flanneld /usr/bin
  #cp flannel-0.5.5/mk-docker-opts.sh /usr/bin
  5.3.4、配置
  vi /etc/sysconfig/flanneld
  添加:

  # Flanneld configuration options
  # etcd url location
  FLANNEL_ETCD="http://centos-master:2379"
  # etcs config key
  FLANNEL_ETCD_KEY="/coreos.com/network"
  # Any additonal options
  #FLANNEL_OPTIONS=
  5.3.5、编辑服务文件/usr/lib/systemd/system/flanneld.service

  添加:
  
  Description=Flanneld overlay address etcd agent
  After=network.target
  Before=docker.service
  
  Type=notify
  EnvironmentFile=-/etc/sysconfig/flanneld
  EnvironmentFile=-/etc/sysconfig/docker-network
  ExecStart=/usr/bin/flanneld \
              -etcd-endpoints=${FLANNEL_ETCD} \
              $FLANNEL_OPTIONS
  
  
  RequiredBy=docker.service
  WantedBy=multi-user.target
  或者直接启动:
  flanneld -iface=eno16777736 -etcd-endpoints=http://centos-master:2379 & (绑定一个正常工作的网卡)

  5.4、暂停docker服务
  #systemctl stop docker

  5.6、执行脚本(修改一下docker)
  #systemctl start flanneld
  #mk-docker-opts.sh -i
  #source /run/flannel/subnet.env
  #ifconfig docker0 ${FLANNEL_SUBNET}
  #systemctl start docker
  5.7、测试
  在centos-minion上ip a查看可以看到flannel0的网卡信息
  
  

  

  
页: [1]
查看完整版本: docker管理神器—kubernetes—flannel网络篇