安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

kubernetespod设置静态IP或者IP池

8月12日 先锋客投稿
  Pod一般不建议设置静态IP地址,若想要实现设置静态IP,可以参考下面的方法。像亚马逊、阿里云等厂家是支持静态IP的,但如果是自己的私有云,可以参考下面的方法。这里使用的是calico网络方案,其他的网络方案,好像并不支持,更详细的操作,可以看看calico的官方文档。
  IPPool资源定义
  IPPool资源yaml定义apiVersion:crd。projectcalico。orgv1kind:IPPoolmetadata:name:defaultipv4ippoolspec:blockSize:26cidr:192。168。0。016ipipMode:AlwaysnatOutgoing:truenodeSelector:all()vxlanMode:Neverdisabled:false如果使用calicoctl定义,则将apiVersion更改为apiVersion:projectcalico。orgv3
  字段说明
  metadata:
  字段
  描述
  允许字符
  类型
  name
  IPPool名字,必需字段
  字母数字。
  string
  spec:
  字段
  描述
  允许字符
  类型
  默认值
  cidr
  设置IP池,IP地址段
  IPv4或IPv6地址段,子网可用IP数必须大于默认的IPv426或者IPv6122,不能与本地链接范围169。254。0。016或fe80::10重叠
  字符串
  blockSize
  将CIRD分块,块按需分配给主机,并用于汇总路由。该值只能在创建池时设置
  IPv4为20至32(含),IPv6为116至128(含)
  整形
  IPv4:26IPv6:122
  ipipMode
  定义何时使用IPIP的模式,不能与同时设置vxlanMode
  Always,CrossSubnet,Never
  字符串
  Never
  vxlanMode
  定义何时使用VXLAN的模式,不能与同时设置ipipMode
  Always,CrossSubnet,Never
  字符串
  Never
  natOutgoing
  启用后,将从该池中的Calico网络容器发送到该池之外的目的地的数据包伪装
  true,false
  布尔
  false
  disabled
  设置为true时,CalicoIPAM将不会分配该池中的地址
  true,false
  布尔
  false
  nodeSelector
  选择CalicoIPAM应该从该池中分配地址的node节点
  节点标签
  all()
  blockSize说明
  请在V3。3。0版本后使用blockSize
  IPv426和IPv6122的默认块大小为64个地址的块。这允许将地址按组分配给在同一主机上运行的工作负载。通过对地址进行分组,主机之间以及与其他BGP对等方之间交换的路由更少。如果主机在一个块中分配所有地址,则将为其分配一个附加块。如果没有更多可用的块,则主机可以从分配给其他主机的块中获取地址。为借用的地址添加了特定的路由,这会影响路由表的大小。
  将块大小从默认值增加(例如,使用24IPv4为每个块提供256个地址)意味着每个主机更少的块,并且可能会减少路由。但是,请尝试确保池中至少有与主机一样多的块。
  从默认值减小块大小(例如,使用28IPv4为每个块提供16个地址)意味着每个主机有更多块,因此可能有更多路由。如果它允许块在主机之间更公平地分布,那么这将是有益的。
  关于cidr和blockSize设置
  比如你新增一个IPPool,cidr设置为192。169。0。029,在没有设置blockSize情况下,默认是26的blockSize,这样是不允许的,192。169。0。029可用地址为8个,而默认blockSize为26将会把IP段分为64块,没有足够的IP,所以是无效的,所以blockSize应该等于大于子网掩码。
  新创建的IPPool,可以在原有的IPPool中某一子网,比如apiVersion:crd。projectcalico。orgv1kind:IPPoolmetadata:name:testipv4ippoolspec:blockSize:29cidr:192。168。0。029ipipMode:AlwaysnatOutgoing:truenodeSelector:all()vxlanMode:Never
  nodeSelector说明
  以下所有的语法,都可以使用或进行组合
  语法
  说明
  all()
  匹配所有节点资源
  k‘v’
  节点包含标签k,且值为v,则匹配
  k!‘v’
  节点包含标签k,且值不为v,则匹配
  has(k)
  节点包含标签k,则匹配,与标签值无关
  !has(k)
  节点不包含标签k,则匹配
  kin{‘v1’,‘v2’}
  节点包含标签k,且值在集合中(v1或v2),则匹配
  knotin{‘v1’,‘v2’}
  节点不包含标签k或者节点包含标签k,且值不在在集合中(v1或v2),则匹配
  kcontains‘s’
  节点包含标签k,且值包含字符串s,则匹配
  kstartswith‘s’
  节点包含标签k,且值以字符串s开头,则匹配
  kendswith‘s’
  节点包含标签k,且值以字符串s结尾,则匹配
  kubernetes设置指定IP的场景及方法:
  主要通过annotations指定。
  基于namespace或者每个pod指定IP池cni。projectcalico。orgipv4pools:annotations:cni。projectcalico。orgipv4pools:〔defaultipv4ippool〕cni。projectcalico。orgipv6pools:annotations:cni。projectcalico。orgipv6pools:〔2001:db8::1120〕
  指定静态IP地址cni。projectcalico。orgipAddrs:annotations:cni。projectcalico。orgipAddrs:〔192。168。0。1〕cni。projectcalico。orgipAddrsNoIpam:annotations:cni。projectcalico。orgipAddrsNoIpam:〔10。0。0。1〕
  说明:cni。projectcalico。orgipAddrsNoIpam:绕过IPAM分配给Pod的IPv4和或IPv6地址的列表。任何IP冲突和路由都必须手动或由其他系统来处理。Calico仅在其IP地址属于CalicoIP池内时才将路由分配到Pod。如果分配的IP地址不在CalicoIP池中,则必须确保通过另一种机制来处理到该IP地址的路由。
  申请浮动IPannotations:cni。projectcalico。orgfloatingIPs:〔10。0。0。1〕
  基于node节点标签分配IPapiVersion:projectcalico。orgv3kind:IPPoolmetadata:name:rack1ippoolspec:cidr:192。168。1。024ipipMode:AlwaysnatOutgoing:truenodeSelector:rack1
  IPPool生效优先顺序
  如果将这些方法中的一种以上用于IP地址分配,则它们将具有以下优先级,其中1为最高优先级:Kubernetes批注CNI配置IP池节点选择器
  基于namespace指定IP池
  查看当前存在的IP池kubectlexecitnkubesystemcalicoctlcalicoctlgetippoolsNAMECIDRSELECTORdefaultipv4ippool192。168。0。016all()kubectlgetippools。crd。projectcalico。orgNAMEAGEdefaultipv4ippool18h
  创建新的IP池catippool。yamlEOFapiVersion:crd。projectcalico。orgv1kind:IPPoolmetadata:name:testipv4ippoolspec:cidr:170。252。0。029ipipMode:AlwaysnatOutgoing:truenodeSelector:all()vxlanMode:NeverEOFkubectlapplyfippool。yamlkubectlexecitnkubesystemcalicoctlcalicoctlgetippoolsNAMECIDRSELECTORdefaultipv4ippool192。168。0。016all()testipv4ippool170。252。0。029all()
  创建新的namespace,并指定IP池kubectlcreatenstestippoolnamespacetestippoolcreatedkubectlannotatenamespacetestippoolcni。projectcalico。orgipv4pools〔testipv4ippool〕namespacetestippoolannotatedkubectldescribenstestippoolName:testippoolLabels:noneAnnotations:cni。projectcalico。orgipv4pools:〔testipv4ippool〕Status:ActiveNoresourcequota。Noresourcelimits。
  创建应用测试
  注意namespace设置testippoolcattomcat。yamlEOFapiVersion:appsv1kind:Deploymentmetadata:name:tomcatnamespace:testippoolspec:replicas:3selector:matchLabels:app:tomcattemplate:metadata:labels:app:tomcatspec:containers:name:tomcatimage:tomcat:7。0。70ports:containerPort:8080protocol:TCPapiVersion:v1kind:Servicemetadata:name:tomcatnamespace:testippoolspec:type:NodePortports:port:8080targetPort:8080nodePort:32080selector:app:tomcatEOFkubectlapplyftomcat。yamlkubectlgetpodntestippoolowideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATEStomcatf556bbb4dfjdwn11Running0105s170。252。0。5k8node1nonenonetomcatf556bbb4dsbcrr11Running017m170。252。0。3k8node2nonenonetomcatf556bbb4dzjw8711Running0105s170。252。0。6k8node1nonenone
  为pod指定静态IP地址或地址范围
  指定地址范围
  创建IP地址池catippool。yamlEOFapiVersion:crd。projectcalico。orgv1kind:IPPoolmetadata:name:test1ipv4ippoolspec:blockSize:29cidr:192。169。0。029ipipMode:AlwaysnatOutgoing:truenodeSelector:all()vxlanMode:NeverEOFkubectlapplyfippool。yamlkubectlexecitnkubesystemcalicoctlcalicoctlipamshowGROUPINGCIDRIPSTOTALIPSINUSEIPSFREEIPPool192。168。0。016655366(0)65530(100)IPPool170。252。0。02980(0)8(100)IPPool192。169。0。02980(0)8(100)
  创建应用测试
  注意spec。template。metadata。annotations指定了使用的IPPoolcattomcat。yamlEOFapiVersion:appsv1kind:Deploymentmetadata:name:tomcatnamespace:defaultspec:replicas:3selector:matchLabels:app:tomcattemplate:metadata:annotations:cni。projectcalico。orgipv4pools:〔test1ipv4ippool〕labels:app:tomcatspec:containers:name:tomcatimage:tomcat:7。0。70ports:containerPort:8080protocol:TCPapiVersion:v1kind:Servicemetadata:name:tomcatnamespace:defaultspec:type:NodePortports:port:8080targetPort:8080nodePort:32080selector:app:tomcatEOFkubectlapplyftomcat。yamlkubectlgetpodsowideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATEStomcat7c9bc7f455ccsvx11Running0127m192。169。0。1k8node1nonenonetomcat7c9bc7f455nb4wr11Running0127m192。169。0。3k8node2nonenonetomcat7c9bc7f455s4r9q11Running0127m192。169。0。2k8node1nonenone
  Pod设置静态IP
  创建应用
  虽然官方说名cni。projectcalico。orgipAddrs:后面是IPv4或IPv6列表,实际并不支持,仅可以设置一个IP地址。所以Pod副本数超过1个是不行的。
  设置的IP地址必须包含在已存在的IPPool中cattomcat。yamlEOFapiVersion:appsv1kind:Deploymentmetadata:name:tomcatnamespace:defaultspec:replicas:1selector:matchLabels:app:tomcattemplate:metadata:annotations:cni。projectcalico。orgipAddrs:〔192。168。3。100〕labels:app:tomcatspec:containers:name:tomcatimage:tomcat:7。0。70ports:containerPort:8080protocol:TCPapiVersion:v1kind:Servicemetadata:name:tomcatnamespace:defaultspec:type:NodePortports:port:8080targetPort:8080nodePort:32080selector:app:tomcatEOFkubectlapplyftomcat。yamlkubectlgetpodsowideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATEStomcat94f77b7dbvq7zl11Running05s192。168。3。100k8node2nonenone
  根据节点标签分配IP
  删除或禁用已存在的IPPool
  如果不禁用或删除,创建的Pod也有可能分配到其他IPPool中的地址段kubectlexecitnkubesystemcalicoctlcalicoctlgetippoolowideNAMECIDRNATIPIPMODEVXLANMODEDISABLEDSELECTORdefaultipv4ippool192。168。0。016trueAlwaysNeverfalseall()
  禁用IPPoolkubectlgetippools。crd。projectcalico。orgdefaultipv4ippooloyamldefaultipv4ippool。yaml修改defaultipv4ippool。yaml,添加disabled:truevimdefaultipv4ippool。yamlapiVersion:crd。projectcalico。orgv1kind:IPPoolmetadata:generation:1name:defaultipv4ippoolspec:blockSize:26cidr:192。168。0。016disabled:trueipipMode:AlwaysnatOutgoing:truenodeSelector:all()vxlanMode:Neverkubectlapplyfdefaultipv4ippool。yamlippool。crd。projectcalico。orgdefaultipv4ippoolconfigured〔rootk8mastersrc〕kubectlexecitnkubesystemcalicoctlcalicoctlgetippoolowideNAMECIDRNATIPIPMODEVXLANMODEDISABLEDSELECTORdefaultipv4ippool192。168。0。016trueAlwaysNevertrueall()
  删除IPPoolkubectlexecitnkubesystemcalicoctlcalicoctldeletedefaultipv4ippool
  给节点打上标签kubectllabelnodesk8node1rack0nodek8node1labeled〔rootk8mastersrc〕kubectllabelnodesk8node2rack1nodek8node2labeled
  创建IPPoolcatippool。yamlEOFapiVersion:crd。projectcalico。orgv1kind:IPPoolmetadata:name:rack0ippoolspec:blockSize:26cidr:192。170。0。024ipipMode:AlwaysnatOutgoing:truenodeSelector:rack0vxlanMode:NeverapiVersion:crd。projectcalico。orgv1kind:IPPoolmetadata:name:rack1ippoolspec:blockSize:26cidr:192。171。0。024ipipMode:AlwaysnatOutgoing:truenodeSelector:rack1vxlanMode:NeverEOFkubectlapplyfippool。yamlkubectlexecitnkubesystemcalicoctlcalicoctlgetippoolowideNAMECIDRNATIPIPMODEVXLANMODEDISABLEDSELECTORdefaultipv4ippool192。168。0。016trueAlwaysNevertrueall()rack0ippool170。16。0。024trueAlwaysNeverfalserack0rack1ippool170。17。0。016trueAlwaysNeverfalserack1
  创建应用测试cattomcat。yamlEOFapiVersion:appsv1kind:Deploymentmetadata:name:tomcatnamespace:defaultspec:replicas:4selector:matchLabels:app:tomcattemplate:metadata:labels:app:tomcatspec:containers:name:tomcatimage:tomcat:7。0。70ports:containerPort:8080protocol:TCPapiVersion:v1kind:Servicemetadata:name:tomcatnamespace:defaultspec:type:NodePortports:port:8080targetPort:8080nodePort:32080selector:app:tomcatEOFkubectlapplyftomcat。yamlkubectlgetpodsowideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATEStomcatf556bbb4d56bd411Running08s170。16。0。194k8node1nonenonetomcatf556bbb4d5nzkb11Running08s170。17。184。131k8node2nonenonetomcatf556bbb4dpn86t11Running08s170。16。0。193k8node1nonenonetomcatf556bbb4dwvf7c11Running08s170。17。184。130k8node2nonenone
