Kubernetes固定Pod IP和Mac地址
简介
客户有个需求,服务的授权是通过主机的Mac地址进行绑定,原部署方式是通过docker run --network host
指定主机网络的方式运行,如今需要迁移到Kubernetes环境,在Deployment运行的Pod在每次重启Mac都会变动,经过Google后总结出以下文档:
方式一
在 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.244.3.219"]' # 固定IP地址 cni.projectcalico.org/hwAddr: "7e:72:f2:7a:ed:4c" # 固定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
分类:
Kubernetes
标签:
Kubernetes
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY