Quantcast
Channel: にほんごVMware
Viewing all 495 articles
Browse latest View live

PowerCLI Core を Docker コンテナでためしてみる。

$
0
0

VMware Flings で、PowerCLI Core が公開されたので、Docker コンテナを使用して実行してみました。

Docker Host は、Photon OS を使用します。

 

PowerCLI Core は、Linux、Mac などマルチプラットフォームで実行できる PowerCLI です。

 

VMware Flings の PowerCLI Core のページ

PowerCLI Core

 

こちらもどうぞ。

Linux で PowerCLI Core をためす。(Photon OS)

 

 

今回の環境について。

 

Docker Host は、Photon OS 1.0 です。

root@photon-pcli [ ~ ]# cat /etc/photon-release

VMware Photon Linux 1.0

PHOTON_BUILD_NUMBER=13c08b6

root@photon-pcli [ ~ ]# uname -r

4.4.8-esx

 

Photon OS は最新化して、いちど再起動おきます。

root@photon-pcli [ ~ ]# tdnf upgrade -y

root@photon-pcli [ ~ ]# reboot

 

インストールされている Docker のバージョンは、1.11 です。

root@photon-pcli [ ~ ]# tdnf list docker

docker.x86_64                               1.11.2-1.ph1             @System

docker.x86_64                               1.11.2-1.ph1        photon-updates

docker.x86_64                               1.11.0-5.ph1              photon

 

unzip をインストール済みです。

root@photon-pcli [ ~ ]# tdnf install -y unzip

root@photon-pcli [ ~ ]# which unzip

/usr/bin/unzip

 

Docker 用のユーザを作成しておきます。

root@photon-pcli [ ~ ]# groupadd docker

root@photon-pcli [ ~ ]# useradd -m -g docker gowatana

root@photon-pcli [ ~ ]# passwd gowatana

New password:

Retype new password:

passwd: password updated successfully

 

Docker エンジンを起動しておきます。

root@photon-pcli [ ~ ]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

root@photon-pcli [ ~ ]# systemctl start docker

root@photon-pcli [ ~ ]# docker info

Containers: 0

Running: 0

Paused: 0

Stopped: 0

Images: 0

Server Version: 1.11.2

Storage Driver: overlay

Backing Filesystem: extfs

Logging Driver: json-file

Cgroup Driver: cgroupfs

Plugins:

Volume: local

Network: null host bridge

Kernel Version: 4.4.8-esx

Operating System: VMware Photon/Linux

OSType: linux

Architecture: x86_64

CPUs: 1

Total Memory: 1.958 GiB

Name: photon-pcli

ID: DAXX:S6YY:OOAS:BS6P:4RZF:6LTN:SVSA:U5JG:3EA4:YN42:L7T2:DSUQ

Docker Root Dir: /var/lib/docker

Debug mode (client): false

Debug mode (server): false

Registry: https://index.docker.io/v1/

WARNING: No kernel memory limit support

 

PowerCLI Core の Docker コンテナをビルド。

 

Flings サイトからダウンロードした「PowerCLI_Core.zip」 を配置しておきます。

gowatana@photon-pcli [ ~ ]$ id

uid=1000(gowatana) gid=1000(docker) groups=1000(docker)

gowatana@photon-pcli [ ~ ]$ ls PowerCLI_Core.zip

PowerCLI_Core.zip

 

解凍します。Dockerfile が含まれています。

gowatana@photon-pcli [ ~ ]$ unzip PowerCLI_Core.zip

Archive:  PowerCLI_Core.zip

  inflating: Dockerfile

   creating: __MACOSX/

  inflating: __MACOSX/._Dockerfile

  inflating: PowerCLI.Vds.4523941.zip

  inflating: __MACOSX/._PowerCLI.Vds.4523941.zip

  inflating: PowerCLI.ViCore.4523941.zip

  inflating: __MACOSX/._PowerCLI.ViCore.4523941.zip

  inflating: README.md

  inflating: __MACOSX/._README.md

  inflating: Start-PowerCLI.ps1

  inflating: __MACOSX/._Start-PowerCLI.ps1

gowatana@photon-pcli [ ~ ]$ ls -l

total 20008

-rw-r--r-- 1 gowatana docker     1927 Oct 17 23:09 Dockerfile

-rw-r--r-- 1 gowatana docker   123095 Oct 17 23:04 PowerCLI.Vds.4523941.zip

-rw-r--r-- 1 gowatana docker 10268925 Oct 17 23:04 PowerCLI.ViCore.4523941.zip

-rw-r----- 1 gowatana docker 10061206 Oct 18 15:59 PowerCLI_Core.zip

-rw-r--r-- 1 gowatana docker     9604 Oct 18 05:12 README.md

-rw-r--r-- 1 gowatana docker     2185 Oct 12 12:27 Start-PowerCLI.ps1

drwxrwxr-x 2 gowatana docker     4096 Oct 18 05:15 __MACOSX

 

Docker コンテナのイメージをビルドします。ubuntu をベースにしてビルドされます。

gowatana@photon-pcli [ ~ ]$ docker build -t vmware/powercli .

Sending build context to Docker daemon 20.48 MB

Step 1 : FROM ubuntu:14.04

14.04: Pulling from library/ubuntu

bf5d46315322: Pull complete

9f13e0ac480c: Pull complete

e8988b5b3097: Pull complete

(省略・・・)

 

イメージがビルドされました。

gowatana@photon-pcli [ ~ ]$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

vmware/powercli     latest              a03aa9e27b4e        2 minutes ago       482.7 MB

ubuntu              14.04               1e0c3dd64ccd        5 days ago          187.9 MB

 

Docker コンテナとして PowerCLI が起動できるようになります。

gowatana@photon-pcli [ ~ ]$ docker run --rm -it --entrypoint='/usr/bin/powershell' vmware/powercli

PowerShell

Copyright (C) 2016 Microsoft Corporation. All rights reserved.


          Welcome to VMware vSphere PowerCLI!


Log in to a vCenter Server or ESX host:              Connect-VIServer

To find out what commands are available, type:       Get-VICommand

Once you've connected, display all virtual machines: Get-VM

 

       Copyright (C) VMware, Inc. All rights reserved.



Loading personal and system profiles took 1308ms.

PS /powershell>

 

vCenter の SSL 証明書を入れ替えていないので、今回は証明書を確認しないようにします。

PS /powershell> Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false


Scope    ProxyPolicy     DefaultVIServerMode InvalidCertificateAction  DisplayDeprecationWarnings WebOperationTimeout

                                                                                                  Seconds

-----    -----------     ------------------- ------------------------  -------------------------- -------------------

Session  UseSystemProxy  Multiple            Ignore                    True                       300

User                                         Ignore

AllUsers


vCenter に接続してみました。

PS /powershell> Connect-VIServer vc01.godc.lab


Specify Credential

Please specify server credential

User: administrator@vsphere.local

Password for user administrator@vsphere.local: ************



Name                           Port  User

----                           ----  ----

vc01.godc.lab                  443   VSPHERE.LOCAL\Administrator



PS /powershell>

 

適当な VM の情報を取得してみます。

PS /powershell> Get-VM vm01


Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm01                 PoweredOff 1        2.000



PS /powershell>

PS /powershell> (Get-VM vm01).ExtensionData.MoRef.Value

vm-414

PS /powershell>

 

とりあえず使えそうです。

 

以上、PowerCLI Core を Docker で試してみる話でした。


PowerCLI Core 1.0 に含まれるコマンドレットについて。

$
0
0

PowerCLI Core 1.0 に含まれるコマンドレットと、Windows 版 PowerCLI との差分を見てみました。

 

VMware Flings の PowerCLI Core のページ

PowerCLI Core

 

こちらもどうぞ。

Linux で PowerCLI Core をためす。(Photon OS)

PowerCLI Core を Docker コンテナでためしてみる。

 

今回の PowerCLI Core のバージョンです。

PS /powershell> Get-PowerCLIVersion


PowerCLI Version

----------------

  VMware PowerCLI Core 1.0 build 0

---------------

Component Versions

---------------

  VMware vSphere PowerCLI Component 1.21 build 4523941

  VMware VDS PowerCLI Component 1.21 build 4523941

 

 

比較対象とした、Windows 版の PwerCLI のバージョンです。

PowerCLI C:\> Get-PowerCLIVersion

 

 

 

PowerCLI Version

----------------

  VMware vSphere PowerCLI 6.3 Release 1 build 3737840

---------------

Component Versions

---------------

  VMware Cloud Infrastructure Suite PowerCLI Component 6.3 build 3709081

  VMWare AutoDeploy PowerCLI Component 6.0 build 3736841

  VMWare ImageBuilder PowerCLI Component 6.0 build 3736841

  VMware vSphere PowerCLI Component 6.3 build 3709081

  VMware VDS PowerCLI Component 6.3 build 3709081

  VMware vCloud Director PowerCLI Component 6.3 build 3615264

  VMware HA PowerCLI Component 6.0 build 3625284

  VMware License PowerCLI Component 6.0 build 3615733

  VMware vCloud Air PowerCLI Component 6.3 build 3615264

  VMware PowerCLI Component for Storage Management 6.0 build 3617867

  VMware vROps PowerCLI Component 6.3 build 3615304

  VMware vSphere Update Manager PowerCLI 6.1 build 3607502

 

 

PowerCLI Core に含まれる PowerCLI 関連のモジュールは、PowerCLI.ViCore と PowerCLI.Vds の2つです。

PowerCLI.Vds には、分散仮想スイッチ (vDS) を操作するためのコマンドレットが含まれます。

PS /powershell> Get-Module | select ModuleType,Version,Name | ft -AutoSize


ModuleType Version Name

---------- ------- ----

    Script 0.0    Initialize

    Script 0.0    Initialize-VMware_VimAutomation_Vds

  Manifest 3.1.0.0 Microsoft.PowerShell.Management

  Manifest 3.1.0.0 Microsoft.PowerShell.Utility

    Binary 1.21    PowerCLI.Vds

    Binary 1.21    PowerCLI.ViCore

    Script 1.2    PSReadLine

 

これは、Windows 版 PowerCLI の、VMware.VimAutomation.Core と VMware.VimAutomation.Vds のようです。

それ以外のモジュールに含まれる VMware 関連のコマンドレットは Fling には含まれていませんでした。

PowerCLI C:\> Get-Module | select ModuleType,Version,Name | ft -AutoSize


ModuleType Version Name

---------- ------- ----

    Script 0.0    Initialize-VMware.VimAutomation.License

    Script 0.0    Initialize-VMware.VimAutomation.vROps

    Script 0.0    Initialize-VMware_VimAutomation_Cis

    Script 0.0    Initialize-VMware_VimAutomation_Vds

    Script 0.0    Initialize-VMware_VumAutomation

  Manifest 3.1.0.0 Microsoft.PowerShell.Management

  Manifest 3.1.0.0 Microsoft.PowerShell.Utility

    Script 1.2    PSReadline

    Binary 6.0.0.0 VMware.VimAutomation.Cis.Core

    Binary 6.3.0.0 VMware.VimAutomation.Cloud

  Manifest 6.3.0.0 VMware.VimAutomation.Common

    Script 6.3.0.0 VMware.VimAutomation.Core

    Binary 6.0.0.0 VMware.VimAutomation.HA

    Binary 1.0.0.0 VMware.VimAutomation.License

    Binary 6.0.0.0 VMware.VimAutomation.PCloud

  Manifest 6.3.0.0 VMware.VimAutomation.Sdk

    Binary 6.0.0.0 VMware.VimAutomation.Storage

    Binary 6.3.0.0 VMware.VimAutomation.Vds

    Binary 6.3.0.0 VMware.VimAutomation.vROps

    Binary 6.0.0.0 VMware.VumAutomation


 

 

PowerCLI Core には、モジュールごと含まれるコマンドレット数です。

ちなみに、「group ~」 を省いて実行することで、コマンドレットの一覧を表示できます。

PS /powershell> Get-Command -Module PowerCLI.* | group ModuleName | ft -AutoSize Count,Name


Count Name

----- ----

  283 PowerCLI.ViCore

  32 PowerCLI.Vds

 

Windows 版 PowerCLI のモジュールごとのコマンドレット数です。

Vds のコマンドレットは、PowerCLI Core にもすべて同名のものが含まれていましたが、

VMware.VimAutomation.Core は、少し足りないようです。

PowerCLI C:\> Get-Command -Module VMware.* | group ModuleName | Sort-Object Name | ft -AutoSize Count,Name


Count Name

----- ----

  18 VMware.DeployAutomation

  12 VMware.ImageBuilder

    3 VMware.VimAutomation.Cis.Core

  107 VMware.VimAutomation.Cloud

  289 VMware.VimAutomation.Core

    1 VMware.VimAutomation.HA

    1 VMware.VimAutomation.License

    4 VMware.VimAutomation.PCloud

  30 VMware.VimAutomation.Storage

  32 VMware.VimAutomation.Vds

  12 VMware.VimAutomation.vROps

  19 VMware.VumAutomation

 

 

VMware.VimAutomation.Core に含まれていて PowerCLI.ViCore に含まれていなかったコマンドレットです。

含まれていないのは、SRM 接続、CredentialStore 関連のものなので、

vSphere の基本操作にかかわるコマンドレットは含まれていると考えてよいと思います。

ただし、それぞれのコマンドレットが実際に実行できるかまでは試していません・・・

  • Connect-SrmServer
  • Disconnect-SrmServer
  • Get-ErrorReport
  • Get-VICredentialStoreItem
  • New-VICredentialStoreItem
  • Remove-VICredentialStoreItem

 

ちなみに PowerCLI Core は、Docker Hub に公開されたコンテナイメージを使用しました。

gowatana@photon-pcli [ ~ ]$ docker run --rm -it --entrypoint='/usr/bin/powershell' vmware/powerclicore

PowerShell

Copyright (C) 2016 Microsoft Corporation. All rights reserved.


          Welcome to VMware vSphere PowerCLI!


Log in to a vCenter Server or ESX host:              Connect-VIServer

To find out what commands are available, type:      Get-VICommand

Once you've connected, display all virtual machines: Get-VM


      Copyright (C) VMware, Inc. All rights reserved.



Loading personal and system profiles took 1484ms.

PS /powershell>

 

powercli-core-docker.png

 

以上、PowerCLI Core のコマンドレットについてでした。

NSX 6.2 の DFW ルール設定をマルチテナント構成にしてみる。

$
0
0

NSX for vSphere 6.2.4 の分散ファイアウォール(DFW)は、マルチテナント機能を持っていません。

DFW で設定する FW ルールは、デフォルトでは NSX Manager で管理する DFW 環境すべてに適用されます。

そこで、DFW ルールの「適用先」を指定することでルールの適用先をしぼり、マルチテナントっぽくしてみました。

※vForum 2016 Tokyo の SDDCブースあたりで聞いた話を、実際にためしてみました・・・

 

完成イメージ。

いきなりですが、最初に DFW ルールの完成イメージです。

  • テナントを2つあるものとします。(tenant01 と tenant02)
  • テナントごとに、DFW ルールのセクション(dfw-tenant-01 と dfw-tenant-02)を作成してみました。
  • セクションに含まれるルールには、必ず「適用先」にセキュリティグループを含めます。
    それぞれのセキュリティグループには、テナント内の全 VM を含むようにします。
    FW ルールは上から評価されるため、別テナントの FW ルールのが適用されてしまわないように
    かならず「適用先」を設定するようにします。
  • Default でブロックするルールは、デフォルト セクションで設定することができますが、
    わかりやすいのであえてテナントごとに追加してみました。

dfw-mt-1-01.png

 

テナント / VM 構成について。

今回の構成では、2つテナントを用意してみました。
DFW の機能には関係ありませんが、わかりやすくテナントごとにフォルダ分けしてあります。

セキュリティグループで管理しやすいように、VMの名前を工夫しています。

  • tenant01 の VM → t01-~
  • tenant02 の VM → t02-~

dfw-mt-2-01.png

 

セキュリティグループの構成について。

テナントごとに、テナント内の全 VM を含むセキュリティグループを作成してみました。

それぞれのセキュリティグループには、3台の VM が含まれています。

dfw-mt-3-01.png

 

今回はテナントごとに VM 名の先頭文字列を決めてあるので、
セキュリティグループの「動的メンバーシップの定義」 で、
「仮想マシン名」 の 「先頭が」 「t01-」(tenant02では、「t02-」) と設定しています。

これで、命名規則どおりの VM であれば、セキュリティグループに自動追加されるようになります。

dfw-mt-3-02.png

 

DFW ルールの「適用先」 の設定について。

例として、tenant02 の DFW ルールの1つに、セキュリティグループ 「secgr-tenant-02」 を設定してみます。


DFW ルールの適用先は、デフォルトでは「Distributed Firewall」 となっています。

ここに、セキュリティグループを設定してみます。

dfw-mt-4-01.png

 

編集ボタンをクリックすると、

「Distributed Firewall がインストールされているすべてのクラスタにこのルールを適用します。」にチェックが入っています。

dfw-mt-4-02.png

 

このチェックを外すと適用先のオブジェクトタイプが選択できるようになるので、
「Security Group」 を選択します。

dfw-mt-4-03.png

 

セキュリティグループを選択しました。

dfw-mt-4-04.png

 

「変更の発行」 をクリックすると、DFW のルールが反映されます。

dfw-mt-4-05.png

 

テナントごとに DFW ルールの適用先が揃えて、下記のような感じにします。

ここで表示されている「ルール ID」は、あとで DFW の適用状態の確認で使用します。

dfw-mt-4-06.png

 

ちなみに、セキュリティグループのリンクをクリックすると、所属している VM を確認することができます。

dfw-mt-4-07.png

 

DFW ルールの適用状態を確認してみる。

DFW ルールが適用されているか、ESXi に SSH ログインして見てみます。

summarize-dvfilter コマンドで VM (vNIC)ごとの DVFilter の名前を確認して、

それをもとに vsipioctl コマンドでルールを確認します。

 

まず、tenant01 に含まれる、t01-web01 という VM のDFW ルールを見てみます。

vNIC は 2つありますが、片方を確認すれば十分とおもわれるので eth0 のに設定されたルールを見てみます。

[root@hv-i21:~] summarize-dvfilter | grep t01-web01 -A5

world 7733173 vmm0:t01-web01 vcUuid:'50 09 f2 fe 1b 1d 2d e5-f8 33 8c 17 4f d0 91 2e'

port 50331775 t01-web01.eth0

  vNic slot 2

   name: nic-7733173-eth0-vmware-sfw.2

   agentName: vmware-sfw

   state: IOChain Attached

   vmState: Detached

--

port 50331776 t01-web01.eth1

  vNic slot 2

   name: nic-7733173-eth1-vmware-sfw.2

   agentName: vmware-sfw

   state: IOChain Attached

   vmState: Detached

[root@hv-i21:~]

 

フィルタ名をもとに、DFW ルールを確認します。

今回設定したルールは ID が 1008 ~ 1013 なので、赤字の部分のみが関係します。

tenant01 むけに設定したルール (1009、1011、1012) だけが設定されていることが分かります。

[root@hv-i21:~] vsipioctl getrules -f nic-7733173-eth0-vmware-sfw.2

