双网卡集群

双网卡,不一定是只有两个网卡,指的是集群通讯网卡和服务通讯网卡分离的配置,其实这种应该在架构时进行剥离,lvs等方式实现以保证服务的进行,现在应该双网卡的机器很少且可能会遇到的情况是前端机器才需要后端机器可能不需要。
可能我猜的!!!

admin安装部署时需要加入的参数

kubeadmin方式部署时需要注意以下问题,首先网卡配置和网卡的绑定。

网卡配置

网卡的配置及实现集群网卡和通讯网卡的分开,双网卡可能会因为网卡众多导致网络通讯问题,需要用一下参数调整网络,让系统快速定位网卡。

echo 'IPV4_ROUTE_METRIC=110' >> /etc/sysconfig/network-scripts/ifcfg-ens34
#这条是确定网卡的通讯损失,既消耗量,以解决双网卡不能上网等问题。
sed -si  's/DEFROUTE=yes/DEFROUTE=no/' /etc/sysconfig/network-scripts/ifcfg-ens34
#这个是不让集群的通讯网卡生成默认路由。
echo 'route del default ens34' >> /etc/rc.local
chmod +x /etc/rc.local
#这个是删除集群网卡生成的默认路由,这个和上一条需要验证,推荐使用上一条。
echo NOZEROCONF=yes >> /etc/sysconfig/network
#双网卡会创建一个假的网段 这个可以防止

集群初始化时需要加入的参数

需要在初始化时加入–apiserver-advertise-address=这个参数选项,已告诉kubeapi监听的端口

#举例
kubeadm init --kubernetes-version=v1.16.0 --pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap --apiserver-advertise-address=110.120.119.71

集群overlay网卡配置,以flannel为例

设置overlay网卡的绑定物理网卡
Flannel网络的监控网卡选择
这个是flannel网络的yaml文件,需要更改其中的参数。

 containers:- name: kube-flannelimage: quay.io/coreos/flannel:v0.10.0-amd64command:- /opt/bin/flanneldargs:- --ip-masq- --kube-subnet-mgr- --iface=eth1 (网卡指定)
#配置文件中有很多类似的参数选项一定要全部更改

防火墙;

将两个组件调控在不同的域。其次是开放端口。
6443是api的通讯端口一定要打开,10249-10255是组件的通讯端口建议都要打开。2379-2380端口是忘记了也是组件的通讯端口。
firewall-cmd --zone=work --add-interface=ens33 --permanent
firewall-cmd --zone=internal --add-interface=ens34 --permanent
firewall-cmd --set-default-zone=internal --permanent
firewall-cmd --add-port=10250-10252/tcp --permanent --zone=internal
firewall-cmd --add-port=10255/tcp --permanent --zone=internal
firewall-cmd --add-port=6443/tcp --permanent --zone=internal
firewall-cmd --add-port=6443/udp --permanent --zone=internal
firewall-cmd --add-port=2379-2380/tcp --permanent --zone=internal

二进制安装部署双网卡问题

二进制部署带来的问题更多每个组件的都需要进行自己写配置文件和收集参数,其中主要的还是flannel和kubeapi和kubeproxy等。

kubeapi参数选项

配置文件中的参数选项

#api的监听地址的ip
--advertise-address=
#绑定的ip地址
--bind-address=

kube-proxy

#监听主机IP地址,默认default端口
#使用该名字作为标识而不是实际的主机名
#负载均和的模式userspace / iptables / ipvs (默认为iptables) 这个可以不设置--bind-address=10.12.51.171 \
--hostname-override=10.12.51.171 \ --proxy-mode=ipvs

kubelet

#kubelet 服务监听地址
--address=${NODE_ADDRESS} \\
#主机标识
--hostname-override=${NODE_ADDRESS} \\
# 来指定监听的地址和端口。
--healthz-port 和 --healthz-bind-address
#可以指定启动的端口。
--cadvisor-port
#在 kubelet/pod 生命周期中为各种事件调用的网络插件的名称
--network-plugin=cni
#当前节点的IP地址,kubelet 将使用这个地址作为节点ip地址
----node-ip=

flannel网络组建问题

需要在启动参数中添加绑定的物理网卡

--iface=eth0

flanneld.service文件中添加上述的参数在ExecStart=,添加模板如下。

[Unit]
Description=Flanneld overlay address etcd agent
After=network.target firewalld.service flanneld.service
After=network-online.target
Wants=network-online.target
Requires=flanneld.service
After=etcd.service
Before=docker.service[Service]
User=network
Type=notify
EnvironmentFile=-/kubernetes/network/cfg/flanneld
ExecStart=/kubernetes/network/bin/flanneld -iface=ens34  $FLANNEL_OPTIONS
ExecStartPost=/kubernetes/network/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
Restart=on-failure[Install]
WantedBy=multi-user.target
RequiredBy=docker.service

proxy网络vxlan或者ipvs模式转换

网络的负载均衡的转换需要分别设置网络模型和proxy负载均衡,网络模型是网络通讯工作模式,proxy的负载均衡会查找对应得负载均衡表。

下边的例子是vxlan的网络的特性。

网络模型flannel

更改工作模式:将flannel的yaml文件type的后边的值改成
vxlan或者hostgw,就是网络模型的切换。
如果是编译安装的
在对etcd进行声明的时候需要将Type的后边的值改成需要的模式。host-gw和vxlan

/kubernetes/etc/bin/etcdctl \
--ca-file=/kubernetes/etc/ssl/ca.pem \
--cert-file=/kubernetes/etc/ssl/server.pem \
--key-file=/kubernetes/etc/ssl/server-key.pem \
--endpoints="https://110.120.119.81:2379,https://110.120.119.84:2379,https://110.120.119.85:2379" \
set /coreos.com/network/config '{"Network":"172.17.0.0/16","Backend":{"Type":"vxlan"}}'

