K8s 指定 pod 运行在固定ip方式
Kubernetes 指定 pod 运行在固定ip方式
方式一
在 Calico GitHub Issues#5196 问题的 commits#6249 提交中,引入新的 Pod 注释cni.projectcalico.org/hwAddr
,用于将指定的 MAC 地址分配给容器端 Veth 接口。
将Calico
升级至v3.24.1
或以上版本,使用如下注解轻松设置Pod IP
和Mac
地址。
annotations: cni.projectcalico.org/ipAddrs: '["10.0.0.10"]' # 固定IP地址 cni.projectcalico.org/hwAddr: "77:76:fe:7a:2d:4d" # 固定Mac地址
方式二
配置securityContext
获取网络权限后,通过postStart
钩子在容器启动后修改Mac地址,解决容器网卡Mac地址固定的问题。
spec: ... template: ... spec: containers: - name: myapp-test image: 'docker.io/library/centos:latest' imagePullPolicy: Always ports: - containerPort: 80 protocol: TCP resources: {} lifecycle: postStart: exec: command: - /bin/sh - '-c' - 'ifconfig eth0 hw ether 76:15:a2:d8:40:5e' securityContext: capabilities: add: - NET_ADMIN
方式三
阿里云的-Terway: https://help.aliyun.com/document_detail/97467.html
腾讯云的-VPC-CNI https://cloud.tencent.com/document/product/457/50355
注:这都是云商的托管kubernetes集群中现有的方案
方式四
设置pod的网络模式为Host模式【不推荐此方式】。
当Host模式的Deployment声明一个端口时,若宿主机上有非Kubernetes控制的程序占用了这个端口,这时Kubernetes是无法校验到的.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2022-06-08 python之sys系统模块
2022-06-08 python之os模块
2022-06-08 python之随机模块
2022-06-08 python之拷贝文件
2021-06-08 nginx 1.20.1 编译安装