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
相关推荐
陈桴浮海2 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
张小凡vip3 小时前
Kubernetes--k8s中部署redis数据库服务
redis·kubernetes
Hello.Reader4 小时前
Flink Kubernetes HA(高可用)实战原理、前置条件、配置项与数据保留机制
贪心算法·flink·kubernetes
普通网友5 小时前
苹果笔记本(Mac)连接手机完全指南
macos·智能手机
ShiLiu_mtx5 小时前
k8s - 7
云原生·容器·kubernetes
Aftery的博客7 小时前
Xcode运行报错:SDK does not contain ‘libarclite‘ at the path
macos·cocoa·xcode
郝学胜-神的一滴9 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
胖咕噜的稞达鸭9 小时前
网络基础:初识TCP/IP协议
网络·网络协议·tcp/ip
心.c11 小时前
TCP协议深入解析
网络·网络协议·tcp/ip