系统需要打开的内核参数支持

查看内核是否打开如下的内核支持

ls /usr/lib/modules/3.10.0-514.el7.x86_64/kernel/net/netfilter/ipvs/ |grep  -e ip_vs
ip_vs_dh.ko
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4

加载内核模块:

modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4

kube-proxy切换类型

需要修改一下k8s组件运行问题将其使用ipvs
kubectl edit cm kube-proxy -n kube-system
修改ConfigMap的kube-system/kube-proxy中的config.conf
将mode设置为ipvs mode: “ipvs”
之后重启各个节点上的kube-proxy
然后flannel网络的yaml文件的type改一下。

kubernetes(k8s)双网卡配置问题汇总整理相关推荐

  1. 02 | 健康之路 kubernetes(k8s) 实践之路 : 生产可用环境及验证

    上一篇< 01 | 健康之路 kubernetes(k8s) 实践之路 : 开篇及概况 >我们介绍了我们的大体情况,也算迈出了第一步.今天我们主要介绍下我们生产可用的集群架设方案.涉及了整 ...

  2. 网络知识普及:双网卡下知识知多少,路由表及网关那点事

    2019独角兽企业重金招聘Python工程师标准>>> 重要提示: 做为一名开发人员,整天和网络打交道,学习一些网络的基础知识,有益于提升个人专业技能. 另外本文仅介绍网络知识,和番 ...

  3. docker及k8s容器面试精华汇总(一),祝大家顺利通过企业面试!

    docker及k8s容器面试精华汇总,希望可以加深大家对容器的理解,祝大家顺利通过企业面试. 一.如何在 Kubernetes 中实现负载均衡? node中有kube-proxy,他可以提供负载均衡. ...

  4. 云服务器-异地部署集群服务-Kubernetes(K8S)-网络篇

    重要!!! 注意: 本文使用二进制安装,过程非常繁琐,所以不推荐大家使用这种安装方式.请使用更简洁的kubeadm安装,具体请参考 云服务器-异地部署集群服务-Kubernetes(K8S)-Kube ...

  5. Kubernetes ~ k8s 从入门到入坑。

    Kubernetes ~ k8s 从入门到入坑. 文章目录 Kubernetes ~ k8s 从入门到入坑. 1. Kubernetes 介绍. 1.1 应用部署方式演变. 1.2 kubernete ...

  6. python软件工程师面试题目及答案_Python面试题及答案汇总整理(2019版)

    发现网上很多Python面试题都没有答案,所以博主花了很长时间搜集整理了这套Python面试题及答案,由于网上的Python相关面试题大多数都是2019年的,所以我这个也是2019版的,哈哈~ 1.一 ...

  7. 高中计算机会考理论知识点总结,高中信息技术高一会考总复习理论知识点汇总整理.doc...

    高中信息技术高一会考总复习理论知识点汇总整理 信息技术会考总复习理论知识点 一.信息.信息的载体及信息的特征 1.信息:信息是指数据(Data).信号.消息中所包含的意义.(要会判断什么是信息) 2. ...

  8. 双网卡双ip设置(转载)

    有两个网卡,一个有线网卡连接网通,一个无线网卡连接电信线路. 连接网通的网卡,ip设置为:192.168.1.111,网关设置为192.168.1.1 连接电信的网卡,ip设置为:192.168.0. ...

  9. Python零基础入门,纯干货!【Python基础知识点汇总整理】

    目录 第一章 认识Python.Python常用集成开发环境PyCharm 一.认识 Python 01. Python 的起源 1.2 Python 的设计目标 1.3 Python 的设计哲学 0 ...

最新文章

  1. Largest Rectangle in a Histogram
  2. linux几种时间函数总结
  3. 如何提高SSD的使用寿命
  4. 在SAP Cloud Platform上消费Business partner service遇到的错误
  5. linux spoon.sh闪退,解决Linux Kettle出现闪退问题
  6. eigrp debug命令详解
  7. Sharding-JDBC水平分库(水平数据库分片测试)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记011
  8. 颜色空间直方图matlab,使用Matlab绘制图像的rgb颜色空间和Lab颜色空间分量图和分量直方图 | 学步园...
  9. 讲真,WiFi 6到底6在哪儿
  10. 「测绘知识」高等级道路竖曲线的精确计算方法
  11. 单片机流水灯显示方式
  12. Github年度最强Python库排行榜出炉
  13. 手机百度脑图app_百度脑图下载-百度脑图app手机安卓版下载-沧浪手游
  14. Mac安装brew/yum
  15. 深度挖掘:FIashGet下载隐藏链接[转]
  16. HRM人力资源管理平台项目分享
  17. Java本地高性能缓存的几种实现方式
  18. 【软工视频】——制定计划和可行性研究报告
  19. 微软CRM使用(视频教学
  20. 酷狗繁星新人如何把握第一个月?酷狗繁星新人小白教学必读

热门文章

  1. c语言中格式符号错误,C语言中符号格式说明
  2. 痞子衡嵌入式:实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(有预取)...
  3. 量化趣谈——不务正业的数学家James Simons
  4. 成立 4 年估值 20 亿美金,这家国货美妆找到了新的人口红利
  5. Linux下的lds连接脚本详解,Linux链接脚本学习--lds
  6. 《CorelDraw》课程标准
  7. English语法_指示代词
  8. java基于接口的动态代理
  9. 基于51的单片机GPS定位系统设计
  10. 酷睿计算机系统吗,酷睿i3和i5的区别是什么?电脑处理器i3和i5的区别介绍