ruleset domain-c7 {

  # Filter rules

rule 1009 at 1 inout protocol any from any to addrset ip-virtualwire-26 accept;

  rule 1011 at 2 inout protocol any from addrset ip-virtualwire-25 to addrset ip-virtualwire-25 accept;

  rule 1012 at 3 inout protocol any from any to any drop;

  rule 1007 at 4 inout protocol udp from addrset ip-securitygroup-10 to addrset ip-vm-465 port 67 accept;

  rule 1006 at 5 inout inet protocol udp from addrset ip-securitygroup-10 to any port 67 reject;

  rule 1005 at 6 in inet protocol udp from any to addrset ip-vm-465 port 67 reject;

  rule 1003 at 7 inout protocol ipv6-icmp icmptype 136 from any to any accept;

  rule 1003 at 8 inout protocol ipv6-icmp icmptype 135 from any to any accept;

  rule 1002 at 9 inout protocol udp from any to any port 68 accept;

  rule 1002 at 10 inout protocol udp from any to any port 67 accept;

  rule 1001 at 11 inout protocol any from any to any accept;

}


ruleset domain-c7_L2 {

  # Filter rules

  rule 1004 at 1 inout ethertype any from any to any accept;

}


[root@hv-i21:~]

 

次に、tenant02 に含まれる、t02-web01 という VM のDFW ルールを見てみます。

こちらも vNIC が 2つありますが、eth0 のに設定されたルールだけ見てみます。

[root@hv-i23:~] summarize-dvfilter | grep t02-web01 -A5

world 7676381 vmm0:t02-web01 vcUuid:'50 09 46 a8 08 76 3f da-7c 6e ec 30 3b 28 67 c0'

port 50331717 t02-web01.eth0

  vNic slot 2

   name: nic-7676381-eth0-vmware-sfw.2

   agentName: vmware-sfw

   state: IOChain Attached

   vmState: Detached

--

port 50331718 t02-web01.eth1

  vNic slot 2

   name: nic-7676381-eth1-vmware-sfw.2

   agentName: vmware-sfw

   state: IOChain Attached

   vmState: Detached

[root@hv-i23:~]

 

フィルタ名をもとに、DFW ルールを確認します。

tenant01 むけに設定したルール (1008、1010、1013) だけが設定されていることが分かります。

[root@hv-i23:~] vsipioctl getrules -f nic-7676381-eth0-vmware-sfw.2

ruleset domain-c7 {

  # Filter rules

  rule 1008 at 1 inout protocol any from any to addrset ip-virtualwire-26 accept;

  rule 1010 at 2 inout protocol any from addrset ip-virtualwire-27 to addrset ip-virtualwire-27 accept;

  rule 1013 at 3 inout protocol any from any to any drop;

  rule 1007 at 4 inout protocol udp from addrset ip-securitygroup-10 to addrset ip-vm-465 port 67 accept;

  rule 1006 at 5 inout inet protocol udp from addrset ip-securitygroup-10 to any port 67 reject;

  rule 1005 at 6 in inet protocol udp from any to addrset ip-vm-465 port 67 reject;

  rule 1003 at 7 inout protocol ipv6-icmp icmptype 136 from any to any accept;

  rule 1003 at 8 inout protocol ipv6-icmp icmptype 135 from any to any accept;

  rule 1002 at 9 inout protocol udp from any to any port 68 accept;

  rule 1002 at 10 inout protocol udp from any to any port 67 accept;

  rule 1001 at 11 inout protocol any from any to any accept;

}


ruleset domain-c7_L2 {

  # Filter rules

  rule 1004 at 1 inout ethertype any from any to any accept;

}


[root@hv-i23:~]

 

DFW をマルチテナント環境っぽく使用することは可能ですが、

このような感じで、オブジェクト名やグルーピングなどで工夫が必要そうです。

 

以上、DFW ルールをマルチテナントっぽく設定してみる話でした。

PowerNSX で VMware NSX の論理スイッチ (Logical Switch) を作成してみる。

$
0
0

今年も、日本の vExpert によるアドベントカレンダーが始まります。

クリスマスの12/25 まで、VMwareにかかわる何かが1日1投稿される予定ですので、

お楽しみいただければと思います。

vExperts Advent Calendar 2016 - Adventar

 

今回は、PowerShell での VMware NSX 操作を簡易化する PowerNSXを紹介します。

使用例として、NSX の論理スイッチを作成して VM を接続してみます。

下記のような感じで、ls-test-01 という論理スイッチを作成して、photon01 と photon02 という VM を接続します。

vE-Advent2016-PowerNSX-1.png

 

 

PowerNSX について。

 

PowerNSX は、VMware NSX API を抽象化してくれる PowerShell モジュールです。
GitHub で公開されています。

GitHub - vmware/powernsx

 

VMware 社から公式にサポートされている製品ではありませんが、PowerCLI と組み合わせて使用できるのでとても便利です。

使用方法は、下記の Wiki が参考になります。

https://github.com/vmware/powernsx/wiki

 

PowerShell か PowerCLI のウインドウから下記のリンクにあるコマンドラインを実行することでインストールできます。

これは、インストールスクリプトをダウンロードして実行しています。

GitHubhttps://github.com/vmware/powernsx/wiki/Installing-PowerNSX

 

PowerShell コマンドレットは基本的に「Verb-Noun」という名前となっているので、

それをもとに PowerNSX モジュールに含まれるコマンドレットをざっくりまとめてみました。

NSX の機能に幅広く対応していて、便利そうな様子を感じていただけるのではないかと思います。

PS C:\work> gcm -Module PowerNSX | group Noun | select Name,{$_.Group.Verb -join ","} | sort Name


Name                               $_.Group.Verb -join ","

----                               -----------------------

NsxAddressSpec                     New

NsxBackingDVSwitch                 Get

NsxBackingPortGroup                Get

NsxCli                             Invoke

NsxCliDfwAddrSet                   Get

NsxCliDfwFilter                    Get

NsxCliDfwRule                      Get

NsxCluster                         Install,Remove

NsxClusterStatus                   Get

NsxClusterVxlanConfig              New,Remove

NsxController                      Get,New

NsxEdge                            Copy,Get,New,Remove,Repair,Set

NsxEdgeBgp                         Get,Set

NsxEdgeBgpNeighbour                Get,New,Remove

NsxEdgeCertificate                 Get,Remove

NsxEdgeCsr                         Get,New

NsxEdgeInterface                   Clear,Get,Set

NsxEdgeInterfaceAddress            Add,Get,Remove

NsxEdgeInterfaceSpec               New

NsxEdgeNat                         Get,Set

NsxEdgeNatRule                     Get,New,Remove

NsxEdgeOspf                        Get,Set

NsxEdgeOspfArea                    Get,New,Remove

NsxEdgeOspfInterface               Get,New,Remove

NsxEdgePrefix                      Get,New,Remove

NsxEdgeRedistributionRule          Get,New,Remove

NsxEdgeRouting                     Get,Set

NsxEdgeSelfSignedCertificate       New

NsxEdgeSsh                         Disable,Enable

NsxEdgeStaticRoute                 Get,New,Remove

NsxEdgeSubInterface                Get,New,Remove

NsxEdgeSubInterfaceSpec            New

NsxFirewallExclusionListMember     Add,Get,Remove

NsxFirewallRule                    Get,New,Remove

NsxFirewallSavedConfiguration      Get

NsxFirewallSection                 Get,New,Remove

NsxIpPool                          Get,New

NsxIpSet                           Get,New,Remove

NsxLoadBalancer                    Get,Set

NsxLoadBalancerApplicationProfile  Get,New,Remove

NsxLoadBalancerApplicationRule     Get,New

NsxLoadBalancerMemberSpec          New

NsxLoadBalancerMonitor             Get,New,Remove

NsxLoadBalancerPool                Get,New,Remove

NsxLoadBalancerPoolMember          Add,Get,Remove

NsxLoadBalancerStats               Get

NsxLoadBalancerVip                 Add,Get,Remove

NsxLogicalRouter                   Get,New,Remove

NsxLogicalRouterBgp                Get,Set

NsxLogicalRouterBgpNeighbour       Get,New,Remove

NsxLogicalRouterInterface          Get,New,Remove,Set

NsxLogicalRouterInterfaceSpec      New

NsxLogicalRouterOspf               Get,Set

NsxLogicalRouterOspfArea           Get,New,Remove

NsxLogicalRouterOspfInterface      Get,New,Remove

NsxLogicalRouterPrefix             Get,New,Remove

NsxLogicalRouterRedistributionRule Get,New,Remove

NsxLogicalRouterRouting            Get,Set

NsxLogicalRouterStaticRoute        Get,New,Remove

NsxLogicalSwitch                   Get,New,Remove

NsxMacSet                          Get,New,Remove

NsxManager                         New,Set

NsxManagerBackup                   Get

NsxManagerComponentSummary         Get

NsxManagerNetwork                  Get

NsxManagerSsoConfig                Get

NsxManagerSyslogServer             Get

NsxManagerSystemSummary            Get

NsxManagerTimeSettings             Get

NsxManagerVcenterConfig            Get

NsxObject                          Export,Import

NsxRestMethod                      Invoke

NsxSecurityGroup                   Get,New,Remove

NsxSecurityGroupEffectiveMembers   Get

NsxSecurityGroupMember             Add,Remove

NsxSecurityPolicy                  Get,Remove

NsxSecurityTag                     Get,New,Remove

NsxSecurityTagAssignment           Get,New,Remove

NsxSegmentIdRange                  Get,New,Remove

NsxServer                          Connect,Disconnect

NsxService                         Get,New,Remove

NsxServiceGroup                    Get,New,Remove

NsxServiceGroupMember              Add,Get

NsxSpoofguardNic                   Get

NsxSpoofguardNicApproval           Grant,Revoke

NsxSpoofguardPolicy                Get,New,Publish,Remove

NsxSslVpn                          Get,Set

NsxSslVpnAuthServer                Get,New

NsxSslVpnClientInstallationPackage Get,New,Remove

NsxSslVpnIpPool                    Get,New,Remove

NsxSslVpnPrivateNetwork            Get,New,Remove

NsxSslVpnUser                      Get,New,Remove

NsxTransportZone                   Get,New,Remove

NsxVdsContext                      Get,New,Remove

NsxWebRequest                      Invoke

NsxWhereVMUsed                     Find

PowerNsx                           Update

PowerNsxVersion                    Get

XML                                Format

XmlElement                         Add



 

 

NSX Manager への接続。

 

PowerNSX は、NSX Manager に接続して操作します。

そして、PowerCLI 実行のため vCenter にも接続する必要があります。

「Connect-NsxServer」で NSX Manager に接続するときに、

NSX Manager のひもづく vCenter にも接続することができます。


例では、下記のサーバに接続しています。
※これはうちの VC / NSX Manager なので、実際にためす場合はホスト名を置き換えていただければと思います。

  • NSX Manager:  nsxmgr01.godc.lab
  • vCenter: vc01.godc.lab

NSX 6.2.4 の Manager に接続されています。

PS> Connect-NsxServer nsxmgr01.godc.lab


コマンド パイプライン位置 1 のコマンドレット Connect-NsxServer

次のパラメーターに値を指定してください:

Credential  ★ここで NSX Manager のユーザ/パスワードを入力する。


PowerNSX requires a PowerCLI connection to the vCenter server NSX is registered against for proper operation.

Automatically create PowerCLI connection to vc01.godc.lab?

[Y] Yes  [N] No  [?] ヘルプ (既定値は "Y"): Y


警告: Enter credentials for vCenter vc01.godc.lab


コマンド パイプライン位置 1 のコマンドレット Get-Credential

次のパラメーターに値を指定してください:

Credential  ★ここで vCenter のユーザ/パスワードを入力する。


Version             : 6.2.4

BuildNumber         : 4292526

Credential          : System.Management.Automation.PSCredential

Server              : nsxmgr01.godc.lab

Port                : 443

Protocol            : https

ValidateCertificate : False

VIConnection        : vc01.godc.lab

DebugLogging        : False

DebugLogFile        : C:\Users\gowatana\AppData\Local\Temp\PowerNSXLog-admin@nsxmgr01.godc.lab-2016_11_30_08_39_13.log


 

NSX の操作。

 

それでは、PowerNSX のコマンドレットで論理スイッチを作成いて、VM を接続してみます。

NSX の「論理スイッチ」の実体は VXLAN に対応した分散ポートグループなので、PowerCLI ではポートグループとしてあつかっています。


まず、論理スイッチを作成する Transport Zone の名前を調べておきます。

PS> Get-NsxTransportZone | select name


name

----

transport-zone-01

 


この Transport Zone に、論理スイッチ「ls-test-01」を作成します。

PS> $tz = Get-NsxTransportZone transport-zone-01

PS> New-NsxLogicalSwitch -TransportZone $tz -Name ls-test-01


objectId              : virtualwire-28

objectTypeName        : VirtualWire

vsmUuid               : 4209B0DF-0305-4636-49B2-75A0D86FC009

nodeId                : 1a3405be-3b88-47a4-a293-33d295087e10

revision              : 2

type                  : type

name                  : ls-test-01

description           :

clientHandle          :

extendedAttributes    :

isUniversal           : false

universalRevision     : 0

tenantId              :

vdnScopeId            : vdnscope-2

vdsContextWithBacking : vdsContextWithBacking

vdnId                 : 5001

guestVlanAllowed      : false

controlPlaneMode      : UNICAST_MODE

ctrlLsUuid            : 4caa5832-0d33-404c-b596-5f1c4c5ae9c6

macLearningEnabled    : false

 

 

論理スイッチの一覧が簡単に取得できます。直前で作成した ls-test-01 も表示されています。

PS> Get-NsxLogicalSwitch | select objectId,name,vdnId


objectId       name            vdnId

--------       ----            -----

virtualwire-18 ls-transit-001  5000

virtualwire-24 ls-tenant01-ext 5011

virtualwire-25 ls-tenant01-int 5012

virtualwire-26 ls-tenant02-ext 5013

virtualwire-27 ls-tenant02-int 5014

virtualwire-28 ls-test-01      5001

 

 

論理スイッチに VM を接続します。

今回、論理スイッチに接続する VM は「photon01」と「photon02」の 2台です。

PS> Get-VM -Name photon0[12] | sort Name


Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

photon01             PoweredOn  1        2.000

photon02             PoweredOn  1        2.000


 

作成した論理スイッチ「ls-test-01」の実体となる分散ポートグループを調べます。

分散ポートグループは、「vxw-dvs-69-virtualwire-28-sid-5001-ls-test-01」 という名前で自動作成されています。

PS> Get-NsxLogicalSwitch -Name ls-test-01 | Get-NsxBackingPortGroup | select VDSwitch,Name


VDSwitch Name

-------- ----

vds01    vxw-dvs-69-virtualwire-28-sid-5001-ls-test-01

 


この論理スイッチ(分散ポートグループ)に、VM の1つ目の vNIC「Network adapter 1 」を接続します。

PS> $pg = Get-NsxLogicalSwitch -Name ls-test-01 | Get-NsxBackingPortGroup

PS> Get-VM -Name photon0[12] | sort Name | Get-NetworkAdapter -Name "Network adapter 1" | Set-NetworkAdapter -Portgroup $pg -Confirm:$false


 

Name                 Type       NetworkName  MacAddress         WakeOnLan

                                                                  Enabled

----                 ----       -----------  ----------         ---------

Network adapter 1    Vmxnet3    vxw-dvs-6... 00:50:56:89:e9:b7      False

Network adapter 1    Vmxnet3    vxw-dvs-6... 00:50:56:89:00:cf      False

 


それぞれの VM の「Network adapter 1」に分散ポートグループが接続されました。

PS> Get-VM -Name photon0[12] | sort Name | Get-NetworkAdapter | ft -AutoSize Parent,Name,NetworkName


Parent   Name              NetworkName

------   ----              -----------

photon01 Network adapter 1 vxw-dvs-69-virtualwire-28-sid-5001-ls-test-01

photon01 Network adapter 2 dvpg-vlan-0005

photon02 Network adapter 1 vxw-dvs-69-virtualwire-28-sid-5001-ls-test-01

photon02 Network adapter 2 dvpg-vlan-0005

 


分散ポートグループに対応する論理スイッチ「ls-test-01 」に、VM「photon01」 と「photon02」 が接続されたことが分かります。

PS C:\work> Get-NsxLogicalSwitch -Name ls-test-01 | Get-NsxBackingPortGroup | Get-VM


Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

photon01             PoweredOn  1        2.000

photon02             PoweredOn  1        2.000

 

 

一般的な GUI 操作で使用する vSphere Web Client で見ると、このような状態になります。

vE-Advent2016-PowerNSX-2.png


NSX の操作は、vSphere Web Client からの操作だと画面遷移が多く煩雑になりやすいと思います。

一方、手作業で NSX API を実行するには、オブジェクト ID の確認や XML の作成などが面倒です。

この例のような感じで、PowerNSX を使用すると(特に PowerShell / PowerCLI 経験があれば)簡単に
NSX をコマンドライン操作できるようになります。


以上、PowerNSX の紹介でした。

VMware Community の Japanese Online Forum (VMTN Japan) の様子 2016。

$
0
0

日本の vExpert による 2016 アドベントカレンダー 4日目のブログ投稿です。

vExperts Advent Calendar 2016 - Adventar

 

昨年のアドベントカレンダーにひきつづき、VMware のコミュニティサイトである VMware Technology Network (VMTN) にある

日本語フォーラム (VMTNJ) の様子を紹介してみようと思います。

vmtnj-2016.png

 

昨年の投稿はこちらです。

VMware のコミュニティサイトと、日本語 Online Forum の様子。

 

 

VMTNJ の 2016年の様子。

 

ざっくり、VNTNJ のディスカッションを一覧してみようと思います。

うまいクライアントツールが思いつかなかったので、とりあえず PowerShell で RSS を取得しました。

Japan」 のディスカッション一覧です。

ちなみに今年の夏ごろ、日本語フォーラムの名前が

さりげなく「Japan Online forum」から、「Japan」に変更されていました。

PS C:\> $rss = Invoke-WebRequest -Method Get -Uri "https://communities.vmware.com/community/feeds/threads?community=2765"

PS C:\> $content = [xml]$rss.Content

PS C:\> $content.rss.channel.title

VMware Communities : Discussion List - Japan

 

昨年12月から見てみると、下記のディスカッションが投稿されていました。

VMTNJ では、とくに製品/機能などによる縛りがないので、投稿される内容はさまざまです。

PS C:\> $items = $content.rss.channel.Item

PS C:\> $items2016 = $items | select @{N="Date";E={(Get-Date $_.date)}},title | where {$_.Date -ge "2015-12-01"}

PS C:\> $items2016 | sort Date

 

Date                title

----                -----

2015/12/03 22:54:16 esxi6.0にてパスワードルールの変更を行う方法について

2015/12/04 19:22:22 vCSA6.0とvDP6.0の挙動について

2015/12/09 15:40:19 get-statで-startをうまく使用するには

2015/12/11 0:41:38  デプロイ中にフリーズする

2015/12/15 21:17:27 【vSphere5.1】仮想基盤からゲストOSへの通知について

2015/12/17 18:44:43 vDPのログに関して

2015/12/17 19:00:27 vDPのヘルスチェック時に出るログについて

2015/12/20 20:10:32 system-config-samba が動かない。

2015/12/21 10:02:47 vSphere ESXi6.0U1のホストシャットダウンについて

2015/12/21 21:54:28 VMware Remote Console 8 のダウンロードができない

2016/01/08 12:29:27 Ovaファイルデプロイ時、内蔵ディスクと外付けディスク(ファイバーチャンネル)でサイズチェックが違いますか?

2016/01/12 23:12:18 内蔵HDのRDMについて

2016/01/13 12:37:36 データストア上のファイルと、インベントリ上の仮想マシンの対応の一覧

2016/01/13 23:21:36 VmdkをRDMに変換するのにうまい方法ありませんか?

