Kubernetes固定Pod IP和Mac地址

方案1:

在 Calico GitHub Issues#5196 问题的 commits#6249 提交中,引入新的 Pod 注释cni.projectcalico.org/hwAddr,用于将指定的 MAC 地址分配给容器端 Veth 接口。

将Calico升级至v3.24.1或以上版本,使用如下注解轻松设置Pod IP和Mac地址。

go 复制代码
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地址固定的问题。

go 复制代码
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
相关推荐
Orlando cron2 小时前
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
网络·tcp/ip·kubernetes
藥瓿亭8 小时前
K8S认证|CKS题库+答案| 9. 网络策略 NetworkPolicy
linux·运维·docker·云原生·容器·kubernetes·cks
955.8 小时前
k8s从入门到放弃之Pod的容器探针检测
云原生·容器·kubernetes
Lightning-py10 小时前
Linux命令cat /proc/net/snmp查看网络协议层面统计信息
网络·网络协议·tcp/ip
2501_9151063210 小时前
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
websocket·网络协议·tcp/ip·http·网络安全·https·udp
獨枭10 小时前
配置 macOS 上的 Ruby 开发环境
开发语言·macos·ruby
leblancAndSherry11 小时前
Gitlab + Jenkins 实现 CICD
linux·运维·docker·kubernetes·gitlab·jenkins
库奇噜啦呼16 小时前
push [特殊字符] present
macos·ios·cocoa
安和昂17 小时前
【iOS】多线程NSOperation,NSOperationQueue
macos·ios·cocoa
运维潇哥17 小时前
k8s业务程序联调工具-KtConnect
云原生·容器·kubernetes