专栏名称: dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux 主流平台
今天看啥  ›  专栏  ›  dotNET跨平台

在 .NET8 中获取 k8s 集群的 namespace id

dotNET跨平台  · 公众号  ·  · 2024-08-29 08:00

文章预览

将程序和机器进行绑定是一种 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 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览