2016/01/19 11:24:19 毎回VMWare Tools7.7.0の更新メッセージが表示される

2016/01/20 16:53:56 vCenterのアラーム設定について

2016/01/21 15:33:32 USBHDがゲストに認識されない

2016/01/29 15:56:15 ネットワークパーティションと隔離状態について

2016/02/02 17:35:56 VSAN環境のdisk I/Oについて

2016/02/03 0:36:20  windows10 32bit システム修復ディスク、回復ドライブの作成

2016/02/04 22:26:11 管理ネットワークのハートビート間隔について

2016/02/05 23:27:21 vCSAとNICチーミングの関係について

2016/02/10 23:02:19 vSphere HAによるフェイルオーバー対象について

2016/02/12 19:02:17 vSphere HA構成につきまして

2016/02/16 18:55:38 仮想ホストへのFireWallの設定

2016/02/19 23:12:12 ゲストからネットワークに接続できません

2016/02/23 5:28:29  [PowerCLI]Export-VAppで異常終了

2016/03/03 20:51:37 DBサーバを仮想化することによるリスクにつきまして

2016/03/25 10:52:53 ホストOSのハングアップについて(VMware Workstation 12 Pro)

2016/04/06 16:54:21 ホストにUSBハードディスクを認識させる方法

2016/04/13 21:01:38 仮想マシン設定:サウンドカードのエラーの解決方法と最適なプロセッサの設定について

2016/04/15 19:15:36 vSphere Client vSphere HA保護表示が正しくない

2016/04/21 17:33:57 vmware converter が2%でfault.clonefault.summary エラーになる

2016/04/27 11:43:08 ホストOSとディスプレイの解像度について

2016/04/29 13:36:01 VMware Tools のインストールについて

2016/05/09 14:20:23 Workstation Pro 12.1.1でvmdkのparentFileNameHintが絶対パスに戻った

2016/05/11 16:37:54 ネットワーク構成につきまして

2016/05/19 9:21:55  仮想マシンは選択されたレイアウトに変更出来ませんでした

2016/05/20 12:00:57 LinuxマシンのP2Vについて

2016/05/24 15:05:48 ホストOS/ゲストOSとも Windows7 のブリッジ接続で「認識されていないネットワーク」となってしまい外部接続ができない。

2016/06/06 9:39:08  vCenterHeartBeat構成時のパッシブノードのシャットダウン手順について

2016/06/10 17:38:18 USBデバイス接続エラー

2016/06/13 12:51:24 HA構成下で、仮想マシンで動作させているアプル更新方法について

2016/06/15 10:50:49 Conncetion ServerからvCenterが登録できない

2016/07/05 13:39:34 HA構成+物理SANのRDM構成について

2016/07/08 13:21:01 ベータプログラムについて

2016/07/14 10:27:24 Failed to get disk info.

2016/07/18 14:18:50 Workstation Player 12でVM ライブラリに戻れない

2016/07/30 13:05:09 指定されたパラメータの 1 つが無効です。

2016/08/07 15:28:50 VMホストとVMゲストOSの間でコピペができなくなりました。

2016/08/11 9:57:12  仮想スイッチと物理NICが結びつかない?

2016/08/18 14:45:02 Horizon 7ではLinuxをRDSとして利用できるか?

2016/08/22 19:42:36 コマンドラインでのvSphereHAの無効化

2016/08/29 12:00:15 vSphereHA 仮想マシンの障害試験について

2016/08/30 11:37:17 vCenterServerの認証ログについて

2016/09/01 19:37:15 VMwareESXi5.1 All Path Down 発生

2016/09/02 12:09:27 XPでUSB3.0を使いたい

2016/09/05 16:02:34 DRS(アフィニティルール)設定時のvCenterServer障害(vCenter搭載ホスト障害)について

2016/09/08 10:11:44 ESXiで時刻同期ができていない

2016/09/21 22:16:14 VMware 3Dグラフィックスと、ビデオカードの関係について教えてください。

2016/10/02 18:19:12 無償版vSphere Clientを高解像度モニタで使用するとコンソール表示が1/4しかされなくなる

2016/10/09 15:14:09 VMware Workstation Playerへ割当てる物理リソースを指定する方法

2016/10/16 14:31:18 VMware Fusionの共有仮想マシンを元に戻すには

2016/10/21 14:03:01 VMWareFusion8:ゲストsnowlepard(MacOS10.6)

2016/10/21 21:20:19 VMwareESXi5.1上の仮想マシンの時刻同期について

2016/11/09 15:44:12 esxi仮想マシンの設定状況の確認方法について

2016/12/01 14:32:34 vmdkファイルの圧縮時にCould not openで圧縮ができない

2016/12/02 10:06:55 vSphere5.5でのStorage vMotion要件について

2016/12/02 23:36:17 VMwareESXi 5.1 NIC チーミング構成で のNIC交換

 

ディスカッションの投稿は、だいたい 1年間で 70件弱ありました。

以前は年間 100~120件くらい投稿があったので、今年は少ない気がします。

PS C:\> $items2016.Count

69

PS C:\> $items2016 | group {Get-Date $_.Date -f "yyyy-MM"} | select Name,Count | sort Name

 

Name    Count

----    -----

2015-12    10

2016-01     8

2016-02     9

2016-03     2

2016-04     6

2016-05     5

2016-06     4

2016-07     5

2016-08     6

2016-09     5

2016-10     5

2016-11     1

2016-12     3

 

 

PS C:\>

 

ちなみに、以前は、日本語の VMware 社のコーポレートサイトから VMTNJ に直接リンクがあったのですが、

今年夏頃のサイトリニューアルから、VMTN トップページへのリンクになってしまい、

VMTN への導線がなくなってしまったのも件数減に効いているのかもしれません。

 

個人的に思っていること。

 

最近、とくに VMTN の利用者がすくない気がしています。

個人的には、実際にもろもろの課題が発生したら(一例として)下記のようになりそうと思えたりするので、

VMTNJ の役割がそもそも悩ましい気もします。

(ただし、末尾の2つは、私はアクセスできないので噂ベースですが・・・)

  • 各製品で技術レベルが高い話をするとなると、VMTNの製品ごとのフォーラム(英語)があるので、そちらに投稿するはず。
  • 商用環境での障害対応や製品不具合は、責任ある回答が必要なので、サポート契約があるはずなので製品サポートに問い合わせることになるはず。
  • 導入検討段階であれば、(営業担当を介してになるかもしれないが)プリセールス的な人に聞けたりするのではないか。
  • 設計、構築、運用など各フェーズで、技術レベルの保証された支援が必要な場合は、いわゆる SIer や、VMware のプロフェッショナルサービスの出番・・・
  • VMware 製品のカスタマ(ユーザ)同士のディスカッションでれば、日本であれば、VMUG 掲示板が活発(らしい。VMTNJ よりは・・・)
  • VMware のパートナー企業であれば、そちらの質問パスがある(らしい・・・)

 

それでも、誰でも、日本語で気軽に VMware製品の話題について投稿できるフォーラムがあることには意義があると思います。

個人的には、(返信が付くかは別として)もっと下記のような投稿がされてもいいのではないかと思ったりもします。

  • 個人的に勉強していて、そこでの素朴な疑問。
  • 社内や顧客先で本格的に検討するまでに気になったこと。
  • VMware の製品と、他社製品を組み合わせて使ってみてどちらの製品サポートに聞いても悩ましいものをダメもとで聞いてみる。
  • サポート切れている製品の、「藁をもつかむ」的なもの。
  • Tech Preview (製品サポートにはまだ聞けない機能や、VMware Labs - Flings)などについて聞いてみる。

 

現状、あまり活発とはいえないところではありますが、

せっかく vExpert なので VMTNJ を書き支えたいと思います!

 

以上、VMTNJ の 2016年の様子でした。

vSphere Integrated Containers (VIC) 1.0 をためしてみる。

$
0
0

日本の vExpert による 2016 アドベントカレンダー 11日目のブログ投稿です。

vExperts Advent Calendar 2016 - Adventar

 

VMware vSphere Integrated Containers 1.0 が、とうとう GA になりました。

ドキュメント

VMware vSphere Integrated Containers Documentation

ダウンロード

VMware vSphere Integrated Containers Download

 

さっそく、下記のような構成で

vSphere Integrated Containers Engine (VIC Engine)をインストールしてみました。

VIC 1.0 に含まれる VIC Engine のバージョンは、0.8 です。

VCH Endpoint VM と Container VM には、VMware Photon OS が使用されています。

  • vCenter Server Applience 6.0 U2
  • ESXi 6.0 U2
  • DRS 有効。
  • 分散仮想スイッチ(vDS)を使用。
  • vSAN データストアを使用。
  • VIC Machine は、Windows 10 PC から実行。
  • docker コマンドは、Oracle Linux 7 から実行。

vE-Advent2016-VIC10GA.png

VIC Machine、docker コマンドは Windows / Linux / Mac から実行できます。

ちなみに Linux は Ubuntu でテストされているようですが、

偶然てもとの環境が Oracle Linux だったのでそれを使用しました。

 

1. Virtual Container Hosts (VCH) のデプロイ。

 

MyVMware サイトから、VIC Engine (vic_0.8.0-7315-c8ac999.tar.gz) をダウンロードして、C:\work に展開しました。

その中に含まれる vic-machine ユーティリティで VCH をデプロイします。

今回は、Windows 10 の PC から、VCH をデプロイしてみました。

PS C:\work\vic> dir

 

  ディレクトリ: C:\work\vic

 

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

d-----       2016/12/11     13:46                ui

-a----       2016/12/04      4:30      127401984 appliance.iso

-a----       2016/12/04      4:30       65732608 bootstrap.iso

-a----       2016/12/04      4:29         209570 LICENSE

-a----       2016/12/04      4:29             57 README

-a----       2016/12/04      4:29       35095088 vic-machine-darwin

-a----       2016/12/04      4:29       35557968 vic-machine-linux

-a----       2016/12/04      4:29       35261952 vic-machine-windows.exe

-a----       2016/12/04      4:29       31672144 vic-ui-darwin

-a----       2016/12/04      4:29       31972920 vic-ui-linux

-a----       2016/12/04      4:29       31675392 vic-ui-windows.exe

 

 

Windows 用の vic-machine を使用します。

PS C:\work\vic> .\vic-machine-windows.exe

NAME:

  vic-machine-windows.exe - Create and manage Virtual Container Hosts

 

 

 

USAGE:

  vic-machine-windows.exe [global options] command [command options] [arguments...]

 

 

 

VERSION:

  v0.8.0-7315-c8ac999

 

 

 

COMMANDS:

  create Deploy VCH

  delete Delete VCH and associated resources

  ls List VCHs

  inspect Inspect VCH

  version Show VIC version information

  debug Debug VCH

 

 

 

GLOBAL OPTIONS:

  --help, -h show help

  --version, -v print the version

 

 

それでは、VCH をデプロイします。

今回の vCenter のアドレスは 192.168.1.82 です。

VCH から vCenter の名前解決ができないとエラーになるので、今回は IP アドレスで指定しています。

実行結果から、VCH に付与された IP アドレスがわかります。

PS C:\work\vic> .\vic-machine-windows.exe create --target 192.168.1.82 --user "administrator@vsphere.local" --password <パスワード> --compute-resource cluster-vsan01 --bridge-network vic-bridge --public-network dvpg-vlan-0000 --image-store vsanDatastore --no-tlsverify --force

