Centos7 k8s v1.5.2二进制部署安装-网络插件Flannel的安装

摘要:
一、安装部署网络插件1、概念kubeenetes设计了网络模型,但是却将她得实现交给了网络插件,CNI网络插件最主要得功能就是实现POD资源能够跨宿主机进行通信常见得CNI网络插件:Flannel、Calico、Canal、Contiv、OpenContrail、NSX-T、Kube-router2、安装部署mkdirflannel-v0.13.0tar-zxvfflannel-v0.13.0-l

一、安装部署网络插件

1、概念

kubeenetes设计了网络模型,但是却将她得实现交给了网络插件,CNI网络插件最主要得功能就是实现POD资源能够跨宿主机进行通信

常见得CNI网络插件:
Flannel、Calico、Canal、Contiv、OpenContrail、NSX-T、Kube-router

2、安装部署

mkdir flannel-v0.13.0tar -zxvf flannel-v0.13.0-linux-amd64.tar.gz -C /opt/flannel-v0.13.0ln -s flannel-v0.13.0 flannel

3、拷贝证书

cd flannel && mkdir cert/cd cert/scp operations:/opt/certs/ca.pem ./scp operations:/opt/certs/client.pem ./scp operations:/opt/certs/client-key.pem ./

4、编辑环境变量env文件,FLANNEL_SUBNET根据规划填写

vim /opt/flannel/subnet.env
FLANNEL_NETWORK=172.17.0.0/16FLANNEL_SUBNET=172.7.21.1/24FLANNEL_MTU=1500FLANNEL_IPMASQ=false

5、编辑启动脚本:红色部分根据node节点信息修改,并且eth0信息根据本机网卡信息修改

vim /opt/flannel/flanneld.sh
#!/bin/sh
./flanneld 
  --public-ip=192.168.112.23--etcd-endpoints=https://192.168.112.21:2379,https://192.168.112.22:2379,https://192.168.112.23:2379 
  --etcd-keyfile=./cert/client-key.pem 
  --etcd-certfile=./cert/client.pem 
  --etcd-cafile=./cert/ca.pem 
  --iface=ens192 
  --subnet-file=./subnet.env 
  --healthz-port=2401
chmod +x /opt/flannel/flanneld.sh
mkdir -p /data/logs/flanneld

6、设置网络类型

cd /opt/etcd
./etcdctl set /coreos.com/network/config '{"Network":"172.7.0.0/16","Backend": {"Type": "host-gw"}}'   集群在二层网络中选择host-gw更快,三层网必须使用VxLAN模型
./etcdctl get /coreos.com/network/config

7、编辑supervisor启动脚本:

vim /etc/supervisord.d/flanneld.ini
[program:flanneld-7-63]
command=/opt/flannel/flanneld.sh                                     ; the program (relative uses PATH, can take args)
numprocs=1                                                           ; number of processes copies to start (def 1)
directory=/opt/flannel                                               ; directory to cwd to before exec (def no cwd)
autostart=true                                                       ; start at supervisord start (default: true)
autorestart=true                                                     ; retstart at unexpected quit (default: true)
startsecs=30                                                         ; number of secs prog must stay running (def. 1)
startretries=3                                                       ; max # of serial start failures (default 3)
exitcodes=0,2                                                        ; 'expected' exit codes for process (default 0,2)
stopsignal=QUIT                                                      ; signal used to kill process (defaultTERM)
stopwaitsecs=10                                                      ; max num secs to wait b4 SIGKILL (default 10)
user=root                                                            ; setuid to thisUNIX account to run the program
redirect_stderr=true                                                 ; redirect proc stderr to stdout (default false)
stdout_logfile=/data/logs/flanneld/flanneld.stdout.log               ; stderr log path, NONE for none; defaultAUTO
stdout_logfile_maxbytes=64MB                                         ; max # logfile bytes b4 rotation (default50MB)
stdout_logfile_backups=4                                             ; # of stdout logfile backups (default 10)
stdout_capture_maxbytes=1MB                                          ; number of bytes in 'capturemode' (default 0)
stdout_events_enabled=false                                          ; emit events on stdout writes (default false)

