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

添加:

[Unit]

Description=Flanneld overlay address etcd agent

After=network.target

Before=docker.service

 

[Service]

Type=notify

EnvironmentFile=-/etc/sysconfig/flanneld

EnvironmentFile=-/etc/sysconfig/docker-network

ExecStart=/usr/bin/flanneld \

            -etcd-endpoints=${FLANNEL_ETCD} \

            $FLANNEL_OPTIONS

 

[Install]

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的网卡信息

wKioL1f7UkWB4IOGAAAaxdvvzpI498.png




本文转自 sykmiao 51CTO博客,原文链接:http://blog.51cto.com/syklinux/1860301,如需转载请自行联系原作者
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
14天前
|
人工智能 弹性计算 运维
ACK Edge与IDC:高效容器网络通信新突破
本文介绍如何基于ACK Edge以及高效的容器网络插件管理IDC进行容器化。
|
9天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
107 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
3天前
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
18 2
|
25天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
64 7
|
1月前
|
安全 网络安全 数据安全/隐私保护
利用Docker的网络安全功能来保护容器化应用
通过综合运用这些 Docker 网络安全功能和策略,可以有效地保护容器化应用,降低安全风险,确保应用在安全的环境中运行。同时,随着安全威胁的不断变化,还需要持续关注和研究新的网络安全技术和方法,不断完善和强化网络安全保护措施,以适应日益复杂的安全挑战。
44 5
|
2月前
|
Docker 容器
docker swarm启动服务并连接到网络
【10月更文挑战第16天】
45 5
|
2月前
|
调度 Docker 容器
docker swarm创建覆盖网络
【10月更文挑战第16天】
42 5
|
2月前
|
负载均衡 应用服务中间件 数据安全/隐私保护
docker swarm 创建 Swarm 模式下的网络
【10月更文挑战第14天】
65 6
|
2月前
|
负载均衡 网络协议 关系型数据库
docker swarm 使用网络启动服务
【10月更文挑战第15天】
39 4
|
2月前
|
应用服务中间件 nginx Docker
docker swarm创建覆盖网络
【10月更文挑战第14天】
27 3