[34mINFO[0m[2016-12-11T17:02:29+09:00] ### Installing VCH ####

[33mWARN[0m[2016-12-11T17:02:29+09:00] Using administrative user for VCH operation - use --ops-user to improve security (see -x for advanced help)

[34mINFO[0m[2016-12-11T17:02:29+09:00] Loaded server certificate virtual-container-host\server-cert.pem

[33mWARN[0m[2016-12-11T17:02:29+09:00] Configuring without TLS verify - certificate-based authentication disabled

[34mINFO[0m[2016-12-11T17:02:29+09:00] Validating supplied configuration

[34mINFO[0m[2016-12-11T17:02:29+09:00] vDS configuration OK on "vic-bridge"

[34mINFO[0m[2016-12-11T17:02:29+09:00] Firewall status: ENABLED on "/dc01/host/cluster-vsan01/hv-i21.godc.lab"

[33mWARN[0m[2016-12-11T17:02:29+09:00] Firewall configuration on "/dc01/host/cluster-vsan01/hv-i21.godc.lab" may prevent connection on dst 2377/tcp outbound with allowed IPs: [192.168.51.239 192.168.51.161]

[34mINFO[0m[2016-12-11T17:02:29+09:00] Firewall status: ENABLED on "/dc01/host/cluster-vsan01/hv-i22.godc.lab"

[33mWARN[0m[2016-12-11T17:02:29+09:00] Firewall configuration on "/dc01/host/cluster-vsan01/hv-i22.godc.lab" may prevent connection on dst 2377/tcp outbound with allowed IPs: [192.168.51.161 192.168.51.239]

[34mINFO[0m[2016-12-11T17:02:29+09:00] Firewall status: ENABLED on "/dc01/host/cluster-vsan01/hv-i23.godc.lab"

[33mWARN[0m[2016-12-11T17:02:29+09:00] Firewall configuration on "/dc01/host/cluster-vsan01/hv-i23.godc.lab" may prevent connection on dst 2377/tcp outbound with allowed IPs: [192.168.51.161 192.168.51.239]

[33mWARN[0m[2016-12-11T17:02:29+09:00] Unable to fully verify firewall configuration due to DHCP use on management network

[33mWARN[0m[2016-12-11T17:02:29+09:00] VCH management interface IP assigned by DHCP must be permitted by allowed IP settings

[33mWARN[0m[2016-12-11T17:02:29+09:00] Firewall allowed IP configuration may prevent required connection on hosts:

[33mWARN[0m[2016-12-11T17:02:29+09:00] "/dc01/host/cluster-vsan01/hv-i21.godc.lab"

[33mWARN[0m[2016-12-11T17:02:29+09:00] "/dc01/host/cluster-vsan01/hv-i22.godc.lab"

[33mWARN[0m[2016-12-11T17:02:29+09:00] "/dc01/host/cluster-vsan01/hv-i23.godc.lab"

[34mINFO[0m[2016-12-11T17:02:29+09:00] Firewall must permit dst 2377/tcp outbound to the VCH management interface

[34mINFO[0m[2016-12-11T17:02:30+09:00] License check OK on hosts:

[34mINFO[0m[2016-12-11T17:02:30+09:00] "/dc01/host/cluster-vsan01/hv-i21.godc.lab"

[34mINFO[0m[2016-12-11T17:02:30+09:00] "/dc01/host/cluster-vsan01/hv-i22.godc.lab"

[34mINFO[0m[2016-12-11T17:02:30+09:00] "/dc01/host/cluster-vsan01/hv-i23.godc.lab"

[34mINFO[0m[2016-12-11T17:02:30+09:00] DRS check OK on:

[34mINFO[0m[2016-12-11T17:02:30+09:00] "/dc01/host/cluster-vsan01/Resources"

[34mINFO[0m[2016-12-11T17:02:30+09:00]

[34mINFO[0m[2016-12-11T17:02:30+09:00] Creating virtual app "virtual-container-host"

[34mINFO[0m[2016-12-11T17:02:31+09:00] Creating appliance on target

[34mINFO[0m[2016-12-11T17:02:31+09:00] Network role "client" is sharing NIC with "public"

[34mINFO[0m[2016-12-11T17:02:31+09:00] Network role "management" is sharing NIC with "public"

[34mINFO[0m[2016-12-11T17:02:34+09:00] Uploading images for container

[34mINFO[0m[2016-12-11T17:02:34+09:00] "bootstrap.iso"

[34mINFO[0m[2016-12-11T17:02:34+09:00] "appliance.iso"

[34mINFO[0m[2016-12-11T17:02:46+09:00] Waiting for IP information

[34mINFO[0m[2016-12-11T17:03:02+09:00] Waiting for major appliance components to launch

[34mINFO[0m[2016-12-11T17:03:02+09:00] Checking VCH connectivity with vSphere target

[34mINFO[0m[2016-12-11T17:03:03+09:00] vSphere API Test: https://192.168.1.82 vSphere API target responds as expected

[34mINFO[0m[2016-12-11T17:03:16+09:00] Initialization of appliance successful

[34mINFO[0m[2016-12-11T17:03:16+09:00]

[34mINFO[0m[2016-12-11T17:03:16+09:00] VCH Admin Portal:

[34mINFO[0m[2016-12-11T17:03:16+09:00] https://192.168.1.5:2378

[34mINFO[0m[2016-12-11T17:03:16+09:00]

[34mINFO[0m[2016-12-11T17:03:16+09:00] Published ports can be reached at:

[34mINFO[0m[2016-12-11T17:03:16+09:00] 192.168.1.5

[34mINFO[0m[2016-12-11T17:03:16+09:00]

[34mINFO[0m[2016-12-11T17:03:16+09:00] Docker environment variables:

[34mINFO[0m[2016-12-11T17:03:16+09:00] DOCKER_HOST=192.168.1.5:2376

[34mINFO[0m[2016-12-11T17:03:16+09:00]

[34mINFO[0m[2016-12-11T17:03:16+09:00] Environment saved in virtual-container-host/virtual-container-host.env

[34mINFO[0m[2016-12-11T17:03:16+09:00]

[34mINFO[0m[2016-12-11T17:03:16+09:00] Connect to docker:

[34mINFO[0m[2016-12-11T17:03:16+09:00] docker -H 192.168.1.5:2376 --tls info

[34mINFO[0m[2016-12-11T17:03:16+09:00] Installer completed successfully

PS C:\work\vic>

 

この先の Docker コマンドのアクセスで、デプロイした VCH の IP アドレスをエンドポイントとして指定します。

VCH の IP アドレスは後から確認することもできます。

 

vCenter の thumbprint を指定しないとエラーになるので・・・

PS C:\work\vic> .\vic-machine-windows.exe ls --target 192.168.1.82 --user "administrator@vsphere.local" --password <パスワード> --compute-resource cluster-vsan01

[34mINFO[0m[2016-12-11T17:47:38+09:00] ### Listing VCHs ####

[31mERRO[0m[2016-12-11T17:47:38+09:00] Failed to verify certificate for target=192.168.1.82 (thumbprint=A4:98:53:2F:68:11:01:06:08:48:AD:68:33:95:0D:6F:30:10:4D:D1)

[31mERRO[0m[2016-12-11T17:47:38+09:00] List cannot continue - failed to create validator: x509: certificate signed by unknown authority

[31mERRO[0m[2016-12-11T17:47:38+09:00] --------------------

[31mERRO[0m[2016-12-11T17:47:38+09:00] vic-machine-windows.exe failed: list failed

 

thumbprint を指定して「vic-machine-windows ls」コマンドを実行します。

VCH の仮想アプライアンスが VM (vm-527) としてデプロイされていることが分かります。

PS C:\work\vic> .\vic-machine-windows.exe ls --target 192.168.1.82 --user "administrator@vsphere.local" --password <パスワード> --compute-resource cluster-vsan01 --thumbprint A4:98:53:2F:68:11:01:06:08:48:AD:68:33:95:0D:6F:30:10:4D:D1

[34mINFO[0m[2016-12-11T17:48:00+09:00] ### Listing VCHs ####

[34mINFO[0m[2016-12-11T17:48:00+09:00] Validating target

[34mINFO[0m[2016-12-11T17:48:00+09:00] Validating compute resource

 

ID            PATH                                       NAME                          VERSION

vm-527        /dc01/host/cluster-vsan01/Resources        virtual-container-host        v0.8.0-7315-c8ac999

 

エンドポイント のアドレスも確認できます。

PS C:\work\vic> .\vic-machine-windows.exe inspect --target 192.168.1.82 --user "administrator@vsphere.local" --password <パスワード> --compute-resource cluster-vsan01 --thumbprint A4:98:53:2F:68:11:01:06:08:48:AD:68:33:95:0D:6F:30:10:4D:D1

[34mINFO[0m[2016-12-11T17:50:09+09:00] ### Inspecting VCH ####

[34mINFO[0m[2016-12-11T17:50:09+09:00]

[34mINFO[0m[2016-12-11T17:50:09+09:00] VCH ID: VirtualMachine:vm-527

[34mINFO[0m[2016-12-11T17:50:09+09:00]

[34mINFO[0m[2016-12-11T17:50:09+09:00] Installer version: v0.8.0-7315-c8ac999

[34mINFO[0m[2016-12-11T17:50:09+09:00] VCH version: v0.8.0-7315-c8ac999

[33mWARN[0m[2016-12-11T17:50:10+09:00] Unable to identify address acceptable to host certificate

[34mINFO[0m[2016-12-11T17:50:10+09:00]

[34mINFO[0m[2016-12-11T17:50:10+09:00] VCH Admin Portal:

[34mINFO[0m[2016-12-11T17:50:10+09:00] https://192.168.1.5:2378

[34mINFO[0m[2016-12-11T17:50:10+09:00]

[34mINFO[0m[2016-12-11T17:50:10+09:00] Published ports can be reached at:

[34mINFO[0m[2016-12-11T17:50:10+09:00] 192.168.1.5

[34mINFO[0m[2016-12-11T17:50:10+09:00]

[34mINFO[0m[2016-12-11T17:50:10+09:00] Docker environment variables:

[34mINFO[0m[2016-12-11T17:50:10+09:00] DOCKER_HOST=192.168.1.5:2376

[34mINFO[0m[2016-12-11T17:50:10+09:00]

[34mINFO[0m[2016-12-11T17:50:10+09:00] Connect to docker:

[34mINFO[0m[2016-12-11T17:50:10+09:00] docker -H 192.168.1.5:2376 --tls info

[34mINFO[0m[2016-12-11T17:50:10+09:00] Completed successfully

PS C:\work\vic>

 

VCH は、vApp としてデプロイされます。デフォルトでは、

「virtual-container-host」という名前の vApp に、

「virtual-container-host」という名前(vApp と同名)の VCH Endpoint VM がデプロイされます。

vic-10ga-11.png


VCH Endpoint VM は、ISO ブートになっています。

vic-10ga-12.png

 

2. Docker コンテナの起動。

 

docker コマンドで、コンテナを起動してみます。

今回は、Oracle Linux 7 から VCH Endpoint にアクセスしています。

クライアントとして使用する Docker は、Oracle Linux Public Yum サーバにある RPM でインストールしたものです。

[gowatana@client01 ~]$ cat /etc/oracle-release

Oracle Linux Server release 7.3

[gowatana@client01 ~]$ docker -v

Docker version 1.12.2, build a8c3fe4

 

VCH のエンドポイントを指定して docker コマンドを実行します。

クライアント側とサーバ側とで API バージョンが異なり、エラーになるので・・・

[gowatana@client01 ~]$ docker -H 192.168.1.5:2376 --tls info

Error response from daemon: client is newer than server (client API version: 1.24, server API version: 1.23)

 

環境変数「DOCKER_API_VERSION」を指定すると、docker コマンドが実行できるようになります。

docker info コマンドで、VCH 側の Docker の情報が表示されます。

[gowatana@client01 ~]$ export DOCKER_API_VERSION=1.23

[gowatana@client01 ~]$ docker -H 192.168.1.5:2376 --tls info

Containers: 0

Running: 0

Paused: 0

Stopped: 0

Images: 0

Server Version: v0.8.0-7315-c8ac999

Storage Driver: vSphere Integrated Containers v0.8.0-7315-c8ac999 Backend Engine

VolumeStores:

vSphere Integrated Containers v0.8.0-7315-c8ac999 Backend Engine: RUNNING

VCH mhz limit: 111 Mhz

VCH memory limit: 52.32 GiB

VMware Product: VMware vCenter Server

VMware OS: linux-x64

VMware OS version: 6.0.0

Plugins:

Volume:

Network: bridge

Swarm:

NodeID:

Is Manager: false

Node Address:

Security Options:

Operating System: linux-x64

OSType: linux-x64

Architecture: x86_64

CPUs: 111

Total Memory: 52.32 GiB

Name: virtual-container-host

ID: vSphere Integrated Containers

Docker Root Dir:

Debug Mode (client): false

Debug Mode (server): false

Registry: registry-1.docker.io

[gowatana@client01 ~]$

 

それでは、Nginx のコンテナを起動してみます。

使用するコンテナ イメージは、Docker Hub オフィシャルの Nginx イメージです。

[gowatana@client01 ~]$ docker -H 192.168.1.5:2376 --tls pull nginx

Using default tag: latest

Pulling from library/nginx

386a066cd84a: Pull complete

a3ed95caeb02: Pull complete

386dc9762af9: Pull complete

d685e39ac8a4: Pull complete

Digest: sha256:e56314fa645f9e8004864d3719e55a6f47bdee2c07b9c8b7a7a1125439d23249

Status: Downloaded newer image for library/nginx:latest

[gowatana@client01 ~]$ docker -H 192.168.1.5:2376 --tls images nginx

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

nginx               latest              19d21b7e5b14        12 days ago         181.5 MB

 

コンテナを web01 という名前で起動します。

[gowatana@client01 ~]$ docker -H 192.168.1.5:2376 --tls run -d -p 8080:80 --name web01 nginx

3d4a7cca39dd2511aac38f5550ea9d584def35b7e243546770204d6a3b715a20

[gowatana@client01 ~]$ docker -H 192.168.1.5:2376 --tls ps

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                      NAMES

3d4a7cca39dd        nginx               "nginx -g daemon off;"   About a minute ago   Up About a minute   192.168.1.5:8080->80/tcp   web01

 

コンテナ VM が作成されました。

vic-10ga-21.png

 

コンテナの UUID が、そのまま VM 名に付与されます。

コンテナ VM には、172.16.0.0 の IP アドレスが自動付与されています。

vic-10ga-22.png

 

コンテナを追加で起動すると・・・

[gowatana@client01 ~]$ docker -H 192.168.1.5:2376 --tls run -d -p 8081:80 --name web02 nginx

9a60d8755ebb952ce4d4272fadb33125de09f8536187e41142f7fbac53555444

[gowatana@client01 ~]$ docker -H 192.168.1.5:2376 --tls ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES

9a60d8755ebb        nginx               "nginx -g daemon off;"   11 minutes ago      Up 10 minutes       192.168.1.5:8081->80/tcp   web02

3d4a7cca39dd        nginx               "nginx -g daemon off;"   About an hour ago   Up About an hour    192.168.1.5:8080->80/tcp   web01

[gowatana@client01 ~]$

 

コンテナ VM も増えます。

vic-10ga-23.png

 

3. コンテナのサービスへのアクセス。

 

VIC では、コンテナ VM ではなく VCH エンドポイントを経由して、コンテナの提供するサービスにアクセスします。

web01 コンテナの起動時に「-p 8080:80」とポート番号を指定していました。

コンテナ VM ではなく、VCH エンドポイントのアドレス (192.168.1.5) の 8080 番ポートにアクセスすると、
Nginx の Welcome ページが表示されます。

vic-10ga-31.png

 

ちょうど VIC 1.0 が GA されたので、いきおいでためしてみましたが

機会をみつけて、活用方法を探ってみたいと思います。

たしかに、VIC は既存の vSphere 環境を殆ど構成変更することなく利用することができます。

 

以上、VIC Engine をためしてみる話でした。

vSphere Integrated Containers Engine の vSphere Web Client Plug-In から見る Docker 情報。

$
0
0

vSphere Integrated Containers Engine (VIC Engine) の vSphere Web Client Plug-In をインストールしてみました。

Flash 版の Web Client から、VIC Engine による Docker 環境の情報がわかるようになります。

Installing the vSphere Web Client Plug-in | VMware vSphere Integrated Containers Engine 0.8 Installation

 

VIC Engine については、こちらもどうぞ。

vSphere Integrated Containers (VIC) 1.0 をためしてみる。

 

今回の環境は下記です。

  • VMware vCenter Server Appliance 6.0 Update 2
  • vSphere Integrated Containers 1.0 (vSphere Integrated Containers Engine 0.8)

 

1. ソフトウェア のダウンロードと配置。

 

MyVMware サイトから、VIC Engine (vic_0.8.0-7315-c8ac999.tar.gz) をダウンロードして、

vCenter Server Appliance (VCSA) に転送しておきます。

※VCSA は、事前に SSH & bash でアクセスできるようにしておきます。

※Plug-In ファイルを配置する Web サーバは用意せず、VCSA のローカルからファイルをインストールします。

 

2. VCSA でのインストール。

 

今回の VCSA の名前は、(IP アドレスは 192.168.1.82) にしてあります。

VCSA に SSH でログインして、転送しておいた tar.gz ファイルを展開します。

vc01:~ # tar zxf vic_0.8.0-7315-c8ac999.tar.gz

vc01:~ # cd vic/ ui/VCSA/

vc01:~/vic/ui/VCSA # ls

configs  install.sh  uninstall.sh  upgrade.sh

 

config ファイルを vi などで編集して、VCENTER_IP に VCSA のアドレスを指定します。

今回は下記のようにしました。

vc01:~/vic/ui/VCSA # cat configs | head -n 2

# Enter the IP of the server running VCSA

VCENTER_IP="192.168.1.82"

 

インストールスクリプトを実行します。

途中で、VCSA の管理者ユーザ / パスワード、VCSA の root ユーザ / パスワード を入力します。

vc01:~/vic/ui/VCSA # ./install.sh

Enter your vCenter Administrator Username: administrator@vsphere.local

Enter your vCenter Administrator Password: ★パスワード入力

----------------------------------------

Checking if VCSA has Bash shell enabled...

Please enter the root password

----------------------------------------

The authenticity of host '192.168.1.82 (192.168.1.82)' can't be established.

ECDSA key fingerprint is 28:a4:8b:6a:c3:fd:8d:ef:b9:54:df:b2:f2:b6:6c:fb [MD5].

Are you sure you want to continue connecting (yes/no)? yes

root@192.168.1.82's password: ★パスワード入力

Reading plugin-package.xml...

----------------------------------------

Registering vCenter Server Extension...

----------------------------------------

INFO[2017-01-05T15:05:42Z] ### Installing UI Plugin ####

INFO[2017-01-05T15:05:42Z] Installing plugin

INFO[2017-01-05T15:05:51Z] Installed UI plugin

-------------------------------------------------------------

Copying plugin contents to the vSphere Web Client...

Please enter the root password

-------------------------------------------------------------

root@192.168.1.82's password: ★パスワード入力

--------------------------------------------------------------

Updating ownership of the plugin folders...

Please enter the root password

--------------------------------------------------------------


VMware vCenter Server Appliance 6.0.0.20000


Type: vCenter Server with an external Platform Services Controller


root@192.168.1.82's password: ★パスワード入力

Connection to 192.168.1.82 closed.

--------------------------------------------------------------

VIC UI registration was successful

 

インストールが成功しました。Plug-In のファイルが配置されています。

vc01:~ # ls -d /etc/vmware/vsphere-client/vc-packages/vsphere-client-serenity/*vic*

/etc/vmware/vsphere-client/vc-packages/vsphere-client-serenity/com.vmware.vicui.Vicui-0.8.0

 

Web Client のサービスを再起動しておきます。

vc01:~ # service vsphere-client restart

 

3. vSphere Web Client での確認。

 

vSphere Web Client にログインすると、

ホーム → 管理 → ソリューション → クライアント プラグイン

を開くと、VicUI がインストールされて、有効になっていることがわかります。

vic-web-plugin-0.png

 

Virtual Container Host (VCH) Endpoint VM のサマリ画面を開くと、

「Virtual Container Host」 に Docker Engine にアクセスするためのアドレスが表示されるようになります。

vic-web-plugin-1.png

 

Plug-In で表示されている「DOCKER_HOST=tcp://192.168.1.4:2376」に、

VIC とは関係ない Linux にインストールされている docker コマンドからアクセスしてみます。

[gowatana@client01 ~]$ rpm -qf `which docker`

docker-engine-1.12.2-1.0.1.el7.x86_64

 

環境変数を設定してから、docker run で nginx のコンテナを起動してみます。

[gowatana@client01 ~]$ export DOCKER_HOST=tcp://192.168.1.4:2376

[gowatana@client01 ~]$ export DOCKER_API_VERSION=1.23

[gowatana@client01 ~]$ docker --tls run -itd -p 80:80 nginx

Unable to find image 'nginx:latest' locally

Pulling from library/nginx

75a822cd7888: Pull complete

a3ed95caeb02: Pull complete

0aefb9dc4a57: Pull complete

046e44ee6057: Pull complete

Digest: sha256:2b942f7dd01a57ceeb5985a0472a2f92735eb81a910dec70c2183c61fc54298c

Status: Downloaded newer image for library/nginx:latest

33990261c1bd5b182962a621903dc66799577a25cdd284057518f9a2d029167e

[gowatana@client01 ~]$ docker --tls ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES

33990261c1bd        nginx               "nginx -g daemon off;"   2 minutes ago       Up 2 minutes        192.168.1.4:80->80/tcp   prickly_northcutt

 

vSphere Web Client から見ると、先ほどの VCH に、Container VM が作成されていて、

nginx のコンテナ イメージから起動されたことがわかるようになりました。

80 番ポートを公開したことも表示されます。

vic-web-plugin-2.png

 

Plug-In をインストールすることで、vSphere Web Client から

vSphere の管理者が VIC Engine の Docker に関わる情報を確認しやすくなります。

ただし、Web Client からコンテナの操作をできるわけではなく、

Docker コンテナは API や他のツールから利用することになります。

 

以上、VIC の Web Client Plug-In をインストールしてみる話でした。

VMware Harbor で Docker Registry サーバを構築してみる。

$
0
0

vSphere Integrated Containers (VIC) 1.0 には、Harbor という Container Registry が含まれています。

vSphere Integrated Containers


Harbor は、GitHub で公開されています。

Harbor by VMware®


今回は、インストレーション ガイドを参考に、Harbor をセットアップしてみます。

harbor/installation_guide.md at master · vmware/harbor · GitHub


Harbor のセットアップには、3通りのセットアップ方法があります。

  • Online installer ※Harbor のコンテナイメージをインターネットからダウンロードする。
  • Offline installer ※インストール対象のサーバがインターネット接続できない場合はこれ。
  • Virtual Appliance ※OVA をデプロイ。

今回は、Harbor のソフトウェア構成が分かりやすい Online installer を使用しています。

ただし、VIC の製品サポートが必要な場合は、
MyVMware からダウンロードした OVA を使用することになります。

 

今回の構成。

Harbor と Docker Host の2台の VM を、VMware Workstation 12 にデプロイします。

ただし、Harbor のサーバでも Docker Engine が起動するので 1台 だけでも大丈夫です。


Harbor は、VIC 1.0 に含まれるバージョンと同じ、
Harbor 0.5 を GitHub からダウンロードして使用します。

 

Harbor と、そこにアクセスする Docker Host の OS は、どちらも Photon OS 1.0 を使用しています。

下記にある「OVA with virtual hardware v11」を使用しています。

Downloading Photon OS · vmware/photon Wiki · GitHub

 

Docker 環境の準備。

まず、Harbor と Docker Host 両方で Docker Engine を設定します。

 

Photon の OVA ファイルを 2つデプロイします・・・

デプロイした Photon を起動して、root/changeme ログインして初期パスワード変更をします。

ホスト名はわかりやすいものに変更しておきます。

今回は、下記のホスト名にしています。

  • Harbor: harbor01
  • Docker Host: photon01

 

ホスト名を設定し、OS にログインしなおすか、OS を再起動すると
プロンプトにホスト名が反映されます。

 

Harbor サーバ

# hostnamectl set-hostname harbor01

 

Docker Host

# hostnamectl set-hostname photon01

 

IP アドレスとホスト名を /etc/hosts ファイルに追記しておきます。

※Harbor と Docker Host 両方で設定します。

※今回の Harbor の IP アドレスは 192.168.254.130 です。

# echo "192.168.254.130 harbor01" >> /etc/hosts


tdnf コマンドで RPM をアップグレードしておきます。

# tdnf upgrade -y


OS を再起動します。

# reboot


アップグレード後の環境です。

root@harbor01 [ ~ ]# cat /etc/photon-release

VMware Photon Linux 1.0

PHOTON_BUILD_NUMBER=62c543d

root@harbor01 [ ~ ]# uname -a

Linux harbor01 4.4.41-1.ph1-esx #1-photon SMP Tue Jan 10 23:46:44 UTC 2017 x86_64 GNU/Linux

root@harbor01 [ ~ ]# rpm -q docker

docker-1.12.1-1.ph1.x86_64


docker サービスを起動します。

root@harbor01 [ ~ ]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

root@harbor01 [ ~ ]# systemctl start docker

root@harbor01 [ ~ ]# docker info

Containers: 0

Running: 0

Paused: 0

Stopped: 0

Images: 0

Server Version: 1.12.1

Storage Driver: overlay

Backing Filesystem: extfs

Logging Driver: json-file

Cgroup Driver: cgroupfs

Plugins:

Volume: local

Network: host bridge overlay null

Swarm: inactive

Runtimes: runc

Default Runtime: runc

Security Options: seccomp

Kernel Version: 4.4.41-1.ph1-esx

Operating System: VMware Photon/Linux

OSType: linux

Architecture: x86_64

CPUs: 1

Total Memory: 1.958 GiB

Name: harbor01

ID: E3H3:PD22:G5DK:RMMJ:NJ2Z:EXJJ:MPZO:4A6D:2YBX:FWNW:GWXO:FR2K

Docker Root Dir: /var/lib/docker

Debug Mode (client): false

Debug Mode (server): false

Registry: https://index.docker.io/v1/

Insecure Registries:

127.0.0.0/8


Harbor サーバへの docker-compose インストール。

Harbor を構成するコンテナ群は、docker-compose で起動/停止するので、
下記を参考に、docker-compose をインストールします。

Install Docker Compose - Docker


docker-compose ファイルをダウンロードして、chmod コマンドで実行権限を付与します。

root@harbor01 [ ~ ]# curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

root@harbor01 [ ~ ]# chmod +x /usr/local/bin/docker-compose


ファイルが実行できるようになったことを確認しておきます。

root@harbor01 [ ~ ]# docker-compose --version

docker-compose version 1.9.0, build 2585387

 

Harbor サーバへの tar インストール。

デフォルトでは Photon OS に tar コマンドがインストールされていません。

Harbor のインストーラを展開するために tdnf でインストールしておきます。

root@harbor01 [ ~ ]# tdnf install -y tar

 

Harbor のインストール。

まず、「harbor-online-installer-0.5.0.tgz」を GitHub からダウンロードします。

root@harbor01 [ ~ ]# curl -L https://github.com/vmware/harbor/releases/download/0.5.0/harbor-online-installer-0.5.0.tgz -o harbor-online-installer-0.5.0.tgz

root@harbor01 [ ~ ]# tar zxf harbor-online-installer-0.5.0.tgz

root@harbor01 [ ~ ]# ls -lh harbor

total 248K

-rw-r--r-- 1 root root 212K Dec  6 08:58 LICENSE

-rw-r--r-- 1 root root  483 Dec  6 08:58 NOTICE

drwxr-xr-x 3 root root 4.0K Dec  6 08:58 common

-rw-r--r-- 1 root root 2.2K Dec  6 08:58 docker-compose.yml

-rw-r--r-- 1 root root 3.7K Dec  6 08:58 harbor.cfg

-rwxr-xr-x 1 root root 4.4K Dec  6 08:58 install.sh

-rwxr-xr-x 1 root root  12K Dec  6 08:58 prepare


harbor.cfg を編集します。

今回は Harbor に HTTP で接続するので、hostname だけ編集します。

デフォルトでは下記のようになっています。

root@harbor01 [ ~ ]# cd harbor/

root@photon01 [ ~/harbor ]# grep ^hostname harbor.cfg

hostname = reg.mydomain.com

 

ちなみに、admin ユーザのデフォルト パスワードもこのファイルで指定します。

root@harbor01 [ ~/harbor ]# grep harbor_admin_password harbor.cfg

harbor_admin_password = Harbor12345

 

hostname を Harbor サーバのアドレスに修正します。

root@harbor01 [ ~/harbor ]# vi harbor.cfg

root@harbor01 [ ~/harbor ]# grep ^hostname harbor.cfg

hostname = 192.168.254.130

 

install.sh を実行して、インストールします。

Harbor のコンテナイメージが Docker Hub からダウンロードされ、docker-compose で起動されます。

root@harbor01 [ ~/harbor ]# ./install.sh


[Step 0]: checking installation environment ...


Note: docker version: 1.12.1


Note: docker-compose version: 1.9.0



[Step 1]: preparing environment ...

generated and saved secret key

Generated configuration file: ./common/config/nginx/nginx.conf

Generated configuration file: ./common/config/ui/env

Generated configuration file: ./common/config/ui/app.conf

Generated configuration file: ./common/config/registry/config.yml

Generated configuration file: ./common/config/db/env

Generated configuration file: ./common/config/jobservice/env

Generated configuration file: ./common/config/jobservice/app.conf

Generated configuration file: ./common/config/ui/private_key.pem

Generated configuration file: ./common/config/registry/root.crt

The configuration files are ready, please use docker-compose to start the service.

 

 

[Step 2]: checking existing instance of Harbor ...

 

 

[Step 3]: starting Harbor ...

Creating network "harbor_default" with the default driver

Pulling log (vmware/harbor-log:0.5.0)...

0.5.0: Pulling from vmware/harbor-log

93b3dcee11d6: Pull complete

5c14e4bdfb0b: Pull complete

e4dee8a574ca: Pull complete

64897311fadc: Pull complete

9b18f82d0181: Pull complete

Digest: sha256:81db268fa32ed35274f88f0e9f6e8c8fe36fdfe3247a7c75cef3d526814755ad

Status: Downloaded newer image for vmware/harbor-log:0.5.0

Pulling ui (vmware/harbor-ui:0.5.0)...

0.5.0: Pulling from vmware/harbor-ui

93b3dcee11d6: Already exists

a91de92f52f5: Pull complete

341612b46e3b: Pull complete

c1a53f812656: Pull complete

9a9aa413559a: Pull complete

e1b377650dfc: Pull complete

be5517028022: Pull complete

726f4e0b4799: Pull complete

08639f4ec97a: Pull complete

Digest: sha256:677776af19c774f665565486ef0ec3ab37e55c6738a471942e3ea841b3e1821c

Status: Downloaded newer image for vmware/harbor-ui:0.5.0

Pulling mysql (vmware/harbor-db:0.5.0)...

0.5.0: Pulling from vmware/harbor-db

43c265008fae: Pull complete

d7abd54d3b34: Pull complete

92b527830a1b: Pull complete

44839710d611: Pull complete

3828a16bed5c: Pull complete

fb91763f6b4e: Pull complete

892bfb27c685: Pull complete

02874ec7a2dc: Pull complete

861c1296cc0d: Pull complete

d611998d5598: Pull complete

09037dc5a941: Pull complete

448973dd2180: Pull complete

c0a51ede01de: Pull complete

54c4b53ba168: Pull complete

Digest: sha256:4bc45566b8aab9288e76ac8a36e604aecf05ba9b25e22f5a9cd5e9686978b78b

Status: Downloaded newer image for vmware/harbor-db:0.5.0

Pulling jobservice (vmware/harbor-jobservice:0.5.0)...

0.5.0: Pulling from vmware/harbor-jobservice

93b3dcee11d6: Already exists

a91de92f52f5: Already exists

cdeb4de41efe: Pull complete

ce3594a70659: Pull complete

Digest: sha256:9c2d927f6e59fafcc930a5f738d713bde7d101cecd4e110a570a7b499d69ff68

Status: Downloaded newer image for vmware/harbor-jobservice:0.5.0

Pulling registry (library/registry:2.5.0)...

2.5.0: Pulling from library/registry

e110a4a17941: Pull complete

2ee5ed28ffa7: Pull complete

d1562c23a8aa: Pull complete

06ba8e23299f: Pull complete

802d2a9c64e8: Pull complete

Digest: sha256:1b68f0d54837c356e353efb04472bc0c9a60ae1c8178c9ce076b01d2930bcc5d

Status: Downloaded newer image for registry:2.5.0

Pulling proxy (nginx:1.11.5)...

1.11.5: Pulling from library/nginx

386a066cd84a: Pull complete

7bdb4b002d7f: Pull complete

49b006ddea70: Pull complete

Digest: sha256:9038d5645fa5fcca445d12e1b8979c87f46ca42cfb17beb1e5e093785991a639

Status: Downloaded newer image for nginx:1.11.5

Creating harbor-log

Creating harbor-db

Creating harbor-ui

Creating registry

Creating harbor-jobservice

Creating nginx


? ----Harbor has been installed and started successfully.----


Now you should be able to visit the admin portal at http://192.168.254.130.

For more details, please visit https://github.com/vmware/harbor .


root@harbor01 [ ~/harbor ]#

 

Harbor 関連のイメージです。

root@harbor01 [ ~/harbor ]# docker images

REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE

vmware/harbor-log          0.5.0               eebc987a891b        5 weeks ago         190.5 MB

vmware/harbor-jobservice   0.5.0               995368e96860        5 weeks ago         169.4 MB

vmware/harbor-ui           0.5.0               232a8664541a        5 weeks ago         233 MB

vmware/harbor-db           0.5.0               84c4ce8e9b6c        5 weeks ago         326.8 MB

nginx                      1.11.5              05a60462f8ba        9 weeks ago         181.4 MB

registry                   2.5.0               c6c14b3960bd        5 months ago        33.28 MB

 

Harbor を構成するコンテナ群が起動しています。

root@harbor01 [ ~/harbor ]# docker ps

CONTAINER ID        IMAGE                            COMMAND                  CREATED              STATUS              PORTS                                      NAMES

fd39c3b81527        nginx:1.11.5                     "nginx -g 'daemon off"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx

271c78450675        vmware/harbor-jobservice:0.5.0   "/harbor/harbor_jobse"   About a minute ago   Up About a minute                                              harbor-jobservice

8fd149da1a89        library/registry:2.5.0           "/entrypoint.sh serve"   About a minute ago   Up About a minute   5000/tcp                                   registry

ceb3f0f450dc        vmware/harbor-ui:0.5.0           "/harbor/harbor_ui"      About a minute ago   Up About a minute                                              harbor-ui

926e637f2f34        vmware/harbor-db:0.5.0           "docker-entrypoint.sh"   About a minute ago   Up About a minute   3306/tcp                                   harbor-db

bd44e1d40ef7        vmware/harbor-log:0.5.0          "/bin/sh -c 'crond &&"   About a minute ago   Up About a minute   0.0.0.0:1514->514/tcp                      harbor-log

 

Harbor Registry へのプロジェクト作成。

Web ブラウザから Harbor の HTTP (TCP 80 番)ポートにアクセスします。

admin ユーザ(今回のパスワードは Harbor12345)でログインします。

harbor-01.png

 

「Projects」を開きます。

harbor-02.png

 

「New Project」をクリックします。

harbor-03.png

 

Project の名前を入力して、「Save」します。今回は「pj01」という名前にしました。

harbor-04.png


pj01 が作成されました。

harbor-05.png

 

まだ pj01 にコンテナ イメージはありません。

harbor-06.png

 

Docker Host からのアクセスするための準備。

Docker Host から、Harbor に接続してみます。

今回は HTTP で接続するので、docker サービスの「--insecure-registry」に

Harbor のアドレス(今回は 192.168.254.130:80)を指定しておきます。


docker.serive を編集します。

root@photon01 [ ~ ]# cp /usr/lib/systemd/system/docker.service /etc/systemd/system/

root@photon01 [ ~ ]# vi /etc/systemd/system/docker.service

 

/etc/systemd/system/docker.service ファイルの内容

※赤字が、追記した部分です。

[Unit]

Description=Docker Daemon

Documentation=http://docs.docker.com

Wants=network-online.target

After=network-online.target docker-containerd.service

Requires=docker-containerd.service


[Service]

Type=notify

EnvironmentFile=-/etc/default/docker

ExecStart=/usr/bin/docker daemon $DOCKER_OPTS \

          --containerd /run/containerd.sock \

          --insecure-registry 192.168.254.130:80

ExecReload=/bin/kill -HUP $MAINPID

KillMode=process

Restart=on-abnormal

LimitNOFILE=1048576

LimitNPROC=1048576

LimitCORE=infinity


[Install]

WantedBy=multi-user.target

 

docker サービスを再起動して、設定を読み込みます。

root@photon01 [ ~ ]# systemctl daemon-reload

root@photon01 [ ~ ]# systemctl restart docker

root@photon01 [ ~ ]# docker info | grep Insecure -A2

Insecure Registries:

192.168.254.130:80

127.0.0.0/8

 

Harbor Registry を使用してみる。

まず Dcoker Host で、Docker Hub からイメージをダウンロードします。

今回は、Docker 公式の oraclelinux イメージをダウンロードしています。

root@photon01 [ ~ ]# docker pull oraclelinux

Using default tag: latest

latest: Pulling from library/oraclelinux

2c48edfee2a0: Pull complete

Digest: sha256:d447e228f31c753842d0de64a610a0b480b6c7b850c27813a67fd8e7a938ccee

Status: Downloaded newer image for oraclelinux:latest

root@photon01 [ ~ ]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

oraclelinux         latest              27a5201e554e        3 weeks ago         225.1 MB

 

Harbor にログインします。

今回は新規ユーザを作成していないので、admin ユーザを使用しています。

root@photon01 [ ~ ]# docker login 192.168.254.130:80

Username: admin

Password: ★パスワード入力

Login Succeeded

 

イメージに Harbor のアドレスと、先ほど作成したプロジェクト「pj01」を指定して
イメージに tag を追加します。

root@photon01 [ ~ ]# docker tag oraclelinux:latest 192.168.254.130:80/pj01/oraclelinux:latest

root@photon01 [ ~ ]# docker images

REPOSITORY                            TAG                 IMAGE ID            CREATED             SIZE

192.168.254.130:80/pj01/oraclelinux   latest              27a5201e554e        3 weeks ago         225.1 MB

oraclelinux                           latest              27a5201e554e        3 weeks ago         225.1 MB

 

Harbor に push します。

root@photon01 [ ~ ]# docker push 192.168.254.130:80/pj01/oraclelinux:latest

The push refers to a repository [192.168.254.130:80/pj01/oraclelinux]

89587f215a9e: Pushed

latest: digest: sha256:d447e228f31c753842d0de64a610a0b480b6c7b850c27813a67fd8e7a938ccee size: 529

 

Harbor の 「pj01」 Project にイメージが追加されました。

harbor-07.png

 

いったんローカルのイメージを削除してから・・・

root@photon01 [ ~ ]# docker rmi 192.168.254.130:80/pj01/oraclelinux oraclelinux

Untagged: 192.168.254.130:80/pj01/oraclelinux:latest

Untagged: 192.168.254.130:80/pj01/oraclelinux@sha256:d447e228f31c753842d0de64a610a0b480b6c7b850c27813a67fd8e7a938ccee

Untagged: oraclelinux:latest

Untagged: oraclelinux@sha256:d447e228f31c753842d0de64a610a0b480b6c7b850c27813a67fd8e7a938ccee

Deleted: sha256:27a5201e554e153245d57333ed509141512ff5c1aaf3552bc53a983a72210ef6

Deleted: sha256:89587f215a9e2692b6674efc86247e15d8cb0f04690712fbdcac63d136b95e2b

 

Harbor からイメージをダウンロードしてみます。

oraclelinux のイメージが Harbor からダウンロードされて、コンテナとして起動しました。

root@photon01 [ ~ ]# docker run -it 192.168.254.130:80/pj01/oraclelinux:latest /bin/bash

Unable to find image '192.168.254.130:80/pj01/oraclelinux:latest' locally

latest: Pulling from pj01/oraclelinux

2c48edfee2a0: Pull complete

Digest: sha256:d447e228f31c753842d0de64a610a0b480b6c7b850c27813a67fd8e7a938ccee

Status: Downloaded newer image for 192.168.254.130:80/pj01/oraclelinux:latest

[root@6bde61e50c8a /]# cat /etc/oracle-release

Oracle Linux Server release 7.3

 

このような感じで、registry イメージによるものと同様に使用することができて、

さらにアクセス制御機能などが追加されています。

 

VIC については、こちらもどうぞ。

vSphere Integrated Containers (VIC) 1.0 をためしてみる。

vSphere Integrated Containers Engine の vSphere Web Client Plug-In から見る Docker 情報。

 

以上。Harbor による Docker Registry 構築でした。


vSphere Integrated Containers (VIC) 1.0 むけの ESXi Firewall Rule 設定。

$
0
0

vSphere Integrated Containers (VIC) 1.0 では、デフォルトでは ESXi に登録されていない

ESXi Firewall のルールが必要になります。

ESXi から VCH の Serial Over LAN の通信のため、TCP 2377 番ポートの解放が必要です。

※もしくは、esxcli network firewall set --enabled false で ESXi Firewall を無効にしてしまいます・・・

Firewall Validation Error | VMware vSphere Integrated Containers Engine 0.8 Installation

 

ファイアウォール ルールが設定されていない場合は、

vic-machine で Virtual Container Host (VCH) をデプロイするときに下記のようなメッセージが表示されます。

INFO[2017-01-12T02:51:32+09:00] Firewall status: ENABLED on "/dc01/host/cluster-vsan01/hv-i23.godc.lab"

WARN[2017-01-12T02:51:32+09:00] Firewall configuration on "/dc01/host/cluster-vsan01/hv-i23.godc.lab" may prevent connection on dst 2377/tcp outbound with allowed IPs: [192.168.51.161 192.168.51.239]

 

VCH のデプロイについては、こちらもどうぞ。

vSphere Integrated Containers (VIC) 1.0 をためしてみる。

 

今回は、下記の KB を参考に、ESXi Firewall にルールを追加してみます。

Creating custom firewall rules in VMware ESXi 5.x (2008226) | VMware KB

 

設定するファイアウォール ルール。

  • 発信接続 (outbound)
  • ポート: TCP 2377
  • ルール ID:  vicoutgoing ※これは別の名前でもよい。

 

ファイアウォールルールの追加方法。

ESXi の /etc/vmware/firewall/ ディレクトリ配下の xml ファイルにルールを記載します。

/etc/vmware/firewall/service.xml に追記すればよいですが、今回はあえて

/etc/vmware/firewall/vicoutgoing.xml という別ファイルを作成しました。

 

ESXi 6.0 U2 に設定しています。

[root@hv-i23:~] vmware -vl

VMware ESXi 6.0.0 build-4192238

VMware ESXi 6.0.0 Update 2

 

まだ ファイアウォール ルールは設定されていません。

[root@hv-i23:~] esxcli network firewall ruleset list | grep vic

[root@hv-i23:~]

[root@hv-i23:~] esxcli network firewall ruleset rule list | grep vic

[root@hv-i23:~]

 

vi などのエディタによる編集か、もしくは下記のように、

ファイアウォール ルールを記載した xml ファイルを作成します。

service id は、空いていそうな 300 番を選びました。

cat << EOF > /etc/vmware/firewall/vicoutgoing.xml

<ConfigRoot>

  <service id='0300'>

    <id>vicoutgoing</id>

    <rule id='0000'>

      <direction>outbound</direction>

      <protocol>tcp</protocol>

      <port type='dst'>2377</port>

    </rule>

    <enabled>true</enabled>

    <required>true</required>

  </service>

</ConfigRoot>

EOF

 

xml ファイルが作成されています。

[root@hv-i23:~] cat /etc/vmware/firewall/vicoutgoing.xml

<ConfigRoot>

  <service id='0300'>

    <id>vicoutgoing</id>

    <rule id='0000'>

      <direction>outbound</direction>

      <protocol>tcp</protocol>

      <port type='dst'>2377</port>

    </rule>

    <enabled>true</enabled>

    <required>true</required>

  </service>

</ConfigRoot>

 

ESXi Firewall をリフレッシュすると、ルールが追加されます。

[root@hv-i23:~] esxcli network firewall refresh

[root@hv-i23:~] esxcli network firewall ruleset list | grep vic

vicoutgoing                  true

[root@hv-i23:~] esxcli network firewall ruleset rule list | grep vic

vicoutgoing               Outbound   TCP       Dst              2377      2377

 

vSphere Web Client でも、発信接続のルールが追加されたことが確認できます。

vic-fw-rule-01.png

 

ESXi Firewall ルールの永続化について。

 

上記の方法だと、ESXi の再起動によりルールが消えてしまうので、再起動のたびに登録が必要になります。

そこで私の環境では、やむなく ESXi 起動時に実行される /etc/rc.local.d/local.sh ファイルに

赤字部分 (xml ファイル生成と firewall の reflesh) を記載しています。

[root@hv-i23:~] cat /etc/rc.local.d/local.sh


#!/bin/sh


# local configuration options


# Note: modify at your own risk!  If you do/use anything in this

# script that is not part of a stable API (relying on files to be in

# specific places, specific tools, specific output, etc) there is a

# possibility you will end up with a broken system after patching or

# upgrading.  Changes are not supported unless under direction of

# VMware support.

 

cat << EOF > /etc/vmware/firewall/vicoutgoing.xml

<ConfigRoot>

  <service id='0300'>

    <id>vicoutgoing</id>

    <rule id='0000'>

      <direction>outbound</direction>

      <protocol>tcp</protocol>

      <port type='dst'>2377</port>

    </rule>

    <enabled>true</enabled>

    <required>true</required>

  </service>

</ConfigRoot>

EOF


esxcli network firewall refresh


exit 0

 

以上、VIC の ESXi Firewall ルール設定についての話でした。

vExpert 2017 に選ばれました。そして VMTN のユーザーモデレータになりました。

$
0
0

今年も、vExpert 2017 に選ばれました。

vExpert 2017 Award Announcement - VMTN Blog - VMware Blogs


そして最近、このブログもホストされている VMTN のユーザ モデレータになりました。

「M」バッジが・・・

vmtn-m.png

 

ということで、VMTN Japan をそれとなくもりたてるべく「最初にお読みください」ドキュメントを

更新してみたので、ご活用いただければ幸いです。

【最初にお読みください】VMTN Japan フォーラムの利用方法

※このドキュメントはトレンドに合わせて随時更新していこうと思います。


今年もみなさまの VMware 生活について、よい雰囲気づくりに貢献できればと思います。


以上です。これからもよろしくお願いします!

VMTN Japanese フォーラムがリニューアルされたので、よろしくおねがいします。

$
0
0

VMTN では最近、英語以外の言語によるフォーラムを
VMTN Global Forums by Language としてリニューアルしました。

あらたな日本語フォーラムは下記です。

Japanese

 

そして、下記のページでは各国語フォーラムのディスカッションの様子を俯瞰することができます。

VMTN Forums by Language

 

下記のブログでも紹介されています。

Discover VMware Technology Network - Series 1 - VMTN Blog - VMware Blogs

 

 

各言語のフォーラムは、VMTN Home からの直接リンクでたどれるようになっています。

https://communities.vmware.com/welcome

 

また、これまで日本語のコーポレートサイトの「コミュニティ」リンクが

VMTN Home へのリンクだったのですが、日本語フォーラムへの直接リンクに変更されました。

vmtn-j-link.png

 

 

ただ、リニューアルでは以前の日本語フォーラムでのフォロー設定が引き継げないため、

あらためて下記の要領でフォローいただければと思います。

VMTN フォーラムの更新情報を受け取る方法

 

例では Japaneseフォーラムのフォロー設定をしていますが、

VMware vSANVMware NSX  といった製品別フォーラム(英語)も同様にフォロー可能なので、

この機能を利用することで効率よく情報収集することができます。

 

 

フォーラムのリニューアルにともない、日本語フォーラムの README となるページも更新しました。

【最初にお読みください】VMTN Japanese フォーラムの利用方法

 

もともとの雰囲気を尊重しつつ、主に下記のような更新をしました。

  • 「サポート外の構成は回答できかねる」といった内容は削除。(以前はモデレータの方がVMware社員の方だったのですが、ユーザ同士の相互サポートであればサポート外の構成でもディスカッションしてよいと考えられるため)
  • 「正解」マークのモデレータによる代理マークはについての記載は削除。(VMTNモデレータ全体の方針として、マークするかどうかは質問した人に任せるため)
  • 製品マニュアル、ナレッジベース(KB)、コミュニティサイト全体の利用方法へのリンクを追記。
  • バージョンアップされたプラットフォームのUIにスクリーンショット/表現にあわせた。

 

 

ユーザーモデレータとして継続的にフォーラム改善していこうと思うので、

なにかお気づきの点があれば、下記のスレッドへの返信や、

画面右上の「作成」→「メッセージ」にて、モデレータ gowatana  宛にご連絡いただけれると幸いです。

VMTN Japanese フォーラムがリニューアルされました(201703/14)

 

よろしくお願いいたします。

vSphere HA 有効のクラスタに vMotion した VM は、そのまま HA 保護される。

$
0
0

ふと VM を vSphere HA 無効のクラスタの ESXi から vSphere HA 有効のクラスタの ESXi に vMotion したら

本当に HA での保護は有効になるのか? とおもったので、実際に確認してみました。

今回は、PowerCLI で確認してみます。

 

使用した PowerCLI のバージョンです。

PowerCLI C:\> (Get-PowerCLIVersion).UserFriendlyVersion

VMware PowerCLI 6.5 Release 1 build 4624819

 

vCenter 6.5 に接続しています。

PowerCLI C:\> $global:DefaultVIServers | fl Name,ProductLine,Version,Build

 

 

Name        : vc-sv01.go-lab.jp

ProductLine : vpx

Version     : 6.5

Build       : 4944578

 

 

「vm01」という名前の VM  を vMotion してみます。

PowerCLI C:\> Get-VM vm01 | fl Name,PowerState,@{N="vmx_os_type";E={$_.ExtensionData.Config.GuestFullName}}

 

 

Name        : vm01

PowerState  : PoweredOn

vmx_os_type : VMware Photon OS (64-bit)

 

 

クラスタを 2つ用意しています。

  • vsan-cluster-01: vSphere HA 有効
  • vsan-cluster-02: vSphere HA 無効

PowerCLI C:\> Get-Cluster vsan-cluster-* | select Name,HAEnabled

 

 

Name            HAEnabled

----            ---------

vsan-cluster-01     False

vsan-cluster-02      True

 

 

現状では、vm01 は vsan-cluster-01 にいて、vSphere HA で保護されていません。

保護されている場合は、VM の ExtensionData.Runtime.DasVmProtection.DasProtected が true になります。

(今回は vHAProtected と表示しています)

PowerCLI C:\> Get-VM vm01 | fl Name,PowerState,VMHost,@{N="Parent";E={$_.VMHost.Parent}},@{N="vHAProtected";E={($_.ExtensionData.Runtime.DasVmProtection).DasProtected}}

 

 

Name         : vm01

PowerState   : PoweredOn

VMHost       : hv-i21.go-lab.jp

Parent       : vsan-cluster-01

vHAProtected :

 

 

vSphere HA が有効な、vsan-cluster-02 の ESXi に vMotion してみます。

クラスタには 3台の ESXi が含まれています。

 

PowerCLI C:\> Get-Cluster vsan-cluster-02 | Get-VMHost | select Name,Version,Build

 

 

Name             Version Build

----             ------- -----

hv-i26.go-lab.jp 6.5.0   4887370

hv-i24.go-lab.jp 6.5.0   4887370

hv-i25.go-lab.jp 6.5.0   4887370

 

 

それでは hv-i24.go-lab.jp という ESXi に vMotion します。

PoweredOn の VM に Move-VM を実行すると、vMotion になります。

PowerCLI C:\> Get-VM vm01 | Move-VM -Destination hv-i24.go-lab.jp -Datastore vsanDatastore-02

 

 

Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm01                 PoweredOn  1        2.000

 

 

vsan-cluster-02 に含まれるホストに vMotion した vm01 は、vSphere HA で保護されました。

PowerCLI C:\> Get-VM vm01 | fl Name,PowerState,VMHost,@{N="Parent";E={$_.VMHost.Parent}},@{N="vHAProtected";E={($_.ExtensionData.Runtime.DasVmProtection).DasProtected}}

 

 

Name         : vm01

PowerState   : PoweredOn

VMHost       : hv-i24.go-lab.jp

Parent       : vsan-cluster-02

vHAProtected : True

 

 

vCenter の イベント でも、VM が保護されたことが分かります。

PowerCLI C:\> Get-VM vm01 | Get-VIEvent -MaxSamples 7 | fl CreatedTime,FullFormattedMessage

 

 

CreatedTime          : 2017/04/07 8:42:08

FullFormattedMessage : Alarm 'Virtual machine memory usage' on vm01 changed fro

                       m Gray to Green

 

CreatedTime          : 2017/04/07 8:42:08

FullFormattedMessage : Alarm 'Virtual machine CPU usage' on vm01 changed from G

                       ray to Green

 

 

CreatedTime          : 2017/04/07 8:41:19

FullFormattedMessage : Virtual machine vm01 in cluster vsan-cluster-02 in dc01

                       is vSphere HA Protected and HA will attempt to restart i

                       t after a failure.

 

 

CreatedTime          : 2017/04/07 8:41:06

FullFormattedMessage : Migration of virtual machine vm01 from hv-i21.go-lab.jp,

                        vsanDatastore-01 to hv-i24.go-lab.jp, vsanDatastore-02

                       completed

 

 

CreatedTime          : 2017/04/07 8:40:47

FullFormattedMessage : Migrating vm01 off host hv-i21.go-lab.jp in dc01

 

 

CreatedTime          : 2017/04/07 8:40:46

FullFormattedMessage : Hot migrating vm01 from hv-i21.go-lab.jp, vsanDatastore-

                       01 in dc01 to hv-i24.go-lab.jp, vsanDatastore-02 in dc01

                        with encryption

 

 

CreatedTime          : 2017/04/07 8:40:45

FullFormattedMessage : Task: Relocate virtual machine

 

 

以上、vSphere HA についての素朴な疑問を実機確認してみる話でした。

open-vm-tools の Linux で、VMware Workstation の共有フォルダを使用してみる。

$
0
0

VMware は、最近では Linux ゲスト OS の VMware Tools として、

Linux ディストリビューションが提供する open-vm-tools のパッケージをインストールすることを推奨しています。

 

そこで、VMware Workstation Pro 12 の共有フォルダ機能を open-vm-tools をインストールした Linux で使用してみました。

今回は、下記を使用しています。

  • VMware Workstation 12.5.5 Pro for Windows
  • ホスト OS: Windows 10
  • ゲスト OS: Oracle Linux 7.3 (UEK)

 

ちなみに、たまたま手元にあった Oracle Linux 7 を使用していますが Red Hat Enterprise Linux や CentOS でも同様です。

 

1. ホスト OS 側でフォルダを作成。

まず、ホストの Windows で、共有するためのフォルダと、

アクセス確認のための適当なテキストファイルを作成しておきます。

※Linux で開くので、テキストファイルのエンコードや改行コードには要注意・・・

 

今回は、C:\work\vmw_share フォルダに test.txt というファイルを作成してあります。

PS> cat C:\work\vmw_share\test.txt

VMTN Japanese Forum

 

2. VMware Workstation 共有フォルダを有効化 & 追加。

VMware Workstation で VM の設定を編集して、共有フォルダを有効にします。

 

「オプション」タブ → 「共有フォルダ」 で共有フォルダを有効(今回は「常に有効」)にして、
「追加」をクリックします。

vmw12-share-00.png

 

「共有フォルダ追加ウィザード」が起動するので「次へ」。

vmw12-share-01.png

 

ホスト OS 側のフォルダのパスと、ゲスト OS 側で認識される共有フォルダの名前を指定します。

今回は「vmw_share」という名前にしました。

vmw12-share-02.png

 

「この共有を有効化」のチェックを ON にして「完了」。

vmw12-share-03.png

 

「仮想マシンの設定」画面で、共有フォルダが追加されたことが確認できます。

vmw12-share-04.png

 

3. ゲスト OS 側でマウント & アクセス確認。

Workstation で起動する VM のゲスト OS で 共有フォルダをマウントして、

ファイルの読み取り、書き込みを試してみます。

 

今回のゲスト OS は Oracle Linux 7.3 です。

[root@vm72 ~]# cat /etc/oracle-release

Oracle Linux Server release 7.3

[root@vm72 ~]# uname -r

4.1.12-61.1.33.el7uek.x86_64

 

open-vm-tools のバージョンです。

[root@vm72 ~]# rpm -q open-vm-tools

open-vm-tools-10.0.5-4.0.1.el7_3.x86_64

[root@vm72 ~]# vmware-toolbox-cmd -v

10.0.5.52125 (build-3227872)

 

open-vm-tools がインストールされていない場合は、yum コマンドなどでインストールします。

# yum install -y open-vm-tools

 

Workstation で設定済みの共有フォルダ「vmw_share」は、ゲスト OS の Linux では認識されているようです。

[root@vm72 ~]# vmware-hgfsclient

vmw_share

 

Workstation 12 Pro のマニュアルだと、共有フォルダを mount コマンドでマウントしています。

Mounting Shared Folders in a Linux Guest

 

しかし、ただ mount コマンドを実行しても、共有フォルダの HGFS はマウントできませんでした。

[root@vm72 ~]# mount -t vmhgfs .host:/ /mnt/hgfs/

mount: unknown filesystem type 'vmhgfs'

[root@vm72 ~]# grep hgfs /proc/filesystems  | wc -l

0

 

そこで、open-vm-tools に含まれる vmhgfs-fuse コマンドでマウントしてみました。

[root@vm72 ~]# vmhgfs-fuse /mnt/hgfs/

[root@vm72 ~]# mount | grep hgfs

vmhgfs-fuse on /mnt/hgfs type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

[root@vm72 ~]# df -h /mnt/hgfs/

ファイルシス   サイズ  使用  残り 使用% マウント位置

vmhgfs-fuse      220G  198G   22G   91% /mnt/hgfs

[root@vm72 ~]# ls -l /mnt/hgfs

合計 0

drwxrwxrwx. 1 root root 0  4月  8 21:56 vmw_share

[root@vm72 ~]# ls -l /mnt/hgfs/vmw_share/

合計 1

-rwxrwxrwx. 1 root root 44  4月  8 21:56 test.txt

 

Windows で作成しておいたファイルを読み取ることができます。

[root@vm72 ~]# cat /mnt/hgfs/vmw_share/test.txt

VMTN Japanese Forum

 

ファイルに追記してみました。

[root@vm72 ~]# echo "wo yoroshiku." >> /mnt/hgfs/vmw_share/test.txt

[root@vm72 ~]# cat /mnt/hgfs/vmw_share/test.txt

VMTN Japanese Forum

wo yoroshiku.

 

ホストの Windows 側でも追記されました。

PS> cat C:\work\vmw_share\test.txt

VMTN Japanese Forum

wo yoroshiku.

 

ちなみに、vmware-hgfsclient と vmhgfs-fuse は、どちらも open-vm-tools に含まれています。

[root@vm72 ~]# rpm -qf `which vmware-hgfsclient`

open-vm-tools-10.0.5-4.0.1.el7_3.x86_64

[root@vm72 ~]# rpm -qf `which vmhgfs-fuse`

open-vm-tools-10.0.5-4.0.1.el7_3.x86_64

 

4. 一般ユーザからのアクセスについて。

共有フォルダは、vmhgfs-fuse コマンドのデフォルトのオプションでマウントした場合、
Linux でパーミッション設定が「rwxrwxrwx」となっていても 一般ユーザからはアクセスできないようになっています。

[gowatana@vm72 ~]$ id gowatana

uid=1000(gowatana) gid=1000(gowatana) groups=1000(gowatana)

[gowatana@vm72 ~]$ cat /mnt/hgfs/vmw_share/test.txt

cat: /mnt/hgfs/vmw_share/test.txt: 許可がありません

 

root 以外のユーザで共有フォルダを使用したい場合は、「allow_other」オプションを付与するアクセス可能になります。

※vmhgfs-fuse コマンドは root ユーザか、sudo コマンドで実行します。

[root@vm72 ~]# umount /mnt/hgfs/

[root@vm72 ~]# vmhgfs-fuse -o allow_other /mnt/hgfs/

[root@vm72 ~]# mount | grep hgfs

vmhgfs-fuse on /mnt/hgfs type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)

 

一般ユーザでも読み取り / 書き込みになりました。

[gowatana@vm72 ~]$ echo "desu..." >> /mnt/hgfs/vmw_share/test.txt

[gowatana@vm72 ~]$ cat /mnt/hgfs/vmw_share/test.txt

VMTN Japanese Forum

wo yoroshiku.

desu...

 

以上、VMware Workstation の共有フォルダ機能を open-vm-tools の Linux で使用してみる話でした。

vSphere Integrated Containers (VIC) 1.1 の VIC Appliance デプロイの様子。

$
0
0

vSphere Integrated Containers (VIC) 1.1 がリリースされました。

VMware vSphere Integrated Containers 1.1 Release Notes

 

VIC 1.1 では、1.0 とはソフトウェアの提供形式が変更され、

これまでバラバラだった下記 3コンポーネントが

1つの仮想アプライアンス(vSphere Integrated Containers Appliance)にまとめられました。

  • VMware vSphere Integrated Containers Engine 1.1
  • VMware vSphere Integrated Containers Registry 1.1 (harbor)
  • VMware vSphere Integrated Containers Management Portal 1.1 (admiral)

 

ということで、VIC Appliance を vCenter にデプロイしてみました。

仮想アプライアンスの ova ファイルは、MyVMware からダウンロードします。

 

Download VMware vSphere Integrated Containers 1.1.0

https://my.vmware.com/en/web/vmware/details?downloadGroup=VIC110&productId=614

 

マニュアルは、下記のあたりです。

Deploy the Appliance · VMware vSphere Integrated Containers 1.1 Documentation

 

 

VIC Appliance のデプロイ。

 

今回は、vCenter Server Appliance 6.5 d にデプロイしています。

 

vSphere Web Client でデプロイ先のクラスタを右クリックして「OVF テンプレートのデプロイ」。

vic-11-deploy-01.png

 

ダウンロードした .ova ファイルを選択します。

今回は、vic-v1.1.0-bf760ea2.ova というファイルを使用しています。

vic-11-deploy-02.png

 

デプロイする仮想アプライアンスにつける名前を入力します。
vCenter インベントリでのデプロイ場所も指定します。

※今回は「lab」という仮想マシン フォルダを指定しています。

vic-11-deploy-03.png

 

デプロイ先のリソースを選択します。

※今回は「vsan-cluster-01」という名前の DRS 有効クラスタを指定しています。

vic-11-deploy-04.png

 

仮想アプライアンスの情報です。シン プロビジョニングであれば、5GB 弱です。

vic-11-deploy-05.png

 

使用許諾契約書です。

vic-11-deploy-06.png

 

データストアを選択します。

デフォルトでは「シック プロビジョニング (Lazy Zeroed)」ですが、今回は「シン プロビジョニング」にします。

「vsanDatastore-01」というデータストアを選択しています。

ちなみに、VIC で Docker コンテナを起動するときに Docker Volume で vSAN を利用できますが、
それは VIC Appliance を vSAN に配置することとは特に関係しません。

vic-11-deploy-09.png

 

ポートグループを選択します。

VIC で作成する Virtual Container Host (VCH) では vDS の分散ポートグループが必要になりますが、

VIC Appliance は vSS の標準ポートグループでもデプロイできます。

vic-11-deploy-10.png

 

Appliance Security で、VIC Appliance の Root Password 入力します。

vic-11-deploy-11.png

 

Networking Properties で IP アドレスなどのネットワーク設定を入力します。

「2.6. FQDN」はあとで Web UI での Registry / 管理ポータル のリンクとして使用されるので、

実際に DNS / hosts ファイルなどで名前解決できるものを入力するとよいと思います。

vic-11-deploy-12.png

 

Registry Configuration で、Registry の admin パスワードと DB のパスワードを入力します。

※パスワード以外の項目はデフォルトのままでもデプロイ可能です。

スクリーンショットで見えない項目としては、
Registry の Garbage Collection の有効/無効、SSL Cert / SSL Cert Key を指定できます。

vic-11-deploy-13.png

 

Management Portal Configuration は、今回はデフォルトのままにします。

vic-11-deploy-15.png

 

Fileserver Configuration も、今回はデフォルトのままにします。

vic-11-deploy-16.png

 

最後に、これまでの設定値を確認します。

vic-11-deploy-18.png

 

VIC Appliance のデプロイが完了したら、手動で VM を起動します。

vic-11-deploy-21.png

 

VIC Appliance が起動されました。

vic-11-deploy-24.png

 

VIC Appliance へのアクセス。

Web ブラウザから HTTPS で、アプライアンスの TCP 9443 番ポートにアクセスすると、

VIC のコマンドラインツールと Web Client Plug-in のファイルがダウンロードできます。

※この環境では、すでに VIC Appliance デプロイ時に指定した FQDN を名前解決できるようにしてあります。

vic-11-deploy-26.png

 

これは、Linux などから curl コマンドなどでダウンロードすることも可能です。

ためしに適当な Linux からダウンロードしてみました。

[gowatana@client01 ~]$ cat /etc/oracle-release

Oracle Linux Server release 7.3

[gowatana@client01 ~]$ mkdir work

[gowatana@client01 ~]$ cd work/

 

curl で Web ブラウザ同様 9443 番ポートにアクセスしてみると、
目視でも簡単にわかるシンプルな応答が返ってきます。

[gowatana@client01 work]$ curl -k https://vic01.go-lab.jp:9443/

<pre>

<a href="com.vmware.vic-v1.1.0.zip">com.vmware.vic-v1.1.0.zip</a>

<a href="com.vmware.vic.ui-v1.1.0.zip">com.vmware.vic.ui-v1.1.0.zip</a>

<a href="vic_1.1.0.tar.gz">vic_1.1.0.tar.gz</a>

</pre>

 

curl で vic のコマンドラインツールをダウンロードしてみます。

[gowatana@client01 work]$ curl -ks https://vic01.go-lab.jp:9443/vic_1.1.0.tar.gz -o vic_1.1.0.tar.gz

[gowatana@client01 work]$ tar zxf vic_1.1.0.tar.gz

[gowatana@client01 work]$ ls vic/

LICENSE  appliance.iso  ui                  vic-machine-linux        vic-ui-darwin  vic-ui-windows.exe

README   bootstrap.iso  vic-machine-darwin  vic-machine-windows.exe  vic-ui-linux

 

このように、VIC 1.0 ではバラバラに提供されていた vic-machine コマンドも VIC Appliance に同梱されています。

[gowatana@client01 work]$ cd vic/

[gowatana@client01 vic]$ ./vic-machine-linux help

NAME:

   vic-machine-linux - Create and manage Virtual Container Hosts

USAGE:

   vic-machine-linux [global options] command [command options] [arguments...]

VERSION:

   v1.1.0-9852-e974a51

COMMANDS:

     create   Deploy VCH

     delete   Delete VCH and associated resources

     ls       List VCHs

     inspect  Inspect VCH

     upgrade  Upgrade VCH to latest version

     version  Show VIC version information

     debug    Debug VCH

     update   Modify configuration

     help, h  Shows a list of commands or help for one command

 

GLOBAL OPTIONS:

   --help, -h     show help

   --version, -v  print the version

 

HTTPS で TCP 443 番ポートにアクセスすると、Registry (Harbor) の画面が表示されます。

この Web UI には、admin / デプロイ時に指定したパスワード でログインできます。

※ 443 番ポートの指定は、Web ブラウザの都合上表示されていません。

vic-11-deploy-27.png

 

HTTPS で TCP 8282 番ポートにアクセスすると、VIC Management Portal (Admiral) の画面が表示されます。
なんと、トップページは日本語です。

vic-11-deploy-28.png

 

バージョンは 「.1」 上がっただけですが、製品っぽい形になってきたなと思いました。

 

そして、この後の VCH 作成~ Docker コンテナ起動はこんな感じです。

vSphere Integrated Containers (VIC) 1.0 をためしてみる。

 

以上、VIC 1.1 の VIC Appliance をデプロイしてみる話でした。

vSphere Integrated Containers (VIC) 1.1 での ESXi Firewall 設定。

$
0
0

VIC では、ESXi から Virtural Container Host (VCH) に対して ESXi Firewall のルール設定が必要です。

Environment Prerequisites for VCH Deployment · VMware vSphere Integrated Containers 1.1 Documentation

 

VIC 1.0 のときは下記のような感じで、悩ましい設定をしていました。

vSphere Integrated Containers (VIC) 1.0 むけの ESXi Firewall Rule 設定。

 

VIC 1.1 では、VIC で必要となる ESXi Firewall ルールの解放設定も、

vic-machine コマンドで実行できるようになっています。

 

 

それでは、ESXi Firewall を開放してみます。

 

VIC 1.1 の vic-machine-linux コマンドを使用してみます。

[gowatana@client01 vic]$ ./vic-machine-linux version

vic-machine-linux version v1.1.0-9852-e974a51

 

今回は、「vc-sv02.go-lab.jp」という vCenter の「cluster-01」クラスタにある ESXi の Firewall ルール設定を変更します。

vic-machine では、vCenter の thumbprint の指定をしないと下記のようなエラーになります。

[gowatana@client01 vic]$ ./vic-machine-linux update firewall --target vc-sv02.go-lab.jp --user gowatana --allow --compute-resource cluster-01

May 16 2017 08:58:11.738+09:00 INFO  vSphere password for gowatana:

May 16 2017 08:58:15.814+09:00 INFO  ### Updating Firewall ####

May 16 2017 08:58:15.857+09:00 ERROR Failed to verify certificate for target=vc-sv02.go-lab.jp (thumbprint=70:45:F3:C7:~省略)

May 16 2017 08:58:15.858+09:00 ERROR Update cannot continue - failed to create validator: x509: certificate signed by unknown authority

May 16 2017 08:58:15.858+09:00 ERROR --------------------

May 16 2017 08:58:15.858+09:00 ERROR vic-machine-linux update firewall failed: update firewall failed

 

thumbprint の指定をしつつ、ESXi Firewall を通信許可(allow)に設定します。
指定したクラスタに含まれるホスト 3台の設定が変更されました。

[gowatana@client01 vic]$ ./vic-machine-linux update firewall --target vc-sv02.go-lab.jp --user gowatana --allow --compute-resource cluster-01 --thumbprint 70:45:F3:C7:~省略

May 16 2017 08:58:44.670+09:00 INFO  vSphere password for gowatana: ★パスワードを入力

May 16 2017 08:58:47.196+09:00 INFO  ### Updating Firewall ####

May 16 2017 08:58:47.328+09:00 INFO  Validating target

May 16 2017 08:58:47.328+09:00 INFO  Validating compute resource

May 16 2017 08:58:47.343+09:00 INFO

May 16 2017 08:58:47.343+09:00 WARN  ### WARNING ###

May 16 2017 08:58:47.343+09:00 WARN     This command modifies the host firewall on the target machine or cluster

May 16 2017 08:58:47.343+09:00 WARN     The ruleset "vSPC" will be enabled

May 16 2017 08:58:47.343+09:00 WARN     This allows all outbound TCP traffic from the target

May 16 2017 08:58:47.343+09:00 WARN     To undo this modification use --deny

May 16 2017 08:58:47.343+09:00 INFO

May 16 2017 08:58:47.420+09:00 INFO  Ruleset "vSPC" enabled on host "HostSystem:host-29 @ /dc02/host/cluster-01/hv-n11.go-lab.jp"

May 16 2017 08:58:47.491+09:00 INFO  Ruleset "vSPC" enabled on host "HostSystem:host-32 @ /dc02/host/cluster-01/hv-n12.go-lab.jp"

May 16 2017 08:58:47.556+09:00 INFO  Ruleset "vSPC" enabled on host "HostSystem:host-34 @ /dc02/host/cluster-01/hv-n13.go-lab.jp"

May 16 2017 08:58:47.556+09:00 INFO

May 16 2017 08:58:47.556+09:00 INFO  Firewall changes complete

May 16 2017 08:58:47.556+09:00 INFO  Command completed successfully

[gowatana@client01 vic]$

 

ESXi のもともとの発信接続(outbound) のルールはこうなっていましたが・・・

vic11-fw-01.png

 

設定変更により vSPC のルールセットが解放されました。

vic11-fw-02.png

 

Firewall 設定後に Virtual Container Host (VCH) の作成をしてみると

ESXi Firewall の設定確認が OK になります。

※名前解決の都合上、vCenter はこちらでは IP アドレス(192.168.1.96)で指定しています。

[gowatana@client01 vic]$ ./vic-machine-linux create \

> --target 192.168.1.96 \

> --user gowatana \

> --compute-resource cluster-01 \

> --name vch02 \

> --public-network pg-vds02-0000 --bridge-network vic-bridge-02 \

> --image-store ds_nfs_219 \

> --no-tlsverify --force

May 17 2017 01:37:33.510+09:00 INFO  ### Installing VCH ####

May 17 2017 01:37:33.510+09:00 INFO  vSphere password for gowatana:

May 17 2017 01:37:36.594+09:00 WARN  Using administrative user for VCH operation - use --ops-user to improve security (see -x for advanced help)

May 17 2017 01:37:36.594+09:00 INFO  Generating self-signed certificate/key pair - private key in vch02/server-key.pem

May 17 2017 01:37:36.917+09:00 WARN  Configuring without TLS verify - certificate-based authentication disabled

May 17 2017 01:37:37.049+09:00 INFO  Validating supplied configuration

May 17 2017 01:37:37.154+09:00 INFO  vDS configuration OK on "vic-bridge-02"

May 17 2017 01:37:37.183+09:00 INFO  Firewall status: ENABLED on "/dc02/host/cluster-01/hv-n11.go-lab.jp"

May 17 2017 01:37:37.211+09:00 INFO  Firewall status: ENABLED on "/dc02/host/cluster-01/hv-n12.go-lab.jp"

May 17 2017 01:37:37.236+09:00 INFO  Firewall status: ENABLED on "/dc02/host/cluster-01/hv-n13.go-lab.jp"

May 17 2017 01:37:37.242+09:00 INFO  Firewall configuration OK on hosts:

May 17 2017 01:37:37.242+09:00 INFO     "/dc02/host/cluster-01/hv-n11.go-lab.jp"

May 17 2017 01:37:37.242+09:00 INFO     "/dc02/host/cluster-01/hv-n12.go-lab.jp"

May 17 2017 01:37:37.242+09:00 INFO     "/dc02/host/cluster-01/hv-n13.go-lab.jp"

May 17 2017 01:37:37.354+09:00 INFO  License check OK on hosts:

May 17 2017 01:37:37.354+09:00 INFO    "/dc02/host/cluster-01/hv-n11.go-lab.jp"

May 17 2017 01:37:37.354+09:00 INFO    "/dc02/host/cluster-01/hv-n12.go-lab.jp"

May 17 2017 01:37:37.354+09:00 INFO    "/dc02/host/cluster-01/hv-n13.go-lab.jp"

May 17 2017 01:37:37.357+09:00 INFO  DRS check OK on:

May 17 2017 01:37:37.357+09:00 INFO    "/dc02/host/cluster-01"

May 17 2017 01:37:37.378+09:00 INFO

May 17 2017 01:37:38.444+09:00 INFO  Creating virtual app "vch02"

May 17 2017 01:37:38.469+09:00 INFO  Creating appliance on target

May 17 2017 01:37:38.487+09:00 INFO  Network role "public" is sharing NIC with "management"

May 17 2017 01:37:38.487+09:00 INFO  Network role "client" is sharing NIC with "management"

May 17 2017 01:37:41.062+09:00 INFO  Uploading images for container

May 17 2017 01:37:41.062+09:00 INFO     "bootstrap.iso"

May 17 2017 01:37:41.062+09:00 INFO     "appliance.iso"

May 17 2017 01:37:49.197+09:00 INFO  Waiting for IP information

May 17 2017 01:38:07.152+09:00 INFO  Waiting for major appliance components to launch

May 17 2017 01:38:07.204+09:00 INFO  Obtained IP address for client interface: "192.168.1.2"

May 17 2017 01:38:07.204+09:00 INFO  Checking VCH connectivity with vSphere target

May 17 2017 01:38:07.315+09:00 INFO  vSphere API Test: https://192.168.1.96 vSphere API target responds as expected

May 17 2017 01:38:37.345+09:00 INFO  Initialization of appliance successful

May 17 2017 01:38:37.345+09:00 INFO

May 17 2017 01:38:37.345+09:00 INFO  VCH Admin Portal:

May 17 2017 01:38:37.345+09:00 INFO  https://192.168.1.2:2378

May 17 2017 01:38:37.345+09:00 INFO

May 17 2017 01:38:37.345+09:00 INFO  Published ports can be reached at:

May 17 2017 01:38:37.345+09:00 INFO  192.168.1.2

May 17 2017 01:38:37.345+09:00 INFO

May 17 2017 01:38:37.345+09:00 INFO  Docker environment variables:

May 17 2017 01:38:37.345+09:00 INFO  DOCKER_HOST=192.168.1.2:2376

May 17 2017 01:38:37.346+09:00 INFO

May 17 2017 01:38:37.346+09:00 INFO  Environment saved in vch02/vch02.env

May 17 2017 01:38:37.346+09:00 INFO

May 17 2017 01:38:37.346+09:00 INFO  Connect to docker:

May 17 2017 01:38:37.346+09:00 INFO  docker -H 192.168.1.2:2376 --tls info

May 17 2017 01:38:37.346+09:00 INFO  Installer completed successfully

[gowatana@client01 vic]$

 

VIC については、こちらもどうぞ。

vSphere Integrated Containers (VIC) 1.0 をためしてみる。

vSphere Integrated Containers (VIC) 1.1 の VIC Appliance デプロイの様子。

 

以上、VIC 1.1 で改善された ESXi Firewall 設定方法の様子についてでした。


PowerCLI の Connect-VIServer -Menu のリストを更新してみる。

$
0
0

PowerCLI で vCenter / ESXi に接続する Connect-VIServer は以前に接続したサーバを記録していて、

「-Menu」オプションで過去に接続したサーバを表示、選択して接続することができます。

PowerCLI> Connect-VIServer -Menu

 

下記のような感じになります。

powercli-menu-01.png

 

このサーバリストは、PowerShell からみて下記のパスにあります。

$HOME\AppData\Roaming\VMware\PowerCLI\RecentServerList.xml

 

XML ファイルを見てみると、下記のような感じになっています。

Server ごとに指定されている Position の数字が、-Menu での表示順です。
すでに表示されない(おそらく 10件をこえたもの)は、Position 属性が削除されています。

<ServerList>

  <CurrentMonth>May</CurrentMonth>

  <Server Name="vc60n01.godc.lab" January="0" February="0" March="0" April="0" May="0" June="8" July="3" August="0" September="0" October="0" November="0" December="0" Position="1" />

  <Server Name="vc55n01.godc.lab" January="0" February="0" March="0" April="0" May="0" June="0" July="0" August="0" September="0" October="0" November="0" December="0" />

  <Server Name="vc60n02.godc.lab" January="0" February="0" March="0" April="0" May="0" June="3" July="2" August="0" September="0" October="0" November="0" December="0" Position="3" />

  <Server Name="192.168.5.75" January="0" February="0" March="0" April="0" May="0" June="0" July="0" August="0" September="0" October="0" November="0" December="0" />

  <Server Name="vc01.godc.lab" January="1" February="9" March="1" April="0" May="0" June="0" July="4" August="2" September="2" October="0" November="4" December="1" Position="5" />

  <Server Name="vc02.godc.lab" January="0" February="0" March="0" April="0" May="0" June="0" July="2" August="0" September="0" October="0" November="0" December="0" Position="6" />

  <Server Name="vcsa50-01.godc.lab" January="0" February="0" March="0" April="0" May="0" June="0" July="0" August="0" September="1" October="0" November="0" December="0" Position="7" />

  <Server Name="192.168.1.71" January="0" February="0" March="0" April="0" May="0" June="0" July="0" August="0" September="1" October="0" November="0" December="0" Position="8" />

  <Server Name="vc65-1.go-lab.jp" January="1" February="4" March="3" April="0" May="0" June="0" July="0" August="0" September="0" October="0" November="0" December="0" Position="9" />

  <Server Name="vc-sv01.go-lab.jp" January="0" February="0" March="4" April="9" May="10" June="0" July="0" August="0" September="0" October="0" November="0" December="0" Position="10" />

  <Server Name="vc02.go-lab.jp" January="0" February="0" March="0" April="1" May="0" June="0" July="0" August="0" September="0" October="0" November="0" December="0" Position="2" />

  <Server Name="vc-sv02.go-lab.jp" January="0" February="0" March="0" April="0" May="4" June="0" July="0" August="0" September="0" October="0" November="0" December="0" Position="4" />

</ServerList>

 

見やすく 接続先サーバ(Name)と Position を抜粋すると、下記のようになっています。

PS C:\> $sv_list = [xml](gc $HOME\AppData\Roaming\VMware\PowerCLI\RecentServerList.xml)

PS C:\> $sv_list.ServerList.Server | sort {[int]$_.Position} | ft -AutoSize Name,Position

 

 

Name               Position

----               --------

192.168.5.75

vc55n01.godc.lab

vc60n01.godc.lab   1

vc02.go-lab.jp     2

vc60n02.godc.lab   3

vc-sv02.go-lab.jp  4

vc01.godc.lab      5

vc02.godc.lab      6

vcsa50-01.godc.lab 7

192.168.1.71       8

vc65-1.go-lab.jp   9

vc-sv01.go-lab.jp  10

 

最近使用してる vCenter 2台を残して、削除してみました。

<ServerList>

  <CurrentMonth>May</CurrentMonth>

  <Server Name="vc-sv01.go-lab.jp" January="0" February="0" March="4" April="9" May="10" June="0" July="0" August="0" September="0" October="0" November="0" December="0" Position="1" />

  <Server Name="vc-sv02.go-lab.jp" January="0" February="0" March="0" April="0" May="4" June="0" July="0" August="0" September="0" October="0" November="0" December="0" Position="2" />

</ServerList>

 

Connect-VIServer -Menu を実行してみると、2台だけ表示されるようになりました。

powercli-menu-02.png

 

ちなみに、不要になったサーバを Position=""  とするとリストを読まなくなるようで、
XML ファイルを編集してサーバを削除するには
今回のように Server 要素ごと削除するか、Position 属性を削除する必要があるようです。

 

なお、今回は PowerCLI 6.5 Release 1 を Windows 10 で実行しています。

PowerCLI C:\> (Get-PowerCLIVersion).UserFriendlyVersion

VMware PowerCLI 6.5 Release 1 build 4624819

 

検証環境などで多数の vCenter に接続する場合には「-Menu」オプションが便利かもしれません。

 

以上、PowerCLI の -menu リストを更新してみる話でした。

vCenter Server Appliance 6.0 (VCSA) を、Datadog に登録してみる。

$
0
0

ためしに vCenter Server Appliance 6.0 (VCSA)  を、Datadog に登録してみました。

 

Datadog は、Datadog 社による 性能情報やイベントのモニタリングができるクラウドサービスです。

 

VMware vSphere のモニタリングにも対応しているようです。

Datadog-VMware Integration

https://www.datadoghq.com/blog/unified-vsphere-app-monitoring-datadog/

 

今回の環境について。

今回は、VCSA 6.0 U3 を使用しています。

Command> system.version.get

Version:

   Product: VMware vCenter Server Appliance

   Installtime: 2017-04-02T04:55:33 UTC

   Summary: VMware vCenter Server Appliance 6.0 Update 3

   Releasedate: February 23, 2017

   Version: 6.0.0.30000

   Build: 5112509

   Type: vCenter Server with an embedded Platform Services Controller

 

VCSA 6.0 は、SUSE Linux をベースとしています。

Command> shell.set --enabled True

Command> shell

    ---------- !!!! WARNING WARNING WARNING !!!! ----------

Your use of "pi shell" has been logged!

The "pi shell" is intended for advanced troubleshooting operations and while

supported in this release, is a deprecated interface, and may be removed in a

future version of the product.  For alternative commands, exit the "pi shell"

and run the "help" command.

The "pi shell" command launches a root bash shell.  Commands within the shell

are not audited, and improper use of this command can severely harm the

system.

Help us improve the product!  If your scenario requires "pi shell," please

submit a Service Request, or post your scenario to the

https://communities.vmware.com/community/vmtn/vcenter/vc forum and add

"appliance" tag.

 

vc02:~ # uname -n

vc02.go-lab.jp

vc02:~ # cat /etc/SuSE-release

SUSE Linux Enterprise Server 11 (x86_64)

VERSION = 11

PATCHLEVEL = 3

 

なお、この VCSA からは自宅ラボにあり、直接インターネットに出ることができます。

Datadog Agent インストール。

インストールは、DD_API_KEY を指定しつつ、curl コマンドで取得したスクリプトを実行します。
ちなみに このコマンドラインと DD_API_KEY は、Datadog の無料体験登録時にわかります。

vc02:~ # DD_API_KEY=182b0~ bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/dd-agent/master/packaging/datadog-agent/source/install_agent.sh)"

 

スクリプトの内容は下記でわかります。

dd-agent/install_agent.sh at master · DataDog/dd-agent · GitHub

 

これで、Datadog Agent の RPM がインストールされました。

vc02:~ # rpm -qa | grep datadog

datadog-agent-5.13.2-1

 

デフォルトで Agent は起動します。

vc02:~ # chkconfig --list datadog-agent

datadog-agent             0:off  1:off  2:on   3:on   4:on   5:on   6:off

vc02:~ # service datadog-agent status

Datadog Agent (supervisor) is running all child processes

 

Datadog Agent 連携用ユーザの作成。

 

Datadog 連携用のユーザとして、今回は datadog-user@vsphere.local ユーザを

vCenter のもつ PSC のローカルユーザとして作成しています。

dd-01.png

 

作成したユーザには、vCenter の「読み取り専用」ロールを付与しています。

dd-02.png

 

Datadog Agent の連携設定。

Datadog Agent に含まれる /etc/dd-agent/conf.d/vsphere.yaml.example ファイルをもとに、設定ファイルを作成します。

 

今回は下記のようにしました。

vc02:~ # vi /etc/dd-agent/conf.d/vsphere.yaml

vc02:~ # chown dd-agent:dd-agent /etc/dd-agent/conf.d/vsphere.yaml

vc02:~ # grep -E -v "#|^$" /etc/dd-agent/conf.d/vsphere.yaml

init_config:

instances:

  - name: vc02-home

    host: vc02.go-lab.jp

    username: 'datadog-user@vsphere.local'

    password: 'パスワード'

    ssl_verify: false

 

Datadog Agent を再起動します。

vc02:~ # service datadog-agent restart

* Stopping Datadog Agent (stopping supervisord) datadog-agent            [ OK ]

* Starting Datadog Agent (using supervisord) datadog-agent               [ OK ]

 

これで、Datadog に情報が転送されるようになります。
Datadog の Web UI から、VCSA と(赤枠のもの)、その vCenter が管理する ESXi と VM が自動検出されます。
VM は、起動されているもののみ検出されるようです。

dd-03.png

 

以上、VCSA 6.0 を Datadog に登録してみる話でした。つづくかもしれない・・・

VMware NSX と VCP-NV / VCIX-NV の勉強方法について。

$
0
0

VMware NSX と その認定資格試験の勉強方法についてのヒントを、

いくつか紹介してみようと思います。

 

まず、NSX の技術認定資格についてですが、vSphere(DCV)とは別に

NV(Network Virtualization)というトラックがあり、DCV トラックと同様に

VCA / VCP / VCIX(VCAP 試験に合格すると認定される)/ VCDX があります。

NSX とはいっても、NSX for vSphere(NSX-v)のみを対象とした試験です。

つまり現時点の NSX の認定資格には NSX for Multi-Hypervisor については、まったく含まれません。

 

具体的な資格の体系や出題範囲などについては

VMware Education のサイトを参照いただければと思います。

※たまに変更があったり、具体的な出題内容には触れられなかったりするため。

VMware NSX Training and Certification

 

NSX の試験の勉強については、正攻法でいくとすると、

可能な限り VMware の認定トレーニングコースを受講するのがよいと思います。

たとえば、下記のような・・・

VMware NSX: Install, Configure, Manage [V6.2]

 

ただ、費用や受講時間帯などの問題で受講が難しいケースがあると思うので、

※ちなみに、私も NSX のトレーニングコースは受講できてません。

 

実は、私が NSX の資格(VCP-NV / VCIX-NV)を取得したのは 2014年
VMware Certified Implementation Expert 6 – Network Virtualization - Acclaim)で

ちょっとノウハウが古いかもしれませんが、

このあと紹介するコンテンツは最新化されているようです。

 

1. 知識習得について

 

基礎知識

NSX の基礎知識の習得については、マニュアル(ドキュメント)を読むことが一番だと思います。

対象の NSX のバージョン(6.2、6.3 ・・・)を選択してからドキュメントを参照します。

VMware NSX for vSphere のドキュメント

 

NSX の基本的なマニュアルは、日本語で公開されています。

これまでの VMware 製品のドキュメントよりも、図やスクリーンショットが多い印象があります。

洋書や、VMware 公式の日本語技術書(2014年11月頃)も出版されていますが、

正直なところ個人的には、それらよりマニュアルのほうが分かりやすい気がします。

 

設計 / 操作手順

NSX の設計や、具体的な操作についての勉強については、

VMTN の VMware NSX  フォーラムにあるドキュメント(「文章」タブ)を活用するとよいと思います。

 

まずおすすめなのは下記の 2つです。

ただし、NSX フォーラムのドキュメントやディスカッションは英語のみです。

特に VCP-NV の勉強では、「VMware NSX for vSphere Network Virtualization Design Guide」が役立ちます。

VMware® NSX for vSphere Network Virtualization Design Guide ver 3.0

NSX-v Operations Guide, rev 1.5

 

 

2. 実機操作について

 

VMware Hands-on Labs を利用する

NSX の実機環境を用意するのは、なかなかハードルが高いと思います。

 

Hands-on Labs(HoL)では、手軽に実機によるラボを使用することができます。

VMware Hands-on Labs

このページは VMTN の一部ですが、HoL を利用する場合は

あらたに VMTN アカウントとは別のアカウントを作成することになります。

 

HoL は、ラボ マニュアルのシナリオをもとに手順を進めるようになっていて、

ひと通りの機能を、実機で試すことができます。

VCIX の実技試験の準備としても、ラボ マニュアルのシナリオが参考になります。

 

下記のページに日本語化された主要なラボがまとめられています。
NSX については、まずは HOL-1703 から始まる名前のラボに取り組むとよいと思います。

VMware Hands-on Labs

 

HoL は無償で、何回でも同じラボを利用することができます。

私が VCIX-NV を取得した時には、20回以上 HoL-1403 を実行しました。

また、HoL ではラボ マニュアルのシナリオに沿わない操作も可能であり、

工夫すれば NSX API を試したりすることもできます。

※当時の NSX の基本的なラボは HoL-1703 ではなく、HoL-1403 でした。

※ラボを繰り返し利用する場合は、環境は初期化されてしまいます。

 

ただし、基本的に HoL で試せるのは NSX 自体の機能のみで、

物理的なネットワークにかかわる機能などは試せません。

 

評価用ライセンスを利用する

以前は、検証環境や自宅ラボなどで、実際に NSX 環境を構築しようとしても、

NSX は(vSphere などとは異なり)一般向けに無償評価ライセンスは提供されていませんでした。

 

しかし最近、有償ですが VMUG Advantage というサービスで
NSX の評価ライセンスが利用できるようになりました。

https://www.vmug.com/Join//EVALExperience

※ただし私は vExpert 用の評価ライセンスを利用させてもらっているので、これは利用してません。

 

 

NSX は技術要素としてはまだ新しめのもので、手探りで技術習得をしている人が多いと思いますので

なにかしら役立てていただければと思います。

 

以上、 NSX の勉強方法についてでした。

NSX-v の簡易バックアップサーバ (SFTP) を Linux で用意する。

$
0
0

NSX for vSphere (NSX-v) では、NSX Manager からのデータバックアップ先として

FTP サーバ、もしくは SFTP サーバを指定できます。

Back Up NSX Manager Data

 

今回は、検証環境や自宅ラボなどで、

NSX Manager の簡易的なバックアップ先を用意する方法を紹介しようと思います。

 

Red Hat Enterprise Linux や、CentOS など、一般的な Linux ディストリビューションでは

SSH Server がデフォルトでセットアップされています。

その SSH Server に含まれる SFTP Server を利用すると便利ではないかと思います。

バックアップ先 として利用する Linux

今回は、Oracle Linux 7.3 を利用します。

[root@nsx-work ~]# cat /etc/oracle-release

Oracle Linux Server release 7.3

 

OS の Minimal Install でも、デフォルトで openssh-server がインストールされていて、

サービスが起動されています。

[root@nsx-work ~]# rpm -q openssh-server

openssh-server-6.6.1p1-35.el7_3.x86_64

[root@nsx-work ~]# systemctl is-enabled sshd

enabled

[root@nsx-work ~]# systemctl is-active sshd

active

 

そして sftp-server も含まれていて、

デフォルトで OS ユーザで接続することが可能になっています。

[root@nsx-work ~]# rpm -ql openssh-server | grep sftp

/usr/libexec/openssh/sftp-server

/usr/share/man/man8/sftp-server.8.gz

 

バックアップ先 SFTP Server での準備

バックアップ先の Linux は、OS ユーザを作成するだけで SFTP サーバとして利用できます。

 

それでは、バックアップ先の Linux で、SFTP 接続で利用する OS ユーザを作成しておきます。

今回は「nsx-bk-user01」という名前のユーザを作成します。

[root@nsx-work ~]# useradd nsx-bk-user01

[root@nsx-work ~]# passwd nsx-bk-user01

ユーザー nsx-bk-user01 のパスワードを変更。

新しいパスワード:  ★パスワードを入力。

新しいパスワードを再入力してください:

passwd: すべての認証トークンが正しく更新できました。

 

今回は、作成したユーザのホームディレクトリ「/home/nsx-bk-user01」をバックアップ先に指定するつもりです。

[root@nsx-work ~]# su - nsx-bk-user01

[nsx-bk-user01@nsx-work ~]$ echo $HOME

/home/nsx-bk-user01

[nsx-bk-user01@nsx-work ~]$ pwd

/home/nsx-bk-user01

 

NSX Manager でのバックアップ先指定

NSX Manager の 管理画面にアクセスして、バックアップ先を指定します。

ちなみに今回の NSX Manager は「nsxmgr01」という名前にしています。

 

NSX Manager の管理画面に admin ユーザでログインします。

nsx-mgr-bk-00.png

 

「Backup & Restore」画面の「FTP Server Settings」で「Change」ボタンをクリックして設定します。

nsx-mgr-bk-01.png

 

バックアップ先の設定をします。

  • IP/Host name → SFTP サーバのアドレスを指定。
  • Transfer Protocol → SFTP を指定。
  • Port → SFTP (SSH) なので 22。
  • User name / Password → 作成した nsx-bk-user01 ユーザを指定。
  • Backup Directory → バックアップ先ディレクトリを指定。
  • Backup Prefix → バックアップファイルの先頭文字列を指定。今回は「nsxmgr01-」
  • Pass Phrase → パスフレーズを指定。

nsx-mgr-bk-02.png

 

バックアップの実行

バックアップは Scheduling(定期実行)を設定できますが、今回は手動実行します。

「Bakcup」をクリックします。

nsx-mgr-bk-04.png

 

「Start」をクリックすると、バックアップが実行されます。

nsx-mgr-bk-05.png

 

バックアップ ファイルが表示されます。

nsx-mgr-bk-06.png

 

SFTP サーバでディレクトリを見ると、NSX Manager のバックアップファイルが作成されています。

2つファイルが作成されていますが、セットで 1回分のバックアップファイルです。

[nsx-bk-user01@nsx-work ~]$ pwd

/home/nsx-bk-user01

[nsx-bk-user01@nsx-work ~]$ ls -lh

合計 568K

-rw-rw-r--. 1 nsx-bk-user01 nsx-bk-user01 561K  6月 12 23:06 nsxmgr01-23_06_25_Mon12Jun2017

-rw-rw-r--. 1 nsx-bk-user01 nsx-bk-user01  230  6月 12 23:06 nsxmgr01-23_06_25_Mon12Jun2017.backupproperties

 

NSX Manager が壊れることもありうるので、

簡易的にでもバックアップを取得しておくと便利かなと思います。

 

以上、Linux SFTP サーバを NSX Manager のバックアップ先にしてみる話でした。

Docker コンテナの PowerNSX を実行してみる。

$
0
0

NSX for vSphere を PowerCLI で操作する、PowerNSX  というツールが公開されています。

実は、PowerNSX は VMware の Docker Hub で公開されている

PowerCLI Core のコンテナイメージ「vmware/powerclicore」にも含まれています。

ということで、Docker コンテナから PowerNSX を起動してみます。

 

以前の投稿もどうぞ・・・

PowerCLI Core を Docker コンテナでためしてみる。

PowerNSX で VMware NSX の論理スイッチ (Logical Switch) を作成してみる。

 

 

Docker ホストの用意

今回の Docker ホストは、Photon OS です。

あらかじめ、下記からダウンロードした OVA ファイル(OVA with virtual hardware v11)をデプロイして、

ホスト名と root パスワードだけ変更してあります。

Downloading Photon OS · vmware/photon Wiki · GitHub

 

まずパッケージを最新化して、OS を再起動しておきます。

※Photon OS は、yum のかわりに、tdnf コマンドを使用します。

root@photon01 [ ~ ]# tdnf upgrade -y

root@photon01 [ ~ ]# reboot

 

Photon OS のバージョンです。

root@photon01 [ ~ ]# cat /etc/photon-release

VMware Photon Linux 1.0

PHOTON_BUILD_NUMBER=62c543d

root@photon01 [ ~ ]# uname -r

4.4.70-3.ph1-esx

 

Docker のバージョンです。

root@photon01 [ ~ ]# rpm -q docker

docker-1.13.1-3.ph1.x86_64

 

そして Docker サービスを起動しておきます。

root@photon01 [ ~ ]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

root@photon01 [ ~ ]# systemctl start docker

root@photon01 [ ~ ]# docker version

Client:

Version:      1.13.1

API version:  1.26

Go version:   go1.8.1

Git commit:   092cba3

Built:        Fri May  5 02:08:33 2017

OS/Arch:      linux/amd64

 

Server:

Version:      1.13.1

API version:  1.26 (minimum version 1.12)

Go version:   go1.8.1

Git commit:   092cba3

Built:        Fri May  5 02:08:33 2017

OS/Arch:      linux/amd64

Experimental: false

 

PowerCLI Core コンテナの起動

Docker Hub から、vmware/powerclicore をダウンロード(pull)しておきます。

root@photon01 [ ~ ]# docker pull vmware/powerclicore

Using default tag: latest

latest: Pulling from vmware/powerclicore

93b3dcee11d6: Pull complete

64180fb7dedf: Pull complete

46c9ea8ba821: Pull complete

b0ad35240277: Pull complete

f537a588698e: Pull complete

b821ac08cbe0: Pull complete

a76c30f73a8e: Pull complete

e5d8130503e2: Pull complete

a72ad7270123: Pull complete

c6b89e0875bf: Pull complete

d1628dac3e00: Pull complete

57fb698e34cd: Pull complete

9a9d3505a642: Pull complete

bf20548eaf12: Pull complete

a27e923ed27a: Pull complete

f0ecdd77fe48: Pull complete

7b8113d29296: Pull complete

2590b0e2e842: Pull complete

e3b9ecfe2ca0: Pull complete

d4838036c9df: Pull complete

5a536d9f1f30: Pull complete

3f9566a85b2e: Pull complete

bdb2ac6e70be: Pull complete

Digest: sha256:ffe996f7d664b2d8d9cd25501a8cb0a2f7459871b09523c1d3545df780ace211

Status: Downloaded newer image for vmware/powerclicore:latest

 

イメージがダウンロードできました。

root@photon01 [ ~ ]# docker images

REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE

vmware/powerclicore   latest              a8e3349371c5        6 weeks ago         610 MB

 

コンテナを起動します。

root@photon01 [ ~ ]# docker run -it vmware/powerclicore

 

コンテナを起動すると、このような感じになります。

docker-powernsx-01.png

 

PowerCLI Core のバージョンです。

PS /powershell> Get-PowerCLIVersion

 

PowerCLI Version

----------------

   VMware PowerCLI Core 1.0 build 5327113

---------------

Component Versions

---------------

   VMware vSphere PowerCLI Component 1.22 build 5327113

   VMware VDS PowerCLI Component 5.1 build 5327113

   VMware VDS PowerCLI Component 1.21 build 5327113

 

 

 

PS /powershell>

 

PowerNSX での vCenter と NSX への接続

それでは、PowerNSX で vCenter / NSX に接続してみます。

 

PowerNSX のバージョンを見ておきます。

PS /powershell> Import-Module -Name PowerNSX

PS /powershell> Get-Module PowerNSX | select Name,Version

 

 

Name     Version

----     -------

PowerNSX 2.1.0

 

 

ちなみに、まだ安定版というわけではないこともあり

Import-Module -Name PowerNSX を実行したタイミングで赤字で注意書きが表示されます。

docker-powernsx-02.png

 

PowerNSX では NSX Manager と vCenter に接続してから実行します。

Connect-NSXServer では、vCenter に同時接続する機能がありますが、

いまのところちょっとうまくいかないので、vCenter と NSX Manager をそれぞれ別に接続します。

 

まず、vCenter に接続します。「vc-sv02」が今回の vCenter です。

PS /powershell> Connect-VIServer vc-sv02.go-lab.jp -Force

 

Specify Credential

Please specify server credential

User: gowatana ★VCにログインするユーザを入力。

Password for user gowatana: ******** ★パスワードを入力。

 

vCenter に接続できました。

PS /powershell> $Global:DefaultVIServer | fl Name,IsConnected

 

 

Name        : vc-sv02.go-lab.jp

IsConnected : True

 

 

NSX Manager に接続します。「nsxmgr01」が今回の NSX Manager です。

「Using existing PowerCLI connection to ~」にある IP アドレスは、
すでに接続済みのvCenter の IP アドレスです。

そして VIConnection を見ると、vCenter への接続を認識していることが分かります。

PS /powershell> Connect-NsxServer -NsxServer nsxmgr01.go-lab.jp -ValidateCertificate:$false

 

 

Windows PowerShell credential request

NSX Manager Local or Enterprise Admin SSO Credentials

User: admin★NSX Manager のユーザを入力。

Password for user admin: **********★パスワードを入力。

 

Using existing PowerCLI connection to 192.168.1.96

 

 

Version             : 6.3.1

BuildNumber         : 5124716

Credential          : System.Management.Automation.PSCredential

Server              : nsxmgr01.go-lab.jp

Port                : 443

Protocol            : https

ValidateCertificate : False

VIConnection        : vc-sv02.go-lab.jp

DebugLogging        : False

DebugLogfile        : \PowerNSXLog-admin@nsxmgr01.go-lab.jp-2017_06_13_14_41_28.log

 

 

 

PS /powershell>

 

PowerNSX に含まれるコマンドレットで、情報取得できるようになります。

PS /powershell> Get-NsxManagerSystemSummary

 

ipv4Address       : 192.168.1.141

dnsName           : nsxmgr01.go-lab.jp

hostName          : nsxmgr01

domainName        : go-lab.jp

applianceName     : vShield Virtual Appliance Management

versionInfo       : versionInfo

uptime            : 2 days, 3 hours, 14 minutes

cpuInfoDto        : cpuInfoDto

memInfoDto        : memInfoDto

storageInfoDto    : storageInfoDto

currentSystemDate : Tuesday, 13 June 2017 11:41:50 PM JST

 

 

これで、便利な PowerNSX を手軽にためすことができます。

ただ PowerCLI Core も、まだ Technical Preview なので

まだメインで使う PowerNSX は Windows の PowerCLI とかなと思います。

 

以上、PowerCLI Core コンテナ同梱の PowerNSX を実行してみる話でした。

Viewing all 495 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>