2.kubernetes的CNI网络插件-Flannel

目录

  • 1.集群架构

    • 1.1.下载软件,解压,做软链接
    • 1.2.创建目录
    • 1.3.拷贝证书文件
    • 1.4.创建配置
    • 1.5.创建启动脚本
    • 1.6.授权和创建日志目录
    • 1.7.创建supervisor配置
  • 2.flannel host-gw模型(三选一)
    • 2.1.启动服务并检查
  • 3.flannel vxlan模型(三选一)
  • 4.flannel 直接路由模型(三选一)

1.集群架构

主机名 角色 IP地址
hdss7-21.host.com flannel 10.4.7.21
hdss7-22.host.com flannel 10.4.7.22

部署方法以hdss7-21.host.com为例

1.1.下载软件,解压,做软链接
[[email protected] ~]# cd /opt/src/
[[email protected] src]# wget https://github.com/coreos/flannel/releases/download/v0.11.0/flannel-v0.11.0-linux-amd64.tar.gz

[[email protected] src]# mkdir /opt/flannel-v0.11.0
[[email protected] src]# tar xf flannel-v0.11.0-linux-amd64.tar.gz  -C /opt/flannel-v0.11.0/
[[email protected] src]# ln -s /opt/flannel-v0.11.0/ /opt/flannel
1.2.创建目录
[[email protected] src]# /opt/flannel
[[email protected] flannel]# mkdir /opt/flannel/cert
1.3.拷贝证书文件
[[email protected] flannel]# cd cert
[[email protected] cert]# scp hdss7-200:/opt/certs/ca.pem .
[[email protected] cert]# scp hdss7-200:/opt/certs/client.pem .
[[email protected] cert]# scp hdss7-200:/opt/certs/client-key.pem .
1.4.创建配置
[[email protected] cert]# cd ..
[[email protected] flannel]# vi subnet.env
FLANNEL_NETWORK=172.7.0.0/16
FLANNEL_SUBNET=172.7.21.1/24
FLANNEL_MTU=1500
FLANNEL_IPMASQ=false
1.5.创建启动脚本
[[email protected] flannel]# vi flanneld.sh
#!/bin/sh
./flanneld   --public-ip=10.4.7.21   --etcd-endpoints=https://10.4.7.12:2379,https://10.4.7.21:2379,https://10.4.7.22:2379   --etcd-keyfile=./cert/client-key.pem   --etcd-certfile=./cert/client.pem   --etcd-cafile=./cert/ca.pem   --iface=eth0   --subnet-file=./subnet.env   --healthz-port=2401
1.6.授权和创建日志目录
[[email protected] flannel]# chmod +x flanneld.sh
[[email protected] flannel]# mkdir -p /data/logs/flanneld
1.7.创建supervisor配置
[[email protected] flannel]# vi /etc/supervisord.d/flannel.ini
[program:flanneld-7-21]
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 (default TERM)
stopwaitsecs=10                                              ; max num secs to wait b4 SIGKILL (default 10)
user=root                                                    ; setuid to this UNIX 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; default AUTO
stdout_logfile_maxbytes=64MB                                 ; max # logfile bytes b4 rotation (default 50MB)
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)

2.flannel host-gw模型(三选一)

[[email protected] etcd]# ./etcdctl set /coreos.com/network/config ‘{"Network": "172.7.0.0/16", "Backend": {"Type": "host-gw"}}‘
{"Network": "172.7.0.0/16", "Backend": {"Type": "host-gw"}}
验证:
[[email protected] etcd]# ./etcdctl get /coreos.com/network/config
{"Network": "172.7.0.0/16", "Backend": {"Type": "host-gw"}}
2.1.启动服务并检查
[[email protected] flannel]# supervisorctl  update
[[email protected] flannel]# supervisorctl status

3.flannel vxlan模型(三选一)

1.supervisor stop flanneld-7-[21.22]
2.删除host-gw模型创建的路由
route del -net 172.7.21.0/24 gw 10.4.7.21     hdss7-22.host.com上
route del -net 172.7.22.0/24 gw 10.4.7.22     hdss7-21.host.com上
3.在etcd修改
./etcdctl get /coreos.com/network/config
./etcdctl rm /coreos.com/network/config
./etcdctl set /coreos.com/network/config ‘{"Network": "172.7.0.0/16", "Backend": {"Type": "VxLAN"}}‘
4.supervisor start flanneld-7-[21.22]

4.flannel 直接路由模型(三选一)

‘{"Network": "172.7.0.0/16", "Backend": {"Type": "VxLAN","Directrouting": true}}‘

