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

如何通过API自动获取Rancher版本以匹配安装对应CLI?

解决Rancher API自动获取版本并匹配CLI下载的问题

可行方案步骤

1. 正确获取Rancher服务器版本

使用Rancher管理API的server-version设置端点,可直接获取服务器版本号:

  • 请求端点:GET /v1/management.cattle.io.settings/server-version
  • 认证方式:将在/dashboard/account页面生成的Access Key和Secret Key用冒号拼接,做Base64编码后放在请求头:
    Authorization: Basic <Base64(AccessKey:SecretKey)>
    
  • 响应示例:
    {
      "type": "management.cattle.io.setting",
      "id": "server-version",
      "value": "v2.7.5"
    }
    
    提取value字段即可得到Rancher服务器版本。

2. 构造CLI下载链接

Rancher CLI的下载链接遵循固定格式,直接用获取到的版本号拼接即可:

https://github.com/rancher/cli/releases/download/<Rancher版本>/rancher-linux-amd64.tar.gz

例如版本为v2.7.5时,链接为https://github.com/rancher/cli/releases/download/v2.7.5/rancher-linux-amd64.tar.gz

3. 修复cli-url-linux端点的403问题

如果仍想使用官方提供的CLI链接端点:

  • 请求端点:GET /v1/management.cattle.io.settings/cli-url-linux
  • 同样使用Basic Auth方式传递API密钥(而非Bearer token),即可正常返回预构造好的Linux CLI下载链接。

CI/CD流水线构建示例(Dockerfile片段)

ARG RANCHER_URL
ARG RANCHER_ACCESS_KEY
ARG RANCHER_SECRET_KEY

# 动态获取版本并下载CLI
RUN apt-get update && apt-get install -y curl base64 jq \
    && AUTH=$(echo -n "${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY}" | base64) \
    && RANCHER_VERSION=$(curl -s -H "Authorization: Basic ${AUTH}" ${RANCHER_URL}/v1/management.cattle.io.settings/server-version | jq -r '.value') \
    && curl -LO "https://github.com/rancher/cli/releases/download/${RANCHER_VERSION}/rancher-linux-amd64.tar.gz" \
    && tar xzf rancher-linux-amd64.tar.gz \
    && mv rancher-*/rancher /usr/local/bin/ \
    && rm -rf rancher-* rancher-linux-amd64.tar.gz

内容的提问来源于stack exchange,提问作者Just a student

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:40:25