Kube-proxy使用IPVS模式转发

操作系统: CentOS 7.5 内核版本:3.10

1.安装ipvsadm、conntrack
yum -y install ipvsadm conntrack-tools

2.加载ipvs模块
vim /etc/sysconfig/modules/ipvs.modules

#!/bin/bash
ipvs_modules="ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_fo ip_vs_nq ip_vs_sed ip_vs_ftp nf_conntrack_ipv4"
for kernel_module in \${ipvs_modules}; do
 /sbin/modinfo -F filename \${kernel_module} > /dev/null 2>&1
 if [ $? -eq 0 ]; then
 /sbin/modprobe \${kernel_module}
 fi
done

执行
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs

3.修改服务器内核参数,增加

cat >>/etcsysctl.conf <<EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

再执行
sysctl -p

4.修改kube-proxy配置参数
vim /etc/kubernetes/proxy

KUBE_PROXY_ARGS="--bind-address=192.168.0.210 \        #服务器IP
                 --hostname-override=192.168.0.210 \                      #服务器IP
                 --masquerade-all=true \                                            #确保反向流量通过
                 --feature-gates=SupportIPVSProxyMode=true \      #打开支持ipvs模式
                 --proxy-mode=ipvs \                                                 #明确代理模式为ipvs
                 --ipvs-min-sync-period=5s                  --ipvs-sync-period=5s                  --ipvs-scheduler=rr \                                                #选择调度方式为轮询调度
                 --kubeconfig=/etc/kubernetes/kube-proxy.kubeconfig                  --cluster-cidr=10.254.0.0/16"

原文地址:http://blog.51cto.com/fengwan/2345983

时间: 2024-11-15 00:53:40

Kube-proxy使用IPVS模式转发的相关文章

kubernetes1.12 kube-proxy开启ipvs 模式

以 ipvs 模式 运行kube-proxy 前提条件:确保IPVS需要内核模块ip_vsip_vs_rrip_vs_wrrip_vs_shnf_conntrack_ipv4检查已编译到节点内核中grep -e ipvs -e nf_conntrack_ipv4 /lib/modules/$(uname -r)/modules.builtin 是否被加载modprobe -- ip_vsmodprobe -- ip_vs_rrmodprobe -- ip_vs_wrrmodprobe -- ip

用Darwin开发RTSP级联server(拉模式转发)(附源代码)

源代码下载地址:https://github.com/EasyDarwin orwww.easydarwin.org 在博客 在Darwin进行实时视频转发的两种模式 中,我们描写叙述了流媒体server对源端音视频转发的两种模式.当中一种#拉模式# 转发.在我们通常的项目中常常会用到.比方在传统视频监控行业,IP摄像机部署在监控内网的各个地点.我们须要将他们进行集中式的管理,而且对外公布,这时候我们就须要用到一台流媒体server,可以拉取所需的摄像机的音视频流,并做转化(如RTMP.HTTP

[k8s]k8s 1.9(on the fly搭建) 1.9_cni-flannel部署排错 ipvs模式

角色 节点名 节点ip master n1 192.168.14.11 节点1 n2 192.168.14.12 节点2 n3 192.168.14.13 https://raw.githubusercontent.com/lannyMa/scripts/master/k8s/ 准备token.csv和bootstrap.kubeconfig文件 - 在master生成token.csv BOOTSTRAP_TOKEN="41f7e4ba8b7be874fcff18bf5cf41a7c"

Java设计模式—Proxy动态代理模式

代理:设计模式 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问.代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理. 图 1. 代理模式 为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别.通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很好地隐藏和保护委托类对象,同时也为实施不同控制策略预留了空间,从而在设计上获得了更大的灵活性.Java 动态代理机制以巧妙的方式近乎完

Java ——代理模式[转发]

1.  简介 代理模式(Proxy Pattern)是GoF 23种Java常用设计模式之一.代理模式的定义:Provide a surrogate or placeholder for another object to controlaccess to it(为其他对象提供一种代理以控制对这个对象的访问).使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象.创建开销大的对象或需要安全控制的对象),并且可以在不改变目标对象的情况下添加一些额外的功能. 2.  UM

django Proxy models ---- 代理模式

一个proxy models 不会在数据库中创建新的表.而是与它的基类共用同一个表 1.model 的定义: from django.db import models # Create your models here. class Person(models.Model): name=models.CharField(max_length=8) class ProxyPerson(Person): class Meta: proxy=True def doSomething(self): pa

kube-proxy修改成ipvs模式

#(1)开启内核node节点内核参数 #vi /etc/sysctl.conf net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 # sysctl -p #(2)安装ipvs相关软件包 yum -y install ipvsadm ipset #(3)修改kube-proxy启动脚本文件 #/usr/lib/systemd/system/ku

kubernetes启用ipvs模式

1.加载ipvs模块: 1)加载ipvs: [[email protected] ipvs]# vim ipvs.sh #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_sh modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- nf_conntrack_ipv4 2).执行脚本: [[email protected] ipvs]# chmod +x ipvs.sh [[email protec

设计模式-Proxy(结构型模式)

以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Proxy.h #pragma once class Subject { public: virtual ~Subject(); virtual void Request() = 0; protected: Subject(); }; class ConcreateSubject:public Subject { public: ~ConcreateSubject(); ConcreateSubject(); void