文章预览
将程序和机器进行绑定是一种 License 校验的方法,需要能获取到机器的唯一标识,比如获取机器的 Mac 地址就是获取唯一标识的一种方式,命令如下: ifconfig |egrep 'ether' |awk '{{print $2}}' 但如果程序部署在 k8s 中,每次容器构建,使用上面命令获取的 Mac 地址就会发生变化,我使用 kubesphere 做测试发现的确如此。 那么在 k8s 环境中想要获取唯一标识应该怎么办呢? 思路 1、在 kubesphere 中,通常会以项目来进行组织,kubesphere 中的项目就是 k8s 中的 namespace,可以通过获取 namespace id 的方式来获取唯一标识。 2、.NET8 容器内部需要安装 kubectl 命令。 步骤 1、构建 .NET8 底包镜像,供后面程序使用,Dockerfile 内容如下: FROM mcr.microsoft.com/dotnet/aspnet: 8.0 RUN apt-get install -y curl # 安装 kubectl RUN curl -LO "https://dl.k8s.io/release/ $(curl -L -s https://dl.k8s.io/release/sta
………………………………