자바스크립트를 활성화 해주세요

p086 cloud엔지니어가 사용하는 powershell

 ·  ☕ 1 min read

powershell로 security group을 살펴본 모습
p086_openstack_powershell.png

json format을 지원하는 cloud cli tool

  • openstack
  • kubectl
  • docker

powershell은 잘 사용하면 편합니다. 특히, json으로 출력이 가능한 openstack 커맨드나, kubectl 커맨드, docker 커맨드 등과 활용하면 심지어 python보다도 더 짧게 가능합니다. 단위 실행시간은 go 언어등을 통해서 api를 직접 호출하는 것과 비교하면 물론 느립니다만, 일단 결과를 빨리 얻어야 할 때, 또는 장애를 얼른 해결해야 하는 상황에서 결과값이 바로 필요할 때에는, 큰 힘을 발휘합니다.

리눅스만 사용하는 엔지니어는, powershell을 잘 모르는 경우가 많습니다. 잘 활용할 수 있다면 상대적으로 더 좋은 평가를 얻을 수도 있습니다.

다음은 security group을 세어보는 간단한 스크립트입니다.

스크립트 예

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# get all user project
$json = [string](openstack project list -f json )
$projects = convertfrom-json $json
$projects = $projects | where {$_.Name -like 'tkim*'}


# find how many security group each project has
foreach($p in $projects) {
    echo "project id : $($p.id) $($p.Name)"
    $json = [string](openstack security group list --project $p.id -f json)
    $sgs = convertfrom-json $json

    echo "security group: $($sgs.Name | Join-String -DoubleQuote -Separator ', ')"
    echo "security count: $($sgs.Count)"
}

유용한 powershell module

리눅스에서도 powershell설치가 가능하고, 다음과 같은 모듈과 함께 사용하면 도움이 될 것 같습니다.

  • powershell-yaml ( for yaml file handling, 특히 k8s다룰 때)
  • RabbitMQTools ( for rabbitmq handling)
  • SimpleSql (for mysql)
  • PSSqlite (for sqlite)
  • Posh-SSH (for remote connection or file transfer via ssh)
공유하기

tkim
글쓴이
tkim
Software Engineer