Powershell DSC 5.0 - 配置Linux

简介:

Powershell DSC的一个强悍之处就在于他是一个跨平台的产品。并不仅仅可以在windows上执行,他还可以管理交换机,存储,Linux等等。这个主要是通过OMI服务器来实现的。


OMI的主要目的就是一个标准化的管理架构来管理一系列的服务。


OMI's primary goal is to provide a rich, high-performance, standards-based management stack that is suitable for a wide range of management applications. This includes cloud management, storage management, server hardware management, device management, and network management, on both large and small systems (embedded and mobility).


关于OMI可以参考,这是一个开源的平台

http://blogs.technet.com/b/windows-server-china-blog/archive/2012/07/19/open-management-infrastructure.aspx


理论不多说,直接上手试试看。


下面以CentOS 7 为例进行一个推送的实验。


基本流程如下:

1.在节点上安装OMI服务器

2.在节点上安装DSC的组件

3.配置服务器上的DSC资源

4.配置mof文件然后推送到节点


首先需要安装一些必要的安装包


Putty登陆到一个CentOS 7的虚拟机上

1
2
3
4
yum groupinstall  'Development Tools'
yum  install  pam-devel
yum  install  openssl-devel
yum  install  wget


wKioL1YMqEvCLrfWAAGAjU2Sjzk895.jpg



wKiom1YMqEDgwCm9AAHkF2Zj3DI722.jpg


wKioL1YMqE6iw01TAAIBSnlnQWs266.jpg


wKiom1YMqEPTAOCRAAE5uiiH_Qg283.jpg


然后下载解压OMI的安装包

1
2
3
4
mkdir  /root/downloads
cd  /root/downloads
wget https: //collaboration .opengroup.org /omi/documents/30532/omi-1 .0.8. tar .gz
tar  -xvf omi-1.0.8. tar .gz

wKioL1YMqFKycau-AAKm1l_J6GU720.jpg


配置安装OMI

1
2
3
4
cd  omi-1.0.8/
. /configure
make
make  install



wKiom1YMqEeQE9FjAAFmaOJu7OA956.jpg


wKioL1YMqFbw-jnRAACXq4hCKJA114.jpg


wKiom1YMqEqRA8ssAAEKiNsqq-M583.jpg


wKioL1YMqFnApHR9AAEoYao1ico545.jpg


wKiom1YMqE_SJR2fAAGUhp31tj4085.jpg


安装python和Linux DSC的组件

1
2
3
4
5
6
7
8
9
yum  install  python
yum  install  python-devel
cd  /root/downloads
wget https: //github .com /MSFTOSSMgmt/WPSDSCLinux/releases/download/v1 .0.0-CTP /PSDSCLinux . tar .gz
tar  -xvf PSDSCLinux. tar .gz
mv  . /dsc/ * ./
ls  -l
make
make  reg

wKioL1YMqF3BpfPJAAGntSvJFEU055.jpg


wKiom1YMqFSxiJEqAAMWuyPCSzM649.jpg


wKioL1YMqGHSxuf6AADAPrO3_KM132.jpg


wKiom1YMqFbC9VByAAGRzhJTfGk733.jpg


wKioL1YMqGSjiWqXAAHMBZZy8yE199.jpg


wKiom1YMqFmhon8BAAESxS2cvnY761.jpg


最后启动OMI服务器就行了

1
OMI_HOME= /opt/omi-1 .0.8  /opt/omi-1 .0.8 /bin/omiserver  -d


现在来配置服务器的DSC


首先需要下载对应的Linux资源

https://github.com/MSFTOSSMgmt/WPSDSCLinux/releases/download/v1.0.0-CTP/nx-PSModule.zip.


下载之后解压拷贝到  C:\Windows\System32\WindowsPowerShell\v1.0\Modules 


然后查看是否已经成功加载, 可以看见多了几个nx开头的资源,我这个貌似不是最新版,从微软网页上可以看见更多的资源。


nxFile, 管理文件

nxPackage, 添加删除Package

nxScript, 运行脚本

nxService,管理服务

nxUser, 管理用户

wKiom1YMqFrhP4wiAANCdgy1ecA631.jpg

接下来配置一个测试用的配置文件,这里我创建了创建了一个文件和一个用户


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Configuration MyDSCDemo
{
     Import-DSCResource -module nx
     Node  "10.2.1.79" {
         nxFile myTestFile
         {
             Ensure =  "Present"
             Type =  "File"
             DestinationPath =  "/tmp/dsctest"
             Contents= "This is my DSC Test!"
         }
         # Install packages if they are not installed
    
         nxUser  test  {
             username= "test"
             ensure= "Present"
             password= "password"
         }
    
     }
}
mydscdemo -outputpath c:\temp\demo


为了连接到OMI服务器,我们需要创建一个CIM的session,默认端口是5986/5985,记得在Linux上打开对应的防火墙策略。


1
2
3
4
  $securePass = ConvertTo-SecureString  -string  "Goat2015"  -AsPlainText -Force
  $cred New-Object  System.Management.Automation.PSCredential  "root" $SecurePass
  $opt  New-CimSessionOption  -UseSsl: $true  -SkipCACheck: $true  -SkipCNCheck: $true  -SkipRevocationCheck: $true
  $demo1 = New-CimSession  -Credential: $cred  -ComputerName 10.2.1.79 -Port:5986 -Authentication:basic -SessionOption: $opt  -OperationTimeoutSec:90


直接推送,咦,报错?!!!

经过检查,这个东西其实是一个bug或者说是不兼容。WMF 5.0 Preview(DSC 2.0)会自动生成configrationName 和 Name, 而这个语法在4.0(DSC 1.0)和Linux上不存在,因此会报错。

wKiom1YMqF7wkxYwAAFGftQTD3k487.jpg

处理方法很简单,要么手动删掉,要么用4.0的机器生成一个。


再次推送,成功!

wKioL1YMqG2gOF68AAE0IPqtVDA211.jpg

登陆Putty,查看确认


cat /tmp/dsctest

wKioL1YMsSGDpAZDAAA4fQJGs-o809.jpg


cat /etc/passwd

wKiom1YMsRWTFs0mAACa9YOxD0o702.jpg


实验成功。










本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1699742,如需转载请自行联系原作者

目录
相关文章
|
20天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
1月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
64 9
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
43 5
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
68 2
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
469 3
|
2月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
3月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
3月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
281 1
|
2月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
89 0
|
2月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境