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

如何在Ansible中仅注册OpenShift集群的主版本号?

解决方案

有两种实用方式可以提取出主版本号(如4.8):

方式一:在Shell命令中直接处理

修改原有的Shell任务,通过文本处理工具直接截取主版本部分:

- name: get ocp major version
  shell: "oc get clusterversion | awk '{split($2, ver, \".\"); print ver[1]\".\"ver[2]}' | tail -1"
  register: ver

或者用cut命令实现更简洁的截取:

- name: get ocp major version
  shell: "oc get clusterversion | awk '{print $2}' | tail -1 | cut -d. -f1,2"
  register: ver

方式二:通过Ansible变量过滤器处理

如果保留原Shell命令不变,也可以在后续使用变量时,用正则过滤器提取主版本:

# 原任务保持不变
- name: get ocp version
  shell: "oc get clusterversion | awk '{print $2}'| tail -1"
  register: ver

# 后续使用时提取主版本
- name: print ocp major version
  debug:
    msg: "{{ ver.stdout | regex_replace('^(\\d+\\.\\d+)\\..*$', '\\1') }}"

这里的regex_replace会匹配版本号的前两位数字段,自动忽略后面的小版本部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 18:55:35