一、master编写flannel脚本:
vim /root/scripts/flannel.sh
#!/bin/bash
cd /opt/kubernetes/ssl/
#写入分配的子网网段
/opt/kubernetes/bin/etcdctl -ca-file=ca.pem -cert-file=server.pem -key-file=server-key.pem --endpoints=“https://192.168.1.250:2379,https://192.168.1.75:2379,https://192.168.1.76:2379,https://192.168.1.77:2379” set /coreos.com/network/config ‘{ “Network”: “172.17.0.0/16”, “Backend”: {“Type”: “vxlan”}}’
#下载flannel安装包
wget https://github.com/coreos/flannel/releases/download/v0.11.0/flannel-v0.11.0-linux-amd64.tar.gz
tar xf flannel-v0.11.0-linux-amd64.tar.gz
#将flannel命令和脚本发送到node节点
scp flanneld mk-docker-opts.sh 192.168.1.75:/opt/kubernetes/bin/
scp flanneld mk-docker-opts.sh 192.168.1.76:/opt/kubernetes/bin/
scp flanneld mk-docker-opts.sh 192.168.1.77:/opt/kubernetes/bin/

执行脚本:
sh /root/scripts/flannel.sh

查看添加的子网:
/opt/kubernetes/bin/etcdctl -ca-file=ca.pem -cert-file=server.pem -key-file=server-key.pem --endpoints=“https://192.168.1.250:2379,https://192.168.1.75:2379,https://192.168.1.76:2379,https://192.168.1.77:2379” get /coreos.com/network/config

如果返回Error: 100: Key not found (/coreos.com) [11],则代表没有设置网络

二、node节点编写flannel脚本(三台node节点脚本内容相同):
vim /root/scripts/flannel.sh
#!/bin/bash

#写入flannel配置文件
cat >/opt/kubernetes/cfg/flanneld <<EOF
FLANNEL_OPTIONS="–etcd-endpoints=https://192.168.1.250:2379,https://192.168.1.75:2379,https://192.168.1.76:2379,https://192.168.1.77:2379
-etcd-cafile=/opt/kubernetes/ssl/ca.pem
-etcd-certfile=/opt/kubernetes/ssl/server.pem
-etcd-keyfile=/opt/kubernetes/ssl/server-key.pem"
EOF

#systemd管理flannel
cat >/usr/lib/systemd/system/flanneld.service <<EOF
[Unit]
Description=Flanneld overlay address etcd agent
After=network-online.target network.target
Before=docker.service

[Service]
Type=notify
EnvironmentFile=/opt/kubernetes/cfg/flanneld
ExecStart=/opt/kubernetes/bin/flanneld --ip-masq $FLANNEL_OPTIONS
ExecStartPost=/opt/kubernetes/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

#启动flannel
systemctl daemon-reload
systemctl restart flanneld
systemctl enable flanneld

#配置docker启动指定子网段
cat >/usr/lib/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
EnvironmentFile=/run/flannel/subnet.env
ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF

#重启docker
systemctl daemon-reload
systemctl restart docker

执行脚本:
sh /root/scripts/flannel.sh

node02、node03都执行脚本:
在node01上把写好的脚本直接传过去
scp /root/scripts/flannel.sh 192.168.1.76:/root/scripts/
scp /root/scripts/flannel.sh 192.168.1.77:/root/scripts/

三台node节点上执行脚本:
sh /root/scripts/flannel.sh

查看node节点上网络:


可以看到node节点上的docker0和flannel网络的ip在同一个网段,在node01节点上ping节点node02上的docker0的ip是通,反之亦然:


注意:
如果开启了防火墙,建议每台机器上都放行内网网段访问:
iptables -I INPUT -s 192.168.1.0/24 -j ACCEPT