原文地址:https://www.cnblogs.com/yanyanqaq/p/12635704.html

时间: 2024-11-03 22:28:57

2.kubernetes的CNI网络插件-Flannel的相关文章

k8s的flannel网络插件配置

flannel的网络插件配置 Kubernetes网络通信需要解决以下问题:            (1)容器间通信:同一个Pod内的多个容器间的通信,lo            (2)Pod通信:Pod IP  <-直达->  Pod IP            (3)Pod与Service通信:Pod IP  <-->  Cluster IP            (4)Service与集群外部客户端的通信:(ingress.nodeport.loadbalancer)   k

K8S 之 Flannel网络插件安装

一.flannel的作用 1.CNI网络插件最主要的功能就是实现POD资源能够跨宿主机是进行能信 #test-nodes1主机无法ping通test-nodes2主机的pod容器 [[email protected] ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-ds1-qg45q 1/1 Running 0 2d12h 172.7.

容器网络插件那么多,博云为什么基于OVS深度自研?

背景 从2015年开始,博云开始基于Kubernetes和容器帮助客户交付应用管理平台.在开始阶段,博云选择了业界使用度非常广泛且成熟稳定的calico作为默认的网络方案并在calico方面积累了大量生产实践经验.随着容器云平台的落地越来越多,关于容器云平台网络部分的建设要求也越来越高,我们和多家客户进行了深入沟通,虽然需求有所差异,但总结下来主要的诉求包括: 从运维管理角度,更倾向于采用二层网络模型:在主流的二层组网的数据中心中,受限于硬件能力.运维人员的能力和管理复杂度等需求,大部分客户不希

kubernetes之Flannel网络插件部署

Kubernetes系统上Pod网络的实现依赖于第三方插件,而Flannel是由CoreOS主推的目前比较主流的容器网络解决方案,CNI插件有两种功能:网络配置和网络策略,由于flannel比较简单,并不支持网络策略,flannel项目自身只是一个框架,真正提供网络功能的是它的后端实现,目前,Flannel支持三种不同后端实现,分别是: UDP VXLAN host-gw UDP是Flannel项目最早支持的一种方式,是性能最差的方式,目前已被废弃. 用的最多的是VXLAN和host-gw模式的

kubernetes使用flannel网络插件服务状态显示CrashLoopBackOff

使用Kubeadm安装K8s集群,在安装flannel网络插件后,发现pod: kube-flannel-ds 一直是CrashLoopBackOff 报错内容如下: log is DEPRECATED and will be removed in a future version. Use logs instead. I0823 03:28:21.342352 1 main.go:514] Determining IP address of default interface I0823 03

Kubernetes &amp; Docker 容器网络终极之战(十四)

目录 一.单主机 Docker 网络通信 1.1.host 模式 1.2 Bridge 模式 1.3 Container 模式 1.4.None 模式 二.跨主机 Docker 网络通信分类 2.1 通信方案 2.2.容器网络规范 2.3.网络通信实现方案 2.4.Kubernetes 网络模型 三.跨主机 Docker 网络 3.1 Flannel 网络方案 3.2.Calico 网络方案 3.3.Canal 网络方案 3.4.Docker overlay 网络方案 3.5.Docker ma

Kubernetes 第十五章 flannel overlay network

Kubernetes系统上Pod网络的实现依赖于第三方插件,而Flannel是由CoreOS主推的目前比较主流的容器网络解决方案,CNI插件有两种功能:网络配置和网络策略,由于flannel比较简单,并不支持网络策略,flannel项目自身只是一个框架,真正提供网络功能的是它的后端实现,目前,Flannel支持三种不同后端实现,分别是: UDP VXLAN host-gw UDP是Flannel项目最早支持的一种方式,是性能最差的方式,目前已被废弃. 用的最多的是VXLAN和host-gw模式的

【Kubernetes】K8S 网络隔离 方案

参考资料: K8S-网络隔离参考 OpenContrail is an open source network virtualization platform for the cloud. – Kube-O-Contrail – get your hands dirty with Kubernetes and OpenContrail OpenContrail is an open source network virtualization platform for the cloud. Ope

k8s网络之Flannel网络

k8s网络主题系列: 一.k8s网络之设计与实现 二.k8s网络之Flannel网络 三.k8s网络之Calico网络 简介 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址. 在默认的Docker配置中,每个节点上的Docker服务会分别负责所在节点容器的IP分配.这样导致的一个问题是,不同节点上容器可能获得相同的内外IP地址.并使这些容器之间能够之间通过IP地址相互找