首先定义pillar

[root@web1 pillar]# cat hostname.sls
ip_hostname:
10.1.1.1: web1
10.1.1.2: web2
10.1.1.3: mysql1
10.1.1.4: redis1
10.1.1.5: tomcat1
10.1.1.6: dubbo1
10.1.1.7: zabbix1

在top.sls中调用

[root@web1 pillar]# cat top.sls
base:
'*':
- hostname

编写状态模块,根据ip通过pillar判断对应的主机名。

[root@web1 base]# cat set-hostname.sls
{% set ip = salt['network.interface_ip']('eth1') %}
alter_hostname:
cmd.run:
- name: hostnamectl set-hostname {{ pillar['ip_hostname'][ip] }}

测试执行

[root@web1 base]# salt-ssh  '*' state.sls set-hostname  test=True
tomcat1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname tomcat1
Result: None
Comment: Command "hostnamectl set-hostname tomcat1" would have been executed
Started: ::50.085925
Duration: 0.949 ms
Changes: Summary for tomcat1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.949 ms
web1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname web1
Result: None
Comment: Command "hostnamectl set-hostname web1" would have been executed
Started: ::53.455021
Duration: 0.814 ms
Changes: Summary for web1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.814 ms
dubbo1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname dubbo1
Result: None
Comment: Command "hostnamectl set-hostname dubbo1" would have been executed
Started: ::51.212502
Duration: 0.817 ms
Changes: Summary for dubbo1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.817 ms
mysql1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname mysql1
Result: None
Comment: Command "hostnamectl set-hostname mysql1" would have been executed
Started: ::50.058353
Duration: 7.89 ms
Changes: Summary for mysql1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 7.890 ms
web2:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname web2
Result: None
Comment: Command "hostnamectl set-hostname web2" would have been executed
Started: ::51.869016
Duration: 0.85 ms
Changes: Summary for web2
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.850 ms
zabbix:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname zabbix1
Result: None
Comment: Command "hostnamectl set-hostname zabbix1" would have been executed
Started: ::53.615229
Duration: 0.856 ms
Changes: Summary for zabbix
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.856 ms
redis1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname redis1
Result: None
Comment: Command "hostnamectl set-hostname redis1" would have been executed
Started: ::53.801096
Duration: 0.857 ms
Changes: Summary for redis1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.857 ms

salt 根据ip修改主机名的更多相关文章

  1. Linux 修改主机名 和 ip 映射关系

    1. 修改主机名 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop 2. 修改主机名和IP的映射关系 vim /etc/hosts 1 ...

  2. CentOS6修改主机名(hostname)及 修改/etc/hosts 文件,增加ip和hostname的映射关系(转)

    CentOS修改主机名(hostname)  需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常.首先切换到root用户. ...

  3. linux的设置ip连接crt,修改主机名,映射,建文件

    1.修改IP(或者vim vi /etc/sysconfig/network-scripts/ifcfg-eth0) 2.连接 crt 3.修改主机名 用vim 编辑 /etc/sysconfig/n ...

  4. RHEL修改主机名和IP

    1,     修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=NEWHOSTNAME       #修改该值作为主机名,如:NEWPC ...

  5. Linux CentOS7.0 (02)修改主机名和ip地址

    一.主机名修改 1.查看命令 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty). "静态"主机名也称为内核主机名 ...

  6. linux修改主机名,关闭图形化界面,绑定ip地址,修改ip地址

    1关闭图形化界面 vi /etc/inittab 改成id:3:initdefault: 注意:不要选0或6 2.修改主机名 vi /etc/sysconfig/network 修改即可 3,修改ip ...

  7. linux centos7.5修改主机名和ip永久生效

    以centos7.5为例 1.修改主机名 [root@localhost ~]# hostname localhost.localdomain[root@localhost ~]# hostname ...

  8. centos7修改主机名和ip映射

    1.修改主机名:命令:/etc/hostname文件输入:HOSTNAME=node3想永久修改,应该修改配置文件 /etc/sysconfig/network. 输入:NETWORKING=yes ...

  9. 修改Linux的基本配置(修改主机名修改ip地址安装JDK/Tomcat/MySQL等等)

    (一)基本操作修改 修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=server1.itcast.cn 修改ip地址 vi /etc/s ...

随机推荐

  1. 《Java课程实习》日志(周二)

    import java.awt.EventQueue; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.sw ...

  2. 专业函数画图软件Origin

    首先:Origin软件已经是科研院所等单位的必备工作软件之中的一个,之所以大家讨论得较少,有可能并非其上手难度低.而是这些使用人群的学习理解能力要相对高一点吧: 其次:Excel不垃圾,但在函数画图方 ...

  3. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 介绍SP2013中远程APIs

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览  介绍SP2013中远程APIs         当SP首次開始 ...

  4. 【Linux】Ubuntu 开机默认亮度改动方法

    换了ubuntu 之后.发现开机屏幕都是"最大亮度",每次都要到设置中手动调节,非常麻烦.于是想到去改动这个设置.Google一通,别人可行的办法到我这就没用了.郁闷.最后是在st ...

  5. bzoj 4198 [ Noi 2015 ] 荷马史诗 —— 哈夫曼编码(k叉哈夫曼树)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4198 第一次写哈夫曼树!看了很多博客. 哈夫曼树 & 哈夫曼编码:https://w ...

  6. PHPExcel 使用心得

    最近有个项目需要将数据导出成excel,以前都没接触过.便google一下知道了PHPExcel 这个据说很强大的类库. 写这个博文主要目的等同于做笔记 1首先看了下官方的文档.http://phpe ...

  7. c++调用DOS命令,不显示黑屏

    WinExec("Cmd.exe /C md c://12", SW_HIDE); 注释:/c是什么意思,不用/C会报错 CMD [/A | /U] [/Q] [/D] [/E:O ...

  8. codevs1519 过路费(最小生成树+LCA)

    1519 过路费  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 大师 Master     题目描述 Description 在某个遥远的国家里,有 n个城市.编号为 1,2 ...

  9. Rancher 2:添加 NFS client provisioner 动态提供 Kubernetes 后端存储卷

    一.前提说明 1.说明: NFS client provisioner 利用 NFS Server 给 Kubernetes 作为持久存储的后端,并且动态提供PV. 默认 rancher 2 的存储类 ...

  10. Vue项目打包部署到apache服务器

    vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器. 但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进 ...