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

k3s部署的Ansible AWX如何添加其他服务器作为任务执行实例

K3s部署AWX后添加外部执行节点操作指引

以下为完整可落地的操作流程,适用于AWX 19.0及以上版本:

前置要求

  • 待添加的服务器系统建议使用CentOS 7+/Ubuntu 20.04+/Debian 11+,配置不低于2核2G内存
  • 待添加服务器与K3s集群网络双向互通,放开22端口、27199受体通信端口,且可正常访问K3s APIServer 6443端口
  • 确认当前部署的AWX已启用Receptor受体网络(默认k3s部署的AWX均已开启该配置)

步骤1:导出AWX控制平面受体CA证书

在K3s控制节点执行以下命令,导出受体CA证书:

  1. 先查询你部署的AWX实例名称:
    kubectl get awx -A
  2. 替换命令中的<awx实例名>为上一步查到的名称,导出证书:
    kubectl get secret <awx实例名>-receptor-ca -o jsonpath='{.data.tls\.crt}' | base64 -d > receptor-ca.crt

步骤2:待添加节点部署受体服务

2.1 基础配置

在待添加的执行节点上执行以下操作:

  • 创建受体配置目录:mkdir -p /etc/receptor
  • 把上一步导出的receptor-ca.crt上传到该目录下

2.2 安装受体程序

前往AWX官方Receptor仓库下载对应你操作系统版本的rpm/deb安装包,上传到服务器后安装:

  • CentOS/RHEL系:dnf install -y 你的受体rpm包路径
  • Ubuntu/Debian系:dpkg -i 你的受体deb包路径

2.3 配置受体

编辑配置文件/etc/receptor/receptor.conf,写入以下内容:

---
- node:
    id: <执行节点自定义名称,比如awx-exec-01>
- log-level: info
- tcp-listener:
    port: 27199
    tls: ca
- tls:
    name: ca
    ca: /etc/receptor/receptor-ca.crt
    cert: /etc/receptor/receptor.crt
    key: /etc/receptor/receptor.key
- work-command:
    worktype: ansible-runner
    command: ansible-runner
    params: worker
    allowruntimeparams: true

2.4 签发节点证书

  1. 在待添加执行节点生成证书签名请求:
    openssl req -new -newkey rsa:4096 -nodes -keyout /etc/receptor/receptor.key -out /etc/receptor/receptor.csr -subj "/CN=<执行节点自定义名称,要和上面配置的id一致>"
  2. 把生成的receptor.csr传到K3s控制节点,执行以下命令签名,替换其中的参数为实际值:
    kubectl exec -i deploy/<awx实例名>-receptor -- receptorctl ca sign --cn <执行节点自定义名称> < receptor.csr > receptor.crt
  3. 把签名后得到的receptor.crt传回执行节点的/etc/receptor目录,设置权限:
    chown -R receptor:receptor /etc/receptor && chmod 600 /etc/receptor/receptor.key

2.5 启动服务

执行以下命令启动受体服务并设置开机自启:
systemctl enable --now receptor

步骤3:AWX控制台添加实例

  1. 登录AWX Web管理界面,进入「实例组」页面,可新建实例组或直接编辑默认的default实例组
  2. 进入目标实例组的「实例」标签页,点击添加实例,填写对应信息:
  • 主机名:填写执行节点的IP地址或可解析的域名
  • 端口:填27199
  • 节点类型:选择执行节点
  • 启用状态:勾选
  1. 保存后等待2分钟左右,实例状态会变为「就绪」,即可正常分配任务到该节点执行

问题排查

如果实例状态一直显示未就绪,按以下顺序排查:

  • 执行节点执行systemctl status receptor确认服务正常运行
  • 检查执行节点防火墙/安全组是否放开27199端口
  • 确认K3s集群节点可正常telnet通执行节点的27199端口

验证方式:创建测试作业模板,指定关联该执行节点所在的实例组,运行简单的ansible ping任务确认执行正常即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:27:00