Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@S_SenSq

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

More than 1 year has passed since last update.

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

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
S_SenSq
インフラエンジニアっぽくないインフラエンジニア 苦手な言語はEnglish

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?