You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Azure DevOps与本地Rocky Linux 9服务器上的Kubernetes连接

Azure DevOps 对接裸金属Kubernetes(Rocky Linux 9)的可行方案

方案一:通过kubeconfig导入创建服务连接

这是最直接的对接方式,依赖K8s服务账号权限完成认证:

  • 在裸金属K8s集群上创建专用服务账号并绑定权限:
    # 可选:创建独立命名空间用于Azure DevOps相关资源
    kubectl create namespace azdo
    # 创建服务账号
    kubectl create serviceaccount azdo-deployer -n azdo
    # 绑定集群管理员权限(若只需限定命名空间,替换cluster-admin为对应角色)
    kubectl create clusterrolebinding azdo-deployer-binding --clusterrole=cluster-admin --serviceaccount=azdo:azdo-deployer
    
  • 获取服务账号认证信息并生成可用kubeconfig:
    1. 查找服务账号关联的secret:kubectl get secrets -n azdo | grep azdo-deployer
    2. 提取认证token:kubectl get secret <secret-name> -n azdo -o jsonpath='{.data.token}' | base64 -d
    3. 复制现有集群kubeconfig文件,替换其中的用户token为上述提取内容,确保server地址是集群可外部访问的端点
  • 在Azure DevOps中配置服务连接:
    进入项目「项目设置」→「服务连接」→「新建服务连接」,选择「Kubernetes」类型,选「导入kubeconfig」,粘贴修改后的kubeconfig内容,命名后保存即可

方案二:通过Azure Arc托管K8s集群实现对接

适合需要统一管理多云/本地K8s集群的场景:

  • 在Rocky Linux 9服务器上安装并配置Azure Arc:
    # 安装Azure CLI
    dnf install azure-cli -y
    # 登录Azure账号
    az login
    # 注册Arc所需的资源提供商
    az provider register --namespace Microsoft.Kubernetes
    az provider register --namespace Microsoft.KubernetesConfiguration
    # 将本地K8s集群连接到Azure Arc
    az connectedk8s connect --name <你的集群名称> --resource-group <Azure资源组名> --location <Azure区域,比如eastus>
    
  • 在Azure DevOps中创建服务连接:
    新建服务连接时选「Kubernetes」→「Azure Arc Kubernetes」,选择对应的Arc集群和Azure订阅,完成配置即可

方案三:利用自托管代理直接执行Kubectl命令

如果已经在Rocky Linux 9上部署了Azure DevOps自托管代理,可直接采用这种轻量化方式:

  • 在代理服务器上安装kubectl,并配置好集群的kubeconfig(确保代理系统用户能正常执行kubectl命令)
  • 在Azure DevOps流水线中添加「脚本任务」,直接编写kubectl命令即可,示例:
    kubectl apply -f ./k8s/deployment.yaml -n prod
    
    这种方式不需要额外创建服务连接,完全依赖代理本地的K8s环境配置

内容的提问来源于stack exchange,提问作者Murat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 03:10:48