Photon OS is linux distribution maintained by VMware with multiple benefits for virtualized form factor, therefore any virtual appliance should be based on Photon OS.
I have recently tried to play with Photon OS and here are some my notes.
File contains following config
I have recently tried to play with Photon OS and here are some my notes.
IP Settings
Network configuration files are in directory/etc/systemd/network/IP settings are leased from DHCP by default. It is configured in file /etc/systemd/network/10-dhcp-en.network
File contains following config
[Match]To use static IP settings it is good to move DHCP config file down in alphabetical order and create config file with static IP settings.
Name=e*
[Network]
DHCP=yes
mv 10-dhcp-en.network 99-dhcp-en.networkcp 99-dhcp-en.network 10-static-en.networkfile /etc/systemd/network/10-static-en.network should looks similar to
[Match]Name=eth0[Network]Address=192.168.4.56/24Gateway=192.168.4.254DNS=192.168.4.4
Network can be restarted by command
systemctl restart systemd-networkdand network settings can be checked by command
networkctl
Package management
Photon OS uses TDNF (Tiny DNF) package manager. It is based on Fedora's DNF. This is a development by VMware that comes with compatible repository and package management capabilities. Note that not every dnf command is available but the basic ones are there.Examples:
- tdnf install libxml2
- tdnf install openssl-devel
- tdnf install binutils
- tdnf install pkg-config
- tdnf perl-Crypt-SSLeay
- tdnf install cpan
- tdnf libuuid-devel
- tdnf install make
Update of the whole operating system can be done by command
tdnf update
Log Management
You will not find typical linux /var/log/messagesInstead, journald is used and you have to use command journalctl
Equivalent to tail -f /var/log/messages is
journalctl -f
System services
System services are control by command systemctlTo check service status use
systemctl status dockerTo start service use
systemctl start dockerTo enable service after system start use
systemctl enable docker
Docker and containerized PowerCLI
One of key use cases for Photon OS is to be a docker host, therefore, docker is preinstalled in Photon OS. You can see further Docker information by commanddocker infoIf Docker is running on your system, you can very quickly spin up docker container. Let's use example of containerized PowerCLI. To download container image from DockerHup use command
docker pull vmware/powerclicoreto check all downloaded images use the command
docker images -a
root@photon-machine [ ~ ]# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
vmware/powerclicore latest a8e3349371c5 6 weeks ago 610 MB
root@photon-machine [ ~ ]#
Now you can run powercli container interactively (-i) and in allocated pseudo-TTY (-t). Option -rm stands for "Automatically remove the container when it exits".
docker run --rm -it vmware/powerclicore
root@photon-machine [ ~ ]# docker run --rm -it --name powercli vmware/powerclicore
PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.erclicore --name powercl
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 3083ms.
PS /powershell#
Now you can use PowerCLI running on linux container. The very first PowerCLI command is usually Connect-VIServer, but you can get following warning and error messages
PS /powershell> Connect-VIServer
cmdlet Connect-VIServer at command pipeline position 1
Supply values for the following parameters:
Server: vc01.home.uw.cz
Specify Credential
Please specify server credential
User: cdave
Password for user cdave: *********
WARNING: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Prompt if you'd like to connect once or to add
a permanent exception for this server.
Connect-VIServer : 06/07/2017 19:25:44 Connect-VIServer An error occurred while sending the request.
At line:1 char:1
+ Connect-VIServer
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Connect-VIServer], ViError
+ FullyQualifiedErrorId : Client20_ConnectivityServiceImpl_Reconnect_Exception,VMware.VimAutomation.ViCore.Cmdlets.Commands.ConnectVIServer
PS /powershell>
To solve the problem you have to adjust PowerCLI configuration by
Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false -scope AllThe command above changes PowerCLI configuration for all users.
To use other docker commands you can open another ssh session, and for example list running containers
root@photon-machine [ ~ ]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6ecccf77891e vmware/powerclicore "powershell" 7 minutes ago Up 7 minutes powercli
root@photon-machine [ ~ ]#
... or issue any other docker command.
That's cool, isn't it?
No comments:
Post a Comment