更新supervisor配置:

supervisorctl update

supervisorctl staus

8、验证,从192.168.112.22ping192.168.112.23上的pods

Centos7 k8s v1.5.2二进制部署安装-网络插件Flannel的安装第1张

二、修改flnnel网络类型

模型图

Centos7 k8s v1.5.2二进制部署安装-网络插件Flannel的安装第2张

1、停止flannel网络

supervisorctl stop flanneld-112-22

2、删除flannel网络给我们创建的路由

[root@kubectl1 etcd]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.112.1   0.0.0.0         UG    100    0        0ens192
172.7.22.0      0.0.0.0         255.255.255.0   U     0      0        0docker0
172.7.23.0      192.168.112.23  255.255.255.0   UG    0      0        0ens192
192.168.112.0   0.0.0.0         255.255.255.0   U     100    0        0ens192
[root@kubectl1 etcd]# route del -net 172.7.23.0/24 gw 192.168.112.23

3、配置vxlan模型

cd /opt/etcd
./etcdctl set /coreos.com/network/config  '{"Network": "172.7.0.0/16", "Backend": {"Type": "vxlan"}}'
./etcdctl get /coreos.com/network/config

4、启动flannel网络

supervisorctl restart flanneld-112-22

可以发现多了一块网卡,这块网卡就是vxlan用于隧道通信的虚拟网卡:

Centos7 k8s v1.5.2二进制部署安装-网络插件Flannel的安装第3张

免责声明:文章转载自《Centos7 k8s v1.5.2二进制部署安装-网络插件Flannel的安装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Redis入门 – Jedis存储Java对象.net core在Ocelot网关中统一配置Swagger下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Kubernetes(K8s)(五)——在K8s集群上搭建redis和docker的留言簿

(1).实验环境   需要三个镜像:web前端镜像php-frontend、redis-master和redis-slave。其中web前端通过JavaScript redis api实现与redis-master交互。 (2).扩展:flannel   flannel是K8s默认提供的网络插件。Flannel是由CoreOs团队开发社交的网络工具,Cor...

K8S从入门到放弃系列-(8)kube-apiserver 高可用配置

摘要:   前面几篇文章,就是整个的master节点各组件的部署,上面我们提到过,k8s组件中,kube-controller-manager、kube-scheduler及etcd这三个服务高可用,都是通过leader选举模式产生,本章节我们着重介绍下kube-apiserver高可用配置 1、以下操作属于node节点上组件的部署,在master节点上...

K8s (常用命令)

查看集群信息: [root@kubernetes-master pods]# kubectl cluster-infoKubernetes master is running at http://localhost:8080KubeDNS is running at http://localhost:8080/api/v1/proxy/namespaces...

Traefik-v2.x快速入门

一、概述 traefik与nginx一样,是一款优秀的反向代理工具,或者叫Edge Router。至于使用它的原因则基于以下几点 无须重启即可更新配置 自动的服务发现与负载均衡 与docker的完美集成,基于container label的配置 漂亮的dashboard界面 metrics的支持,对prometheus和k8s的集成 接下来讲一下它的...

Docker and Kubernetes -- 监控(weave scope)

docker常用的监控工具 weave scope 简介 Weave Scope是Docker和Kubernetes的可视化监控管理软件 Weave Scope 会自动生成容器之间的关系图,方便理解容器之间的关系,也方便监控容器化和微服务化的应用 安装部署 官方安装文档Installing Weave Scope:https://www.weave...

Kubernetes查看可用的apiVersion版本

# kubectl api-versions admissionregistration.k8s.io/v1 admissionregistration.k8s.io/v1beta1 apiextensions.k8s.io/v1 apiextensions.k8s.io/v1beta1 apiregistration.k8s.io/v1 apiregi...