如何使用SaltStack 管理vSphere环境?

日期: 2016-07-31 作者:Sander van Vugt翻译:乔俊婧 来源:TechTarget中国 英文

SaltStack管理工具允许管理员对多个操作系统创建一个一致的管理系统,包括VMware vSphere环境。 许多公司的网络包括物理机器和虚拟机,部署和管理这些机器需要一个一致的管理系统。SaltStack是一种新兴的工具,提供了一种替代产品如Puppet,,Ansible 和Chef。在本文中,我们将讨论如何使用它来管理vSphere环境。

SaltStack提供方法来管理目标系统的状态。通过高效的远程执行引擎,任何配置可以被管理病应用到远程系统SaltStack。虽然它主要设计用于Linux平台,SaltStack也可以管理其他操作系统,包括VMware vSphere环境。 Salt……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SaltStack管理工具允许管理员对多个操作系统创建一个一致的管理系统,包括VMware vSphere环境。

许多公司的网络包括物理机器和虚拟机,部署和管理这些机器需要一个一致的管理系统。SaltStack是一种新兴的工具,提供了一种替代产品如Puppet,,Ansible 和Chef。在本文中,我们将讨论如何使用它来管理vSphere环境。

SaltStack提供方法来管理目标系统的状态。通过高效的远程执行引擎,任何配置可以被管理病应用到远程系统SaltStack。虽然它主要设计用于Linux平台,SaltStack也可以管理其他操作系统,包括VMware vSphere环境。

SaltStack是如何工作的?

SaltStack作用于仆从和主拓扑。SaltStack与特定的命令结合使用可以在一个或多个下属执行。实现这一点,此时Salt Master可以发出命令,如salt '*' cmd.run 'ls -l /'。

除了运行远程命令,SaltStack允许管理员使用“grain”。grain可以在SaltStack仆从运行远程查询,因此收集仆从的状态信息并允许管理员在一个中央位置存储信息。SaltStack也可以帮助管理员定义目标系统上的期望状态。这些状态在应用时会用到.sls文件,其中包含了如何在系统上获得所需的状态非常具体的要求。

由于它提供了在管理远程系统的灵活性,SaltStack-based产品迅速获得利益。该功能可以对比由状态管理系统提供的功能,如Puppet和Ansible。SaltStack很大程度上得益于快速的采用率,它包括一个在管理系统上运行远程命令的有效方式。

使用SaltStack管理vSphere

SaltStack还可以管理vSphere环境,但首先需要配置VMware云模块。这个模块包含vSphere服务器的URL,以及连接到虚拟机所需要的用户名和密码。位于Salt Master的/etc/salt/cloud.providers文件存储这些信息的位置。Listing1列出了这个文件的示例内容,包括Salt Master与目标虚拟机系统进行交互。

Listing 1: VMware云提供商的配置实例

my-vmware-config:

  driver: vmware

  user: 'DOMAINuser'

  password: 'password'

  url: '10.20.30.40'

vcenter01:

  driver: vmware

  user: 'DOMAINuser'

  password: 'password'

  url: 'vcenter01.domain.com'

  protocol: 'https'

  port: 443

vcenter02:

  driver: vmware

  user: 'DOMAINuser'

  password: 'password'

  url: 'vcenter02.domain.com'

  protocol: 'http'

  port: 80

esx01:

  driver: vmware

  user: 'admin'

  password: 'password'

  url: 'esx01.domain.com'

Listing 2: SaltStack简介

vmware-centos6.5:

 provider: vcenter01

 clonefrom: test-vm

 ## Optional arguments

 num_cpus: 4

 memory: 8GB

 devices:

   cd:

     CD/DVD drive 1:

       device_type: datastore_iso_file

       iso_path: "[nap004-1] vmimages/tools-isoimages/linux.iso"

     CD/DVD drive 2:

       device_type: client_device

       mode: atapi

       controller: IDE 2

     CD/DVD drive 3:

       device_type: client_device

       mode: passthrough

       controller: IDE 3

   disk:

     Hard disk 1:

       size: 30

     Hard disk 2:

       size: 20

       controller: SCSI controller 2

     Hard disk 3:

       size: 5

       controller: SCSI controller 3

   network:

     Network adapter 1:

       name: 10.20.30-400-Test

       switch_type: standard

       ip: 10.20.30.123

       gateway: [10.20.30.110]

       subnet_mask: 255.255.255.128

       domain: example.com

     Network adapter 2:

       name: 10.30.40-500-Dev-DHCP

       adapter_type: e1000

       switch_type: distributed

     Network adapter 3:

       name: 10.40.50-600-Prod

       adapter_type: vmxnet3

       switch_type: distributed

       ip: 10.40.50.123

       gateway: [10.40.50.110]

       subnet_mask: 255.255.255.128

       domain: example.com

   scsi:

     SCSI controller 1:

       type: lsilogic

     SCSI controller 2:

       type: lsilogic_sas

       bus_sharing: virtual

     SCSI controller 3:

       type: paravirtual

       bus_sharing: physical

   ide:

     IDE 2

     IDE 3

 domain: example.com

 dns_servers:

   - 123.127.255.240

   - 123.127.255.241

   - 123.127.255.242

 resourcepool: Resources

 cluster: Prod

 datastore: HUGE-DATASTORE-Cluster

 folder: Development

 datacenter: DC1

 host: c4212n-002.domain.com

 template: False

 power_on: True

 extra_config:

    mem.hotadd: 'yes'

   guestinfo.foo: bar

   guestinfo.domain: foobar.com

   guestinfo.customVariable: customValue

 deploy: True

 customization: True

 private_key: /root/.ssh/mykey.pem

 ssh_username: cloud-user

 password: veryVeryBadPassword

 minion:

   master: 123.127.193.105

 file_map:

   /path/to/local/custom/script: /path/to/remote/script

   /path/to/local/file: /path/to/remote/file

   /srv/salt/yum/epel.repo: /etc/yum.repos.d/epel.repo

 hardware_version: 10

 image: centos64Guest

一旦连接到vSphere环境被定义,SaltStack可以直接对话vSphere服务器并执行自动化操作,如启动虚拟机。为了做到这一点,需要定义一个配置文件。Listing2中提供了这样一个概要文件的示例。

一旦配置文件被定义,它需要得以应用。当salt云模块用于vSphere基础设施接口,你应该使用salt-cloud命令。这个命令的通用结构是salt-cloud - p myprofile myinstance。如Listing2所示,此命令应用一个配置文件来部署一个实例。

使用SaltStack管理vSphere环境允许管理员开发一个通用的部署和管理策略,可以应用于物理和虚拟资产。

翻译

乔俊婧
乔俊婧

关注商务智能及虚拟化领域技术发展,专注网站内容策划、组稿和编辑, 负责《数据价值》电子杂志的策划和撰稿。喜欢桌游,热爱音乐,吃货一枚。

相关推荐