LoginSignup
2
0

More than 3 years have passed since last update.

DockerでPowerCLIとGotty動かしてブラウザからCLIでvCenter操作する

Posted at

vCenterをPowerShellで操作できるツールであるPowerCLIをDockerで動かす。
さらにGottyを使って複数の人が気軽にPowerCLIを使えるようにする。

TL;DR

  • PowerShellがLinuxで動くようになったのでPowerCLIもLinuxで動かせるようになった
  • Dockerで動かせるPowerCLIのイメージがvmwareから公開されている
  • GottyでWebから使えるようにすることで誰でも気軽に使えるようにした
  • PowerCLIの具体的な使い方は公式ドキュメントを参照

DockerでPowerCLI

PowerCLI公式イメージdocker runするだけで簡単にPowerCLIを使うことができる。オプションは適当に適宜付ける。

docker run -i --rm vmware/powerclicore:latest 

起動したあとはConnect-VIServerでvCenterに接続すればGet-VMなどでvCenterの情報を取得できる。
接続に使うアカウントの権限によって実行できるコマンドや範囲に制限がかかる。

PowerCLIコンテナでGotty

コンテナ内にGotty本体とコンフィグファイルを配置し、最後にGottyを起動することで外部からブラウザでPowerCLIコンテナに接続できるようにする。
コンフィグファイルは必須では無いが、使った方がいろいろとカスタマイズできて便利

Dockerfile
FROM vmware/powerclicore:latest

RUN yum install -y gzip wget tar \
    && wget https://github.com/yudai/gotty/releases/download/v1.0.1/gotty_linux_amd64.tar.gz \
    && tar xzf gotty_linux_amd64.tar.gz \
    && yum remove -y gzip wget tar \
    && rm -f gotty_linux_amd64.tar.gz

RUN mv gotty /usr/local/bin/
COPY gotty_config /root/.gotty
CMD gotty -w pwsh

コンフィグ記載例
詳細はこちらを参照

gotty_config
preferences {
    font_size = 12
    copy_on_select = true

    clear_selection_after_copy = true
    enable_clipboard_notice = true

    ctrl_c_copy = true
    ctrl_v_paste = true

    enable_bold = true
}

docker-composeで起動する

ディレクトリ構成
.
├── Dockerfile
├── gotty_config
└── docker-compose.yaml
docker-compose.yaml
version: '3'
services:
  powercli:
    build: .
    ports: 
      - "8080:8080"

あとはdocker-compose up -dを実行するとビルドが終わった後にPowerCLIとGottyが起動するので、ブラウザでhttp://<サーバIP>:8080にアクセスするとPowerCLIの画面が表示される。

image.png

vCenterを一人で使うことはあまりしないと思うので、このような方法で共用環境を作っておくと一人一人の手間が減って役立つと思う。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0