二进制安装K8S(四):部署flannel网络相关推荐

  1. K8s集群部署(四)------ Flannel网络部署

    所有节点都要部署Flannel网络,在所有节点操作. 1.为Flannel生成证书 [root@k8s-master ssl]# pwd /usr/local/src/ssl[root@k8s-mas ...

  2. Kubernetes二进制部署——Flannel网络

    Kubernetes二进制部署--Flannel网络 一.Flannel简介 二.Flannel原理 三.Flannel的作用 四.Flannel 网络配置 1.node 节点安装 docker 2. ...

  3. k8s 安装_二进制安装k8s集群总结

    在之前文章里我们以学习为目的介绍了k8s集群的手动二进制安装,包括: ssl证书制作. docker的安装. 网络通讯组件flannel的安装. K8s基础组件的安装(etcd,master组件api ...

  4. 1、二进制安装k8s

    文章目录 一.准备工作 1.机器规划 2.初始化 2.1.配置静态IP 2.2.配置主机名字 2.3.配置hosts文件 2.4.配置免密登录 2.5.关闭防火墙和SELINUX 2.6.关闭交换分区 ...

  5. Kubernetes-3 二进制安装k8s

    二进制安装K8S集群 二进制安装kubernetes kubernetes集群架构 实现环境部署 签发证书 kubelet Client端证书 产生kubeconfig 产生kubelet的kubec ...

  6. 二进制安装K8S - NODE 节点的安装

    二进制安装K8S - NODE 节点的安装 安装系统 Linux node02 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x8 ...

  7. 二进制安装k8s v1.25.4 IPv4/IPv6双栈

    二进制安装k8s v1.25.4 IPv4/IPv6双栈 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes( ...

  8. Kubernetes 笔记(06)— 搭建多节点集群、kubeadm 安装 master/worker/console/flannel 网络插件

    1. kubeadm 官网:https://kubernetes.io/zh-cn/docs/reference/setup-tools/kubeadm/ 为了简化 Kubernetes 的部署工作, ...

  9. CentOS单机安装k8s并部署.NET 6程序

    学习云原生,k8s 是一个基础,为了做一些实验,单机部署是最方便的,下面将介绍在 CentOS 中单机安装 k8s ,并将一个 .NET 6 的程序发布到 k8s 中. 环境 宿主机:Mac 10.1 ...

最新文章

  1. SAP HANA是什么
  2. 【计算理论】正则语言 ( 正则表达式原子定义 | 正则表达式递归定义 | 正则表达式语言原子定义 | 正则表达式语言结构归纳 | 正则表达式语言示例 | 根据正则表达式构造自动机 )
  3. 谷歌市场上架aab安装包的各种坑
  4. 切换node版本 nvm 的基本使用 -- 以及安装公司特有的镜像源
  5. C语言学习书籍推荐《C语言程序设计 现代方法(第2版)》下载
  6. 看雪 2016CrackMe 攻防大赛 - 1-Crack_Me-凉飕飕
  7. Mule,目前综合状态最良好的开源ESB方案引文
  8. c语言中memcpy函数_带有示例的C中的memcpy()函数
  9. 【IKExpression】IKExpressionV2.0简易表达式解析器
  10. linux应用程序启动时加载库错误问题
  11. 1.14_radix_sort_基数排序
  12. hnu 暑期实训之最少钱币数
  13. Hibernate之组件映射
  14. 分享一个好看的邮件html模板
  15. TeX Live安装教程
  16. uc保存html,UC浏览器如何保存网页 怎么保存网页图文教程
  17. Vue学习随笔+商城项目【上】
  18. 10个开源电子商务平台
  19. 在Python中使用HTML模版的教程
  20. 《第6章-GCN的性质》学习笔记

热门文章

  1. IPv6在企业网络中的应用
  2. Infiniband
  3. Hermit 音乐播放器 2.4.1
  4. 乐max2 android9,乐视Max 2跑分曝光 硬件直逼Max pro
  5. 谷歌浏览器下载地址 chrome最新版本 百度云地址
  6. 这两天猎头的电话有点多
  7. 如何让各大云盘下载成为你的小金库,独家原创-微互联!
  8. 计算机知识都有什么作用,计算机主要功能是什么
  9. 赫优讯netTAP网关在SICK条码扫描器通讯上的应用
  10. 《Android 应用案例开发大全(第3版)》——第2.4节壁纸的实现