Ansible
ansible - 如何獲取主機名並創建自簽名證書
我有為 IHS 伺服器的 .kdb 文件創建自簽名證書的有效命令,我試圖通過 ansible 使用相同的命令。在這裡,我的目標是 ansible 應該檢測應用程序伺服器的主機名,並將該名稱用於命令的“-dn”。下面是工作命令
$$ root@myhost bin $$# ./gskcmd -cert -create -db /opt/myapp/key.kdb -label IHS -expire 3650 -size 2048 -dn “CN=myserverFQDN” -default_cert yes -pw 密碼 但下面是我的遊戲及其給出的語法錯誤
tasks: - name: get hostname shell: echo $HOSTNAME register: hostname - name: create self signed certificate for IHS command: /opt/myapp/bin/gskcmd -cert -create -db /opt/myapp/key.kdb -label IHS -expire 3650 -size 2048 -dn "CN={{ hostname}}" -default_cert yes -pw password
您無需回顯任何內容即可“獲取”主機名。這已經是 Ansible 收集的事實之一
ansible_nodename
。你只需要使用它。command: /opt/myapp/bin/gskcmd -cert -create -db /opt/myapp/key.kdb -label IHS -expire 3650 -size 2048 -dn "CN={{ansible_nodename}}" -default_cert yes -pw password
根據您的操作,您可能需要使用備用事實之一,
ansible_hostname
或inventory_hostname
.這些變數設置如下:
inventory_hostname
是在 Ansible 清單中設置的主機名。例如www.internal-name.example
.ansible_hostname
是系統報告的非限定主機名。例如www
.ansible_nodename
是系統報告的標準主機名。例如www.example.com
.