AnyRobot 绑定大屏相关 Pod Mac 地址与 IP 地址最佳实践
简介:由于大屏的授权是与 Mac 地址绑定的,web-big-screen 的 Pod 重启后,可能会出现由于 Pod 的 Mac 地址变更导致的大屏授权失效的问题,可以根据本文最佳实践,绑定 web-big-screen 生成的 Pod 的 Mac 地址与 IP 地址。
关键字
Deployment、IP、Mac
适用产品
AnyRobot Eyes 5.0.x
FineReport V11
目的
由于大屏的授权是与 Mac 地址绑定的,web-big-screen 的 Pod 重启后,可能会出现由于 Pod 的 Mac 地址变更导致的大屏授权失效的问题,可以根据本文最佳实践,绑定 web-big-screen 生成的 Pod 的 Mac 地址与 IP 地址。
解决方案
执行以下命令,获取当前 web-big-screen Pod 的 IP 地址以及 Pod 名称:
kubectl get pod -n anyrobot -o wide |grep web-big-screen

执行以下命令,获取当前 web-big-scree Pod 的 Mac 地址
kubectl exec -ti <web-big-screen Pod 名> -n anyrobot sh
ip link show eth0
exit

执行以下命令,将查询到的 IP 和 Mac 地址与 Pod 绑定
kubectl edit deployment -n anyrobot web-big-screen
按 i 进入编辑模式,在 metadata.spec.template.metadata 处新增以下内容:
annotations:
cni.projectcalico.org/hwAddr: <步骤 2 中查询到的Mac 地址>
cni.projectcalico.org/ipAddrs: '["<步骤 1 中查询到的 IP 地址>"]'
注意:此处缩进必须使用 2 个空格,否则配置文件会因为格式错误而无法保存。

按 Esc 退出编辑模式,输入 :wq 保存退出。
更多信息
本文配置需要 Kubernetes 的网络组件为 Calico 时才能生效。