Flannel Cluster的安装

安装kubernetes前需要首先安装并配置好ETCD和Flannel环境。在Kubernetes的每一个Master和Node中都需要正常运行。在所有节点的ETCD运行正常以后,可以按照以下注意事项来进行Flannel的安装配置。与ETCD安装方式一样,可以通过GIT下载拷贝,也可以直接YUM安装,配置事项是相同的。这里以YUM安装为例。

1)安装Flannel

yum install -y flannel

2 ) 修改flannel的配置文件 /etc/sysconfig/flanneld
把etcd的服务地址和端口,flannel配置子网的信息,以及日志路径等添加到配置文件中。
因为每台机器上,都有etcd在运行,因此etcd的服务地址和端口,填写本机的即可。etcd会自动同步到etcd集群中的其它节点上。
修改完成后,文件内容:
# Flanneld configuration options  

# etcd url location.  Point this to the server where etcd runs
FLANNEL_ETCD="http://127.0.0.1:2379"

# etcd config key.  This is the configuration key that flannel queries
# For address range assignment
# FLANNEL_ETCD_KEY="/atomic.io/network"
FLANNEL_ETCD_KEY="/k8s/network"

# Any additional options that you want to pass
#FLANNEL_OPTIONS=""
FLANNEL_OPTIONS="--logtostderr=false --log_dir=/var/log/k8s/flannel/ --etcd-endpoints=http://127.0.0.1:2379"

3 ) 然后执行:

 etcdctl mkdir /k8s/network

4 ) 上述命令在etcd上创建一个目录,再执行:

 etcdctl set /k8s/network/config '{"Network":"172.200.0.0/16"}'

该命令含义是,期望docker运行的container实例的地址,都在 172.200.0.0/16网段中
flanneld会读取/k8s/network目录中config值,然后接管docker的地址分配,并把docker和宿主机器之间的网络桥接起来。

5 ) flannel的服务启动配置不用做修改

 systemctl enable flanneld.service
 systemctl stop docker # 暂时先关闭docker服务,启动flanneld的时候,会自动拉起docker服务
 systemctl start flanneld.service

后续确保系统启动时以脚本或者第三个service的方式启动即可。因为flannel需要早于docker启动服务。暂时以脚本方式如下:

#! /bin/sh  
  
# firstly, start etcd  
systemctl restart etcd  
  
# secondly, start flanneld  
systemctl restart flanneld  
  
# then, start docker  
systemctl restart docker 

6) 这时可以查看docker0和flannel0的网络设备,确保每个Node上的Docker0和flannel0在同一段内,并且不同节点的网段都被划分在172.200.0.0/16 的不同段内。如Master是172.200.79.0/16,Node1是172.200.80.0/16,Node2是172.200.11.0/16。


以下是Master(192.168.111.90)的IP信息,可以看出docker的ip被flannel管理成功了。

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:90:de:df brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.90/24 brd 192.168.111.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe90:dedf/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:60:93:34:b0 brd ff:ff:ff:ff:ff:ff
    inet <span style="color:#FF0000;">172.200.79.1</span>/24 scope global docker0
       valid_lft forever preferred_lft forever
5: flannel0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1472 qdisc pfifo_fast state UNKNOWN qlen 500
    link/none 
    inet <span style="color:#FF0000;">172.200.79.0</span>/16 scope global flannel0
       valid_lft forever preferred_lft forever
[root@localhost ~]# 


如下是Node1(192.168.111.93)的IP信息,可以看出docker的ip被flannel管理成功了。

[root@localhost bin]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:2c:e0:3f brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.93/24 brd 192.168.111.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet 192.168.111.90/24 brd 192.168.111.255 scope global secondary enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe2c:e03f/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:30:fa:70:d5 brd ff:ff:ff:ff:ff:ff
    inet 172.200.80.1/24 scope global docker0
       valid_lft forever preferred_lft forever
7: flannel0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1472 qdisc pfifo_fast state UNKNOWN qlen 500
    link/none 
    inet 172.200.80.0/16 scope global flannel0
       valid_lft forever preferred_lft forever
[root@localhost bin]# 

如下是Node2(192.168.111.94)的IP信息,可以看出docker的ip被flannel管理成功了。

[root@localhost home]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:79:d3:e1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.94/24 brd 192.168.111.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe79:d3e1/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:e7:33:c4:e9 brd ff:ff:ff:ff:ff:ff
    inet <span style="color:#FF0000;">172.200.11.1</span>/24 scope global docker0
       valid_lft forever preferred_lft forever
6: flannel0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1472 qdisc pfifo_fast state UNKNOWN qlen 500
    link/none 
    inet 172.200.11.0/16 scope global flannel0
       valid_lft forever preferred_lft forever
[root@localhost home]# 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值