投诉 评论

2022年最佳WiFi6路由器2019年,802。11ax首次亮相,这是我们通常称之为WiFi的网络标准的更快、更高效的版本。这是WiFi的第六代更新,因此网络行业将其命名为WiFi6,以降低复杂性。……华为手机放裤子口袋里因误碰转发微信信息,有选项设置可避免吗?用过华为手机与苹果手机,它们在我口袋里都没有过自己转发微信信息。但时常会自己下蛋,一会儿是机蛋,一会儿草蛋!华为发售了几亿部手机,第一次听你说华为手机在口袋里会自已《经常……网贷大哥被起诉!坑12万人,非法集资1395亿P2P风波从未停止。网贷老大哥红岭创投创始人周世平遭审查起诉。检查、公安机关披露周世平等多名嫌犯,涉嫌集资参与人数累积51。68万元,非法集资1395亿元,造成11……kubernetespod设置静态IP或者IP池Pod一般不建议设置静态IP地址,若想要实现设置静态IP,可以参考下面的方法。像亚马逊、阿里云等厂家是支持静态IP的,但如果是自己的私有云,可以参考下面的方法。这里使用的是ca……昨天,小米悄咪咪上架了一个大家伙最近貌似做电子产品的都流行一个发布产品的方式,那就是不需要宣传,直接上架!上周一到周三,苹果连续三晚的线上发布会,的确让所有人大吃一惊。小安我都以为iPadmini……移动号码用了十多年了有什么福利?移动号码用了10年,那么每个月可以免费领取10GB流量,连续三个月,详情如下图所示。移动的对于老用户的福利从未停止,常见的以下三大福利。第一:杀熟如果你是一个……最低50分!北京新政后首期新能源小客车指标积分排序入围名单公中国经济周刊经济网讯(记者贾璇)你入围了吗?5月26日,北京摇号新政实施后,首期新能源小客车指标进行配置,本期家庭新能源小客车指标的积分排序入围名单正式公布。此次,共有3……虎年新版CameraRaw14。2升级包,修图全面升级,支持索尼最新的A7M4相机不少摄友入手了,结果由于相机照片格式太新,导致PS无法读取新相机的照片了这是因为CameraRaw转档工具版本低了,不支持新相机的照片!必须升级你的……深耕细作人才沃土,为高质量发展提供硬支撑近日,习近平总书记主持召开中央全面深化改革委员会第二十五次会议。会议指出,科技激励是促进科技创新的重要保障,对释放科技创新潜力、激发创新活力具有重要作用。要加大对青年科技人员的……科研人员在蓝细菌中发现新型类藻质素来源:【科学网】近日,中国科学院广州地球化学研究所有机地球化学国家重点实验室、深地科学卓越创新中心博士研究生孔祥兰和冉勇研究员等人在蓝细菌中发现新型的脂肪类生物聚合物。相……小米9今日首销有米粉早上5点多就去小米之家排队由小米全球首发的骁龙855旗舰手机小米9在今天(26日)10:00正式发售。根据小米官方的说法,这次小米9的现货数量非常可观。小米产业投资部合伙人潘九堂表示,小米9首批现货数量……iPhone信号有救了,苹果正准备大招谈及苹果手机的坏毛病,无非就是发热,耗电,信号差,其中信号差一直被安卓厂商嘲笑,所以苹果也准备了一些大招,解决这个问题。根据此前的测评报告显示,iPhone信号差的原因主……
芯片供给可能逆转,市场开始担心供过于求白手起家!张一鸣!现如今身价高达356亿美元和东风风神奕炫MAX一起,开启丽江至香格里拉最具神秘气息的旅复盘616微盟零售购物节品牌私域的次元壁正被击穿火遍全球,欧洲杯赛场现海信电视广告,网友大手笔谷歌知识图谱系统发展内幕从MetaWeb到Cerebro直到小米英国推特调侃华为P30兄弟你是不是奔跑偏了?三星M52手机曝光5000mAh电池2000元上下2022威马M7量产之年,威马汽车掌握核心密码苹果电池之争未经审批不得在线升级!智能网联汽车准入新规还有哪些重大变化?网易云音乐人格主导色吸引色爆款十解,为什么能够火起来?趋之若骛的成语故事斑带蝴蝶鱼好养吗怎么养解决问题最高明的方法,就两个字倔强甜心今日燃情上线SNH48打造热血新偶像我想过什么的生活中国地震网如何查询牵挂作文600字辽国天祚帝耶律延禧简介辽国最后一个皇帝ios7beta5有什么功能更新臧天朔去世,她仍孤身一人,斯琴格日乐的爱情给热恋的姑娘提个醒一张嘴毁了一个娃所有刀子嘴,都是刀子心抖音视频剪辑技巧和软件有哪些大要素大软件助力优质

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利