Microsoft がPowershellをオープンソース化して約半年。MacやLinuxでPowershellが利用できるようになり、既存のPowershellスクリプトをOSによって、javascriptだとか、ansibleだとかにコンバートする必要なくWindowsの構成管理ができるようになった。
そんな中、Vmware Flingsにて、オープンソース版のPowerCLIがリリースされていたため、手元のCentos に入れて仮想マシンの自動デプロイを試してみる。
デプロイに利用するスクリプトは、以前に作成したPowerCLIで仮想マシンを作成するためのスクリプトを利用する。
PowerShellのCentosへのインストール
オープンソース版のPowershelglはGithubにて公開されている。
1
2
3
4
| # Githubからダウンロード
wget https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.13/powershell-6.0.0_alpha.13-1.el7.centos.x86_64.rpm
# ローカルの レポジトリからPowershellをインストールする
sudo yum localinstall ./powershell-6.0.0_alpha.13-1.el7.centos.x86_64.rpm
|
Centos用に、追加のライブラリをインストールする
[Powershellのチケット 2511によるとカスタムSSLを利用することにCentOSは問題があるということなので、追加のライブラリをインストールする。
vSphereなどへの接続は内部的にSSLを利用しているため、後々エラーが生じる。
インストールするのはlibcurl-opensslのrpmパッケージ
1
2
3
| # 2016-02-18版が現在最新
wget https://ftp.riken.jp/Linux/cern/centos/7/cern/x86_64/Packages/libcurl-openssl-7.51.0-2.1.el7.cern.x86_64.rpm
sudo yum local install libcurl-openssl-7.51.0-2.1.el7.cern.x86_64.rpm
|
PowerShell起動用スクリプトを用意する
1
2
3
4
5
6
| touch powershell.sh
#!/bin/bash
export LD_LIBRARY_PATH=/opt/shibboleth/lib64/:$LD_LIBRARY_PATH
powershell
chmod +x ./powershell.sh
|
PowerCLI CoreのCentosへのインストール
Powershellは、Moduleのインストール場所がユーザによって異なる。rootユーザの場合は * /root/.local/share/powershell/Modules * を参照するが、一般ユーザの場合は * /opt/microsoft/powershell/6.0.0-alpha.13/Modules * を参照する。
今回は一般ユーザで進める。事前にFlingsサイトからダウンロードしておき、ファイルを解凍する
1
2
3
4
5
6
| mv PowerCLI_Core.zip /opt/microsoft/powershell/6.0.0-alpha.13/Modules/
cd /opt/microsoft/powershell/6.0.0-alpha.13/Modules
## PowerCLIを解凍
unzip -d PowerCLI_Core PowerCLI_Core.zip
unzip -d PowerCLI.Vds.zip
unzip -d PowerCLI.ViCore
|
PowerCLIの起動とモジュールのインポート
1
2
3
4
5
| #powershellをスクリプトから起動
./powershell.sh# モジュールの手動読み込み
> Get-Module -ListAvailable PowerCLI* | Import-Module
> Set-PowerCLIConfiguration -InvalidCertificateAction Ignore
-Confirm:$False# 接続確認> Connect-VIServer -Server ***** -User ***** -Password ****
|
とりあえず接続確認ができてため今回はここまで。