Kubernetes: 集群网络配置 - flannel

参考: [ Kubernetes 权威指南 ]

Kubernetes 集群搭建可以参考 [ Kubernetes : 多节点 k8s 集群搭建实践 ]

在多个 Node 组成的 Kubernetes 集群内, Kubernetes 本身不会对跨主机容器网络进行设置. flannel 就是解决跨主机容器间网络互通的需求.

Kubernetes 集群架构

Server List

节点名称 节点 IP
k8s-master 10.10.10.10
k8s-node1 10.10.10.11
k8s-node2 10.10.10.12

节点服务说明

  • Master : etcd , kube-apiserver , kube-controller-manager, kube-scheduler.
  • Node : docker, kubelet, kube-proxy

flannel 配置安装

flannel 安装于 kubernetes node 服务器上.

安装 flannel

yum install flannel
ln -sv /usr/libexec/flannel/mk-docker-opts.sh /usr/bin

配置: /etc/sysconfig/flanneld

需要连接位于 master 上的 etcd 服务:

FLANNEL_ETCD_ENDPOINTS="http://10.10.10.10:2379"
FLANNEL_ETCD_PREFIX="/myk8s/network" # myk8s 可以随意定义

在 etcd 中添加网络配置记录

etcdctl set /myk8s/network/config ‘{"Network":"10.1.0.0/16"}‘

修改文件: /usr/lib/systemd/system/flanneld.service

[Unit]
Description=Flanneld overlay address etcd agent
After=network.target
After=network-online.target
#After=etcd.service # 不在本机部署 etcd
Wants=network-online.target
Before=docker.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/flanneld
EnvironmentFile=-/etc/sysconfig/docker-network
ExecStart=/usr/bin/flanneld-start $FLANNEL_OPTIONS
ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
Restart=on-failure

[Install]
WantedBy=multi-user.target
WantedBy=docker.service

服务启动

systemctl stop docker
systemctl start flanneld

配置 Docker 网桥

mk-docker-opts.sh -i
source /run/flannel/subnet.env
ifconfig docker0 ${FLANNEL_SUBNET}

启动 docker

systemctl start docker

原文地址:https://www.cnblogs.com/tiantiandas/p/k8s_cluster_network_by_flannel.html

时间: 2024-10-08 01:38:36

Kubernetes: 集群网络配置 - flannel的相关文章

kubernetes集群网络配置方案——flannel部署

部署环境: CentOS Linux release 7.2 64位 10.10.0.103 node01 10.10.0.49 node02 安装过程: # yum install flannel # tar zxf flannel-v0.8.0-linux-amd64_.tar.gz # cp flanneld /usr/bin/ # cp mk-docker-opts.sh /usr/bin/ 编辑服务配置文件: #cat /usr/lib/systemd/system/flanneld.

机房4台服务器集群网络配置

主要目标: 可以通过内网系统访问楼下机房服务器集群,楼下机房只给一个可以访问外网的IP. 现有条件: 只有一根可以上外网的网线 一台交换机 4台高性能服务器,每台服务器有两个网口 主要网络架构设计: 一台服务器为master节点 另外三台服务器分别为slave1,slave2,slave3 四台服务器安装的操作系统皆为unbuntu server IP 分布: master节点eth0: 192.168.223.1 , eth1: 10.1.8.200 slave2节点eth0: 192.168

NAT下虚拟机集群网络配置

VMware 设置 物理机(宿主机)设置 虚拟机网卡设置 [[email protected] gongice]# ifconfig eth0 192.168.153.11 [[email protected] gongice]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:2C:DF:3D inet addr:192.168.153.11 Bcast:192.168.153.255 Mask:255.255.255.0 inet6 add

无交换机实现集群网络互联

分布式集群中对于高性能网络的需求日益增强,尤其是存储集群,对于数据交换的网络带宽.延迟等要求更高.而对于超小规模集群(三节点.四节点等),万兆交换机的使用严重地增加了TCO.这成为了一些小微型企业小规模集群建设的一个门槛.这里对无交换机实现集群网络互联进行了一些简单的探索. 一.网状拓扑结构在此种结构中,任意节点都是两两互联,任意两个节点都是直接通信,不用通过其他节点进行转发.每个节点都需要至少需要N-1个网络端口(N为结点数),例如3节点互联,每个节点就至少需要2个网络端口. 常规来说,当Li

shell 脚本实战笔记(7)--集群网络相关知识和环境搭建

前言: 对网络相关的知识, 做下笔记. 包括IP地址A/B/C的分类, 静态地址的配置/DNS配置, 以及网卡相关信息查看. *) A/B/C/D类网络地址的划分 IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址 IPv4的地址划分, 可以分为5种类型, A/B/C/D/E类 A类地址: 由1字节的网络地址和3字节主机地址组成, 网络地址最高位必须是"0", 地址范围从1.0.0.0到126.0.0.0. A类网络有126个, 每个网络能容纳1亿多个主机. B类

Windows集群网络负载均衡

在接触负载均衡的时候,笔者先是在网络上进行负载均衡的搜索,弄清楚了到底什么是负载均衡,之后就发现,支持负载均衡的系统有很多.常用的是Windows,Linux这两大系统.那么网上的教程最多的也是关于LVS和win2003的配置操作.那么现在笔者,在此为大家主要介绍一下Windows负载均衡的特点. 通过使用由两台或多台计算机一起组成的集群,网络负载均衡使得Web服务器的可用性提高,可扩展性改善?Internet客户使用单一IP地址(或多宿主主机采用一套地址)访问集群?网络负载均衡集群与运行单一服

Kubernetes网络组件之Flannel策略实践(vxlan、host-gw)

4.3 Kubernetes网络组件之 FlannelFlannel是CoreOS维护的一个网络组件,Flannel为每个Pod提供全局唯一的IP,Flannel使用ETCD来存储Pod子网与Node IP之间的关系.flanneld守护进程在每台主机上运行,并负责维护ETCD信息和路由数据包.其实k8s网络组件flannel和calico主要解决的问题是k8s节点之间容器网络的通信,flannel要保证每个pod的IP是唯一的,怎么保证是唯一的,大部分组件的做法是在每个Node上分配一个唯一的

Oracle 11g-网络配置

Oracle 11g-网络配置 当我们安装完Oracle了,需要进行网络连接,此时当然需要两样东西:服务器和客户端.通过对二者的配置我们方可实现网络连接.那,平时我们是怎样访问数据库服务器的呢?主要是两种方式: 1.通过网络[tcp/ip]访问,那么至少要启动OracleOraDb11g_home1TNSListener和OracleServiceORCL服务.[监听是针对该种情况] Example:sqlplus scott/[email protected] 2.通过本地访问,至少启动Ora

安装配置 flannel - 每天5分钟玩转 Docker 容器技术(59)

上一节我们部署了 etcd,本节安装和配置 flannel. build flannel flannel 没有现成的执行文件可用,必须自己 build,最可靠的方法是在 Docker 容器中 build.不过用于做 build 的 docker 镜像托管在 gcr.io,国内可能无法直接访问,为方便大家,我把它 mirror 到了 docker hub,构建步骤如下: 下载并重命名 image. docker pull cloudman6/kube-cross:v1.6.2-2 docker t