Change-Id: I8085250e9c3a7285b859fdd65b367aed23624d7b
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/6254
Reviewed-by: Stuart Clements <sclements@vmware.com>
Tested-by: Stuart Clements <sclements@vmware.com>
1 | 1 |
deleted file mode 100644 |
... | ... |
@@ -1,169 +0,0 @@ |
1 |
-# Photon OS Frequently Asked Questions |
|
2 |
- |
|
3 |
-* [What is Photon OS?](#q-what-is-photon-os) |
|
4 |
-* [How do I get started with Photon OS?](#q-how-do-i-get-started-with-photon-os) |
|
5 |
-* [Can I upgrade my existing Photon OS 1.0 VMs?](#q-can-i-upgrade-my-existing-photon-os-10-vms) |
|
6 |
-* [What kind of support comes with Photon OS?](#q-what-kind-of-support-comes-with-photon-os) |
|
7 |
-* [How can I contribute to Photon OS?](#q-how-can-i-contribute-to-photon-os) |
|
8 |
-* [How is Photon OS patched?](#q-how-is-Photon-OS-patched) |
|
9 |
-* [How does Photon OS relate to Project Lightwave?](#q-how-does-photon-os-relate-to-project-lightwave) |
|
10 |
-* [Will VMware continue to support other container host runtime offerings on vSphere?](#q-will-vmware-continue-to-support-other-container-host-runtime-offerings-on-vsphere) |
|
11 |
-* [How to report a security vulnerability in Photon OS?](#q-how-to-report-a-security-vulnerability-in-photon-os) |
|
12 |
-* [What are the Docker improvements in Photon OS 2.0?](#q-what-are-the-docker-improvements-in-photon-os-20) |
|
13 |
-* [Why is VMware creating Photon OS?](#q-why-is-vmware-creating-photon-os) |
|
14 |
-* [Why is VMware open-sourcing Photon OS?](#q-why-is-vmware-open-sourcing-photon-os) |
|
15 |
-* [In what way is Photon OS "optimized for VMware?"](#q-in-what-way-is-photon-os-optimized-for-vmware) |
|
16 |
-* [Why can't I SSH in as root?](#q-why-cant-i-ssh-in-as-root) |
|
17 |
-* [Why isn't netstat working?](#q-why-is-netstat-not-working) |
|
18 |
-* [Why do all of my cloned Photon OS instances have the same IP address when using DHCP?](#q-why-do-all-of-my-cloned-photon-os-instances-have-the-same-ip-address-when-using-dhcp) |
|
19 |
-* [How to install new packages?](#how-to-install-new-packages) |
|
20 |
-* [Why is the yum command not working in a minimal installation?](#q-why-the-yum-command-not-working-in-a-minimal-installation) |
|
21 |
-* [How to install all build essentials?](#q-how-to-install-all-build-essentials) |
|
22 |
-* [How to build new package for Photon OS?](#q-how-to-build-new-package-for-photon-os) |
|
23 |
-* [I just booted into freshly installed Photon OS instance, why isn't "docker ps" working?](#q-i-just-booted-into-freshly-installed-photon-os-instance-why-isnt-docker-ps-working) |
|
24 |
-* [What is the difference between Minimal and Full installation?](#q-what-is-the-difference-between-minimal-and-full-installation) |
|
25 |
-* [What packages are included in Minimal and Full?](#q-what-packages-are-included-in-minimal-and-full) |
|
26 |
-* [How do I transfer or share files between Photon OS and my host machine?](#q-how-do-i-transfer-or-share-files-between-photon-and-my-host-machine) |
|
27 |
-* [Why is the ISO over 2GB, when I hear that Photon OS is a minimal container runtime?](#q-why-is-the-iso-over-2gb-when-i-hear-that-photon-os-is-a-minimal-container-runtime) |
|
28 |
- |
|
29 |
-*** |
|
30 |
- |
|
31 |
-# Getting Started |
|
32 |
- |
|
33 |
-## Q. What is Photon OS? |
|
34 |
-A. Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](https://vmware.github.io/photon/). |
|
35 |
- |
|
36 |
-## Q. How do I get started with Photon OS? |
|
37 |
-A. Start by deciding your target platform. Photon OS 2.0 has been certified in public cloud environments - Microsoft Azure (new), Google Compute Engine (GCE), Amazon Elastic Compute Cloud (EC2) - as well as on VMware vSphere, VMware Fusion, and VMware Workstation. |
|
38 |
-Next, download the latest binary distributions for your target platform. The binaries are hosted on [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/). For download instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
39 |
-Finally, go to the installation instructions for your target platform, which are listed here: [Quick Start](photon-admin-guide.md#getting-started-with-photon-os-20). |
|
40 |
- |
|
41 |
-## Q. Can I upgrade my existing Photon OS 1.0 VMs? |
|
42 |
-A. Yes, there is an in-place upgrade path for Photon OS 1.0 implementations. You simply download an upgrade package, run a script, and reboot the VM. Refer to the instructions in [Upgrading to Photon OS 2.0](Upgrading-to-Photon-OS-2.0.md). |
|
43 |
- |
|
44 |
-## Q. What kind of support comes with Photon OS? |
|
45 |
-A. Photon OS is supported through community efforts and direct developer engagement in the communities. Potential users of Photon OS should start with the [Photon microsite](http://vmware.com/photon). |
|
46 |
- |
|
47 |
-Developers who might want the source code, including those interested in making contributions, should visit the [Photon OS Github repository](https://github.com/vmware/photon). |
|
48 |
- |
|
49 |
-## Q. How can I contribute to Photon OS? |
|
50 |
-A. We welcome community participation in the development of Photon OS and look forward to broad ecosystem engagement around the project. Getting your idea into Photon OS is just a [GitHub](https://vmware.github.io/photon) pull request away. When you submit a pull request, you'll be asked to accept the Contributor License Agreement (CLA). |
|
51 |
- |
|
52 |
-## Q. How is Photon OS patched? |
|
53 |
-A. Within a major release, updates will be delivered as package updates. Security updates will be delivered on an as-needed basis. Non-security related updates will happen quarterly, but may not include every, single package update. The focus is on delivering a valid, functional updated stack every quarter. |
|
54 |
- |
|
55 |
-Photon OS isn't "patched," as a whole - instead, individual packages are updated (potentially, with patches applied to that individual package). For instance, if a package releases a fix for a critical vulnerability, we'll update the package in the Photon OS repository, for critical issues probably within a day or two. At that point, customers get that updated package by running, "tdnf update <package>" |
|
56 |
- |
|
57 |
-## Q. How does Photon OS relate to Project Lightwave? |
|
58 |
-A. Project Lightwave is an open-sourced project that provides enterprise-grade identity and access management services, and can be used to solve key security, governance, and compliance challenges for a variety of use cases within the enterprise. |
|
59 |
-Through integration between Photon OS and Project Lightwave, organizations can enforce security and |
|
60 |
-governance on container workloads, for example, by ensuring only authorized containers are run on authorized hosts, by authorized users. For details about Lightwave, see [https://github.com/vmware/lightwave](https://github.com/vmware/lightwave). |
|
61 |
- |
|
62 |
-## Q. Will VMware continue to support other container host runtime offerings on vSphere? |
|
63 |
-A. YES, VMware is committed to delivering an infrastructure for all workloads, and for vSphere to have the largest guest OS support in the industry and support customer choice. |
|
64 |
-Toward those goals, VMware will continue to work with our technology partners to support new Guest Operating Systems and container host runtimes as they come to the market. Open-sourcing Photon OS will enable optimizations and enhancements for container host runtimes on VMware Platform are available as reference implementation for other container host runtimes as well. |
|
65 |
- |
|
66 |
-# Photon OS |
|
67 |
-## Q. What is Photon OS? |
|
68 |
-A. Photon OS is an open source, Linux container host runtime optimized for VMware vSphere®. Photon OS is extensible, lightweight, and supports the most common container formats including Docker, Rocket and Garden. Photon OS includes a small footprint, yum-compatible, package-based lifecycle management system, and can support an rpm-ostree image-based system versioning. When used with development tools and environments such as VMware Fusion®, VMware Workstation™, HashiCorp (Vagrant and Atlas) and a production runtime environment (vSphere, VMware vCloud® Air™), Photon OS allows seamless migration of containers-based Apps from development to production. |
|
69 |
- |
|
70 |
-## Q. How to report a security vulnerability in Photon OS? |
|
71 |
-A. VMware encourages users who become aware of a security vulnerability in VMware products to contact VMware with details of the vulnerability. VMware has established an email address that should be used for reporting a vulnerability. Please send descriptions of any vulnerabilities found to security@vmware.com. Please include details on the software and hardware configuration of your system so that we can duplicate the issue being reported. |
|
72 |
- |
|
73 |
-Note: We encourage use of encrypted email. Our public PGP key is found at [kb.vmware.com/kb/1055](http://kb.vmware.com/kb/1055). |
|
74 |
- |
|
75 |
-VMware hopes that users encountering a new vulnerability will contact us privately as it is in the best interests of our customers that VMware has an opportunity to investigate and confirm a suspected vulnerability before it becomes public knowledge. |
|
76 |
- |
|
77 |
-In the case of vulnerabilities found in third-party software components used in VMware products, please also notify VMware as described above. |
|
78 |
- |
|
79 |
-## Q. What are the Docker improvements in Photon OS 2.0? |
|
80 |
-In Photon OS 2.0, the Docker image size (compressed and uncompressed) was reduced to less than a third of its size in Photon OS 1.0. This gain resulted from: |
|
81 |
-- using toybox (instead of standard core tools), which brings the docker image size from 50MB (in 1.0) to 14MB (in 2.0) |
|
82 |
-- a package split - in Photon OS 2.0, the binary set contains only bash, tdnf, and toybox; all other installed packages are now libraries only. |
|
83 |
- |
|
84 |
-## Q. Why is VMware creating Photon OS? |
|
85 |
-A. It's about workloads - VMware has always positioned our vSphere platform as a secure, highly-performant platform for enterprise applications. With containers, providing an optimized runtime ensures that customers can embrace these new workload technologies without disrupting existing operations. Over time, Photon OS will extend the capabilities of the software-defined data center such as security, identity and resource management to containerized workloads. Organizations can then leverage a single infrastructure architecture for both traditional and cloud-native Apps, and leverage existing investments in tools, skills and technologies. This converged environment will simplify operation and troubleshooting, and ease the adoption of Cloud-Native Apps. |
|
86 |
- |
|
87 |
-Photon OS can provide a reference implementation for optimizing containers on VMware platforms across compute, network, storage and management. For example, Photon OS can deliver performance through kernel tuning to remove redundant caching between the Linux kernel and the vSphere hypervisor, and advanced security services through network micro-segmentation delivered by VMware NSX™, and more. |
|
88 |
- |
|
89 |
-## Q. Why is VMware open-sourcing Photon OS? |
|
90 |
-A. Open-sourcing Photon OS encourages discussion, innovation, and collaboration with others in the container ecosystem. In particular, we want to make sure the innovations we introduce to Photon to run containers effectively on VMware are also available to any other container runtime OS. |
|
91 |
-Additionally, VMware is committed to supporting industry and de facto standards, as doing so also supports stronger security, interoperability, and choice for our customers. |
|
92 |
- |
|
93 |
-## Q. In what way is Photon OS "optimized for VMware?" |
|
94 |
- |
|
95 |
-Photon OS 1.0 introduced extensive optimizations for VMware environments, which are described in detail in the following VMware white paper: [Deploying Cloud-Native Applications with Photon OS](https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/whitepaper/vmware-deploying-cloud-native-apps-with-photon-os.pdf). Photon OS 2.0 enhances VMware optimization. The kernel message dumper (new in Photon OS 2.0) is a paravirt feature that extends debugging support. In case of a guest panic, the kernel (through the paravirt channel) dumps the entire kernel log buffer (including the panic message) into the VMware log file (vmware.log) for easy, consolidated access. Previously, this information was stored in a huge vmss (VM suspend state) file. |
|
96 |
- |
|
97 |
-## Q. Why can't I SSH in as root? |
|
98 |
-A. By default Photon does not permit root login to ssh. To make yourself login as root using SSH set PermitRootLogin yes in /etc/ssh/sshd_config, and restart the sshd deamon. |
|
99 |
- |
|
100 |
-## Q. Why is netstat not working? |
|
101 |
-A. netstat is deprecated, ss or ip (part of iproute2) should be used instead. |
|
102 |
- |
|
103 |
-## Q. Why do all of my cloned Photon OS instances have the same IP address when using DHCP? |
|
104 |
-A. Photon OS uses the contents of /etc/machine-id to determine the duid that is used for DHCP requests. If you're going to use a Photon OS instance as the base system for cloning to create additional Photon OS instances, you should clear the machine-id with: |
|
105 |
-~~~~ |
|
106 |
- echo -n > /etc/machine-id |
|
107 |
-~~~~ |
|
108 |
-With this value cleared, systemd will regenerate the machine-id and, as a result, all DHCP requests will contain a unique duid. |
|
109 |
- |
|
110 |
-# How to install new packages? |
|
111 |
-## Q. Why is the yum command not working in a minimal installation? |
|
112 |
-A. yum has package dependencies that make the system larger than it needs to be. Photon OS includes [tdnf](https://github.com/vmware/tdnf) - 'tiny' dandified yum - to provide package management and yum-functionality in a much, much smaller footprint. To install packages from cdrom, mount cdrom using following command |
|
113 |
-~~~~ |
|
114 |
- mount /dev/cdrom /media/cdrom |
|
115 |
-~~~~ |
|
116 |
-Then, you can use tdnf to install new packages. For example, to install the vim editor, |
|
117 |
-~~~~ |
|
118 |
- tdnf install vim |
|
119 |
-~~~~ |
|
120 |
-## Q. How to install all build essentials? |
|
121 |
-A. Following command can be used to install all build essentials. |
|
122 |
-~~~~ |
|
123 |
-curl -L https://git.io/v1boE | xargs -I {} tdnf install -y {} |
|
124 |
-~~~~ |
|
125 |
-## Q. How to build new package for Photon OS?? |
|
126 |
-A. Assuming you have an Ubuntu development environment, setup and get the latest code pull into /workspace. Lets assume your package name is foo with version 1.0. |
|
127 |
-~~~~ |
|
128 |
- cp foo-1.0.tar.gz /workspace/photon/SOURCES |
|
129 |
- cp foo.spec /workspace/photon/SPECS/foo/ |
|
130 |
- cd /workspace/photon/support/package-builder |
|
131 |
- sudo python ./build_package.py -i foo |
|
132 |
-~~~~ |
|
133 |
-## Q. I just booted into freshly installed Photon OS instance, why isn't "docker ps" working? |
|
134 |
-A. Make sure docker daemon is running. By design and default in Photon OS, the docker daemon/engine is not started at boot time. To start the docker daemon for the current session, use the command: |
|
135 |
-~~~~ |
|
136 |
- systemctl start docker |
|
137 |
-~~~~ |
|
138 |
-To start the docker daemon, on boot, use the command: |
|
139 |
-~~~~ |
|
140 |
- systemctl enable docker |
|
141 |
-~~~~ |
|
142 |
-## Q. What is the difference between Minimal and Full installation? |
|
143 |
-A. Minimal is the minimal set of packages for a container runtime, plus cloud-init. |
|
144 |
-Full contains all the packages shipped with ISO. |
|
145 |
- |
|
146 |
-## Q. What packages are included in Minimal and Full? |
|
147 |
-A. See [packages_minimal.json](https://github.com/vmware/photon/blob/dev/common/data/packages_minimal.json) as an example |
|
148 |
- |
|
149 |
-## Q. How do I transfer or share files between Photon and my host machine? |
|
150 |
-A. Use vmhgfs-fuse to transfer files between Photon and your host machine: |
|
151 |
-1. Enable Shared folders in the Workstation or Fusion UI (edit the VM settings and choose Options->Enabled shared folders). |
|
152 |
-2. Make sure open-vm-tools is installed (it is installed by default in the Minimal installation and OVA import). |
|
153 |
-3. Run vmware-hgfsclient to list the shares. |
|
154 |
- |
|
155 |
-Next, do one of the following: |
|
156 |
- |
|
157 |
-- Run the following to mount: |
|
158 |
-~~~~ |
|
159 |
-vmhgfs-fuse .host:/$(vmware-hgfsclient) /mnt/hgfs |
|
160 |
-~~~~ |
|
161 |
-OR |
|
162 |
- |
|
163 |
-- Add the following line to /etc/fstab: |
|
164 |
-~~~~ |
|
165 |
-.host:/ /mnt/hgfs fuse.vmhgfs-fuse <options> 0 0 |
|
166 |
-~~~~ |
|
167 |
- |
|
168 |
-## Q. Why is the ISO over 2GB, when I hear that Photon OS is a minimal container runtime? |
|
169 |
-A. ISO includes a repository with all Photon OS packages. When you mount the ISO to a machine and boot to the Photon installer, you'll be able to choose the Photon Minimal installation option and the hypervisor-optimized Linux kernel, which will reduce the storage size. |
|
170 | 1 |
\ No newline at end of file |
... | ... |
@@ -13,13 +13,38 @@ |
13 | 13 |
- [Installation Guide](photon_installation/README.md) |
14 | 14 |
- [Downloading Photon OS](photon_installation/Downloading-Photon-OS.md) |
15 | 15 |
- [Build an ISO from the source code for Photon OS](photon_installation/build-photon.md) |
16 |
+ - [Folder Layout](photon_installation/folder_layout.md) |
|
17 |
+ * [Build Prerequisites](photon_installation/build_prerequisites.md) |
|
18 |
+ * [Building the ISO](photon_installation/build_the_iso.md) |
|
19 |
+ * [Use the Cached Toolchain and RPMS](photon_installation/Use_the_Cached_Toolchain_and_RPMS.md) |
|
20 |
+ * [Use Cached Sources](photon_installation/use_cached_sources.md) |
|
21 |
+ * [View Build Logs](photon_installation/view_build_logs.md) |
|
16 | 22 |
- [Running Photon OS on vSphere](photon_installation/Running-Photon-OS-on-vSphere.md) |
23 |
+ - [Prerequisites](photon_installation/photon_os_vsphere_prerequisites.md) |
|
24 |
+ - [Importing the OVA for Photon OS 3.0](photon_installation/importing_ova_for_photon_os_3.0.md) |
|
25 |
+ - [Installing the ISO Image for Photon OS 3.0](photon_installation/installing-the-iso-image-for-photon-os-30.md) |
|
17 | 26 |
- [Running Photon OS on Fusion](photon_installation/Running-Project-Photon-on-Fusion.md) |
27 |
+ - [Prerequisites](photon_installation/photon_os_fusion_prerequisites.md) |
|
28 |
+ - [Importing the OVA for Photon OS 3.0](photon_installation/importing-the-ova-for-photon-os-3.0-fusion.md) |
|
29 |
+ - [Installing the ISO Image for Photon OS 3.0](photon_installation/installing-the-iso-image-for-photon-os-30-fusion.md) |
|
18 | 30 |
- [Running Photon OS on Workstation](photon_installation/Running-Photon-OS-on-Workstation.md) |
31 |
+ - [Prerequisites](photon_installation/photon_os_workstation_prerequisites.md) |
|
32 |
+ - [Importing the OVA for Photon OS 3.0](photon_installation/importing_ova_for_photon_os_3.0-workstation.md) |
|
33 |
+ - [Installing the ISO Image for Photon OS 2.0](photon_installation/installing-the-iso-image-for-photon-os-30-workstation.md) |
|
19 | 34 |
- [Running Photon OS on AWS EC2](photon_installation/Running-Photon-OS-on-Amazon-Elastic-Cloud-Compute.md) |
35 |
+ - [Prerequisites](photon_installation/photon_os_ecc_prerequisites.md) |
|
36 |
+ - [Set Up Photon OS on EC2](photon_installation/set-up-PhotonOS-on-ec2.md) |
|
37 |
+ - [Deploy a Containerized Application in Photon OS using SSH](photon_installation/deploying-a-containerized-application-in-photon-os-ssh.md) |
|
38 |
+ - [Launch the Web Server with Cloud-Init](photon_installation/launch-web-server-with-cloud-init.md) |
|
39 |
+ - [Terminate the AMI Instance](photon_installation/terminate-the-ami-instance.md) |
|
20 | 40 |
- [Running Photon OS on Microsoft Azure](photon_installation/Running-Photon-OS-on-Microsoft-Azure.md) |
41 |
+ - [Prerequisites](photon_installation/photon-os-azure-prerequisites.md) |
|
42 |
+ - [Set Up Azure Storage and Uploading the VHD](photon_installation/setting-up-azure-storage-and-uploading-the-vhd.md) |
|
43 |
+ - [Remove Photon OS From Azure](photon_installation/remove-photon-os-from-azure.md) |
|
21 | 44 |
- [Running Photon OS on Google Compute Engine](photon_installation/Running-Photon-OS-on-Google-Compute-Engine.md) |
22 |
- - [Photon OS on GCE](photon_installation/gce.md) |
|
45 |
+ - [Prerequisites for Photon OS on GCE](photon_installation/photon-os-gce-prerequisites.md) |
|
46 |
+ - [Installing Photon OS on Google Compute Engine](photon_installation/installing-photon-os-on-google-compute-engine.md) |
|
47 |
+ - [Deploying a Containerized Application in Photon OS](photon_installation/deploying-a-containerized-application-in-photon-os.md) |
|
23 | 48 |
- [Installing and Using Lightwave on Photon OS](photon_installation/Installing-and-Using-Lightwave-on-Photon-OS.md) |
24 | 49 |
- [Installing the Lightwave Server and Configuring It as a Domain Controller on a Photon Image](photon_installation/Installing-Lightwave-Server-and-Setting-Up-a-Domain.md) |
25 | 50 |
- [Installing the Lightwave Client on a Photon Image and Joining the Client to a Domain](photon_installation/Installing-Lightwave-Client-and-Joining-a-Domain.md) |
... | ... |
@@ -78,7 +103,7 @@ |
78 | 78 |
- [Network Configuration Manager - C API](photon_admin/netmgr.c.md) |
79 | 79 |
- [Network Configuration Manager - Python API](photon_admin/netmgr.python.md) |
80 | 80 |
- [Cloud-Init on Photon OS](photon_admin/cloud-init-on-photon-os.md) |
81 |
- - [Deploy Photon OS With `cloud-init`](photon_admin/deploy_photon_with_cloud-init.md |
|
81 |
+ - [Deploy Photon OS With cloud-init](photon_admin/deploy_photon_with_cloud-init.md) |
|
82 | 82 |
- [Creating a Stand-Alone Photon Machine with cloud-init](photon_admin/creating-a-stand-alone-photon-machine-with-cloud-init.md) |
83 | 83 |
- [Customizing a Photon OS Machine on EC2](photon_admin/customizing-a-photon-os-machine-on-ec2.md) |
84 | 84 |
- [Running a Photon OS Machine on GCE](photon_admin/running-a-photon-os-machine-on-gce.md) |
85 | 85 |
deleted file mode 100644 |
... | ... |
@@ -1,437 +0,0 @@ |
1 |
-# |
|
2 |
-# A fatal error has been detected by the Java Runtime Environment: |
|
3 |
-# |
|
4 |
-# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x67f59af3, pid=7412, tid=0x000024d8 |
|
5 |
-# |
|
6 |
-# JRE version: Java(TM) SE Runtime Environment (8.0_121-b13) (build 1.8.0_121-b13) |
|
7 |
-# Java VM: Java HotSpot(TM) Client VM (25.121-b13 mixed mode windows-x86 ) |
|
8 |
-# Problematic frame: |
|
9 |
-# C [awt.dll+0xa9af3] |
|
10 |
-# |
|
11 |
-# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows |
|
12 |
-# |
|
13 |
-# If you would like to submit a bug report, please visit: |
|
14 |
-# http://bugreport.java.com/bugreport/crash.jsp |
|
15 |
-# The crash happened outside the Java Virtual Machine in native code. |
|
16 |
-# See problematic frame for where to report the bug. |
|
17 |
-# |
|
18 |
- |
|
19 |
- |
|
20 |
-Current thread (0x356ee400): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=9432, stack(0x364e0000,0x36530000)] |
|
21 |
- |
|
22 |
-siginfo: ExceptionCode=0xc0000005, reading address 0x00000004 |
|
23 |
- |
|
24 |
-Registers: |
|
25 |
-EAX=0x0000000d, EBX=0x860114b6, ECX=0x00000000, EDX=0x02a3f110 |
|
26 |
-ESP=0x3652dec8, EBP=0x73fd6870, ESI=0x35656a28, EDI=0x3a761f58 |
|
27 |
-EIP=0x67f59af3, EFLAGS=0x00010213 |
|
28 |
- |
|
29 |
-Top of Stack: (sp=0x3652dec8) |
|
30 |
-0x3652dec8: 67ede936 860114b6 3a761f58 356ee540 |
|
31 |
-0x3652ded8: 3652df98 3652e450 67f0b3db 356ee540 |
|
32 |
-0x3652dee8: 3a761f58 3652e450 67f0b3f2 00000001 |
|
33 |
-0x3652def8: 00000000 00000000 67edbb85 356ee540 |
|
34 |
-0x3652df08: 3652e450 356ee400 00000000 3647cb60 |
|
35 |
-0x3652df18: 06ad8bb8 2395d2f8 0696b330 3a7c6608 |
|
36 |
-0x3652df28: 3652e454 356ee540 00000000 00000212 |
|
37 |
-0x3652df38: 3652e678 04a50044 3652e678 046bfafc |
|
38 |
- |
|
39 |
-Instructions: (pc=0x67f59af3) |
|
40 |
-0x67f59ad3: 00 00 c3 8b 41 04 8b 80 0c 0c 00 00 c3 8b 01 83 |
|
41 |
-0x67f59ae3: 78 04 08 7e 03 33 c0 c3 8b 49 04 e9 30 eb fe ff |
|
42 |
-0x67f59af3: 8b 49 04 85 c9 74 05 e9 3e e9 fe ff 33 c0 c2 04 |
|
43 |
-0x67f59b03: 00 8b 49 04 85 c9 74 05 e9 53 e9 fe ff c2 04 00 |
|
44 |
- |
|
45 |
- |
|
46 |
-Register to memory mapping: |
|
47 |
- |
|
48 |
-EAX=0x0000000d is an unknown value |
|
49 |
-EBX=0x860114b6 is an unknown value |
|
50 |
-ECX=0x00000000 is an unknown value |
|
51 |
-EDX=0x02a3f110 is an unknown value |
|
52 |
-ESP=0x3652dec8 is pointing into the stack for thread: 0x356ee400 |
|
53 |
-EBP=0x73fd6870 is an unknown value |
|
54 |
-ESI=0x35656a28 is an unknown value |
|
55 |
-EDI=0x3a761f58 is an unknown value |
|
56 |
- |
|
57 |
- |
|
58 |
-Stack: [0x364e0000,0x36530000], sp=0x3652dec8, free space=311k |
|
59 |
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) |
|
60 |
-C [awt.dll+0xa9af3] |
|
61 |
- |
|
62 |
-Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) |
|
63 |
-J 9605 sun.java2d.windows.GDIBlitLoops.nativeBlit(Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Lsun/java2d/pipe/Region;IIIIIIIIIZ)V (0 bytes) @ 0x04461f58 [0x04461e90+0xc8] |
|
64 |
-j sun.java2d.windows.GDIBlitLoops.Blit(Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;IIIIII)V+33 |
|
65 |
-J 89487 C1 sun.java2d.pipe.DrawImage.blitSurfaceData(Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/SurfaceType;IIIIIILjava/awt/Color;)V (145 bytes) @ 0x04d0bf40 [0x04d0bd20+0x220] |
|
66 |
-J 89489 C1 sun.java2d.pipe.DrawImage.renderImageCopy(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/Color;IIIIII)Z (147 bytes) @ 0x04d0c75c [0x04d0c640+0x11c] |
|
67 |
-J 89508 C1 sun.java2d.pipe.DrawImage.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;)Z (105 bytes) @ 0x0448b870 [0x0448b690+0x1e0] |
|
68 |
-J 89507 C1 sun.java2d.pipe.DrawImage.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z (60 bytes) @ 0x044828e8 [0x04482780+0x168] |
|
69 |
-J 90071 C1 sun.java2d.pipe.ValidatePipe.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z (29 bytes) @ 0x04664ae8 [0x04664a70+0x78] |
|
70 |
-J 89502 C1 sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z (145 bytes) @ 0x046ee30c [0x046ee110+0x1fc] |
|
71 |
-J 89501 C1 sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z (11 bytes) @ 0x0460c880 [0x0460c840+0x40] |
|
72 |
-J 5670 C1 javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Ljavax/swing/JComponent;Ljava/awt/Image;Ljava/awt/Graphics;IIII)V (294 bytes) @ 0x04ba3588 [0x04ba33e0+0x1a8] |
|
73 |
-J 6197 C1 javax.swing.RepaintManager$PaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)Z (189 bytes) @ 0x044a510c [0x044a4ed0+0x23c] |
|
74 |
-J 9480 C1 javax.swing.RepaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)V (93 bytes) @ 0x047763f0 [0x04776200+0x1f0] |
|
75 |
-J 6349 C1 javax.swing.JComponent.paint(Ljava/awt/Graphics;)V (409 bytes) @ 0x0479bc30 [0x0479b8a0+0x390] |
|
76 |
-j java.awt.GraphicsCallback$PaintCallback.run(Ljava/awt/Component;Ljava/awt/Graphics;)V+2 |
|
77 |
-j sun.awt.SunGraphicsCallback.runOneComponent(Ljava/awt/Component;Ljava/awt/Rectangle;Ljava/awt/Graphics;Ljava/awt/Shape;I)V+155 |
|
78 |
-j sun.awt.SunGraphicsCallback.runComponents([Ljava/awt/Component;Ljava/awt/Graphics;I)V+194 |
|
79 |
-j java.awt.Container.paint(Ljava/awt/Graphics;)V+58 |
|
80 |
-j java.awt.Window.paint(Ljava/awt/Graphics;)V+68 |
|
81 |
-J 9473 C1 javax.swing.RepaintManager$4.run()Ljava/lang/Void; (278 bytes) @ 0x0454d4f4 [0x0454d220+0x2d4] |
|
82 |
-J 9472 C1 javax.swing.RepaintManager$4.run()Ljava/lang/Object; (5 bytes) @ 0x0475e820 [0x0475e800+0x20] |
|
83 |
-v ~StubRoutines::call_stub |
|
84 |
-J 558 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x04530b47 [0x04530ae0+0x67] |
|
85 |
-J 5621 C1 javax.swing.RepaintManager.paintDirtyRegions(Ljava/util/Map;)V (196 bytes) @ 0x04b919fc [0x04b91620+0x3dc] |
|
86 |
-J 42029 C1 javax.swing.RepaintManager.paintDirtyRegions()V (50 bytes) @ 0x044df9e4 [0x044df8a0+0x144] |
|
87 |
-J 15502 C1 javax.swing.RepaintManager.prePaintDirtyRegions()V (91 bytes) @ 0x04b8c3f4 [0x04b8c230+0x1c4] |
|
88 |
-J 16217 C1 javax.swing.RepaintManager$ProcessingRunnable.run()V (41 bytes) @ 0x0449c024 [0x0449bef0+0x134] |
|
89 |
-J 4662 C1 java.awt.event.InvocationEvent.dispatch()V (69 bytes) @ 0x04a93c9c [0x04a93bb0+0xec] |
|
90 |
-J 3280 C1 java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V (149 bytes) @ 0x045b5ed0 [0x045b5a10+0x4c0] |
|
91 |
-J 3277 C1 java.awt.EventQueue$3.run()Ljava/lang/Void; (60 bytes) @ 0x0461205c [0x04612000+0x5c] |
|
92 |
-J 3276 C1 java.awt.EventQueue$3.run()Ljava/lang/Object; (5 bytes) @ 0x04612420 [0x04612400+0x20] |
|
93 |
-v ~StubRoutines::call_stub |
|
94 |
-J 558 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x04530b47 [0x04530ae0+0x67] |
|
95 |
-J 3272 C1 java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V (80 bytes) @ 0x045b6988 [0x045b6780+0x208] |
|
96 |
-J 2053 C1 java.awt.EventDispatchThread.pumpOneEventForFilters(I)V (295 bytes) @ 0x0475b850 [0x0475b1c0+0x690] |
|
97 |
-J 8555% C1 java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V (47 bytes) @ 0x049f09b0 [0x049f0900+0xb0] |
|
98 |
-j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 |
|
99 |
-j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 |
|
100 |
-j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 |
|
101 |
-j java.awt.EventDispatchThread.run()V+9 |
|
102 |
-v ~StubRoutines::call_stub |
|
103 |
- |
|
104 |
- |
|
105 |
-Java Threads: ( => current thread ) |
|
106 |
- 0x34e68c00 JavaThread "Detect hyperlinks at caret" daemon [_thread_blocked, id=18560, stack(0x02720000,0x02770000)] |
|
107 |
- 0x39ef0400 JavaThread "Thread-6" daemon [_thread_in_native, id=12800, stack(0x04050000,0x040a0000)] |
|
108 |
- 0x39eef800 JavaThread "Tooltip timer in CC Editor" daemon [_thread_blocked, id=18596, stack(0x3b990000,0x3b9e0000)] |
|
109 |
- 0x39eef000 JavaThread "Brackets Highlighter" [_thread_blocked, id=18440, stack(0x3d960000,0x3d9b0000)] |
|
110 |
- 0x39eefc00 JavaThread "OxygenSingletonChecker-Thread" [_thread_in_native, id=18436, stack(0x3d8d0000,0x3d920000)] |
|
111 |
- 0x39ef0800 JavaThread "DB Sessions Manager fire timer" daemon [_thread_blocked, id=236, stack(0x3b680000,0x3b6d0000)] |
|
112 |
- 0x39eee800 JavaThread "AutomaticallyValidation" daemon [_thread_blocked, id=15736, stack(0x3b040000,0x3b540000)] |
|
113 |
- 0x39eee400 JavaThread "Autosave" daemon [_thread_blocked, id=380, stack(0x3afb0000,0x3b000000)] |
|
114 |
- 0x3559f400 JavaThread "TimerQueue" daemon [_thread_blocked, id=9548, stack(0x39aa0000,0x39af0000)] |
|
115 |
- 0x3589c800 JavaThread "AutomaticallyValidation" daemon [_thread_blocked, id=14680, stack(0x38f70000,0x39470000)] |
|
116 |
- 0x35664400 JavaThread "Autosave" daemon [_thread_blocked, id=13888, stack(0x38d30000,0x38d80000)] |
|
117 |
-=>0x356ee400 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=9432, stack(0x364e0000,0x36530000)] |
|
118 |
- 0x35662c00 JavaThread "AWT-Shutdown" [_thread_blocked, id=16980, stack(0x350b0000,0x35100000)] |
|
119 |
- 0x34bfd000 JavaThread "AWT-Windows" daemon [_thread_in_native, id=14568, stack(0x34f30000,0x34f80000)] |
|
120 |
- 0x34bfb800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=8768, stack(0x349f0000,0x34a40000)] |
|
121 |
- 0x342c1000 JavaThread "Service Thread" daemon [_thread_blocked, id=13732, stack(0x347e0000,0x34830000)] |
|
122 |
- 0x34295000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=4676, stack(0x34750000,0x347a0000)] |
|
123 |
- 0x34294000 JavaThread "Attach Listener" daemon [_thread_blocked, id=17952, stack(0x346c0000,0x34710000)] |
|
124 |
- 0x3429fc00 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=15196, stack(0x34630000,0x34680000)] |
|
125 |
- 0x34288c00 JavaThread "Finalizer" daemon [_thread_blocked, id=12364, stack(0x344b0000,0x34500000)] |
|
126 |
- 0x34273400 JavaThread "Reference Handler" daemon [_thread_blocked, id=12572, stack(0x34420000,0x34470000)] |
|
127 |
- 0x0439e000 JavaThread "main" [_thread_blocked, id=2632, stack(0x00400000,0x00450000)] |
|
128 |
- |
|
129 |
-Other Threads: |
|
130 |
- 0x3426e800 VMThread [stack: 0x34390000,0x343e0000] [id=12312] |
|
131 |
- 0x342c5000 WatcherThread [stack: 0x34870000,0x348c0000] [id=13116] |
|
132 |
- |
|
133 |
-VM state:not at safepoint (normal execution) |
|
134 |
- |
|
135 |
-VM Mutex/Monitor currently owned by a thread: None |
|
136 |
- |
|
137 |
-Heap: |
|
138 |
- PSYoungGen total 204544K, used 27794K [0x236c0000, 0x31080000, 0x32000000) |
|
139 |
- eden space 185856K, 10% used [0x236c0000,0x248eeb58,0x2ec40000) |
|
140 |
- from space 18688K, 49% used [0x2ec40000,0x2f535f08,0x2fe80000) |
|
141 |
- to space 18176K, 0% used [0x2fec0000,0x2fec0000,0x31080000) |
|
142 |
- ParOldGen total 139520K, used 113347K [0x06400000, 0x0ec40000, 0x236c0000) |
|
143 |
- object space 139520K, 81% used [0x06400000,0x0d2b0ea8,0x0ec40000) |
|
144 |
- Metaspace used 46052K, capacity 46410K, committed 46464K, reserved 46464K |
|
145 |
- |
|
146 |
-Card table byte_map: [0x32000000,0x32160000] byte_map_base: 0x31fce000 |
|
147 |
- |
|
148 |
-Marking Bits: (ParMarkBitMap*) 0x71bf1d88 |
|
149 |
- Begin Bits: [0x32450000, 0x32f40000) |
|
150 |
- End Bits: [0x32f40000, 0x33a30000) |
|
151 |
- |
|
152 |
-Polling page: 0x04030000 |
|
153 |
- |
|
154 |
-CodeCache: size=32768Kb used=8317Kb max_used=9585Kb free=24450Kb |
|
155 |
- bounds [0x043a0000, 0x04d38000, 0x063a0000] |
|
156 |
- total_blobs=4388 nmethods=4072 adapters=241 |
|
157 |
- compilation: enabled |
|
158 |
- |
|
159 |
-Compilation events (10 events): |
|
160 |
-Event: 197196.968 Thread 0x34295000 93066 sun.java2d.loops.GraphicsPrimitiveMgr::locate (104 bytes) |
|
161 |
-Event: 197196.969 Thread 0x34295000 nmethod 93066 0x0487b2c8 code [0x0487b420, 0x0487b710] |
|
162 |
-Event: 197196.969 Thread 0x34295000 93067 ! java.awt.GradientPaintContext::<init> (649 bytes) |
|
163 |
-Event: 197196.971 Thread 0x34295000 nmethod 93067 0x0487e7c8 code [0x0487ea00, 0x0487f524] |
|
164 |
-Event: 197196.974 Thread 0x34295000 93068 java.awt.Component::getBackground (29 bytes) |
|
165 |
-Event: 197196.974 Thread 0x34295000 nmethod 93068 0x049ed308 code [0x049ed410, 0x049ed4dc] |
|
166 |
-Event: 197197.526 Thread 0x34295000 93069 sun.awt.geom.Order1::compareTo (347 bytes) |
|
167 |
-Event: 197197.527 Thread 0x34295000 nmethod 93069 0x049b1188 code [0x049b1390, 0x049b1b0c] |
|
168 |
-Event: 197197.528 Thread 0x34295000 93070 sun.awt.geom.Edge::compareTo (118 bytes) |
|
169 |
-Event: 197197.528 Thread 0x34295000 nmethod 93070 0x0487e208 code [0x0487e330, 0x0487e57c] |
|
170 |
- |
|
171 |
-GC Heap History (10 events): |
|
172 |
-Event: 11269.931 GC heap before |
|
173 |
-{Heap before GC invocations=187 (full 8): |
|
174 |
- PSYoungGen total 205312K, used 190662K [0x236c0000, 0x31400000, 0x32000000) |
|
175 |
- eden space 184576K, 100% used [0x236c0000,0x2eb00000,0x2eb00000) |
|
176 |
- from space 20736K, 29% used [0x2ff40000,0x305319f8,0x31380000) |
|
177 |
- to space 20736K, 0% used [0x2eb00000,0x2eb00000,0x2ff40000) |
|
178 |
- ParOldGen total 139520K, used 112979K [0x06400000, 0x0ec40000, 0x236c0000) |
|
179 |
- object space 139520K, 80% used [0x06400000,0x0d254e88,0x0ec40000) |
|
180 |
- Metaspace used 46031K, capacity 46407K, committed 46464K, reserved 46464K |
|
181 |
-Event: 11269.950 GC heap after |
|
182 |
-Heap after GC invocations=187 (full 8): |
|
183 |
- PSYoungGen total 205312K, used 7890K [0x236c0000, 0x312c0000, 0x32000000) |
|
184 |
- eden space 184576K, 0% used [0x236c0000,0x236c0000,0x2eb00000) |
|
185 |
- from space 20736K, 38% used [0x2eb00000,0x2f2b4918,0x2ff40000) |
|
186 |
- to space 19968K, 0% used [0x2ff40000,0x2ff40000,0x312c0000) |
|
187 |
- ParOldGen total 139520K, used 113043K [0x06400000, 0x0ec40000, 0x236c0000) |
|
188 |
- object space 139520K, 81% used [0x06400000,0x0d264e88,0x0ec40000) |
|
189 |
- Metaspace used 46031K, capacity 46407K, committed 46464K, reserved 46464K |
|
190 |
-} |
|
191 |
-Event: 11334.893 GC heap before |
|
192 |
-{Heap before GC invocations=188 (full 8): |
|
193 |
- PSYoungGen total 205312K, used 192466K [0x236c0000, 0x312c0000, 0x32000000) |
|
194 |
- eden space 184576K, 100% used [0x236c0000,0x2eb00000,0x2eb00000) |
|
195 |
- from space 20736K, 38% used [0x2eb00000,0x2f2b4918,0x2ff40000) |
|
196 |
- to space 19968K, 0% used [0x2ff40000,0x2ff40000,0x312c0000) |
|
197 |
- ParOldGen total 139520K, used 113043K [0x06400000, 0x0ec40000, 0x236c0000) |
|
198 |
- object space 139520K, 81% used [0x06400000,0x0d264e88,0x0ec40000) |
|
199 |
- Metaspace used 46031K, capacity 46407K, committed 46464K, reserved 46464K |
|
200 |
-Event: 11334.909 GC heap after |
|
201 |
-Heap after GC invocations=188 (full 8): |
|
202 |
- PSYoungGen total 204288K, used 11110K [0x236c0000, 0x311c0000, 0x32000000) |
|
203 |
- eden space 185344K, 0% used [0x236c0000,0x236c0000,0x2ebc0000) |
|
204 |
- from space 18944K, 58% used [0x2ff40000,0x30a19b60,0x311c0000) |
|
205 |
- to space 19456K, 0% used [0x2ebc0000,0x2ebc0000,0x2fec0000) |
|
206 |
- ParOldGen total 139520K, used 113111K [0x06400000, 0x0ec40000, 0x236c0000) |
|
207 |
- object space 139520K, 81% used [0x06400000,0x0d275e88,0x0ec40000) |
|
208 |
- Metaspace used 46031K, capacity 46407K, committed 46464K, reserved 46464K |
|
209 |
-} |
|
210 |
-Event: 11610.701 GC heap before |
|
211 |
-{Heap before GC invocations=189 (full 8): |
|
212 |
- PSYoungGen total 204288K, used 196454K [0x236c0000, 0x311c0000, 0x32000000) |
|
213 |
- eden space 185344K, 100% used [0x236c0000,0x2ebc0000,0x2ebc0000) |
|
214 |
- from space 18944K, 58% used [0x2ff40000,0x30a19b60,0x311c0000) |
|
215 |
- to space 19456K, 0% used [0x2ebc0000,0x2ebc0000,0x2fec0000) |
|
216 |
- ParOldGen total 139520K, used 113111K [0x06400000, 0x0ec40000, 0x236c0000) |
|
217 |
- object space 139520K, 81% used [0x06400000,0x0d275e88,0x0ec40000) |
|
218 |
- Metaspace used 46049K, capacity 46407K, committed 46464K, reserved 46464K |
|
219 |
-Event: 11610.716 GC heap after |
|
220 |
-Heap after GC invocations=189 (full 8): |
|
221 |
- PSYoungGen total 204800K, used 12716K [0x236c0000, 0x31280000, 0x32000000) |
|
222 |
- eden space 185344K, 0% used [0x236c0000,0x236c0000,0x2ebc0000) |
|
223 |
- from space 19456K, 65% used [0x2ebc0000,0x2f82b2a0,0x2fec0000) |
|
224 |
- to space 19456K, 0% used [0x2ff80000,0x2ff80000,0x31280000) |
|
225 |
- ParOldGen total 139520K, used 113151K [0x06400000, 0x0ec40000, 0x236c0000) |
|
226 |
- object space 139520K, 81% used [0x06400000,0x0d27fe88,0x0ec40000) |
|
227 |
- Metaspace used 46049K, capacity 46407K, committed 46464K, reserved 46464K |
|
228 |
-} |
|
229 |
-Event: 12021.584 GC heap before |
|
230 |
-{Heap before GC invocations=190 (full 8): |
|
231 |
- PSYoungGen total 204800K, used 198060K [0x236c0000, 0x31280000, 0x32000000) |
|
232 |
- eden space 185344K, 100% used [0x236c0000,0x2ebc0000,0x2ebc0000) |
|
233 |
- from space 19456K, 65% used [0x2ebc0000,0x2f82b2a0,0x2fec0000) |
|
234 |
- to space 19456K, 0% used [0x2ff80000,0x2ff80000,0x31280000) |
|
235 |
- ParOldGen total 139520K, used 113151K [0x06400000, 0x0ec40000, 0x236c0000) |
|
236 |
- object space 139520K, 81% used [0x06400000,0x0d27fe88,0x0ec40000) |
|
237 |
- Metaspace used 46051K, capacity 46410K, committed 46464K, reserved 46464K |
|
238 |
-Event: 12021.614 GC heap after |
|
239 |
-Heap after GC invocations=190 (full 8): |
|
240 |
- PSYoungGen total 203520K, used 9471K [0x236c0000, 0x310c0000, 0x32000000) |
|
241 |
- eden space 185856K, 0% used [0x236c0000,0x236c0000,0x2ec40000) |
|
242 |
- from space 17664K, 53% used [0x2ff80000,0x308bfec8,0x310c0000) |
|
243 |
- to space 18688K, 0% used [0x2ec40000,0x2ec40000,0x2fe80000) |
|
244 |
- ParOldGen total 139520K, used 113319K [0x06400000, 0x0ec40000, 0x236c0000) |
|
245 |
- object space 139520K, 81% used [0x06400000,0x0d2a9ea8,0x0ec40000) |
|
246 |
- Metaspace used 46051K, capacity 46410K, committed 46464K, reserved 46464K |
|
247 |
-} |
|
248 |
-Event: 12046.556 GC heap before |
|
249 |
-{Heap before GC invocations=191 (full 8): |
|
250 |
- PSYoungGen total 203520K, used 195327K [0x236c0000, 0x310c0000, 0x32000000) |
|
251 |
- eden space 185856K, 100% used [0x236c0000,0x2ec40000,0x2ec40000) |
|
252 |
- from space 17664K, 53% used [0x2ff80000,0x308bfec8,0x310c0000) |
|
253 |
- to space 18688K, 0% used [0x2ec40000,0x2ec40000,0x2fe80000) |
|
254 |
- ParOldGen total 139520K, used 113319K [0x06400000, 0x0ec40000, 0x236c0000) |
|
255 |
- object space 139520K, 81% used [0x06400000,0x0d2a9ea8,0x0ec40000) |
|
256 |
- Metaspace used 46051K, capacity 46410K, committed 46464K, reserved 46464K |
|
257 |
-Event: 12046.564 GC heap after |
|
258 |
-Heap after GC invocations=191 (full 8): |
|
259 |
- PSYoungGen total 204544K, used 9175K [0x236c0000, 0x31080000, 0x32000000) |
|
260 |
- eden space 185856K, 0% used [0x236c0000,0x236c0000,0x2ec40000) |
|
261 |
- from space 18688K, 49% used [0x2ec40000,0x2f535f08,0x2fe80000) |
|
262 |
- to space 18176K, 0% used [0x2fec0000,0x2fec0000,0x31080000) |
|
263 |
- ParOldGen total 139520K, used 113347K [0x06400000, 0x0ec40000, 0x236c0000) |
|
264 |
- object space 139520K, 81% used [0x06400000,0x0d2b0ea8,0x0ec40000) |
|
265 |
- Metaspace used 46051K, capacity 46410K, committed 46464K, reserved 46464K |
|
266 |
-} |
|
267 |
- |
|
268 |
-Deoptimization events (0 events): |
|
269 |
-No events |
|
270 |
- |
|
271 |
-Internal exceptions (10 events): |
|
272 |
-Event: 12029.843 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x26da75d8) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
273 |
-Event: 12031.924 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x27835228) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
274 |
-Event: 12032.452 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x283416c8) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
275 |
-Event: 12033.949 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2914b838) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
276 |
-Event: 12034.857 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x29ca17c8) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
277 |
-Event: 12035.359 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2a72aeb0) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
278 |
-Event: 12037.776 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2b2ed528) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
279 |
-Event: 12039.552 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2c2b1a00) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
280 |
-Event: 12040.289 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2cd42590) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
281 |
-Event: 12043.506 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2d9f8250) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709] |
|
282 |
- |
|
283 |
-Events (10 events): |
|
284 |
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x0487f788 |
|
285 |
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04881388 |
|
286 |
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04881c08 |
|
287 |
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04884548 |
|
288 |
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04884d48 |
|
289 |
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04885888 |
|
290 |
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04886288 |
|
291 |
-Event: 197196.940 Thread 0x34295000 flushing nmethod 0x049ed248 |
|
292 |
-Event: 197196.941 Thread 0x34295000 flushing nmethod 0x04ae3008 |
|
293 |
-Event: 197196.941 Thread 0x34295000 flushing nmethod 0x04c15ac8 |
|
294 |
- |
|
295 |
- |
|
296 |
-Dynamic libraries: |
|
297 |
-0x00030000 - 0x000d3000 C:\Program Files (x86)\Oxygen XML Author 19\oxygenAuthor19.1.exe |
|
298 |
-0x77370000 - 0x774fd000 C:\windows\SYSTEM32\ntdll.dll |
|
299 |
-0x75180000 - 0x75250000 C:\windows\System32\KERNEL32.DLL |
|
300 |
-0x75c60000 - 0x75e37000 C:\windows\System32\KERNELBASE.dll |
|
301 |
-0x752e0000 - 0x75455000 C:\windows\System32\USER32.dll |
|
302 |
-0x752c0000 - 0x752d6000 C:\windows\System32\win32u.dll |
|
303 |
-0x73fd0000 - 0x73ff2000 C:\windows\System32\GDI32.dll |
|
304 |
-0x75550000 - 0x756ae000 C:\windows\System32\gdi32full.dll |
|
305 |
-0x73f50000 - 0x73fcc000 C:\windows\System32\msvcp_win.dll |
|
306 |
-0x74560000 - 0x74677000 C:\windows\System32\ucrtbase.dll |
|
307 |
-0x75700000 - 0x75778000 C:\windows\System32\ADVAPI32.dll |
|
308 |
-0x75780000 - 0x7583d000 C:\windows\System32\msvcrt.dll |
|
309 |
-0x756b0000 - 0x756f3000 C:\windows\System32\sechost.dll |
|
310 |
-0x73dc0000 - 0x73e7e000 C:\windows\System32\RPCRT4.dll |
|
311 |
-0x73d90000 - 0x73db0000 C:\windows\System32\SspiCli.dll |
|
312 |
-0x73d80000 - 0x73d8a000 C:\windows\System32\CRYPTBASE.dll |
|
313 |
-0x75890000 - 0x758e7000 C:\windows\System32\bcryptPrimitives.dll |
|
314 |
-0x748d0000 - 0x748f5000 C:\windows\System32\IMM32.DLL |
|
315 |
-0x74680000 - 0x748c6000 C:\windows\System32\combase.dll |
|
316 |
-0x73d10000 - 0x73d41000 C:\windows\System32\AwDmRegI.dll |
|
317 |
-0x69960000 - 0x69b71000 C:\windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.16299.371_none_5d75084fa7e1cb96\comctl32.dll |
|
318 |
-0x71860000 - 0x71c2e000 c:\program files (x86)\oxygen xml author 19\jre\bin\client\jvm.dll |
|
319 |
-0x77360000 - 0x77366000 C:\windows\System32\PSAPI.DLL |
|
320 |
-0x72d10000 - 0x72d18000 C:\windows\SYSTEM32\VERSION.dll |
|
321 |
-0x72070000 - 0x7212f000 C:\windows\SYSTEM32\MSVCR100.dll |
|
322 |
-0x73400000 - 0x73424000 C:\windows\SYSTEM32\WINMM.dll |
|
323 |
-0x728e0000 - 0x728e8000 C:\windows\SYSTEM32\WSOCK32.dll |
|
324 |
-0x73e90000 - 0x73ef6000 C:\windows\System32\WS2_32.dll |
|
325 |
-0x733d0000 - 0x733f3000 C:\windows\SYSTEM32\WINMMBASE.dll |
|
326 |
-0x74f00000 - 0x74f38000 C:\windows\System32\cfgmgr32.dll |
|
327 |
-0x71850000 - 0x7185c000 c:\program files (x86)\oxygen xml author 19\jre\bin\verify.dll |
|
328 |
-0x706f0000 - 0x70711000 c:\program files (x86)\oxygen xml author 19\jre\bin\java.dll |
|
329 |
-0x706d0000 - 0x706e3000 c:\program files (x86)\oxygen xml author 19\jre\bin\zip.dll |
|
330 |
-0x76020000 - 0x77353000 C:\windows\System32\SHELL32.dll |
|
331 |
-0x75a60000 - 0x75ae8000 C:\windows\System32\shcore.dll |
|
332 |
-0x74910000 - 0x74ed6000 C:\windows\System32\windows.storage.dll |
|
333 |
-0x73f00000 - 0x73f45000 C:\windows\System32\shlwapi.dll |
|
334 |
-0x73db0000 - 0x73dbe000 C:\windows\System32\kernel.appcore.dll |
|
335 |
-0x750d0000 - 0x75115000 C:\windows\System32\powrprof.dll |
|
336 |
-0x74ee0000 - 0x74ef4000 C:\windows\System32\profapi.dll |
|
337 |
-0x706a0000 - 0x706c8000 C:\Program Files (x86)\Oxygen XML Author 19\.install4j\i4jinst.dll |
|
338 |
-0x744c0000 - 0x74553000 C:\windows\System32\OLEAUT32.dll |
|
339 |
-0x75f20000 - 0x76017000 C:\windows\System32\ole32.dll |
|
340 |
-0x71840000 - 0x7184a000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\management.dll |
|
341 |
-0x70670000 - 0x70691000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\JavaAccessBridge-32.dll |
|
342 |
-0x67eb0000 - 0x67ff6000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\awt.dll |
|
343 |
-0x73bc0000 - 0x73c5a000 C:\windows\SYSTEM32\apphelp.dll |
|
344 |
-0x73350000 - 0x733c9000 C:\windows\system32\uxtheme.dll |
|
345 |
-0x75b10000 - 0x75c54000 C:\windows\System32\MSCTF.dll |
|
346 |
-0x71700000 - 0x71787000 C:\Program Files (x86)\Common Files\Microsoft Shared\Ink\tiptsf.dll |
|
347 |
-0x73320000 - 0x73343000 C:\windows\system32\dwmapi.dll |
|
348 |
-0x70590000 - 0x7066f000 C:\windows\system32\opengl32.dll |
|
349 |
-0x70560000 - 0x70585000 C:\windows\SYSTEM32\GLU32.dll |
|
350 |
-0x6e4f0000 - 0x6e503000 C:\windows\SYSTEM32\CRYPTSP.dll |
|
351 |
-0x6e4c0000 - 0x6e4ef000 C:\windows\system32\rsaenh.dll |
|
352 |
-0x73880000 - 0x73899000 C:\windows\SYSTEM32\bcrypt.dll |
|
353 |
-0x736a0000 - 0x736c2000 C:\windows\SYSTEM32\USERENV.dll |
|
354 |
-0x70540000 - 0x70556000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\net.dll |
|
355 |
-0x721f0000 - 0x72245000 C:\windows\system32\mswsock.dll |
|
356 |
-0x73d50000 - 0x73d80000 C:\windows\SYSTEM32\IPHLPAPI.DLL |
|
357 |
-0x74900000 - 0x74907000 C:\windows\System32\NSI.dll |
|
358 |
-0x68590000 - 0x685a3000 C:\windows\SYSTEM32\dhcpcsvc6.DLL |
|
359 |
-0x68570000 - 0x68584000 C:\windows\SYSTEM32\dhcpcsvc.DLL |
|
360 |
-0x70530000 - 0x7053f000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\nio.dll |
|
361 |
-0x35ea0000 - 0x35edd000 C:\Program Files (x86)\Oxygen XML Author 19\lib\com\sun\jna\win32-x86\jnidispatch.dll |
|
362 |
-0x6b7a0000 - 0x6b7d9000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\fontmanager.dll |
|
363 |
-0x754c0000 - 0x75542000 C:\windows\System32\clbcatq.dll |
|
364 |
-0x64040000 - 0x641de000 C:\Windows\System32\uiautomationcore.dll |
|
365 |
-0x69dc0000 - 0x69e46000 C:\windows\SYSTEM32\sxs.dll |
|
366 |
-0x66010000 - 0x6609c000 C:\Windows\System32\CoreMessaging.dll |
|
367 |
-0x6b760000 - 0x6b792000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\t2k.dll |
|
368 |
-0x63e00000 - 0x64034000 C:\Windows\System32\CoreUIComponents.dll |
|
369 |
-0x72db0000 - 0x72dd8000 C:\windows\SYSTEM32\ntmarta.dll |
|
370 |
-0x6ae60000 - 0x6af2b000 C:\windows\SYSTEM32\wintypes.dll |
|
371 |
-0x6b730000 - 0x6b754000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\dcpr.dll |
|
372 |
-0x73610000 - 0x7369e000 C:\windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.16299.371_none_d02abd455f338e37\comctl32.dll |
|
373 |
-0x6b710000 - 0x6b726000 C:\Program Files (x86)\Oxygen XML Author 19\lib\WindowsNativeHelper32.dll |
|
374 |
-0x75e40000 - 0x75f14000 C:\windows\System32\COMDLG32.dll |
|
375 |
-0x6b6f0000 - 0x6b710000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\sunec.dll |
|
376 |
-0x72290000 - 0x722a1000 C:\windows\system32\napinsp.dll |
|
377 |
-0x72270000 - 0x72286000 C:\windows\system32\pnrpnsp.dll |
|
378 |
-0x72250000 - 0x72263000 C:\windows\system32\NLAapi.dll |
|
379 |
-0x72150000 - 0x721e4000 C:\windows\SYSTEM32\DNSAPI.dll |
|
380 |
-0x72140000 - 0x7214c000 C:\windows\System32\winrnr.dll |
|
381 |
-0x72130000 - 0x72140000 C:\windows\System32\wshbth.dll |
|
382 |
-0x6a210000 - 0x6a25e000 C:\windows\System32\fwpuclnt.dll |
|
383 |
-0x71da0000 - 0x71da8000 C:\Windows\System32\rasadhlp.dll |
|
384 |
-0x6b6e0000 - 0x6b6e9000 C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\sunmscapi.dll |
|
385 |
-0x74f40000 - 0x750c2000 C:\windows\System32\CRYPT32.dll |
|
386 |
-0x73e80000 - 0x73e8e000 C:\windows\System32\MSASN1.dll |
|
387 |
-0x69d40000 - 0x69db7000 C:\windows\System32\TextInputFramework.dll |
|
388 |
-0x735a0000 - 0x735f6000 C:\Windows\System32\OLEACC.dll |
|
389 |
-0x6a790000 - 0x6a7fe000 C:\windows\SYSTEM32\twinapi.dll |
|
390 |
-0x68c20000 - 0x68d54000 C:\windows\SYSTEM32\twinapi.appcore.dll |
|
391 |
-0x6b660000 - 0x6b67a000 C:\windows\SYSTEM32\RMCLIENT.dll |
|
392 |
-0x3ce40000 - 0x3cea1000 \\?\C:\PROGRA~2\OXYGEN~1\lib\hunspell\HUNSPE~1.DLL |
|
393 |
-0x66b80000 - 0x66cee000 C:\windows\SYSTEM32\WindowsCodecs.dll |
|
394 |
-0x6e510000 - 0x6e558000 C:\windows\system32\dataexchange.dll |
|
395 |
-0x6a050000 - 0x6a14e000 C:\windows\system32\dcomp.dll |
|
396 |
-0x68d60000 - 0x68f9e000 C:\windows\system32\d3d11.dll |
|
397 |
-0x6b510000 - 0x6b5a3000 C:\windows\system32\dxgi.dll |
|
398 |
-0x6bb90000 - 0x6bbcd000 C:\windows\SYSTEM32\edputil.dll |
|
399 |
-0x6b1c0000 - 0x6b1d6000 C:\windows\SYSTEM32\CLDAPI.dll |
|
400 |
-0x6b180000 - 0x6b1b6000 C:\windows\SYSTEM32\AEPIC.dll |
|
401 |
-0x6b170000 - 0x6b178000 C:\windows\SYSTEM32\FLTLIB.DLL |
|
402 |
-0x736e0000 - 0x7385b000 C:\windows\SYSTEM32\PROPSYS.dll |
|
403 |
-0x6ddc0000 - 0x6df4c000 C:\windows\SYSTEM32\urlmon.dll |
|
404 |
-0x75af0000 - 0x75b09000 C:\windows\System32\imagehlp.dll |
|
405 |
-0x722b0000 - 0x724ca000 C:\windows\SYSTEM32\iertutil.dll |
|
406 |
-0x6b040000 - 0x6b09e000 C:\windows\SYSTEM32\msiso.dll |
|
407 |
-0x70840000 - 0x709c1000 C:\windows\SYSTEM32\dbghelp.dll |
|
408 |
- |
|
409 |
-VM Arguments: |
|
410 |
-jvm_args: -Dexe4j.semaphoreName=Local\c:_program_files_(x86)_oxygen_xml_author_19_oxygenauthor19.1.exe -Dexe4j.isInstall4j=true -Dexe4j.moduleName=C:\Program Files (x86)\Oxygen XML Author 19\oxygenAuthor19.1.exe -Dexe4j.tempDir= -Dexe4j.unextractedPosition=0 -Djava.library.path=C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\RSA SecurID Token Common;C:\Program Files\RSA SecurID Token Common;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Perforce;C:\Program Files\Perforce\DVCS\;C:\Program Files\Go\bin;C:\Program Files\nodejs\;C:\Users\vasudevanv\Desktop\vic;C:\Users\vasudevanv\Desktop\vic_19917.tar\vic_19917\vic;C:\Users\vasudevanv\AppData\Local\Microsoft\WindowsApps;C:\Users\vasudevanv\go\bin;C:\Users\vasudevanv\AppData\Roaming\npm;C:\AWork\VIC\VIC-Deployment\vic;C:\Users\vasudevanv\Desktop\vic_19917.tar\vic_19917\vic;;c:\program files (x86)\oxygen xml author 19\jre\bin -Dexe4j.consoleCodepage=cp0 -Dcom.oxygenxml.app.descriptor=ro.sync.exml.AuthorFrameDescriptor -XX:-OmitStackTraceInFastThrow -XX:SoftRefLRUPolicyMSPerMB=10 -Dsun.java2d.noddraw=true -Dsun.awt.nopixfmt=true -Dsun.java2d.dpiaware=true -Djava.net.preferIPv4Stack=true -Dsun.awt.keepWorkingSetOnMinimize=true -Dinstall4j.launcherId=19 -Dinstall4j.swt=false -Xmx700m -Dcom.oxygenxml.language=English -XX:+UseParallelGC -XX:ErrorFile=C:\Users\VASUDE~1\AppData\Local\Temp\/oxy_jvm_crash.log -XX:OnError=C:\Program Files (x86)\Oxygen XML Author 19/rp.exe |
|
411 |
-java_command: C:\Program Files (x86)\Oxygen XML Author 19\oxygenAuthor19.1.exe |
|
412 |
-java_class_path (initial): C:\Program Files (x86)\Oxygen XML Author 19\.install4j\i4jruntime.jar;C:\Program Files (x86)\Oxygen XML Author 19\.\lib\oxygenAuthor.jar |
|
413 |
-Launcher Type: generic |
|
414 |
- |
|
415 |
-Environment Variables: |
|
416 |
-PATH=C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\RSA SecurID Token Common;C:\Program Files\RSA SecurID Token Common;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Perforce;C:\Program Files\Perforce\DVCS\;C:\Program Files\Go\bin;C:\Program Files\nodejs\;C:\Users\vasudevanv\Desktop\vic;C:\Users\vasudevanv\Desktop\vic_19917.tar\vic_19917\vic;C:\Users\vasudevanv\AppData\Local\Microsoft\WindowsApps;C:\Users\vasudevanv\go\bin;C:\Users\vasudevanv\AppData\Roaming\npm;C:\AWork\VIC\VIC-Deployment\vic;C:\Users\vasudevanv\Desktop\vic_19917.tar\vic_19917\vic;;c:\program files (x86)\oxygen xml author 19\jre\bin |
|
417 |
-USERNAME=vasudevanv |
|
418 |
-OS=Windows_NT |
|
419 |
-PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 9, GenuineIntel |
|
420 |
- |
|
421 |
- |
|
422 |
- |
|
423 |
- |
|
424 |
-OS: Windows 10.0 , 64 bit Build 16299 (10.0.16299.15) |
|
425 |
- |
|
426 |
-CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 142 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, rtm, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx |
|
427 |
- |
|
428 |
-Memory: 4k page, physical 16658884k(8676108k free), swap 19149252k(8924604k free) |
|
429 |
- |
|
430 |
-vm_info: Java HotSpot(TM) Client VM (25.121-b13) for windows-x86 JRE (1.8.0_121-b13), built on Dec 12 2016 18:17:00 by "java_re" with MS VC++ 10.0 (VS2010) |
|
431 |
- |
|
432 |
-time: Sun Nov 18 17:26:10 2018 |
|
433 |
-elapsed time: 197197 seconds (2d 6h 46m 37s) |
|
434 |
- |
... | ... |
@@ -59,7 +59,7 @@ |
59 | 59 |
- [Network Configuration Manager - C API](netmgr.c.md) |
60 | 60 |
- [Network Configuration Manager - Python API](netmgr.python.md) |
61 | 61 |
- [Cloud-Init on Photon OS](cloud-init-on-photon-os.md) |
62 |
- - [Deploy Photon OS With `cloud-init`](deploy_photon_with_cloud-init.md |
|
62 |
+ - [Deploy Photon OS With cloud-init](deploy_photon_with_cloud-init.md) |
|
63 | 63 |
- [Creating a Stand-Alone Photon Machine with |
64 | 64 |
cloud-init](creating-a-stand-alone-photon-machine-with-cloud-init.md) |
65 | 65 |
- [Customizing a Photon OS Machine on |
... | ... |
@@ -2,7 +2,7 @@ |
2 | 2 |
|
3 | 3 |
The minimal and full versions of Photon OS include the cloud-init service as a built-in component. Cloud-init is a set of Python scripts that initialize cloud instances of Linux machines. The cloud-init scripts configure SSH keys and run commands to customize the machine without user interaction. The commands can set the root password, create a hostname, configure networking, write files to disk, upgrade packages, run custom scripts, and restart the system. |
4 | 4 |
|
5 |
-- [Deploy Photon OS With `cloud-init`](deploy_photon_with_cloud-init.md) |
|
5 |
+- [Deploy Photon OS With cloud-init](deploy_photon_with_cloud-init.md) |
|
6 | 6 |
- [Creating a Stand-Alone Photon Machine with cloud-init](creating-a-stand-alone-photon-machine-with-cloud-init.md) |
7 | 7 |
- [Customizing a Photon OS Machine on EC2](customizing-a-photon-os-machine-on-ec2.md) |
8 | 8 |
- [Running a Photon OS Machine on GCE](running-a-photon-os-machine-on-gce.md) |
9 | 9 |
\ No newline at end of file |
... | ... |
@@ -4,8 +4,8 @@ Project Lightwave is an open-sourced project that provides enterprise-grade iden |
4 | 4 |
|
5 | 5 |
## Procedure |
6 | 6 |
|
7 |
-1. [Installing the Lightwave Server and Configuring It as a Domain Controller on a Photon Image](Installing-Lightwave-Server-and-Setting-Up-a-Domain.md) |
|
8 |
-2. [Installing the Lightwave Client on a Photon Image and Joining the Client to a Domain](Installing-Lightwave-Client-and-Joining-a-Domain.md) |
|
9 |
-3. [Installing the Photon Management Daemon on a Lightwave Client](Installing-the-Photon-Management-Daemon-on-a-Lightwave-Client.md) |
|
10 |
-4. [Remotely Upgrade a Single Photon OS Machine With Lightwave Client and Photon Management Daemon Installed](Remotely-Upgrade-a-Photon-OS-Machine-With-Lightwave-Client-and-Photon-Management-Daemon-Installed.md) |
|
11 |
-5. [Remotely Upgrade Multiple Photon OS Machines With Lightwave Client and Photon Management Daemon Installed](Remotely-Upgrade-Photon-OS-Machine-With-Lightwave-Client-and-Photon-Management-Daemon-Installed.md) |
|
7 |
+- [Installing the Lightwave Server and Configuring It as a Domain Controller on a Photon Image](Installing-Lightwave-Server-and-Setting-Up-a-Domain.md) |
|
8 |
+- [Installing the Lightwave Client on a Photon Image and Joining the Client to a Domain](Installing-Lightwave-Client-and-Joining-a-Domain.md) |
|
9 |
+- [Installing the Photon Management Daemon on a Lightwave Client](Installing-the-Photon-Management-Daemon-on-a-Lightwave-Client.md) |
|
10 |
+- [Remotely Upgrade a Single Photon OS Machine With Lightwave Client and Photon Management Daemon Installed](Remotely-Upgrade-a-Photon-OS-Machine-With-Lightwave-Client-and-Photon-Management-Daemon-Installed.md) |
|
11 |
+- [Remotely Upgrade Multiple Photon OS Machines With Lightwave Client and Photon Management Daemon Installed](Remotely-Upgrade-Photon-OS-Machine-With-Lightwave-Client-and-Photon-Management-Daemon-Installed.md) |
... | ... |
@@ -1,262 +1,12 @@ |
1 | 1 |
# Running Photon OS on Amazon Elastic Cloud Compute |
2 | 2 |
|
3 |
-This guide describes how to get Photon OS up and running on Amazon Web Services Elastic Cloud Compute (EC2), customize Photon with cloud-init, connect to it with SSH, and run a containerized application. |
|
4 |
- |
|
5 |
-## About Photon OS? |
|
6 |
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](#https://vmware.github.io/photon/). |
|
7 |
- |
|
8 |
-## Prerequisites |
|
9 |
- |
|
10 |
-Using Photon OS within AWS EC2 requires the following resources: |
|
11 |
- |
|
12 |
-- **AWS account**. Working with EC2 requires an Amazon account for AWS with valid payment information. Keep in mind that, if you try the examples in this document, you will be charged by Amazon. See [Setting Up with Amazon EC2](#http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html). |
|
13 |
-- **Amazon tools**. The following examples also assume that you have installed and configured the Amazon AWS CLI and the EC2 CLI and AMI tools, including ec2-ami-tools. |
|
14 |
- |
|
15 |
-See [Installing the AWS Command Line Interface](#http://docs.aws.amazon.com/cli/latest/userguide/installing.html), [Setting Up the Amazon EC2 Command Line Interface Tools on Linux](#http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html), and [Configuring AWS Command-Line Interface](#http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html). Also see [Setting Up the AMI Tools](#http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html). |
|
16 |
-This article uses an Ubuntu 14.04 workstation to generate the keys and certificates that AWS requires. |
|
17 |
- |
|
18 |
-## Downloading the Photon OS Image for Amazon |
|
19 |
- |
|
20 |
-VMware packages Photon OS as a cloud-ready Amazon machine image (AMI) that you can download for free from [Bintray](https://bintray.com/vmware/photon). |
|
21 |
- |
|
22 |
-Download the Photon OS AMI now and save it on your workstation. For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
23 |
- |
|
24 |
-**Note**: The AMI version of Photon is a virtual appliance with the information and packages that Amazon needs to launch an instance of Photon in the cloud. To build the AMI version, VMware starts with the minimal version of Photon OS and adds the sudo and tar packages to it. |
|
25 |
- |
|
26 |
-## Getting Photon OS Up and Running on EC2 |
|
27 |
- |
|
28 |
-To run Photon OS on EC2, you must use cloud-init with an EC2 data source. The cloud-init service configures the cloud instance of a Linux image. An _instance_ is a virtual server in the Amazon cloud. |
|
29 |
- |
|
30 |
-The examples in this article show how to generate SSH and RSA keys for your Photon instance, upload the Photon OS `.ami` image to the Amazon cloud, and configure it with cloud-init. In many of the examples, you must replace information with your own paths, account details, or other information from Amazon. |
|
31 |
- |
|
32 |
-### Step 1: Create a Key Pair |
|
33 |
- |
|
34 |
-The first step is to generate SSH keys on, for instance, an Ubuntu workstation: |
|
35 |
- |
|
36 |
- ssh-keygen -f ~/.ssh/mykeypair |
|
37 |
- |
|
38 |
-The command generates a public key in the file with a `.pub` extension and a private key in a file with no extension. Keep the private key file and remember the name of your key pair; the name is the file name of the two files without an extension. You'll need the name later to connect to the Photon instance. |
|
39 |
- |
|
40 |
-Change the mode bits of the public key pair file to protect its security. In the command, include the path to the file if you need to. |
|
41 |
- |
|
42 |
- chown 600 mykeypair.pub |
|
43 |
- |
|
44 |
-Change the mode bits on your private key pair file so that only you can view it: |
|
45 |
- |
|
46 |
- chmod 400 mykeypair |
|
47 |
- |
|
48 |
-To import your public key pair file (but not your private key pair file), connect to the EC2 console at https://console.aws.amazon.com/ec2/ and select the region for the key pair. A key pair works in only one region, and the instance of Photon that will be uploaded later must be in the same region as the key pair. Select `key pairs` under `Network & Security`, and then import the public key pair file that you generated earlier. |
|
49 |
- |
|
50 |
-For more information, see [Importing Your Own Key Pair to Amazon EC2](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws). |
|
51 |
- |
|
52 |
-### Step 2: Generate a Certificate |
|
53 |
- |
|
54 |
-When you bundle up an image for EC2, Amazon requires an RSA user signing certificate. You create the certificate by using openssl to first generate a private RSA key and then to generate the RSA certificate that references the private RSA key. Amazon uses the pairing of the private key and the user signing certificate for handshake verification. |
|
55 |
- |
|
56 |
-First, on Ubuntu 14.04 or another workstation that includes openssl, run the following command to generate a private key. If you change the name of the key, keep in mind that you will need to include the name of the key in the next command, which generates the certificate. |
|
57 |
- |
|
58 |
- openssl genrsa 2048 > myprivatersakey.pem |
|
59 |
- |
|
60 |
-Remember where you store your private key locally; you'll need it again later. |
|
61 |
- |
|
62 |
-Second, run the following command to generate the certificate. The command prompts you to provide more information, but because you are generating a user signing certificate, not a server certificate, you can just type `Enter` for each prompt to leave all the fields blank. |
|
63 |
- |
|
64 |
- openssl req -new -x509 -nodes -sha256 -days 365 -key myprivatersakey.pem -outform PEM -out certificate.pem |
|
65 |
- |
|
66 |
-For more information, see the Create a Private Key and the Create the User Signing Certificate sections of [Setting Up the AMI Tools](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html#ami-upload-bundle). |
|
67 |
- |
|
68 |
-Third, upload to AWS the certificate value from the `certificate.pem` file that you created in the previous command. Go to the Identity and Access Management console at https://console.aws.amazon.com/iam/, navigate to the name of your user, open the `Security Credentials` section, click `Manage Signing Certificates`, and then click `Upload Signing Certificate`. Open `certificate.pem` in a text editor, copy and paste the contents of the file into the `Certificate Body` field, and then click `Upload Signing Certificate`. |
|
69 |
- |
|
70 |
-For more information, see the Upload the User Signing Certificate section of [Setting Up the AMI Tools](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html#ami-upload-bundle). |
|
71 |
- |
|
72 |
-### Step 3: Create a Security Group |
|
73 |
- |
|
74 |
-The next prerequisite is to create a security group and set it to allow SSH, HTTP, and HTTPS connections over ports 22, 80, and 443, respectively. Connect to the EC2 command-line interface and run the following commands: |
|
75 |
- |
|
76 |
- aws ec2 create-security-group --group-name photon-sg --description "My Photon security group" |
|
77 |
- { |
|
78 |
- "GroupId": "sg-d027efb4" |
|
79 |
- } |
|
80 |
- aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 22 --cidr 0.0.0.0/0 |
|
81 |
- |
|
82 |
-The `GroupId` is returned by EC2. Write it down; you'll need it later. |
|
83 |
- |
|
84 |
-By using `0.0.0.0/0` for SSH ingress on Port 22, you are opening the port to all IP addresses--which is not a security best practice but a convenience for the examples in this article. For a production instance or other instances that are anything more than temporary machines, you should authorize only a specific IP address or range of addresses. See Amazon's document on [Authorizing Inbound Traffic for Linux Instances](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html). |
|
85 |
- |
|
86 |
-Repeat the command to allow incoming traffic on Port 80 and on Port 443: |
|
87 |
- |
|
88 |
- aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 80 --cidr 0.0.0.0/0 |
|
89 |
- |
|
90 |
- aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 443 --cidr 0.0.0.0/0 |
|
91 |
- |
|
92 |
-Check your work: |
|
93 |
- |
|
94 |
- aws ec2 describe-security-groups --group-names photon-sg |
|
95 |
- |
|
96 |
-### Step 4: Extract the Tarball |
|
97 |
- |
|
98 |
-Next, make a directory to store the image, and then extract the Photon OS image from its archive by running the following `tar` command. (You might have to change the file name to match the version you have.) |
|
99 |
- |
|
100 |
- mkdir bundled |
|
101 |
- tar -zxvf ./photon-ami.tar.gz |
|
102 |
- |
|
103 |
-### Step 5: Bundle the Image |
|
104 |
- |
|
105 |
-The next step is to run the `ec2-bundle-image` command to create an instance store-backed Linux AMI from the Photon OS image that you extracted in the previous step. The result of the `ec2-bundle-image` command is a manifest that describes the machine in an XML file. |
|
106 |
- |
|
107 |
-The command uses the certificate path to your PEM-encoded RSA public key certificate file; the path to your PEM-encoded RSA private key file; your EC2 user account ID; the correct architecture for Photon OS; the path to the Photon OS AMI image extracted from its tar file; and the `bundled` directory from the previous step. |
|
108 |
- |
|
109 |
-You must replace the values of the certificate path, the private key, and the user account with your own values. |
|
110 |
- |
|
111 |
- $ ec2-bundle-image --cert certificate.pem --privatekey myprivatersakey.pem --user <EC2 account id> --arch x86_64 --image photon-ami.raw --destination ./bundled/ |
|
112 |
- |
|
113 |
-### Step 6: Put the Bundle in a Bucket |
|
114 |
- |
|
115 |
-Next, make an S3 bucket, replacing `<bucket-name>` with the name that you want. The command creates the bucket in the region specified in your Amazon configuration file, which should be the same region in which you are using your key pair file: |
|
116 |
- |
|
117 |
- $ aws s3 mb s3://<bucket-name> |
|
118 |
- |
|
119 |
-Now upload the bundle to the Amazon S3 cloud. The following command includes the path to the XML file containing the manifest for the Photon OS machine created during the previous step, though you might have to change the file name to match the version you have. The manifest file is typically located in the same directory as the bundle. |
|
120 |
- |
|
121 |
-The command also includes the name of the Amazon S3 bucket in which the bundle is to be stored; your AWS access key ID; and your AWS secret access key. |
|
122 |
- |
|
123 |
- $ ec2-upload-bundle --manifest ./bundled/photon-ami.manifest.xml --bucket <bucket-name> --access-key <Account Access Key> --secret-key <Account Secret key> |
|
124 |
- |
|
125 |
-### Step 7: Register the Image |
|
126 |
- |
|
127 |
-The final step in creating an AMI before you can launch it is to register it. The following command includes a name for the AMI, its architecture, and its virtualization type. The virtualization type for Photon OS is `hvm`. |
|
128 |
- |
|
129 |
- $ ec2-register <bucket-name>/photon-ami.manifest.xml --name photon-ami --architecture x86_64 --virtualization-type hvm |
|
130 |
- |
|
131 |
-Once registered, you can launch as many new instances as you want. |
|
132 |
- |
|
133 |
-### Step 8: Run an Instance of the Image with Cloud-Init |
|
134 |
- |
|
135 |
-Now things get a little tricky. In the following command, the `user-data-file` option instructs cloud-init to import the cloud-config data in `user-data.txt`. |
|
136 |
- |
|
137 |
-The command also includes the ID of the AMI, which you can obtain by running `ec2-describe-images`; the instance type of `m3.medium`, which is a general purpose instance type; and the name of key pair, which should be replaced with your own--otherwise, you won't be able to connect to the instance. |
|
138 |
- |
|
139 |
-Before you run the command, change directories to the directory containing the `mykeypair` file and add the path to the `user-data.txt`. |
|
140 |
- |
|
141 |
- $ ec2-run-instances <ami-ID> --instance-type m3.medium -g photon-sg --key mykeypair --user-data-file user-data.txt |
|
142 |
- |
|
143 |
-Here are the contents of the `user-data.txt` file that cloud-init applies to the machine the first time it boots up in the cloud. |
|
144 |
- |
|
145 |
- #cloud-config |
|
146 |
- hostname: photon-on-01 |
|
147 |
- groups: |
|
148 |
- - cloud-admins |
|
149 |
- - cloud-users |
|
150 |
- users: |
|
151 |
- - default |
|
152 |
- - name: photonadmin |
|
153 |
- gecos: photon test admin user |
|
154 |
- primary-group: cloud-admins |
|
155 |
- groups: cloud-users |
|
156 |
- lock-passwd: false |
|
157 |
- passwd: vmware |
|
158 |
- - name: photonuser |
|
159 |
- gecos: photon test user |
|
160 |
- primary-group: cloud-users |
|
161 |
- groups: users |
|
162 |
- passwd: vmware |
|
163 |
- packages: |
|
164 |
- - vim |
|
165 |
- |
|
166 |
-### Step 9: Get the IP Address of Your Image |
|
167 |
- |
|
168 |
-Now run the following command to check on the state of the instance that you launched: |
|
169 |
- |
|
170 |
- $ ec2-describe-instances |
|
171 |
- |
|
172 |
-Finally, you can obtain the external IP address of the instance by running the following query: |
|
173 |
- |
|
174 |
- $ aws ec2 describe-instances --instance-ids <instance-id> --query 'Reservations[*].Instances[*].PublicIpAddress' --output=text |
|
175 |
- |
|
176 |
-If need be, check the cloud-init output log file on EC2 at `/var/log/cloud-init-output.log` to see how EC2 handled the settings in the cloud-init data file. |
|
177 |
- |
|
178 |
-For more information on using cloud-init user data on EC2, see [Running Commands on Your Linux Instance at Launch](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html). |
|
179 |
- |
|
180 |
-## Deploy a Containerized Application in Photon OS |
|
181 |
- |
|
182 |
-This section shows you how to connect to the Photon instance by using SSH and to launch a web server by running it in Docker. |
|
183 |
- |
|
184 |
-### Step 1: Connect with SSH |
|
185 |
- |
|
186 |
-Connect to the instance over SSH by specifying the private key (.pem) file and the user name for the Photon machine, which is `root`: |
|
187 |
- |
|
188 |
- ssh -i ~/.ssh/mykeypair root@<public-ip-address-of-instance> |
|
189 |
- |
|
190 |
-For complete instructions, see [Connecting to Your Linux Instance Using SSH](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html). |
|
191 |
- |
|
192 |
-### Step 2: Run Docker |
|
193 |
- |
|
194 |
-On the minimal version of Photon OS, the docker engine is enabled and running by default, which you can see by running the following command: |
|
195 |
- |
|
196 |
- systemctl status docker |
|
197 |
- |
|
198 |
-### Step 3: Start the Web Server |
|
199 |
- |
|
200 |
-**Note**: Please make sure that the proper security policies have been enabled on the Amazon AWS side to enable traffic to port 80 on the VM. |
|
201 |
- |
|
202 |
-Since Docker is running, you can run an application in a container--for example, the Nginx Web Server. This example uses the popular open source web server Nginx. The Nginx application has a customized VMware package that the Docker engine can download directly from the Docker Hub. |
|
203 |
- |
|
204 |
-To pull Nginx from its Docker Hub and start it, run the following command: |
|
205 |
- |
|
206 |
- docker run -p 80:80 vmwarecna/nginx |
|
207 |
- |
|
208 |
-The Nginx web server should be bound to the public DNS value for the instance of Photon OS--that is, the same address with which you connected over SSH. |
|
209 |
- |
|
210 |
-### Step 4: Test the Web Server |
|
211 |
- |
|
212 |
-On your local workstation, open a web browser and go to the the public address of the Photon OS instance running Docker. The following screen should appear, showing that the web server is active: |
|
213 |
- |
|
214 |
-![Nginx](images/Nginx.jpg) |
|
215 |
- |
|
216 |
-When you're done, halt the Docker container by typing `Ctrl+c` in the SSH console where you are connected to EC2. |
|
217 |
- |
|
218 |
-You can now run other containerized applications from the Docker Hub or your own containerized application on Photon OS in the Amazon cloud. |
|
219 |
- |
|
220 |
-## Launching the Web Server with Cloud-Init |
|
221 |
- |
|
222 |
-To eliminate the manual effort of running Docker, you can add `docker run` and its arguments to the cloud-init user data file by using `runcmd`: |
|
223 |
- |
|
224 |
- #cloud-config |
|
225 |
- hostname: photon-on-01 |
|
226 |
- groups: |
|
227 |
- - cloud-admins |
|
228 |
- - cloud-users |
|
229 |
- users: |
|
230 |
- - default |
|
231 |
- - name: photonadmin |
|
232 |
- gecos: photon test admin user |
|
233 |
- primary-group: cloud-admins |
|
234 |
- groups: cloud-users |
|
235 |
- lock-passwd: false |
|
236 |
- passwd: vmware |
|
237 |
- - name: photonuser |
|
238 |
- gecos: photon test user |
|
239 |
- primary-group: cloud-users |
|
240 |
- groups: users |
|
241 |
- passwd: vmware |
|
242 |
- packages: |
|
243 |
- - vim |
|
244 |
- runcmd: |
|
245 |
- - docker run -p 80:80 vmwarecna/nginx |
|
246 |
- |
|
247 |
-To try this addition, you'll have to run another instance with this new cloud-init data source and then get the instance's public IP address to check that the Nginx web server is running. |
|
248 |
- |
|
249 |
-## Terminating the AMI Instance |
|
250 |
- |
|
251 |
-Because Amazon charges you while the instance is running, make sure to shut it down when you're done. |
|
252 |
- |
|
253 |
-First, get the ID of the AMI so you can terminate it: |
|
254 |
- |
|
255 |
- $ ec2-describe-instances |
|
256 |
- |
|
257 |
-Finally, terminate the Photon OS instance by running the following command, replacing the placeholder with the ID that the `ec2-describe-images` command returned. If you ran a second instance of Photon OS with the cloud-init file that runs docker, terminate that instance, too. |
|
258 |
- |
|
259 |
- $ ec2-terminate-instances <instance-id> |
|
260 |
- |
|
3 |
+You can set up Photon OS on Amazon Web Services Elastic Cloud Compute (EC2), customize it with cloud-init, connect to it with SSH. |
|
261 | 4 |
|
5 |
+After you set up Photon OS, you can run a containerized application. |
|
262 | 6 |
|
7 |
+- [Prerequisites](photon_os_ecc_prerequisites.md) |
|
8 |
+- [Set Up Photon OS on EC2](set-up-PhotonOS-on-ec2.md) |
|
9 |
+- [Deploy a Containerized Application in Photon OS using SSH](deploying-a-containerized-application-in-photon-os-ssh.md) |
|
10 |
+- [Launch the Web Server with Cloud-Init](launch-web-server-with-cloud-init.md) |
|
11 |
+- [Terminate the AMI Instance](terminate-the-ami-instance.md) |
|
12 |
+ |
... | ... |
@@ -1,117 +1,6 @@ |
1 | 1 |
# Running Photon OS on Google Compute Engine |
2 | 2 |
|
3 |
-This guide describes how to get started using Photon OS as a virtual machine on Google Compute Engine (GCE). Once Photon OS is installed as an image on GCE, this document shows how to deploy a containerized application in Docker with a single command. |
|
3 |
+You can use Photon OS as a virtual machine on Google Compute Engine (GCE). You can download Photon OS, as an OVA or ISO file, and install the Photon OS distribution on vSphere. After you install Photon OS, you can deploy a containerized application in Docker with a single command. |
|
4 | 4 |
|
5 |
-- [About Photon OS](#about-photon-os) |
|
6 |
-- [Prerequisites for Photon OS on GCE](#prerequisites-for-photon-os-on-gce) |
|
7 |
-- [Downloading Photon OS](#downloading-photon-os) |
|
8 |
-- [Installing Photon OS on Google Compute Engine](#installing-photon-os-on-google-compute-engine) |
|
9 |
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os) |
|
10 |
- |
|
11 |
-## About Photon OS |
|
12 |
- |
|
13 |
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](https://vmware.github.io/photon/). |
|
14 |
- |
|
15 |
-## Prerequisites for Photon OS on GCE |
|
16 |
- |
|
17 |
-Using Photon OS on Google Compute Engine requires the following resources: |
|
18 |
- |
|
19 |
-* An account on Google Compute Engine |
|
20 |
-* The Google Cloud SDK |
|
21 |
-* The Photon OS image for GCE |
|
22 |
- |
|
23 |
-Keep in mind that, if you try the examples in this document, Google will charge your account for the cloud services that you use. The GCE-ready version of Photon OS, however, comes for free. |
|
24 |
- |
|
25 |
-## Downloading Photon OS |
|
26 |
- |
|
27 |
-VMware recommends that administrators use the Photon OS image for Google Compute Engine (GCE) to create Photon OS instances on GCE. Although earlier releases of Photon OS required heavy modification of the Photon instance to make the image compatible with GCE, Photon OS 1.0 comes with pre-modified images for popular cloud providers, including GCE. |
|
28 |
- |
|
29 |
-You can download the Photon OS image for GCE from the following URL: |
|
30 |
- |
|
31 |
-[https://bintray.com/vmware/photon](https://bintray.com/vmware/photon) |
|
32 |
- |
|
33 |
-For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
34 |
- |
|
35 |
-## Installing Photon OS on Google Compute Engine |
|
36 |
- |
|
37 |
-After you download the Photon OS image for GCE, log into GCE and complete the following steps. |
|
38 |
- |
|
39 |
-### Step 1: Create a New Bucket |
|
40 |
- |
|
41 |
-Create a new bucket to store your Photon OS image for GCE. |
|
42 |
- |
|
43 |
-![gce1](images/gce1.jpg) |
|
44 |
- |
|
45 |
-### Step 2: Upload the Photon OS Image |
|
46 |
- |
|
47 |
-Once you’ve created the bucket, you’re ready to upload the Photon OS image. While viewing the bucket that you’ve created, click the `Upload files` button, navigate to your Photon OS image and click the `Choose` button. |
|
48 |
- |
|
49 |
-As the image below shows, when the upload finishes, you should see your Photon OS compressed image in the file list for the bucket that you created. |
|
50 |
- |
|
51 |
-![gce2](images/gce2.jpg) |
|
52 |
- |
|
53 |
-### Step 3: Create a New Image |
|
54 |
- |
|
55 |
-Next, you need to create a new image. Click on `Images` in the `Compute` category in the left panel; then, click on the `New Image` button. |
|
56 |
- |
|
57 |
-Enter a name for the image in the `Name` field and change the `Source` to `Cloud Storage file` using the pull-down menu. Then, in the `Cloud Storage file` field, enter the bucket name and filename as the path to the Photon OS image for GCE. In this example, where the bucket was named `photon_storage,` the path is as follows: |
|
58 |
- |
|
59 |
- photon_storage/photon-gce-2.0-tar.gz |
|
60 |
- |
|
61 |
-*Note: The new image form will autopopulate the `gs://` file path prefix.* |
|
62 |
- |
|
63 |
-After you’re finished completing the name and Cloud Storage object path, click the `Create` button to create your image. You should be returned to your Images catalog and your Photon OS image should be at the top of the list. |
|
64 |
- |
|
65 |
-### Step 4: Create a New Instance |
|
66 |
- |
|
67 |
-To create an instance, check the box next to the Photon OS image and click the `Create Instance` button. |
|
68 |
- |
|
69 |
-On the `Create a new instance` form, provide a name for this instance, confirm the zone into which this instance is to be deployed and, before clicking `Create,` place a check in the boxes for `Allow HTTP traffic` and `Allow HTTPS traffic.` |
|
70 |
- |
|
71 |
-Outside of this demo, your application may or may not require these firewall rules. Please choose accordingly outside of this demo. However, since we will demonstrate a running web server container, we want these ports to be open for our instance. |
|
72 |
- |
|
73 |
-![gce4](images/gce4.jpg) |
|
74 |
- |
|
75 |
-When the instance is created you will be returned to your list of VM instances. If you click on the instance, the status page for the instance will allow you to SSH into your Photon OS environment using the SSH button at the top of the panel. |
|
76 |
- |
|
77 |
-At this point, your instance is running and you are ready to start the Docker engine and run a container workload. |
|
78 |
- |
|
79 |
-## Deploying a Containerized Application in Photon OS |
|
80 |
- |
|
81 |
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded directly through the Docker module from the Docker Hub. |
|
82 |
- |
|
83 |
-### Step 1: Run Docker |
|
84 |
- |
|
85 |
-To run Docker from the command prompt, enter the command below to initialize the Docker engine: |
|
86 |
- |
|
87 |
- systemctl start docker |
|
88 |
- |
|
89 |
-To ensure Docker daemon service runs on every subsequent VM reboot, enter: |
|
90 |
- |
|
91 |
- systemctl enable docker |
|
92 |
- |
|
93 |
-### Step 2: Run the Nginx Web Server |
|
94 |
- |
|
95 |
-Now that the Docker daemon service is running, it is a simple task to pull and then start the Nginx Web Server container from Docker Hub. To do this, type the following command: |
|
96 |
- |
|
97 |
- docker run -d -p 80:80 vmwarecna/nginx |
|
98 |
- |
|
99 |
-This command pulls the Nginx Web Server files and the dependent containers to ensure this containerized application can run. You will see a screenshot similar to the one below, as the container and dependencies are downloaded and the container is prepared to run: |
|
100 |
- |
|
101 |
-![gce5](images/gce5.jpg) |
|
102 |
- |
|
103 |
-Once the `docker run` process is completed, you will be returned to the command prompt. You now have a fully active website up and running through typing just a single command within Photon OS using containers. |
|
104 |
- |
|
105 |
-### Step 3: Test the Web Server |
|
106 |
- |
|
107 |
-**Note** : Please make sure that the proper security policies have been enabled on the Google GCE side to enable traffic to port 80 on the VM. |
|
108 |
- |
|
109 |
-To test that your web server is active, we need to get the IP address of the Photon OS virtual machine. To get the IP address, enter the following command: |
|
110 |
- |
|
111 |
-This command displays a list of network adapters connected to the virtual machine. Typically, the web server daemon will be bound to `eth0;` record the IP address associated with `eth0.` Alternatively, visit the status page of your Photon OS instance in GCE where the IP address is listed under `External IP.` |
|
112 |
- |
|
113 |
-Start a browser on your host machine and enter the IP address of your Photon OS virtual machine. The following screen should appear, showing that your web server is active: |
|
114 |
- |
|
115 |
-![gce6](images/gce6.jpg) |
|
116 |
- |
|
117 |
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS. |
|
5 |
+- [Prerequisites for Photon OS on GCE](photon-os-gce-prerequisites.md) |
|
6 |
+- [Installing Photon OS on Google Compute Engine](installing-photon-os-on-google-compute-engine.md) |
... | ... |
@@ -1,247 +1,9 @@ |
1 | 1 |
# Running Photon OS on Microsoft Azure |
2 | 2 |
|
3 |
-Photon OS can serve as a run-time environment for Linux containers on Microsoft Azure. This topic describes how to set up and run the cloud-ready version of Photon OS as an instance of a virtual machine in the Azure cloud. Once running, Docker can run a containerized application in the Photon OS instance. |
|
3 |
+You can use Photon OS as a run-time environment for Linux containers on Microsoft Azure. You can set up and run the cloud-ready version of Photon OS as an instance of a virtual machine in the Azure cloud. Once Photon OS is running, you can deploy a containerized application in Docker. |
|
4 | 4 |
|
5 | 5 |
**Note:** These instructions apply to Photon OS 2.0. There is no Photon OS 1.0 distribution image for Microsoft Azure. |
6 | 6 |
|
7 |
-- [About Photon OS](#about-photon-os) |
|
8 |
-- [Prerequisites](#prerequisites) |
|
9 |
-- [Downloading and Extracting the Photon OS VHD File](#downloading-and-extracting-the-photon-os-vhd-file) |
|
10 |
-- [Setting Up Azure Storage and Uploading the VHD](#setting-up-azure-storage-and-uploading-the-vhd) |
|
11 |
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os) |
|
12 |
- |
|
13 |
-# About Photon OS |
|
14 |
- |
|
15 |
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](https://vmware.github.io/photon/). |
|
16 |
- |
|
17 |
-# Prerequisites |
|
18 |
- |
|
19 |
-- Microsoft Azure account ([sign up](https://azure.microsoft.com) if you don't already have one) |
|
20 |
-- Azure CLI 2.0 (install the latest version) - see [Install Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) and [Get started with Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/get-started-with-azure-cli?view=azure-cli-latest). |
|
21 |
-- Pair of SSH public / private keys |
|
22 |
- |
|
23 |
-# Downloading and Extracting the Photon OS VHD File |
|
24 |
- |
|
25 |
-VMware packages Photon OS as a cloud-ready virtual hard disk (VHD file) that you can download for free from [Bintray](https://bintray.com/vmware/photon). This VHD file is a virtual appliance with the information and packages that Azure needs to launch an instance of Photon in the cloud. After you have downloaded the distribution archive, extract the VHD file from it. You will later need to upload this VHD file to Azure, where it will be stored in an Azure storage account. For download instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
26 |
- |
|
27 |
-# Setting Up Azure Storage and Uploading the VHD |
|
28 |
- |
|
29 |
-You can use either the Azure Portal or the Azure CLI to set up your Azure storage space, upload the Photon OS VHD file, and create the Photon OS VM. |
|
30 |
- |
|
31 |
-## Setting Up Using the Azure Portal |
|
32 |
- |
|
33 |
-You can use the Azure portal to set up Photon OS 2.0 in the Azure cloud. The following instructions are brief. Refer to the Azure documentation for details. |
|
34 |
- |
|
35 |
-1. Log in to the Azure portal at [http://portal.azure.com](http://portal.azure.com/). |
|
36 |
-2. Create a resource group. In the toolbar, choose Resource Groups, click **+Add** , fill in the resource group fields, and choose **Create**. |
|
37 |
-3. Create a storage account. In the toolbar, choose Storage Accounts, click **+Add** , fill in the storage account fields (and the resource group you just created), and choose **Create**. |
|
38 |
-4. Select the storage account. |
|
39 |
-5. Scroll down the storage account control bar, click Containers (below BLOB SERVICE), click **+Container** , fill in the container fields, and choose **Create**. |
|
40 |
-6. Select the container you just created. |
|
41 |
-7. Click **Upload** and upload the Photon OS VHD image file to this container. |
|
42 |
-8. Once the VHD file is uploaded, refer to the Azure documentation for instructions on how to create and manage your Photon OS VM. |
|
43 |
- |
|
44 |
-## Setting Up Using the Azure CLI |
|
45 |
- |
|
46 |
-You can use the Azure CLI 2.0 to set up Photon OS. You must first [Install Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest). |
|
47 |
- |
|
48 |
-**Note:** Except where overridden with parameter values, these commands create objects with default settings. |
|
49 |
- |
|
50 |
-### Step 1: Create a Resource Group |
|
51 |
- |
|
52 |
-From the Azure CLI, create a resource group. |
|
53 |
-```` |
|
54 |
-az group create \ |
|
55 |
- --name <your_resource_group> \ |
|
56 |
- --location westus |
|
57 |
-```` |
|
58 |
- |
|
59 |
-### Step 2: Create a Storage Account |
|
60 |
- |
|
61 |
-Create a storage account associated with this resource group. |
|
62 |
-```` |
|
63 |
-az storage account create \ |
|
64 |
- --resource-group <your_resource_group> \ |
|
65 |
- --location westus \ |
|
66 |
- --name <your_account_name> \ |
|
67 |
- --kind Storage \ |
|
68 |
- --sku Standard_LRS |
|
69 |
-```` |
|
70 |
-### Step 3: List the Keys for the Storage Account |
|
71 |
- |
|
72 |
-Retrieve the keys associated with your newly created storage account. |
|
73 |
-```` |
|
74 |
-az storage account keys list \ |
|
75 |
- --resource-group <your_resource_group> \ |
|
76 |
- --account-name <your_account_name> |
|
77 |
-```` |
|
78 |
-### Step 4: Create the Storage Container |
|
79 |
- |
|
80 |
-Create a storage container associated with your newly created storage account. |
|
81 |
- |
|
82 |
-**Note:** The sample create.sh script, described below, does this for you programmatically. |
|
83 |
-```` |
|
84 |
-az storage container create \ |
|
85 |
- --account-name <your_account_name> \ |
|
86 |
- --name <your_container_name> |
|
87 |
-```` |
|
88 |
-### Step 5: Verify Your Setup in the Azure Portal |
|
89 |
- |
|
90 |
-1. Log into the Azure portal using your account credentials. |
|
91 |
-2. From the left toolbar, click **Storage Accounts**. You should see your storage accounts. |
|
92 |
-3. Select the storage account. |
|
93 |
-4. Scroll down the storage account control bar and click **Containers** (below BLOB SERVICE). You should see the container you created. |
|
94 |
- |
|
95 |
-### Step 6: Upload the Photon OS Distribution to Your Storage Container |
|
96 |
- |
|
97 |
-The Photon OS distribution for Azure is 16GB. You can download it locally or to a mounted, shared location. |
|
98 |
-```` |
|
99 |
-az storage blob upload \ |
|
100 |
- --account-name <your_account_name> \ |
|
101 |
- --account-key <your_account_key> \ |
|
102 |
- --container-name <your_container_name> \ |
|
103 |
- --type page \ |
|
104 |
- --file <vhd_path> \ |
|
105 |
- --name <vm_name>.vhd |
|
106 |
-```` |
|
107 |
-### Example Setup Script |
|
108 |
- |
|
109 |
-You can use the following script (create.sh) to upload your VHD file programmatically and create the VM. Before you run it, specify the following settings: |
|
110 |
- |
|
111 |
-- resource_group name |
|
112 |
-- account_name |
|
113 |
-- account_key (public or private) |
|
114 |
-- container_name |
|
115 |
-- public_key_file |
|
116 |
-- vhd_path and and vm_name of the Photon OS VHD distribution file |
|
117 |
- |
|
118 |
-This script returns the complete IP address of the newly created VM. |
|
119 |
-```` |
|
120 |
-#!/bin/bash |
|
121 |
-vhd_path=$1 |
|
122 |
-vm_name=$2 |
|
123 |
-export PATH=$PATH:/root/azure_new/bin/az |
|
124 |
-echo PATH=$PATH |
|
125 |
-resource_group="" |
|
126 |
-account_name="" |
|
127 |
-account_key="" |
|
128 |
-container_name="mydisks" |
|
129 |
-url="https://${account_name}.blob.core.windows.net/${container_name}/${vm_name}.vhd" |
|
130 |
-public_key_file="/root/azure_new/jenkins.pub" |
|
131 |
-echo "########################" |
|
132 |
-echo "# Create container #" |
|
133 |
-echo "########################" |
|
134 |
-/root/azure_new/bin/az storage container create --account-name ${account_name} --name ${container_name} |
|
135 |
-echo "##################" |
|
136 |
-echo "# Upload vhd #" |
|
137 |
-echo "##################" |
|
138 |
-/root/azure_new/bin/az storage blob upload --account-name ${account_name} \ |
|
139 |
- --account-key ${account_key} \ |
|
140 |
- --container-name ${container_name} \ |
|
141 |
- --type page \ |
|
142 |
- --file ${vhd_path} \ |
|
143 |
- --name ${vm_name}.vhd |
|
144 |
-echo "##################" |
|
145 |
-echo "# Create vm #" |
|
146 |
-echo "##################" |
|
147 |
-echo "az vm create --resource-group ${resource_group} --location westus --name ${vm_name} --storage-account ${account_name} --os-type linux --admin-username michellew --ssh-key-value ${public_key_file} --image ${url} --use-unmanaged-disk ... ..." |
|
148 |
-/root/azure_new/bin/az vm create --resource-group ${resource_group} --location westus --name ${vm_name} --storage-account ${account_name} --os-type linux --admin-username michellew --ssh-key-value ${public_key_file} --image ${url} --use-unmanaged-disk |
|
149 |
-```` |
|
150 |
-### Removing Photon OS from Azure |
|
151 |
- |
|
152 |
-You can use the following delete.sh script to programmatically (and silently) remove the VM instance, VHD file, and container. |
|
153 |
- |
|
154 |
-**Note:** Consider deleting idle VMs so that you are not charged when not in use. |
|
155 |
- |
|
156 |
-Before you run it, specify the following settings: |
|
157 |
- |
|
158 |
-- resource_group name (from step 1, above) |
|
159 |
-- account_name (from step 2, above) |
|
160 |
-- account_key (public or private) (from step 3, above) |
|
161 |
-- container_name (from step 4, above) |
|
162 |
-- public_key_file |
|
163 |
-- vm_name of the Photon OS VHD distribution file |
|
164 |
- |
|
165 |
-**delete.sh** |
|
166 |
- |
|
167 |
-```` |
|
168 |
-#!/bin/bash |
|
169 |
-vm_name=$1 |
|
170 |
-resource_group="" |
|
171 |
-account_name="" |
|
172 |
-account_key="" |
|
173 |
-container_name="mydisks" |
|
174 |
-url="https://${account_name}.blob.core.windows.net/${container_name}/${vm_name}.vhd" |
|
175 |
-public_key_file="/root/azure_new/jenkins.pub" |
|
176 |
-exit_code=0 |
|
177 |
-echo "##################" |
|
178 |
-echo "# Delete vm #" |
|
179 |
-echo "##################" |
|
180 |
-echo "az vm list --resource-group ${resource_group} ... ..." |
|
181 |
-/root/azure_new/bin/az vm list --resource-group ${resource_group} |
|
182 |
-echo "az vm delete --resource-group ${resource_group} --name ${vm_name} --yes ... ..." |
|
183 |
-/root/azure_new/bin/az vm delete --resource-group ${resource_group} --name ${vm_name} --yes |
|
184 |
-if [$? -ne 0];then |
|
185 |
- exit_code=1 |
|
186 |
-fi |
|
187 |
-echo "az vm list --resource-group ${resource_group} ... ..." |
|
188 |
-/root/azure_new/bin/az vm list --resource-group ${resource_group} |
|
189 |
-echo "##############$####" |
|
190 |
-echo "# Delete vhd #" |
|
191 |
-echo "###############$###" |
|
192 |
-echo "az storage blob list --account-name ${account_name} --container-name ${container_name} ... ..." |
|
193 |
-/root/azure_new/bin/az storage blob list --account-name ${account_name} --container-name ${container_name} |
|
194 |
-echo "az storage blob delete --account-name ${account_name} --container-name ${container_name} --name ${vm_name}.vhd ... ..." |
|
195 |
-/root/azure_new/bin/az storage blob delete --account-name ${account_name} --container-name ${container_name} --name ${vm_name}.vhd |
|
196 |
-if [$? -ne 0];then |
|
197 |
- exit_code=1 |
|
198 |
-fi |
|
199 |
-echo "az storage blob list --account-name ${account_name} --container-name ${container_name} ... ..." |
|
200 |
-/root/azure_new/bin/az storage blob list --account-name ${account_name} --container-name ${container_name} |
|
201 |
-echo "########################" |
|
202 |
-echo "# Delete container #" |
|
203 |
-echo "########################" |
|
204 |
-/root/azure_new/bin/az storage container delete --account-name ${account_name} --name ${container_name} |
|
205 |
-/root/azure_new/bin/az storage container delete --account-name ${account_name} --name vhds |
|
206 |
-exit ${exit_code} |
|
207 |
-```` |
|
208 |
- |
|
209 |
-## Deploying a Containerized Application in Photon OS |
|
210 |
- |
|
211 |
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub. |
|
212 |
- |
|
213 |
-### Step 1: Run Docker |
|
214 |
- |
|
215 |
-To run Docker from the command prompt, enter the following command, which initializes the docker engine: |
|
216 |
-```` |
|
217 |
-systemctl start docker |
|
218 |
-```` |
|
219 |
-To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command: |
|
220 |
-```` |
|
221 |
-systemctl enable docker |
|
222 |
-```` |
|
223 |
-### Step 2: Run the Nginx Web Server |
|
224 |
- |
|
225 |
-Now the Docker daemon service is running, it is a simple task to "pull" and start the Nginx Web Server container from Docker Hub. To do this, type the following command: |
|
226 |
-```` |
|
227 |
-docker run -d -p 80:80 vmwarecna/nginx |
|
228 |
-```` |
|
229 |
- |
|
230 |
-This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run. |
|
231 |
- |
|
232 |
-![Azure docker run](images/azure-docker-run.png) |
|
233 |
- |
|
234 |
-After the "docker run" process completes, you return to the command prompt. You now have a fully active website up and running in a container. |
|
235 |
- |
|
236 |
-### Step 3: Test the Web Server |
|
237 |
- |
|
238 |
-**Note** : Please make sure that the proper security policies have been enabled on the Microsoft Azure side to enable traffic to port 80 on the VM. |
|
239 |
- |
|
240 |
-To test that your Web Server is active: |
|
241 |
- |
|
242 |
-1. Run the ifconfig command to get the IP address of the Photon OS Virtual Machine. |
|
243 |
-The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on "eth0." |
|
244 |
-2. Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine. |
|
245 |
-3. You should see a screen confirming that the nginx web server is successfully installed and working. |
|
246 |
- |
|
247 |
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS. |
|
7 |
+- [Prerequisites](photon-os-azure-prerequisites.md) |
|
8 |
+- [Set Up Azure Storage and Uploading the VHD](setting-up-azure-storage-and-uploading-the-vhd.md) |
|
9 |
+- [Remove Photon OS From Azure](remove-photon-os-from-azure.md) |
... | ... |
@@ -1,359 +1,11 @@ |
1 | 1 |
# Running Photon OS on Workstation |
2 | 2 |
|
3 |
-This guide describes how to get started using Photon OS as a virtual machine within VMware Workstation. It provides instructions for downloading Photon OS (as an OVA or ISO file), describes the various installation options, and walks through the steps of installing the Photon OS distribution on Workstation. Once Photon OS is installed, this document shows how to deploy a containerized application in Docker with a single command. |
|
3 |
+You can use Photon OS as a virtual machine within VMware Workstation. You can download Photon OS, as an OVA or ISO file, and install the Photon OS distribution on vSphere. After you install Photon OS, you can deploy a containerized application in Docker with a single command. |
|
4 | 4 |
|
5 |
-- [About Photon OS](#about-photon-os) |
|
6 |
-- [Requirements](#requirements) |
|
7 |
-- [Deciding Whether to Use OVA or ISO](#deciding-whether-to-use-ova-or-iso) |
|
8 |
-- [Downloading Photon OS](#downloading-photon-os) |
|
9 |
-- [Importing the OVA for Photon OS 2.0](#importing-the-ova-for-photon-os-20) |
|
10 |
-- [Installing the ISO Image for Photon OS 2.0](#installing-the-iso-image-for-photon-os-20) |
|
11 |
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os) |
|
12 |
-- [Installing Photon OS 1.0](#installing-photon-os-10) |
|
13 | 5 |
|
14 |
-**Note**: If you want to upgrade an existing Photon 1.0 VM, refer to the instructions in [Upgrading to Photon OS 2.0](Upgrading-to-Photon-OS-2.0.md). |
|
6 |
+- [Prerequisites](photon_os_workstation_prerequisites.md) |
|
7 |
+- [Importing the OVA for Photon OS 3.0](importing_ova_for_photon_os_3.0-workstation.md) |
|
8 |
+- [Installing the ISO Image for Photon OS 2.0](installing-the-iso-image-for-photon-os-30-workstation.md) |
|
15 | 9 |
|
16 |
-# About Photon OS |
|
10 |
+**Note**: If you want to upgrade an existing Photon 1.0 VM, refer to the instructions in [Upgrading to Photon OS 3.0](Upgrading-to-Photon-OS-3.0.md). |
|
17 | 11 |
|
18 |
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](https://vmware.github.io/photon/). |
|
19 |
- |
|
20 |
-# Requirements |
|
21 |
- |
|
22 |
-Using Photon OS within VMware Workstation requires the following resources: |
|
23 |
- |
|
24 |
-| **Resource** | **Description** | |
|
25 |
-| --- | --- | |
|
26 |
-| VMware Workstation | VMware Workstation must be installed (Workstation 10 or higher). The latest version is recommended. | |
|
27 |
-| Memory | 2GB of free RAM (recommended) | |
|
28 |
-| Storage | **Minimal Photon install** : 512MB of free space (minimum); **Full Photon install** : 4GB of free space (minimum); 8GB is recommended | |
|
29 |
-| Distribution File | Photon OS ISO or OVA file downloaded from bintray ([https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)). |
|
30 |
- |
|
31 |
-Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware Workstation and VMware vSphere), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation). |
|
32 |
- |
|
33 |
-**Note:** The setup instructions in this guide use VMware Workstation Professional version 12.5.7. |
|
34 |
- |
|
35 |
-![Workstation version](images/ws_version.png) |
|
36 |
- |
|
37 |
-# Deciding Whether to Use OVA or ISO |
|
38 |
- |
|
39 |
-The first step is decide whether to use the the OVA or ISO distribution to set up Photon OS. |
|
40 |
- |
|
41 |
-- **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. For Workstation, choose the OVA with Hardware Version 11 (_not_ 13). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf. |
|
42 |
-- **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart. |
|
43 |
- |
|
44 |
-If you're just looking for the fastest way to get up and running, start with the OVA. |
|
45 |
- |
|
46 |
-# Downloading Photon OS |
|
47 |
- |
|
48 |
-Once you've decided which way to install, you'll need to download the correct binaries. Go to the following Bintray URL and download the latest release of Photon OS: |
|
49 |
- |
|
50 |
-[https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/) |
|
51 |
- |
|
52 |
-For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
53 |
- |
|
54 |
-# Importing the OVA for Photon OS 2.0 |
|
55 |
- |
|
56 |
-Using the OVA is the easiest way to create a Photon OS VM on VMware Workstation. |
|
57 |
- |
|
58 |
-## Step 1: Start the Import Process |
|
59 |
- |
|
60 |
-After you've downloaded the OVA file (OVA with Hardware Version 11), do one of the following: |
|
61 |
- |
|
62 |
-- Double-click it to start the import process, or |
|
63 |
-- Start VMware Workstation and, from the File menu, choose **Open**. |
|
64 |
- |
|
65 |
-![OVA file](images/ws-ova-import.png) |
|
66 |
- |
|
67 |
-## Step 2: Specify the Name and Storage Location |
|
68 |
- |
|
69 |
-Change the name and storage location, if you want. |
|
70 |
- |
|
71 |
-![Name and Storage Location](images/ws-ova-path.png) |
|
72 |
- |
|
73 |
-Choose **Import**. |
|
74 |
- |
|
75 |
-![License](images/ws-ova-license.png) |
|
76 |
- |
|
77 |
-Review the License Agreement and choose **Accept**. |
|
78 |
- |
|
79 |
-## Step 3: Configure VM Settings |
|
80 |
- |
|
81 |
-Once the OVA is imported, Workstation displays a summary of the settings for your Photon OS VM. |
|
82 |
- |
|
83 |
-![Settings](images/ws-ova-settings.png) |
|
84 |
- |
|
85 |
-Choose **Edit virtual machine settings**. Workstation displays the Virtual Machine settings. You can either accept the defaults or change settings as needed. |
|
86 |
- |
|
87 |
-![OVA settings](images/ws-ova-settings-edit.png) |
|
88 |
- |
|
89 |
-Select the Options tab. |
|
90 |
- |
|
91 |
-![Options](images/ws-ova-settings-options.png) |
|
92 |
- |
|
93 |
-Under Guest operating system, select **Linux**. |
|
94 |
- |
|
95 |
-For Version, click the list and select **VMWare Photon 64-bit**. |
|
96 |
- |
|
97 |
-![Version](images/ws-ova-os.png) |
|
98 |
- |
|
99 |
-**Note:** If you want to configure a secure boot for the Photon OS VM, select **Advanced** and select (check) **Boot with EFI instead of BIOS**. The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure. |
|
100 |
- |
|
101 |
-![EFI boot](images/ws-ova-settings-efi.png) |
|
102 |
- |
|
103 |
-Choose **OK**. |
|
104 |
- |
|
105 |
-## Step 4: Power on the VM |
|
106 |
- |
|
107 |
-From the tab, choose **Power on this virtual machine**. |
|
108 |
- |
|
109 |
-![OVA splash](images/ws-ova-splash.png) |
|
110 |
- |
|
111 |
-After the splash screen, Workstation will prompt you to log in. |
|
112 |
- |
|
113 |
-## Step 5: Update Login Credentials |
|
114 |
- |
|
115 |
-**Note** : Because of limitations within OVA support on Workstation, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are: |
|
116 |
- |
|
117 |
-| **Setting** | **Value** | |
|
118 |
-| --- | --- | |
|
119 |
-| Username | ``root`` | |
|
120 |
-| Password | ``changeme`` | |
|
121 |
- |
|
122 |
-After you provide these credentials, Workstation prompts you to create a new password and type it a second time to verify it. For security, Photon OS forbids common dictionary words for the root password. Once logged in, you will see the shell prompt. |
|
123 |
- |
|
124 |
-![OVA password](images/ws-ova-password.png) |
|
125 |
- |
|
126 |
-Once complete, proceed to [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os). |
|
127 |
- |
|
128 |
-# Installing the ISO Image for Photon OS 2.0 |
|
129 |
- |
|
130 |
-After you have downloaded the Photon OS ISO image into a folder of your choice, open VMware Workstation. |
|
131 |
- |
|
132 |
-## Step 1: Start the Installation Process |
|
133 |
- |
|
134 |
-From the File menu, choose **New Virtual Machine** to create a new virtual machine. |
|
135 |
- |
|
136 |
-![New virtural machine](images/ws-iso-new.png) |
|
137 |
- |
|
138 |
-Select **Typical** or **Custom**, and then choose **Next**. These instructions refer to a Typical installation. |
|
139 |
- |
|
140 |
-![Typical installation](images/ws-iso-typical.png) |
|
141 |
- |
|
142 |
-## Step 2: Select the ISO Image |
|
143 |
- |
|
144 |
-Select **Installer disc image file (iso)**, choose **Browse** and select the Photon OS ISO file. |
|
145 |
- |
|
146 |
-![Photon ISO file](images/ws-iso-selected.png) |
|
147 |
- |
|
148 |
-## Step 3: Select the Operating System |
|
149 |
- |
|
150 |
-Choose **Next**. Select the Guest operating system. |
|
151 |
- |
|
152 |
-For the Guest operating system, select **Linux**. |
|
153 |
- |
|
154 |
-Click the Version dropdown and select **VMware Photon 64-bit** from the list. |
|
155 |
- |
|
156 |
-![Operating System](images/ws-iso-os.png) |
|
157 |
- |
|
158 |
-## Step 4: Specify the VM Name and Location |
|
159 |
- |
|
160 |
-Choose **Next**. Specify a virtual machine name and location. |
|
161 |
- |
|
162 |
-![VM Name and Location](images/ws-iso-name.png) |
|
163 |
- |
|
164 |
-## Step 5: Specify Disk Options |
|
165 |
- |
|
166 |
-Choose **Next**. Specify the maximum disk size and whether you want to split the virtual disk into multiple files or store it as a single file. |
|
167 |
- |
|
168 |
-![Disk options](images/ws-iso-disk.png) |
|
169 |
- |
|
170 |
-## Step 6: Configure VM Settings |
|
171 |
- |
|
172 |
-Choose **Next**. Workstation displays a summary of your selections. |
|
173 |
- |
|
174 |
-![Workstation settings](images/ws-iso-summary.png) |
|
175 |
- |
|
176 |
-**Important** : _Before_ you finish creating the Photon OS Virtual Machine, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container run-time environment. To remove unnecessary devices, choose **Customize hardware**. |
|
177 |
- |
|
178 |
-![Customize hardware](images/ws-iso-customize.png) |
|
179 |
- |
|
180 |
-Consider removing the following components, which are not used by Photon OS: |
|
181 |
- |
|
182 |
-- Select **Sound Card**, un-tick the **Connect at power on** option. Confirm your action and choose **Close** to return to the VM Settings by . |
|
183 |
-- Select **USB Controller** and ensure that the **Share Bluetooth devices with the virtual machine** setting is unchecked (it should be unchecked, by default) and then choose **Close**. |
|
184 |
-- Select **Display** and ensure that the **Accelerate 3D Graphics** option is unchecked (it should be unchecked, by default) and then choose **Close**. |
|
185 |
-- At this stage we have now made all the necessary customizations and you are ready to select the Photon OS ISO image to boot and begin the installation process. |
|
186 |
-- Choose **Finish**. |
|
187 |
- |
|
188 |
-In Workstation, choose **Edit virtual machine settings**, select **CD/DVD (IDE)**, and verify that **Connect at power on** is selected. |
|
189 |
- |
|
190 |
-![CD/DVD](images/ws-iso-cd.png) |
|
191 |
- |
|
192 |
-## Step 7: Configure a Secure Boot (Optional) |
|
193 |
- |
|
194 |
-**Note:** If you want to configure a secure boot for the Photon OS VM, in Workstation, choose **Edit virtual machine settings**, select **Options**, choose **Advanced**, and select **Boot with EFI instead of BIOS**. |
|
195 |
- |
|
196 |
-![Boot with EFI](images/ws-iso-efi.png) |
|
197 |
- |
|
198 |
-The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure. |
|
199 |
- |
|
200 |
-Choose **OK**. |
|
201 |
- |
|
202 |
-![ISO settings](images/ws-iso-settings.png) |
|
203 |
- |
|
204 |
-## Step 8: Power On the VM |
|
205 |
- |
|
206 |
-Choose **Power on this virtual machine**. |
|
207 |
- |
|
208 |
-When you see the Photon Installer boot menu, press Enter on your keyboard to start installing. |
|
209 |
- |
|
210 |
-![Installer](images/ws-iso-installer.png) |
|
211 |
- |
|
212 |
-Review the license agreement. |
|
213 |
- |
|
214 |
-![License agreement](images/ws-iso-license.png) |
|
215 |
- |
|
216 |
-Choose **Accept** and press Enter. |
|
217 |
- |
|
218 |
-## Step 9: Configure the Partition |
|
219 |
- |
|
220 |
-The installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation. Choose **Auto** to have the installer automatically allocate the partition, or choose **Custom** if you want to configure individual partitions, and then press the Enter key. |
|
221 |
- |
|
222 |
-![Partition](images/ws-iso-disk-partition.png) |
|
223 |
- |
|
224 |
-**Note:** If you choose Custom, the installer displays the following screen. |
|
225 |
- |
|
226 |
-![Custom partition](images/ws-iso-disk-partition-custom.png) |
|
227 |
- |
|
228 |
-For each custom partition, choose **Create New** and specify the following information: |
|
229 |
- |
|
230 |
-![New partition](images/ws-iso-disk-partition-new.png) |
|
231 |
- |
|
232 |
-**Size** - Preallocated size of this partition, in MB. |
|
233 |
- |
|
234 |
-**Type** - One of the following options: |
|
235 |
- |
|
236 |
-- **ext3** - ext3 file system |
|
237 |
-- **ext4** - ext4 file system |
|
238 |
-- **swap** - swap partition |
|
239 |
- |
|
240 |
-**Mountpoint** - Mount point for this partition. |
|
241 |
- |
|
242 |
-Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key. |
|
243 |
- |
|
244 |
-The installer prompts you to confirm that you want to erase the entire disk. Choose **Yes** and press the Enter key. |
|
245 |
- |
|
246 |
-![Disk erase](images/ws-iso-disk-erase.png) |
|
247 |
- |
|
248 |
-## Step 10: Select an Installation Option |
|
249 |
- |
|
250 |
-After partitioning the disk, the installer will prompt you to select an installation option. |
|
251 |
- |
|
252 |
-![installation option](images/ws-iso-install-option.png) |
|
253 |
- |
|
254 |
-Each installation option provides a different run-time environment, depending on your requirements. |
|
255 |
- |
|
256 |
-| **Option** | **Description** | |
|
257 |
-| --- | --- | |
|
258 |
-| **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. | |
|
259 |
-| **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. | |
|
260 |
-| **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. | |
|
261 |
- |
|
262 |
-**Note:** The option you choose determines the disk and memory resources required for your installation. |
|
263 |
- |
|
264 |
-Select the option you want and press the Enter key. |
|
265 |
- |
|
266 |
-## Step 11: Select the Linux Kernel |
|
267 |
- |
|
268 |
-Select a Linux kernel to install. |
|
269 |
- |
|
270 |
-![Kernel](images/ws-iso-kernel.png) |
|
271 |
- |
|
272 |
-- **Hypervisor optimized** means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times. |
|
273 |
-- **Generic** means that all components are included. |
|
274 |
- |
|
275 |
-Choose **Next** and press the Enter key. |
|
276 |
- |
|
277 |
-## Step 12: Specify the Hostname |
|
278 |
- |
|
279 |
-The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want. |
|
280 |
- |
|
281 |
-![Hostname](images/ws-iso-hostname.png) |
|
282 |
- |
|
283 |
-Press the Enter key. |
|
284 |
- |
|
285 |
-## Step 13: Specify the System root Password |
|
286 |
- |
|
287 |
-**_Note_** _: Photon OS will not permit commonly used dictionary words to be set as a root password._ |
|
288 |
- |
|
289 |
-The installer prompts you to enter the system root password. Type the password and press the Enter key. |
|
290 |
- |
|
291 |
-![Password](images/ws-iso-root-password.png) |
|
292 |
- |
|
293 |
-The installer prompts you to confirm the root password by typing it a second time. |
|
294 |
- |
|
295 |
-![Confirm password](images/ws-iso-root-password-confirm.png) |
|
296 |
- |
|
297 |
-Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute. |
|
298 |
- |
|
299 |
-## Step 14: Reboot the VM and Log In |
|
300 |
- |
|
301 |
-Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM. |
|
302 |
- |
|
303 |
-![confirmation message](images/ws-iso-installed.png) |
|
304 |
- |
|
305 |
-Press any key on the keyboard and the virtual machine will reboot into Photon OS. |
|
306 |
- |
|
307 |
-As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt. |
|
308 |
- |
|
309 |
-![Splash screen](images/ws-iso-splash.png) |
|
310 |
- |
|
311 |
-At the login prompt, type **root** as the username and provide the password chosen during the installation. |
|
312 |
- |
|
313 |
-![Password](images/ws-iso-login.png) |
|
314 |
- |
|
315 |
-You have now successfully set up Photon OS and are ready to use your container run-time environment. Proceed to the next section to deploy a containerized application. |
|
316 |
- |
|
317 |
-# Deploying a Containerized Application in Photon OS |
|
318 |
- |
|
319 |
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded directly through the Docker module from the Docker Hub. |
|
320 |
- |
|
321 |
-## Step 1: Run Docker |
|
322 |
- |
|
323 |
-To run Docker from the command prompt, enter the following command, which initializes the docker engine: |
|
324 |
- |
|
325 |
- systemctl start docker |
|
326 |
- |
|
327 |
-To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command: |
|
328 |
- |
|
329 |
- systemctl enable docker |
|
330 |
- |
|
331 |
-## Step 2: Run the Nginx Web Server |
|
332 |
- |
|
333 |
-Now the Docker daemon service is running, it is a simple task to "pull" and start the Nginx Web Server container from Docker Hub. To do this, type the following command: |
|
334 |
- |
|
335 |
- docker run -d -p 80:80 vmwarecna/nginx |
|
336 |
- |
|
337 |
-This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run. |
|
338 |
- |
|
339 |
-![Docker run](images/ws-docker-run.png) |
|
340 |
- |
|
341 |
-After the **docker run** process completes, you return to the command prompt. You now have a fully active website up and running in a container. |
|
342 |
- |
|
343 |
-## Step 3: Test the Web Server |
|
344 |
- |
|
345 |
-To test that your Web Server is active, run the **ifconfig** command to get the IP address of the Photon OS Virtual Machine. |
|
346 |
- |
|
347 |
-![IP config](images/ws-docker-ifconfig.png) |
|
348 |
- |
|
349 |
-The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on "**eth0**". |
|
350 |
- |
|
351 |
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine (the **inet addr** for eth0). You should see a screen similar to the following example as confirmation that your web server is active. |
|
352 |
- |
|
353 |
-![Confirmation](images/ws-docker-confirm.png) |
|
354 |
- |
|
355 |
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS. |
|
356 |
- |
|
357 |
-# Installing Photon OS 1.0 |
|
358 |
- |
|
359 |
-Refer to the Photon OS 1.0 installation instructions in [Running Photon OS on Fusion](Running-Project-Photon-on-Fusion.md). |
... | ... |
@@ -1,503 +1,11 @@ |
1 | 1 |
# Running Photon OS on vSphere |
2 | 2 |
|
3 |
-This guide describes how to get started using Photon OS as a virtual machine within VMware vSphere. It provides instructions for downloading Photon OS (as an OVA or ISO file), describes the various installation options, and walks through the steps of installing the Photon OS distribution on vSphere. Once Photon OS is installed, this document highlights how to deploy a containerized application in Docker with a single command. |
|
3 |
+You can use Photon OS as a virtual machine within VMware vSphere. You can download Photon OS, as an OVA or ISO file, and install the Photon OS distribution on vSphere. After you install Photon OS, you can deploy a containerized application in Docker with a single command. |
|
4 | 4 |
|
5 |
-- [About Photon OS](#about-photon-os) |
|
6 |
-- [Deciding Whether to Use OVA or ISO](#deciding-whether-to-use-ova-or-iso) |
|
7 |
-- [Downloading Photon OS](#downloading-photon-os) |
|
8 |
-- [Importing the OVA for Photon OS 2.0](#importing-the-ova-for-photon-os-20) |
|
9 |
-- [Installing the ISO Image for Photon OS 2.0](#installing-the-iso-image-for-photon-os-20) |
|
10 |
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os) |
|
11 |
-- [Installing Photon OS v1.0](#installing-photon-os-10) |
|
5 |
+- [Prerequisites](photon_os_vsphere_prerequisites.md) |
|
6 |
+- [Importing the OVA for Photon OS 3.0](importing_ova_for_photon_os_3.0.md) |
|
7 |
+- [Installing the ISO Image for Photon OS 3.0](installing-the-iso-image-for-photon-os-30.md) |
|
12 | 8 |
|
13 |
-**Note**: If you want to upgrade an existing Photon 1.0 VM, refer to the instructions in [Upgrading to Photon OS 2.0](Upgrading-to-Photon-OS-2.0.md). |
|
14 |
- |
|
15 |
-## About Photon OS |
|
16 |
- |
|
17 |
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](https://vmware.github.io/photon/). |
|
18 |
- |
|
19 |
-## Requirements |
|
20 |
- |
|
21 |
-Using Photon OS within VMware vSphere requires the following resources: |
|
22 |
- |
|
23 |
-| **Resources** | **Description** | |
|
24 |
-| --- | --- | |
|
25 |
-| VMware vSphere installed | VMware web client (v6.5) for ESXi hosts (recommended) **Note:** vSphere 6 and vSphere 5.5 (these clients provide limited support; not all features are available). | |
|
26 |
-| Memory | ESXi host with 2GB of free RAM (recommended) | |
|
27 |
-| Storage | **Minimal Photon install** : ESXi host with at least 512MB of free space (minimum); **Full Photon install** : ESXi host with at least 4GB of free space (minimum); 16GB is recommended | |
|
28 |
-| Distribution File | Photon OS ISO or OVA file downloaded from Bintray | |
|
29 |
- |
|
30 |
-Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware vSphere and VMware Fusion), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation). |
|
31 |
- |
|
32 |
-**Note:** The setup instructions in this guide use VMware vSphere 6 and the vSphere web client. |
|
33 |
- |
|
34 |
-## Deciding Whether to Use OVA or ISO |
|
35 |
- |
|
36 |
-The first step is decide whether to use the OVA or ISO distribution to set up Photon OS. |
|
37 |
- |
|
38 |
-- **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf. |
|
39 |
-- **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart. |
|
40 |
- |
|
41 |
-If you're just looking for the fastest way to get up and running, start with the OVA. |
|
42 |
- |
|
43 |
-## Downloading Photon OS |
|
44 |
- |
|
45 |
-Once you've decided which way to install, you'll need to download the correct binaries. Go to the following Bintray URL and download the latest release of Photon OS: |
|
46 |
- |
|
47 |
-[https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/) |
|
48 |
- |
|
49 |
-For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
50 |
- |
|
51 |
-**Note:** For ISO installation, you will need to upload to a datashare that is attached to the ESXi host, or mount the file share (where the ISO resides) as a data store. |
|
52 |
- |
|
53 |
-## Importing the OVA for Photon OS 2.0 |
|
54 |
- |
|
55 |
-Using the OVA is a fast and easy way to create a Photon OS VM on VMware vSphere. |
|
56 |
- |
|
57 |
-After you've downloaded the OVA, log in to your vSphere environment. |
|
58 |
- |
|
59 |
-### Step 1: Start the Import Process |
|
60 |
- |
|
61 |
-From the Actions pull-down menu, choose **Create/Register VM**. |
|
62 |
- |
|
63 |
-![Create/Register VM](images/vs-ova-new-vm.png) |
|
64 |
- |
|
65 |
-In the Select creation type window, choose **Deploy a virtual machine from an OVF or OVA file**. |
|
66 |
- |
|
67 |
-(images/vs-ova-new-vm-ova.png) |
|
68 |
- |
|
69 |
-Choose **Next**. |
|
70 |
- |
|
71 |
-### Step 2: Select the OVA File |
|
72 |
- |
|
73 |
-Enter a name for the virtual machine, and select the OVA file. |
|
74 |
- |
|
75 |
-![OVA file](images/vs-ova-name-selected.png) |
|
76 |
- |
|
77 |
-Choose **Next**. |
|
78 |
- |
|
79 |
-### Step 3: Specify the Target Datastore |
|
80 |
- |
|
81 |
-From the Select storage screen, select the target datastore for your VM. |
|
82 |
- |
|
83 |
-![Target datastore](images/vs-ova-storage.png) |
|
84 |
- |
|
85 |
-Choose **Next**. |
|
86 |
- |
|
87 |
-### Step 4: Accept the License Agreement |
|
88 |
- |
|
89 |
-Read through the Photon OS License Agreement, and then choose **I Agree**. |
|
90 |
- |
|
91 |
-![License](images/vs-ova-license.png) |
|
92 |
- |
|
93 |
-Choose **Next**. |
|
94 |
- |
|
95 |
-### Step 5: Select Deployment Options |
|
96 |
- |
|
97 |
-Select deployment options. |
|
98 |
- |
|
99 |
-![Deployment Options](images/vs-ova-deployment-options.png) |
|
100 |
- |
|
101 |
-Photon OS is provisioned with a maximum disk size. By default, Photon OS uses only the portion of disk space that it needs, usually much less that the entire disk size ( **Thin** client). If you want to pre-allocate the entire disk size (reserving it entirely for Photon OS instead), select **Thick** instead. |
|
102 |
- |
|
103 |
-Choose **Next**. |
|
104 |
- |
|
105 |
-### Step 6: Verify Deployment Settings |
|
106 |
- |
|
107 |
-Verify your deployment settings. |
|
108 |
- |
|
109 |
-![Deployment settings](images/vs-ova-settings.png) |
|
110 |
- |
|
111 |
-Click **Finish**. vSphere uploads and validates your OVA. Depending on bandwidth, this operation might take a while. |
|
112 |
- |
|
113 |
-When finished, vShield powers up a new VM based on your selections. |
|
114 |
- |
|
115 |
-### Step 7: Change Login Settings |
|
116 |
- |
|
117 |
-![Login settings](images/vs-ova-splash.png) |
|
118 |
- |
|
119 |
-After the VM is booted, open the command window. vSphere prompts you to log in. |
|
120 |
- |
|
121 |
-**Note**: Because of limitations within OVA support on vSphere, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are: |
|
122 |
- |
|
123 |
-| **Setting** | **Value** | |
|
124 |
-| --- | --- | |
|
125 |
-| Username | ``root`` | |
|
126 |
-| Password | ``changeme`` | |
|
127 |
- |
|
128 |
-After you provide these credentials, vSphere prompts you to create a new password and type it a second time to verify it. |
|
129 |
- |
|
130 |
-**Note:** For security, Photon OS forbids common dictionary words for the root password. |
|
131 |
- |
|
132 |
-Once logged in, you will see the shell prompt. |
|
133 |
- |
|
134 |
-![Shell prompt](images/vs-ova-login.png) |
|
135 |
- |
|
136 |
-Once complete, proceed to [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os). |
|
137 |
- |
|
138 |
-### Step 9: Export the VM as a Template (Optional) |
|
139 |
- |
|
140 |
-Consider converting this imported VM into a template (from the Actions menu, choose **Export** ) so that you have a master Photon OS instance that can be combined with vSphere Guest Customization to enable rapid provisioning of Photon OS instances. |
|
141 |
- |
|
142 |
-## Installing the ISO Image for Photon OS 2.0 |
|
143 |
- |
|
144 |
-After you have downloaded the Photon OS ISO image into a folder of your choice, complete the following steps. |
|
145 |
- |
|
146 |
-### Step 1: Upload the ISO Image |
|
147 |
- |
|
148 |
-Upload the ISO image to a datastore that is attached to the host on which you'll create the Photon OS virtual machine. |
|
149 |
- |
|
150 |
-### Step 2: Create a New VM |
|
151 |
- |
|
152 |
-Log in to your vSphere environment. In the Virtual Machines window, choose **Create/Register VM**. |
|
153 |
- |
|
154 |
-On the Select creation type screen, select **Create a new virtual machine**. |
|
155 |
- |
|
156 |
-![Create new virtual machine](images/vs-iso-new.png) |
|
157 |
- |
|
158 |
-Choose **Next**. |
|
159 |
- |
|
160 |
-### Step 3: Configure VM Settings |
|
161 |
- |
|
162 |
-Specify a VM name. |
|
163 |
- |
|
164 |
-![VM name](images/vs-iso-name.png) |
|
165 |
- |
|
166 |
-Specify a guest operating system. |
|
167 |
- |
|
168 |
-- For Compatibility, select **ESXi 6.5**. |
|
169 |
-- For Guest OS family, select **Linux**. |
|
170 |
-- For Guest OS version, select **VMware Photon OS (64-bit)**. |
|
171 |
- |
|
172 |
-![Guest operating system](images/vs-iso-os.png) |
|
173 |
- |
|
174 |
-Choose **Next**. |
|
175 |
- |
|
176 |
-### Step 4: Select the Target Datastore |
|
177 |
- |
|
178 |
-Select the datastore where you want to store the VM. |
|
179 |
- |
|
180 |
-![Target datastore](images/vs-iso-datastore.png) |
|
181 |
- |
|
182 |
-Click **Next**. |
|
183 |
- |
|
184 |
-### Step 5: Customize VM Settings |
|
185 |
- |
|
186 |
-Customize the virtual machine settings. |
|
187 |
- |
|
188 |
-![v](images/vs-iso-customize.png) |
|
189 |
- |
|
190 |
-For CD/DVD Drive 1, click the drop-down and select **Datastore ISO file**. |
|
191 |
- |
|
192 |
-In the Datastore browser, select the ISO that you want to import. |
|
193 |
- |
|
194 |
-Change other settings as applicable. |
|
195 |
- |
|
196 |
-- The recommended virtual hardware settings for your Photon VM are heavily dependent upon the container load you intend to run within Photon OS – more containers or more intensive containers will require you to adjust these settings for your application load. VMware suggests 2 vCPU, 1024MB memory, 20GB hard disk. Any unwanted devices should be removed. Be sure to mount the Photon OS ISO on the CD/DVD Drive and put a check in the box next to, Connect At Power On. |
|
197 |
-- If you want to configure a secure boot for the Photon OS VM you created, choose the VM Options tab, expand Boot Options, and select EFI from the firmware drop-down. An EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure. |
|
198 |
- |
|
199 |
-Choose **Next**. |
|
200 |
- |
|
201 |
-### Step 6: Verify VM Settings |
|
202 |
- |
|
203 |
-The installer displays a summary of your selected settings. |
|
204 |
- |
|
205 |
-![Summary](images/vs-iso-ready.png) |
|
206 |
- |
|
207 |
-Click **Finish**. vSphere creates the VM. |
|
208 |
- |
|
209 |
-### Step 7: Power on the VM |
|
210 |
- |
|
211 |
-Select the VM and power it on. |
|
212 |
- |
|
213 |
-![Power on VM](images/vs-iso-install.png) |
|
214 |
- |
|
215 |
-When you see the Photon Installer boot menu, press Enter on your keyboard to start installing. |
|
216 |
- |
|
217 |
-### Step 8: Accept the License Agreement |
|
218 |
- |
|
219 |
-Read the License Agreement and press the Enter key to accept. |
|
220 |
- |
|
221 |
-![License Agreement](images/vs-iso-license.png) |
|
222 |
- |
|
223 |
-### Step 9: Configure the Partition |
|
224 |
- |
|
225 |
-The installer will detect one disk, which should be the 16GB volume configured as part of the virtual machine creation. Choose **Auto** to have the installer automatically allocate the partition, or choose **Custom** if you want to configure individual partitions, and then press the Enter key. |
|
226 |
- |
|
227 |
-![Partition](images/vs-iso-partition.png) |
|
228 |
- |
|
229 |
-**Note:** If you choose Custom, the installer displays the following screen. |
|
230 |
- |
|
231 |
-![Custom Partition](images/vs-iso-partition-custom.png) |
|
232 |
- |
|
233 |
-For each custom partition, choose **Create New** and specify the following information: |
|
234 |
- |
|
235 |
-![New Partition](images/vs-iso-partition-new.png) |
|
236 |
- |
|
237 |
-**Size** - Preallocated size of this partition, in MB. |
|
238 |
- |
|
239 |
-**Type** - One of the following options: |
|
240 |
- |
|
241 |
-- **ext3** - ext3 file system |
|
242 |
-- **ext4** - ext4 file system |
|
243 |
-- **swap** - swap partition |
|
244 |
- |
|
245 |
-**Mountpoint** - Mount point for this partition. |
|
246 |
- |
|
247 |
-Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key. |
|
248 |
- |
|
249 |
-The installer prompts you to confirm that you want to erase the entire disk. |
|
250 |
- |
|
251 |
-![Erase disk](images/vs-iso-erase.png) |
|
252 |
- |
|
253 |
-Choose **Yes** and press the Enter key. |
|
254 |
- |
|
255 |
-### Step 10: Select an Installation Option |
|
256 |
- |
|
257 |
-After partitioning the disk, the installer will prompt you to select an installation option. |
|
258 |
- |
|
259 |
-![Installation Option](images/vs-iso-install-option.png) |
|
260 |
- |
|
261 |
-Each install option provides a different run-time environment, depending on your requirements. |
|
262 |
- |
|
263 |
-| **Option** | **Description** | |
|
264 |
-| --- | --- | |
|
265 |
-| **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. | |
|
266 |
-| **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. | |
|
267 |
-| **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. | |
|
268 |
- |
|
269 |
-**Note:** The option you choose determines the disk and memory resources required for your installation. |
|
270 |
- |
|
271 |
-Select the option you want and press the Enter key. |
|
272 |
- |
|
273 |
-### Step 11: Select the Linux Kernel |
|
274 |
- |
|
275 |
-Select a Linux kernel to install. |
|
276 |
- |
|
277 |
-![Linux Kernel](images/vs-iso-kernel.png) |
|
278 |
- |
|
279 |
-- **Hypervisor** optimized means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times. |
|
280 |
-- **Generic** means that all components are included. |
|
281 |
- |
|
282 |
-Choose **Next** and press the Enter key. |
|
283 |
- |
|
284 |
-### Step 12: Specify the Hostname |
|
285 |
- |
|
286 |
-The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want. |
|
287 |
- |
|
288 |
-![Hostname](images/vs-iso-hostname.png) |
|
289 |
- |
|
290 |
-Press the Enter key. |
|
291 |
- |
|
292 |
-### Step 13: Specify the System root Password |
|
293 |
- |
|
294 |
-The installer prompts you to enter the system root password. |
|
295 |
- |
|
296 |
-_Note: Photon OS will not permit commonly used dictionary words to be set as a root password._ |
|
297 |
- |
|
298 |
-![Root password](images/vs-iso-root-password.png) |
|
299 |
- |
|
300 |
-Type a password and press the Enter key. |
|
301 |
- |
|
302 |
-The installer prompts you to confirm your root password by typing it a second time. |
|
303 |
- |
|
304 |
-![Password confirmation](images/vs-iso-root-password-confirm.png) |
|
305 |
- |
|
306 |
-**Note:** If you have trouble with unintentional repeated characters in the Remote Console, follow VMware KB 196 ( [http://kb.vmware.com/kb/196](http://kb.vmware.com/kb/196)) for a setting to apply to the virtual machine. |
|
307 |
- |
|
308 |
-Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute. |
|
309 |
- |
|
310 |
-### Step 14: Reboot the VM and Log In |
|
311 |
- |
|
312 |
-Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM. |
|
313 |
- |
|
314 |
-![Boot VM](images/vs-iso-installed.png) |
|
315 |
- |
|
316 |
-As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt. |
|
317 |
- |
|
318 |
-![Login prompt](images/vs-iso-splash.png) |
|
319 |
- |
|
320 |
-At the login prompt, type **root** as the username and provide the password chosen during the installation. |
|
321 |
- |
|
322 |
-![Password](images/vs-iso-login.png) |
|
323 |
- |
|
324 |
-You have now successfully setup Photon OS and are ready to use your container runtime environment. Proceed to the next section to deploy a containerized application. |
|
325 |
- |
|
326 |
-## Deploying a Containerized Application in Photon OS |
|
327 |
- |
|
328 |
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub. |
|
329 |
- |
|
330 |
-### Step 1: Run Docker |
|
331 |
- |
|
332 |
-To run Docker from the command prompt, enter the following command, which initializes the docker engine: |
|
333 |
- |
|
334 |
- systemctl start docker |
|
335 |
- |
|
336 |
-To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command: |
|
337 |
- |
|
338 |
- systemctl enable docker |
|
339 |
- |
|
340 |
-### Step 2: Run the Nginx Web Server |
|
341 |
- |
|
342 |
-Now the Docker daemon service is running, it is a simple task to "pull" and start the Nginx Web Server container from Docker Hub. To do this, type the following command: |
|
343 |
- |
|
344 |
- docker run -d -p 80:80 vmwarecna/nginx |
|
345 |
- |
|
346 |
-This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run. |
|
347 |
- |
|
348 |
-![Docker run](images/vs-docker-run.png) |
|
349 |
- |
|
350 |
-After the **docker run** process completes, you return to the command prompt. You now have a fully active website up and running in a container! |
|
351 |
- |
|
352 |
-### Step 3: Test the Web Server |
|
353 |
- |
|
354 |
-To test that your Web Server is active, run the ifconfig command to get the IP address of the Photon OS Virtual Machine. |
|
355 |
- |
|
356 |
-![IP address](images/vs-docker-ifconfig.png) |
|
357 |
- |
|
358 |
-The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on **eth0**. |
|
359 |
- |
|
360 |
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine. You should see a screen similar to the following example as confirmation that your web server is active. |
|
361 |
- |
|
362 |
-![Docker confirmation](images/vs-docker-confirm.png) |
|
363 |
- |
|
364 |
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS. |
|
365 |
- |
|
366 |
-## Installing Photon OS v1.0 |
|
367 |
- |
|
368 |
-This section provides installation instructions for Photon OS v1.0. |
|
369 |
- |
|
370 |
-### Photon OS 1.0 Prerequisites |
|
371 |
- |
|
372 |
-In order to install and start using Photon OS with VMware vSphere, the following pre-requisites must be satisfied: |
|
373 |
- |
|
374 |
-* VMware vSphere 5.5 or VMware vSphere 6.0 installed |
|
375 |
-* ESXi host with recommended 2GB of free RAM |
|
376 |
-* ESXi host with recommended 8GB of free disk space |
|
377 |
-* The Photon OS ISO downloaded from Bintray |
|
378 |
- |
|
379 |
-This document uses VMware vSphere 6. VMware recommends that you use the latest version, though vSphere 5.5 or later should work as well. |
|
380 |
- |
|
381 |
-### Importing the Photon OS 1.0 OVA |
|
382 |
- |
|
383 |
-Using the OVA is a fast and easy way to create a Photon OS VM. Once you’ve downloaded the OVA, log in to your vSphere environment and, from the `Actions` pull-down menu, select, `Deploy OVF Template …` On the popup window, point vSphere to the OVA file that you’ve downloaded. |
|
384 |
- |
|
385 |
-![vsphere1](images/vsphere1.jpg) |
|
386 |
- |
|
387 |
-Click the `Next` button at the bottom of the window and vSphere will upload and validate your OVA. Depending on bandwidth, this operation might take a while. |
|
388 |
- |
|
389 |
-After validating the image, vSphere will present a summary of the details of the OVA. Click the `Next` button to proceed to selecting a location to store the imported Photon OS instance. |
|
390 |
- |
|
391 |
-Click `Finish` |
|
392 |
- |
|
393 |
-At this point, you’ve got a Photon OS instance ready to go; but before you power on that Photon OS instance, consider first converting this VM into a template. By converting this imported VM to a template, you have a master Photon OS instance that can be combined with vSphere Guest Customization to enable rapid provisioning of Photon OS instances. |
|
394 |
- |
|
395 |
-The OVA contains a default password of "changeme" for the root account that must be changed upon initial login. For security, Photon OS forbids common dictionary words for the root password. |
|
396 |
- |
|
397 |
-### Installing the Photon OS 1.0 ISO Image |
|
398 |
- |
|
399 |
-Once the ISO image has been uploaded to a datastore that is attached to the host on which you’ll create the Photon OS virtual machine, start the installation process by creating a new virtual machine. |
|
400 |
-When creating a new VM, the first thing you’ll need to specify is the compatibility of that VM with ESXi versions. Select a compatibility level for your VM, as shown below. Photon OS shouldn’t require any particular compatibility, but VMware recommends that you choose the latest available option for your release of vSphere. |
|
401 |
- |
|
402 |
-![vsphere2](images/vsphere2.jpg) |
|
403 |
- |
|
404 |
-When prompted for the `Guest OS Family,` choose `Linux` and, for Guest OS Version, choose `Other 3.x Linux (64-bit)`. |
|
405 |
- |
|
406 |
-![vsphere3](images/vsphere3.jpg) |
|
407 |
- |
|
408 |
-The recommended virtual hardware settings for your Photon VM are heavily dependent upon the container load you intend to run within Photon OS – more containers or more intensive containers will require you to adjust these settings for your application load. VMware suggests 2 vCPU, 1024MB memory, 20GB hard disk. Any unwanted devices should be removed. Be sure to mount the Photon OS ISO on the CD/DVD Drive and put a check in the box next to, `Connect At Power On.` |
|
409 |
- |
|
410 |
-![vsphere4](images/vsphere4.jpg) |
|
411 |
- |
|
412 |
-To summarize, these are the settings we recommend as a starting point for your Photon OS container runtime host: Thin provisioned, hardware compatibility: ESXi 6.0 and later (VM version 11). |
|
413 |
- |
|
414 |
-Power on the Photon OS virtual machine and, within a few seconds, the Photon Installer Boot Menu will appear. Download and install the Remote Console if you do not have it already; otherwise, click `Launch Remote Console` to interact with the installer. |
|
415 |
- |
|
416 |
-![vsphere5](images/vsphere5.jpg) |
|
417 |
- |
|
418 |
-Once connected to the remote console, select `Install` to proceed. |
|
419 |
- |
|
420 |
-![vsphere6](images/vsphere6.png) |
|
421 |
- |
|
422 |
-After you accept the EULA, the installer will detect one disk, which should be the 20GB volume configured as part of the virtual machine creation. Select the disk and press enter. When you are prompted to confirm that it is okay to erase the entire disk, select `Yes` to accept and proceed with the installation. |
|
423 |
- |
|
424 |
-![vsphere7](images/vsphere7.jpg) |
|
425 |
- |
|
426 |
-You will now be presented with several installation options: |
|
427 |
- |
|
428 |
-![vsphere8](images/vsphere8.png) |
|
429 |
- |
|
430 |
-Each install option provides a different runtime environment: |
|
431 |
- |
|
432 |
-* Photon Minimal: Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. |
|
433 |
- |
|
434 |
-* Photon Full: Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. |
|
435 |
- |
|
436 |
-* Photon OSTree Host: This installation profile creates a Photon OS instance that will source its packages from a central rpm-ostree server and continue to have the library and state of packages managed by the definition that is maintained on the central rpm-ostree server. Use Photon OStree Hosts when you are interested in experimenting with the concept of a centrally authored and maintained OS version. This concept of treating the OS as a versioned, atomic entity can simplify lifecycle management and security at scale. |
|
437 |
- |
|
438 |
-* Photon OSTree Server: This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the Photon OSTree Host installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. |
|
439 |
- |
|
440 |
-For the purposes of this how-to guide, select the option to install Photon Minimal. Once `Photon Minimal` is highlighted, press the Enter key on your keyboard. |
|
441 |
- |
|
442 |
-You will now be prompted for a hostname. Photon OS will prepopulate a randomly generated, unique hostname; you can either use this suggestion or enter your own hostname, as shown in the screenshot below: |
|
443 |
- |
|
444 |
-![vsphere9](images/vsphere9.jpg) |
|
445 |
- |
|
446 |
-After selecting a hostname and pressing Enter, you will be prompted to first type and, then, confirm the system root password. If you have trouble with unintentional repeated characters in the Remote Console, follow VMware KB 196 (http://kb.vmware.com/kb/196) for a setting to apply to the virtual machine. |
|
447 |
- |
|
448 |
-*Note: Photon OS will not permit commonly used dictionary words to be set as a root password.* |
|
449 |
- |
|
450 |
-After confirming the password, the installation process should begin. |
|
451 |
- |
|
452 |
-Installation times will vary based on system hardware and installation options, but most installations complete in less than a minute. Once the installation completes, press any key and the virtual machine will reboot into Photon OS. |
|
453 |
- |
|
454 |
-As the initial boot process begins, you will see the Photon splash screen before you are taken to a login prompt. |
|
455 |
- |
|
456 |
-At the login prompt, enter `root` as the username and provide the password chosen during the installation. |
|
457 |
- |
|
458 |
-You have now successfully setup Photon OS and are ready to use your container runtime environment. |
|
459 |
- |
|
460 |
-### Installing a Containerized Application in Photon OS 1.0 |
|
461 |
-Now that you have your container runtime environment up and running, you may be wondering, “what can I do now?” A command prompt is not the most exciting thing. To help demonstrate the ease with which you can deploy a containerized application, this section showcases how you can quickly get a web server up and running. |
|
462 |
- |
|
463 |
-For this example, we will use the popular open source web server Nginx. The Nginx application has a customized VMware package published as a dockerfile that can be downloaded directly in Docker from the Docker Hub. |
|
464 |
- |
|
465 |
-To run Docker from the command prompt, enter the command below to initialize the docker engine: |
|
466 |
- |
|
467 |
-`systemctl start docker` |
|
468 |
- |
|
469 |
-To ensure the docker daemon service runs on every subsequent VM reboot, enter: |
|
470 |
- |
|
471 |
-`systemctl enable docker` |
|
472 |
- |
|
473 |
-Now that the docker daemon service is running, it is a simple task to pull and start the Nginx Web Server container from Docker Hub. To do this, enter the following command: |
|
474 |
- |
|
475 |
-`docker run -d -p 80:80 vmwarecna/nginx` |
|
476 |
- |
|
477 |
-This will then pull the Nginx Web Server files and appropriate dependent containers to ensure this containerized application can run. You will see a screenshot similar to below, as the container and dependencies are downloaded and the container is prepared to run: |
|
478 |
- |
|
479 |
-![vsphere12](images/vsphere12.jpg) |
|
480 |
- |
|
481 |
-Once the `docker run` process is completed, you will be returned to the command prompt. You now have a fully active web server up and running through typing just a single command within Photon OS using containers. |
|
482 |
- |
|
483 |
-To test that your web server is active, we need to get the IP address of the Photon OS Virtual Machine. To get the IP address, enter the following command: |
|
484 |
- |
|
485 |
- ifconfig |
|
486 |
- |
|
487 |
-This will now display a list of adapters connected to the virtual machine. Typically, the web server daemon will be bound to `eth0.` |
|
488 |
- |
|
489 |
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine. The following screen will appear showing that your web server is active: |
|
490 |
- |
|
491 |
-![vsphere13](images/vsphere13.jpg) |
|
492 |
- |
|
493 |
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS. |
|
494 |
- |
|
495 |
-If you are having trouble viewing the screen that shows the web server is active, you might have to add an iptables rule to your container VM to allow traffic on Port 80: |
|
496 |
- |
|
497 |
-`iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT` |
|
498 |
- |
|
499 |
-In addition, you might have to modify /etc/httpd/httpd.conf to listen on Port 80 by adding the following line: |
|
500 |
- |
|
501 |
-`Listen 0.0.0.0:80` |
|
9 |
+**Note**: If you want to upgrade an existing Photon 1.0 VM, see [Upgrading to Photon OS 3.0](Upgrading-to-Photon-OS-3.0.md). |
|
502 | 10 |
|
503 | 11 |
|
... | ... |
@@ -1,514 +1,10 @@ |
1 | 1 |
# Running Photon OS on Fusion |
2 | 2 |
|
3 |
-This guide describes how to get started using Photon OS as a virtual machine within VMware Fusion. It provides instructions for downloading Photon OS (as an OVA or ISO file), describes the various installation options, and walks through the steps of installing the Photon OS distribution on Fusion. Once Photon OS is installed, this document shows how to deploy a containerized application in Docker with a single command. |
|
3 |
+You can use Photon OS as a virtual machine within VMware Fusion. You can download Photon OS, as an OVA or ISO file, and install the Photon OS distribution on Fusion. After you install Photon OS, you can deploy a containerized application in Docker with a single command. |
|
4 | 4 |
|
5 |
-- [About Photon OS](#about-photon-os) |
|
6 |
-- [Requirements](#requirements) |
|
7 |
-- [Deciding Whether to Use an OVA or ISO](#deciding-whether-to-use-an-ova-or-iso) |
|
8 |
-- [Downloading Photon OS](#downloading-photon-os) |
|
9 |
-- [Importing the OVA for Photon OS 2.0](#importing-the-ova-for-photon-os-20) |
|
10 |
-- [Installing the ISO Image for Photon OS 2.0](#installing-the-iso-image-for-photon-os-20) |
|
11 |
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os) |
|
12 |
-- [Installing Photon OS 1.0](#installing-photon-os-10) |
|
5 |
+- [Prerequisites](photon_os_fusion_prerequisites.md) |
|
6 |
+- [Importing the OVA for Photon OS 3.0](importing-the-ova-for-photon-os-3.0-fusion.md) |
|
7 |
+- [Installing the ISO Image for Photon OS 3.0](installing-the-iso-image-for-photon-os-30-fusion.md) |
|
13 | 8 |
|
14 |
-**Note**: If you want to upgrade an existing Photon 1.0 VM, refer to the instructions in [Upgrading to Photon OS 2.0](Upgrading-to-Photon-OS-2.0.md). |
|
9 |
+**Note**: If you want to upgrade an existing Photon 1.0 VM, see [Upgrading to Photon OS 3.0](Upgrading-to-Photon-OS-3.0.md). |
|
15 | 10 |
|
16 |
-# About Photon OS |
|
17 |
- |
|
18 |
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](https://vmware.github.io/photon/). |
|
19 |
- |
|
20 |
-# Requirements |
|
21 |
- |
|
22 |
-Using Photon OS within VMware Fusion requires the following resources: |
|
23 |
- |
|
24 |
-| **Resource** | **Description** | |
|
25 |
-| --- | --- | |
|
26 |
-| VMware Fusion | VMware Fusion (v7.0 or higher) must be installed. The latest version is recommended. | |
|
27 |
-| Memory | 2GB of free RAM (recommended) | |
|
28 |
-| Storage | **Minimal Photon install** : 512MB of free space (minimum); **Full Photon install** : 4GB of free space (minimum); 8GB recommended. | |
|
29 |
-| Distribution File | Photon OS ISO or OVA file downloaded from bintray ( [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)). | |
|
30 |
- |
|
31 |
-Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware Fusion and VMware vSphere), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation). |
|
32 |
- |
|
33 |
-**Note:** The setup instructions in this guide use VMware Fusion Professional version 8.5.8, as per the following screenshot. |
|
34 |
- |
|
35 |
-![Fusion version](images/fs-version.png) |
|
36 |
- |
|
37 |
-# Deciding Whether to Use an OVA or ISO |
|
38 |
- |
|
39 |
-The first step is decide whether to use the OVA or ISO distribution to set up Photon OS. |
|
40 |
- |
|
41 |
-- **OVA import**: Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. Choose the OVA with Hardware Version 11 (_not_ 13). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using **tdnf**. |
|
42 |
-- **ISO install**: The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart. |
|
43 |
- |
|
44 |
-If you're just looking for the fastest way to get up and running, start with the OVA. |
|
45 |
- |
|
46 |
-# Downloading Photon OS |
|
47 |
- |
|
48 |
-Once you've decided which way to install, you'll need to download the correct binaries. Go to the following Bintray URL and download the latest release of Photon OS: |
|
49 |
- |
|
50 |
-[https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/) |
|
51 |
- |
|
52 |
-For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
53 |
- |
|
54 |
-# Importing the OVA for Photon OS 2.0 |
|
55 |
- |
|
56 |
-Importing the OVA image is the easiest way to create a Photon OS VM. |
|
57 |
- |
|
58 |
-## Step 1: Start the Import Process |
|
59 |
- |
|
60 |
-After you have downloaded the latest Photon OS OVA image (OVA with Hardware Version 11) into a folder of your choice, open VMware Fusion. From the File menu, choose **Import …**. Fusion prompts you to choose an existing virtual machine. |
|
61 |
- |
|
62 |
-![Import process](images/fs-ova-import.png) |
|
63 |
- |
|
64 |
-Choose the **Choose File …** button to locate and select the Photon OS OVA, then choose **Continue**. |
|
65 |
- |
|
66 |
-![Select OVA ](images/fs-ova-selected.png) |
|
67 |
- |
|
68 |
-## Step 2: Specify the Name and Storage Location |
|
69 |
- |
|
70 |
-Provide the name and storage location for your Photon OS VM, then choose **Save**. |
|
71 |
- |
|
72 |
-![Name and storage location](images/fs-ova-name.png) |
|
73 |
- |
|
74 |
-Review the Photon OS License Agreement, then choose **Accept** to start the import process. |
|
75 |
- |
|
76 |
-![License](images/fs-ova-license.png) |
|
77 |
- |
|
78 |
-## Step 3: Configure VM Settings |
|
79 |
- |
|
80 |
-After the OVA is imported, Fusion displays a confirmation that the import has completed and a summary of the settings for your Photon OS VM. The following screen shot is an example (your settings may vary). |
|
81 |
- |
|
82 |
-![VM settings](images/fs-ova-finish.png) |
|
83 |
- |
|
84 |
-**Important:** Choose **Customize Settings** to change the operating system (as recognized by the hypervisor) for the newly imported VM. |
|
85 |
- |
|
86 |
-![Custom settings](images/fs-ova-settings.png) |
|
87 |
- |
|
88 |
-Choose **General**. |
|
89 |
- |
|
90 |
-Click the selection box next to **OS**, select **Linux** , and then select **VMware Photon 64-bit**. |
|
91 |
- |
|
92 |
-![Operating system](images/fs-ova-os.png) |
|
93 |
- |
|
94 |
-Close the settings window. Fusion prompts you to verify that you want to change the operating system. |
|
95 |
- |
|
96 |
-![Confirm settings](images/fs-ova-os-confirm.png) |
|
97 |
- |
|
98 |
-Click **Change**. Your Photon OS VM is ready to power on. |
|
99 |
- |
|
100 |
-## Step 4: Power on the VM |
|
101 |
- |
|
102 |
-Power on the Photon OS VM. Fusion may ask you whether you want to upgrade this VM. |
|
103 |
- |
|
104 |
-![Upgrade VM](images/fs-ova-upgrade.png) |
|
105 |
- |
|
106 |
-How you respond depends on which hardware version (13 or 11) that you want to use. Upgrade if you need to use devices supported only in hardware version 13. Don't upgrade if you want to be compatible with older tools that are supported in hardware version 11. |
|
107 |
- |
|
108 |
-## Step 5: Update Login Credentials |
|
109 |
- |
|
110 |
-![Splash screen](images/fs-ova-splash.png) |
|
111 |
- |
|
112 |
-After the VM is booted, Fusion prompts you to log in. |
|
113 |
- |
|
114 |
-**Note** : Because of limitations within OVA support on Fusion, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are: |
|
115 |
- |
|
116 |
-| **Setting** | **Value** | |
|
117 |
-| --- | --- | |
|
118 |
-| Username | ``root`` | |
|
119 |
-| Password | ``changeme`` | |
|
120 |
- |
|
121 |
-After you provide these credentials, Fusion prompts you to create a new password and type it a second time to verify it. For security, Photon OS forbids common dictionary words for the root password. Once logged in, you will see the shell prompt. |
|
122 |
- |
|
123 |
-![Login](images/fs-ova-login.png) |
|
124 |
- |
|
125 |
-Once complete, proceed to [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os). |
|
126 |
- |
|
127 |
-# Installing the ISO Image for Photon OS 2.0 |
|
128 |
- |
|
129 |
-After you have downloaded the latest Photon OS ISO image into a folder of your choice, open VMware Fusion. |
|
130 |
- |
|
131 |
-## Step 1: Start the Installation Process |
|
132 |
- |
|
133 |
-From the File menu, choose **New**. |
|
134 |
- |
|
135 |
-![Installation](images/fs-iso-new.png) |
|
136 |
- |
|
137 |
-From the Select the Installation Method dialog, select **Install from disc or image**, and then choose **Continue**. |
|
138 |
- |
|
139 |
-![Installation method](images/fs-iso-new-prompt.png) |
|
140 |
- |
|
141 |
-## Step 2: Select the ISO Image |
|
142 |
- |
|
143 |
-Drag a disc image onto the window or choose **Use another disc or disc image...**, choose the ISO file you want, and then choose **Continue**. |
|
144 |
- |
|
145 |
-![ISO image](images/fs-iso-new-selected.png) |
|
146 |
- |
|
147 |
-## Step 3: Select the Operating System |
|
148 |
- |
|
149 |
-On the Choose Operating System dialog, select **Linux** in the left-hand column and **VMware Photon 64-bit** in the right-hand column. |
|
150 |
- |
|
151 |
-![Operating system](images/fs-iso-os.png) |
|
152 |
- |
|
153 |
-Choose **Continue**. |
|
154 |
- |
|
155 |
-## Step 4: Select the Virtual Disk (Optional) |
|
156 |
- |
|
157 |
-If you are using a Fusion version that is older than Fusion 8, you might see the following dialog. |
|
158 |
- |
|
159 |
-![Virtual disk](images/fs-iso-virtual-disk.png) |
|
160 |
- |
|
161 |
-If you see this dialog, unless you're installing into an existing machine, choose **Create a new virtual disk** from the Choose a Virtual Disk dialog, and then choose **Continue**. |
|
162 |
- |
|
163 |
-**Note:** Fusion v8 and later automatically defaults to creating a new 8GB disk and formats it automatically. If you want to use an existing disk, or if you want to pre-allocate all 8GB, go into VM Settings, choose **Add Device**, and choose either **New Hard Disk** or **Existing Hard Disk**. Expand **Advanced options** and configure whether you want to pre-allocate disk space (disabled by default) or split into multiple files (enabled by default). |
|
164 |
- |
|
165 |
-## Step 5: Configure VM Settings |
|
166 |
- |
|
167 |
-**Important:** Before you finish creating the Photon OS Virtual Machine, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container run-time environment. |
|
168 |
- |
|
169 |
-![VM settings](images/fs-iso-finish.png) |
|
170 |
- |
|
171 |
-To remove unnecessary devices, choose **Customize Settings**. |
|
172 |
- |
|
173 |
-First, choose a name for your Virtual Machine, along with the folder into which you create the Virtual Machine (or accept the default folder). |
|
174 |
- |
|
175 |
-![Custom settings](images/fs-iso-name.png) |
|
176 |
- |
|
177 |
-Choose **Save**. The virtual machine will be created. The Settings screen allows you to customize virtual hardware for the new virtual machine. If it does not automatically appear, open **Settings** from the Virtual Machine menu bar. |
|
178 |
- |
|
179 |
-![Settings](images/fs-iso-settings.png) |
|
180 |
- |
|
181 |
-You can remove (recommended) the following components that are not used by Photon OS: |
|
182 |
- |
|
183 |
-- Select **Display** and ensure that the **Accelerate 3D Graphics** option is unchecked (it should be unchecked, by default). Select **Show All** to return to the VM Settings. |
|
184 |
-- Select **CD/DVD (IDE)** and ensure that the **Connect CD/DVD Drive** box is checked (it should be checked by default). Select **Show All** to return to the VM Settings. |
|
185 |
-- Select **Sound Card**, un-check the **Connect Sound Card** Option, and click **Remove Sound Card.** Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings. |
|
186 |
-- Select **USB & Bluetooth** and uncheck the **Share Bluetooth devices with Linux** setting. Select **Show All** to return to the VM Settings. |
|
187 |
-- Select **Printer** and press the **Remove Printer Port** button in the bottom left hand corner. Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings. |
|
188 |
-- Select **Camera** and press the **Remove Camera** button in the bottom left hand corner. Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings. |
|
189 |
-- Select **Advanced** and ensure that the **Pass Power Status to VM** option is unchecked (it should be unchecked, by default). Select **Show All,** but do not close the VM Settings window. |
|
190 |
- |
|
191 |
-By default, Photon OS is configured with a disk size of 8GB. However, Photon OS uses only the portion of disk space it needs, usually much less that the entire disk size. If you want to pre-allocate the entire disk size (reserving it entirely for Photon OS instead), select **Hard Disk**, expand **Advanced options**, and check **Pre-allocate disk space** (by default, it is unchecked). Select **Show All** to return to the VM Settings. |
|
192 |
- |
|
193 |
-## Step 6: Configure a Secure Boot (Optional) |
|
194 |
- |
|
195 |
-**Note:** If you want to configure a secure boot for the Photon OS VM you created, edit its .vmx file and add the following line: |
|
196 |
- |
|
197 |
-**firmware = "efi"** |
|
198 |
- |
|
199 |
-The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure. |
|
200 |
- |
|
201 |
-After you have made the customizations you want, close the Virtual Machine Settings window. You are now ready to boot and begin the installation process. |
|
202 |
- |
|
203 |
-## Step 7: Power On the VM |
|
204 |
- |
|
205 |
-Return to the Fusion main menu, select the Photon OS Virtual Machine, and click **Start Up** (you can also choose **Start Up** from the Virtual Machine menu). |
|
206 |
- |
|
207 |
-Fusion powers on the host and starts the installation. Within a few seconds, Fusion displays the Photon OS installer boot menu. |
|
208 |
- |
|
209 |
-![Photon OS installer](images/fs-iso-install.png) |
|
210 |
- |
|
211 |
-Press the Enter key on your keyboard to start installing. |
|
212 |
- |
|
213 |
-![License](images/fs-iso-license.png) |
|
214 |
- |
|
215 |
-Read the License Agreement and press the Enter key to accept. |
|
216 |
- |
|
217 |
-## Step 8: Configure the Partition |
|
218 |
- |
|
219 |
-The Installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation. |
|
220 |
- |
|
221 |
-![Partition](images/fs-iso-partition.png) |
|
222 |
- |
|
223 |
-Choose **Auto** to have the installer automatically allocate the partition, or choose **Custom** if you want to configure individual partitions, and then press the Enter key. |
|
224 |
- |
|
225 |
-**Note:** If you choose **Custom**, the installer displays the following screen. |
|
226 |
- |
|
227 |
-![Custom partition](images/fs-iso-partition-custom.png) |
|
228 |
- |
|
229 |
-For each custom partition, choose **Create New** and specify the following information: |
|
230 |
- |
|
231 |
-![New partition](images/fs-iso-partition-new.png) |
|
232 |
- |
|
233 |
-**Size** - Preallocated size of this partition, in MB. |
|
234 |
- |
|
235 |
-**Type** - One of the following options: |
|
236 |
- |
|
237 |
-- **ext3** - ext3 file system |
|
238 |
-- **ext4** - ext4 file system |
|
239 |
-- **swap** - swap partition |
|
240 |
- |
|
241 |
-**Mountpoint** - Mount point for this partition. |
|
242 |
- |
|
243 |
-Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key. |
|
244 |
- |
|
245 |
-The installer prompts you to confirm that you want to erase the entire disk. |
|
246 |
- |
|
247 |
-![Disk erase](images/fs-iso-disk-erase.png) |
|
248 |
- |
|
249 |
-Choose **Yes** and press the Enter key to accept and proceed with the installation. |
|
250 |
- |
|
251 |
-## Step 9: Select an Installation Option |
|
252 |
- |
|
253 |
-After partitioning, the installer prompts you to select one of three installation options: |
|
254 |
- |
|
255 |
-![Installation options](images/fs-iso-install-option.png) |
|
256 |
- |
|
257 |
-Each install option provides a different run-time environment. Select the option that best meets your requirements. |
|
258 |
- |
|
259 |
-| **Option** | **Description** | |
|
260 |
-| --- | --- | |
|
261 |
-| **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. | |
|
262 |
-| **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. | |
|
263 |
-| **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. | |
|
264 |
- |
|
265 |
-**Note:** The option you choose determines the disk and memory resources required for your installation. |
|
266 |
- |
|
267 |
-Select the option you want and press the Enter key. |
|
268 |
- |
|
269 |
-## Step 10: Select the Linux Kernel |
|
270 |
- |
|
271 |
-The installer prompts you to select the Linux kernel to install: |
|
272 |
- |
|
273 |
-![Linux kernel](images/fs-iso-kernel.png) |
|
274 |
- |
|
275 |
-- **Hypervisor optimized** means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times. |
|
276 |
-- **Generic** means that all components are included. |
|
277 |
- |
|
278 |
-## Step 11: Specify the Hostname |
|
279 |
- |
|
280 |
-The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want. |
|
281 |
- |
|
282 |
-![Hostname](images/fs-iso-hostname.png) |
|
283 |
- |
|
284 |
-Press the Enter key. |
|
285 |
- |
|
286 |
-## Step 12: Specify the System root Password |
|
287 |
- |
|
288 |
-_Note: Photon OS will not permit commonly used dictionary words to be set as a root password._ |
|
289 |
- |
|
290 |
-The installer prompts you to enter the system root password. Type the password, and then press the Enter key. |
|
291 |
- |
|
292 |
-![Password](images/fs-iso-root-password.png) |
|
293 |
- |
|
294 |
-Confirm the root password by typing it a second time. |
|
295 |
- |
|
296 |
-![Password confirmation](images/fs-iso-root-password-confirm.png) |
|
297 |
- |
|
298 |
-Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute. |
|
299 |
- |
|
300 |
-Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM. |
|
301 |
- |
|
302 |
-![Confirmation](images/fs-iso-installed.png) |
|
303 |
- |
|
304 |
-## Step 13: Reboot the VM and Log In |
|
305 |
- |
|
306 |
-Press any key on the keyboard and the virtual machine will reboot into Photon OS. |
|
307 |
- |
|
308 |
-![Reboot](images/fs-iso-splash.png) |
|
309 |
- |
|
310 |
-As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt. |
|
311 |
- |
|
312 |
-At the login prompt, enter **root** as the username and provide the password chosen during the installation. |
|
313 |
- |
|
314 |
-![Password](images/fs-iso-login.png) |
|
315 |
- |
|
316 |
-You have now successfully setup Photon OS and are ready to use your container run-time environment. Proceed to the next section to deploy a containerized application. |
|
317 |
- |
|
318 |
-# Deploying a Containerized Application in Photon OS |
|
319 |
- |
|
320 |
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub. |
|
321 |
- |
|
322 |
-## Step 1: Run Docker |
|
323 |
- |
|
324 |
-To run Docker from the command prompt, enter the following command, which initializes the docker engine: |
|
325 |
- |
|
326 |
- systemctl start docker |
|
327 |
- |
|
328 |
-To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command: |
|
329 |
- |
|
330 |
- systemctl enable docker |
|
331 |
- |
|
332 |
-## Step 2: Run the Nginx Web Server |
|
333 |
- |
|
334 |
-Now the Docker daemon service is running, it is a simple task to "pull" and start the Nginx Web Server container from Docker Hub. To do this, type the following command: |
|
335 |
- |
|
336 |
- docker run -d -p 80:80 vmwarecna/nginx |
|
337 |
- |
|
338 |
-This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run. |
|
339 |
- |
|
340 |
-![Docker run](images/fs-docker-run.png) |
|
341 |
- |
|
342 |
-After the **docker run** process completes, you return to the command prompt. You now have a fully active website up and running in a container. |
|
343 |
- |
|
344 |
-## Step 3: Test the Web Server |
|
345 |
- |
|
346 |
-To test that your Web Server is active, run the ifconfig command to get the IP address of the Photon OS Virtual Machine. |
|
347 |
- |
|
348 |
-![IP Address](images/fs-docker-ifconfig.png) |
|
349 |
- |
|
350 |
-The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on "eth0." |
|
351 |
- |
|
352 |
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine. You should see a screen similar to the following example as confirmation that your web server is active. |
|
353 |
- |
|
354 |
-![Confirmation](images/fs-docker-confirm.png) |
|
355 |
- |
|
356 |
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS. |
|
357 |
- |
|
358 |
-# Installing Photon OS 1.0 |
|
359 |
- |
|
360 |
-This section provides setup instructions for Photon OS 1.0. |
|
361 |
- |
|
362 |
-## Photon OS 1.0 Prerequisites |
|
363 |
-In order to install and start using Photon OS with VMware Fusion the following pre-requisites must be satisfied: |
|
364 |
-* VMware Fusion or VMware Workstation must be installed |
|
365 |
-* Recommended 2GB of free RAM |
|
366 |
-* Recommended at least 300MB of free disk space |
|
367 |
-* Photon OS ISO or OVA |
|
368 |
- |
|
369 |
-## Importing the Photon OS 1.0 OVA |
|
370 |
- |
|
371 |
-Using the OVA is the easiest way to create a Photon OS VM. Once you’ve downloaded the OVA, open VMware Fusion and select, “Import …” from the File menu. This will open the “Choose an Existing Virtual Machine” wizard. Use the “Choose File …” button to locate and select the Photon OS OVA. |
|
372 |
-Note: The “Import” operation is specific to Fusion. For Workstation users, simply double-clicking on the OVA will start the import. |
|
373 |
- |
|
374 |
-![Import](https://cloud.githubusercontent.com/assets/11306358/16094763/4ac80e12-3307-11e6-8e7b-10ea353ddbfc.png) |
|
375 |
- |
|
376 |
-Click “Continue” and provide the name and storage location for your Photon OS VM. Then, click "Save." |
|
377 |
- |
|
378 |
-![Save](https://cloud.githubusercontent.com/assets/11306358/16094759/4ac50000-3307-11e6-8a34-538f36b95f64.png) |
|
379 |
- |
|
380 |
-Clicking “Save” will immediately present the Photon OS EULA. In order to start the import process, you'll need to click "Accept" to accept the EULA. |
|
381 |
- |
|
382 |
-![Accept](https://cloud.githubusercontent.com/assets/11306358/16094758/4ac50668-3307-11e6-86ce-943afa12946f.png) |
|
383 |
- |
|
384 |
-Once the import is complete, you should get confirmation that the import was Finished and a summary of the settings for your Photon OS VM. Click “Customize Settings” to change the operating system, as recognized by the hypervisor. Within the "General" System Settings for the newly imported VM, click the selection box next to "OS" and select, "VMware Photon 64-bit," as shown below. |
|
385 |
- |
|
386 |
-![Settings](https://cloud.githubusercontent.com/assets/11306358/16095187/24abc4f6-3309-11e6-9faa-c4e7b15ba63a.png) |
|
387 |
- |
|
388 |
-Close the settings window and your Photon OS VM is ready to power on. |
|
389 |
- |
|
390 |
-![Confirmation](https://cloud.githubusercontent.com/assets/11306358/16094764/4acf69dc-3307-11e6-9d62-7dd37546a233.png) |
|
391 |
- |
|
392 |
-Clicking “Finish” will immediately power on your Photon OS VM. Once the VM is booted, you will be presented with a login prompt. Because of limitations within OVA support on Fusion and Workstation, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are: |
|
393 |
- |
|
394 |
-`Username: root` |
|
395 |
-`Password: changeme` |
|
396 |
- |
|
397 |
-As soon as you enter these credentials, you will be forced to create a new password by entering the new password twice before you can access the shell prompt. |
|
398 |
- |
|
399 |
-![Login](https://cloud.githubusercontent.com/assets/11306358/16094765/4ad06ce2-3307-11e6-827f-e61107185f42.png) |
|
400 |
- |
|
401 |
-## Installing Photon OS 1.0 on VMware Fusion from an ISO Image |
|
402 |
-With the latest Photon OS ISO image downloaded into a folder of your choice, Open VMware Fusion and Select “File->New.” The following screen will appear: |
|
403 |
- |
|
404 |
-![File->New](https://cloud.githubusercontent.com/assets/11306358/14651747/df593c52-0636-11e6-9cbe-bfd0db9bfa89.png) |
|
405 |
- |
|
406 |
-Select "Create a custom virtual machine" from the "Select the Installation Method" dialog, then, click continue. On the "Choose Operating System" dialog, select, "Linux" in the left-hand column and "VMware Photon 64-bit" in the right-hand column. |
|
407 |
- |
|
408 |
-![fusion7](https://cloud.githubusercontent.com/assets/11306358/14651749/df6fbd74-0636-11e6-8070-a584bddf39f5.png) |
|
409 |
- |
|
410 |
-Unless you're installing into an existing machine, select, "Create a new virtual disk" from the "Choose a Virtual Disk dialog, then click "Continue." |
|
411 |
- |
|
412 |
-![fusion7b](https://cloud.githubusercontent.com/assets/11306358/14651751/df7428a0-0636-11e6-85b2-64e2dff9be84.png) |
|
413 |
- |
|
414 |
-You're almost finished; but, before finishing the Photon OS Virtual Machine Creation, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container runtime environment. |
|
415 |
- |
|
416 |
-![fusion9](https://cloud.githubusercontent.com/assets/11306358/14651750/df7385f8-0636-11e6-9310-0d7f375dd7b5.png) |
|
417 |
- |
|
418 |
-To remove unnecessary devices, from the screen shown below, select “Customize Settings." |
|
419 |
- |
|
420 |
-First, choose a name for your Virtual Machine and the folder into which you would like to create the Virtual Machine. If the default folder of “Virtual Machines” is acceptable, click “Save”. |
|
421 |
- |
|
422 |
-![Save](https://cloud.githubusercontent.com/assets/11306358/16105478/724ea650-3350-11e6-8e69-272f6a1f6097.png) |
|
423 |
- |
|
424 |
-The virtual machine will be created and a new screen will appear, as shown below, that will allow virtual hardware customization to the new virtual machine. If it does not automatically appear, open "Settings" from the Virtual Machine menu bar. |
|
425 |
- |
|
426 |
-![fusion11](https://cloud.githubusercontent.com/assets/11306358/14653053/cd434ffc-063c-11e6-9861-924489b26d75.png) |
|
427 |
- |
|
428 |
-It is our recommendation that the following components are removed, since they’re not used by Photon OS: |
|
429 |
-* Select “Sound Card” and un-tick the “Connect Sound Card” Option and click "Remove Sound Card." Confirm your action and return to the VM Settings by clicking “Show All.” |
|
430 |
-* Select “Camera” and press the “Remove Camera” button in the bottom left hand corner, confirm your action and then select “Show All” to return to the VM Settings. |
|
431 |
-* Select “Printer” and press the “Remove Printer Port” button in the bottom left hand corner, confirm your action and then select “Show All” to return to the VM Settings. |
|
432 |
-* Select “USB & Bluetooth” and uncheck the “Share Bluetooth devices with Linux” setting and then select “Show All” |
|
433 |
-* Select “Display” and ensure that the “Accelerate 3D Graphics” option is unchecked (it should be unchecked, by default) and, then, return to the VM Settings by selecting “Show All.” |
|
434 |
-* Select “Advanced” and ensure that the “Pass Power Status to VM” option is unchecked. Select “Show All," but do not close the VM Settings window. |
|
435 |
- |
|
436 |
-At this stage we have now made all the necessary customizations and we are ready to select the Photon OS ISO image to boot and begin the installation process. |
|
437 |
- |
|
438 |
-From the Virtual Machine Settings menu in Fusion, select "CD/DVD (IDE)" and, as shown below, point to the downloaded Photon OS ISO and ensure that there is a check in the "Connect CD/DVD Drive" box. |
|
439 |
- |
|
440 |
-![Connect CD/DVD](https://cloud.githubusercontent.com/assets/11306358/16105475/72391e0c-3350-11e6-94a2-64587a06e838.png) |
|
441 |
- |
|
442 |
-Return to the Fusion main menu, select the Photon OS Virtual Machine and press the “Play” button to power on the host and start the installation. |
|
443 |
-Within a few seconds the Photon OS Installer Boot Menu will appear. |
|
444 |
- |
|
445 |
-![Boot menu](https://cloud.githubusercontent.com/assets/11306358/16105477/724e902a-3350-11e6-8482-7544d2a6c3fb.png) |
|
446 |
- |
|
447 |
-Select – “Install” to proceed. |
|
448 |
- |
|
449 |
-![Install](https://cloud.githubusercontent.com/assets/11306358/16105480/7251abca-3350-11e6-8f8e-d26244fd75ff.png) |
|
450 |
- |
|
451 |
-After you accept the EULA, the Installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation. Select the disk and press enter. You will be prompted to confirm it is okay to erase the entire disk, select “Yes” to accept and proceed with the installation. |
|
452 |
-You will now be presented with four installation options: |
|
453 |
- |
|
454 |
-![fusion15](https://cloud.githubusercontent.com/assets/11306358/14651982/d464f31c-0637-11e6-938d-5d6132ccd63f.png) |
|
455 |
- |
|
456 |
-Each install option provides a different runtime environment, depending on your requirements: |
|
457 |
- |
|
458 |
-* Photon Minimal: Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. |
|
459 |
- |
|
460 |
-* Photon Full: Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. |
|
461 |
- |
|
462 |
-* Photon OSTree Host: This installation profile creates a Photon OS instance that will source its packages from a central rpm-ostree server and continue to have the library and state of packages managed by the definition that is maintained on the central rpm-ostree server. Use Photon OStree Hosts when you are interested in experimenting with the concept of a centrally authored and maintained OS version. This concept of treating the OS as a versioned, atomic entity can simplify lifecycle and security management at scale. |
|
463 |
- |
|
464 |
-* Photon OSTree Server: This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the “Photon OSTree Host” installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. |
|
465 |
- |
|
466 |
-For the purposes of this how-to guide, select option 1, “Photon Minimal.” Once this selection is highlighted, press the Enter key on your keyboard. |
|
467 |
- |
|
468 |
-You will now be prompted for a hostname. Photon OS will prepopulate a randomly generated, unique hostname; you can either use this suggestion or enter your own hostname. After selecting a hostname and pressing “Enter,” you will be prompted to first enter and, then, confirm the system root password. |
|
469 |
- |
|
470 |
-*Note: Photon OS will not permit commonly used dictionary words to be set as a root password.* |
|
471 |
- |
|
472 |
-After confirming the password, the installation process should begin. |
|
473 |
-Installation times will vary based on system hardware and installation options, but most installations complete in less than one minute. Once the install is complete you will get a confirmation prompt on the screen stating “Congratulations, Photon has been installed in xx secs, Press any key to continue to boot…” - Press any key and the virtual machine will reboot into Photon OS. |
|
474 |
- |
|
475 |
-![Reboot](https://cloud.githubusercontent.com/assets/11306358/16105476/724e70c2-3350-11e6-84af-0c487266108d.png) |
|
476 |
- |
|
477 |
-As the initial boot process begins, you will see the Photon splash screen before you are taken to a login prompt. |
|
478 |
- |
|
479 |
-![Login](https://cloud.githubusercontent.com/assets/11306358/16094764/4acf69dc-3307-11e6-9d62-7dd37546a233.png) |
|
480 |
- |
|
481 |
-At the login prompt, enter “root” as the username and provide the password chosen during the installation. |
|
482 |
- |
|
483 |
-You have now successfully setup Photon OS and are ready to use your container runtime environment. |
|
484 |
- |
|
485 |
-## Installing a Containerized Application on Photon OS 1.0 |
|
486 |
- |
|
487 |
-Now that you have your container runtime environment up and running, you may be wondering, “what can I do now?” A command prompt is not the most exciting! To help to demonstrate the ease in which you can deploy a containerized application, we will showcase how you can quickly get a Web Server up and running. |
|
488 |
-For this example, we will use the popular open source Web Server Nginx. The Nginx application has a customized VMware package and published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub. |
|
489 |
- |
|
490 |
-To run Docker from the command prompt, enter the command below to initialize the docker engine: |
|
491 |
- |
|
492 |
-`systemctl start docker` |
|
493 |
- |
|
494 |
-To ensure Docker daemon service runs on every subsequent VM reboot, enter: |
|
495 |
- |
|
496 |
-`systemctl enable docker` |
|
497 |
- |
|
498 |
-Now the Docker daemon service is running, it is a simple task to “pull” and start the Nginx Web Server container from Docker Hub. To do this, type the following command: |
|
499 |
- |
|
500 |
-`docker run -d -p 80:80 vmwarecna/nginx` |
|
501 |
- |
|
502 |
-This will then pull the Nginx Web Server files and appropriate dependent container filesystem layers to ensure this containerized application can run. You will see a screenshot similar to below, as the container and dependencies are downloaded and the container is prepared to run: |
|
503 |
- |
|
504 |
-![fusion19](https://cloud.githubusercontent.com/assets/11306358/9568066/b3950dd8-4f04-11e5-9333-ac0551a22ace.jpg) |
|
505 |
- |
|
506 |
-Once “docker run” process is completed, you will be returned to the command prompt. You now have a fully active website up and running in a container! |
|
507 |
- |
|
508 |
-To test that your Web Server is active, we need to get the IP address of the Photon OS Virtual Machine. To get the IP address, enter the following command ifconfig. This will now display a list of adapters connected to the virtual machine. Typically, the web server daemon will be bound on “eth0.” |
|
509 |
- |
|
510 |
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine. The following screen will appear and that will show that your web server is active: - |
|
511 |
- |
|
512 |
-![fusion20](https://cloud.githubusercontent.com/assets/11306358/9568067/b3b6e278-4f04-11e5-93f6-de8383530518.jpg) |
|
513 |
- |
|
514 |
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS. |
... | ... |
@@ -6,14 +6,40 @@ |
6 | 6 |
|
7 | 7 |
- [Installation Guide](README.md) |
8 | 8 |
- [Downloading Photon OS](Downloading-Photon-OS.md) |
9 |
+ - [Upgrading to Photon OS 3.0](Upgrading_to_photon_os_3.0.md) |
|
9 | 10 |
- [Build an ISO from the source code for Photon OS](build-photon.md) |
11 |
+ - [Folder Layout](folder_layout.md) |
|
12 |
+ * [Build Prerequisites](build_prerequisites.md) |
|
13 |
+ * [Building the ISO](build_the_iso.md) |
|
14 |
+ * [Use the Cached Toolchain and RPMS](Use_the_Cached_Toolchain_and_RPMS.md) |
|
15 |
+ * [Use Cached Sources](use_cached_sources.md) |
|
16 |
+ * [View Build Logs](view_build_logs.md) |
|
10 | 17 |
- [Running Photon OS on vSphere](Running-Photon-OS-on-vSphere.md) |
18 |
+ - [Prerequisites](photon_os_vsphere_prerequisites.md) |
|
19 |
+ - [Importing the OVA for Photon OS 3.0](importing_ova_for_photon_os_3.0.md) |
|
20 |
+ - [Installing the ISO Image for Photon OS 3.0](installing-the-iso-image-for-photon-os-30.md) |
|
11 | 21 |
- [Running Photon OS on Fusion](Running-Project-Photon-on-Fusion.md) |
22 |
+ - [Prerequisites](photon_os_fusion_prerequisites.md) |
|
23 |
+ - [Importing the OVA for Photon OS 3.0](importing-the-ova-for-photon-os-3.0-fusion.md) |
|
24 |
+ - [Installing the ISO Image for Photon OS 3.0](installing-the-iso-image-for-photon-os-30-fusion.md) |
|
12 | 25 |
- [Running Photon OS on Workstation](Running-Photon-OS-on-Workstation.md) |
26 |
+ - [Prerequisites](photon_os_workstation_prerequisites.md) |
|
27 |
+ - [Importing the OVA for Photon OS 3.0](importing_ova_for_photon_os_3.0-workstation.md) |
|
28 |
+ - [Installing the ISO Image for Photon OS 2.0](installing-the-iso-image-for-photon-os-30-workstation.md) |
|
13 | 29 |
- [Running Photon OS on AWS EC2](Running-Photon-OS-on-Amazon-Elastic-Cloud-Compute.md) |
30 |
+ - [Prerequisites](photon_os_ecc_prerequisites.md) |
|
31 |
+ - [Set Up Photon OS on EC2](set-up-PhotonOS-on-ec2.md) |
|
32 |
+ - [Deploy a Containerized Application in Photon OS using SSH](deploying-a-containerized-application-in-photon-os-ssh.md) |
|
33 |
+ - [Launch the Web Server with Cloud-Init](launch-web-server-with-cloud-init.md) |
|
34 |
+ - [Terminate the AMI Instance](terminate-the-ami-instance.md) |
|
14 | 35 |
- [Running Photon OS on Microsoft Azure](Running-Photon-OS-on-Microsoft-Azure.md) |
36 |
+ - [Prerequisites](photon-os-azure-prerequisites.md) |
|
37 |
+ - [Set Up Azure Storage and Uploading the VHD](setting-up-azure-storage-and-uploading-the-vhd.md) |
|
38 |
+ - [Remove Photon OS From Azure](remove-photon-os-from-azure.md) |
|
15 | 39 |
- [Running Photon OS on Google Compute Engine](Running-Photon-OS-on-Google-Compute-Engine.md) |
16 |
- - [Photon OS on GCE](gce.md) |
|
40 |
+ - [Prerequisites for Photon OS on GCE](photon-os-gce-prerequisites.md) |
|
41 |
+ - [Installing Photon OS on Google Compute Engine](installing-photon-os-on-google-compute-engine.md) |
|
42 |
+ - [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os.md) |
|
17 | 43 |
- [Installing and Using Lightwave on Photon OS](Installing-and-Using-Lightwave-on-Photon-OS.md) |
18 | 44 |
- [Installing the Lightwave Server and Configuring It as a Domain Controller on a Photon Image](Installing-Lightwave-Server-and-Setting-Up-a-Domain.md) |
19 | 45 |
- [Installing the Lightwave Client on a Photon Image and Joining the Client to a Domain](Installing-Lightwave-Client-and-Joining-a-Domain.md) |
0 | 5 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,17 @@ |
0 |
+# Use the Cached Toolchain and RPMS |
|
1 |
+ |
|
2 |
+To use the cached toolchain, run the following command: |
|
3 |
+ |
|
4 |
+``` |
|
5 |
+mkdir $HOME/photon-cache |
|
6 |
+sudo make iso PHOTON_CACHE_PATH=$HOME/photon-cache |
|
7 |
+``` |
|
8 |
+ |
|
9 |
+The directory format of `PHOTON_CACHE_PATH` is as follows: |
|
10 |
+ |
|
11 |
+``` |
|
12 |
+photon-cache/ |
|
13 |
+├──tools-build.tar.gz |
|
14 |
+├──RPMS/x86-64/*.rpm |
|
15 |
+└──RPMX/noarch/*.rpm |
|
16 |
+``` |
|
0 | 17 |
\ No newline at end of file |
... | ... |
@@ -1,91 +1,13 @@ |
1 |
-# Building an ISO from the Source Code for Photon OS |
|
1 |
+# Build an ISO from the Source Code for Photon OS |
|
2 | 2 |
|
3 |
-This document describes how to build an ISO from the source code for Photon OS, the open-source minimalist Linux operating system from VMware that is optimized for cloud computing platforms, VMware vSphere deployments, and applications native to the cloud. |
|
3 |
+You can build an ISO from the source code for Photon OS. This section describes how to build the ISO, use the cached toolchain and RPMS, and cached sources. |
|
4 | 4 |
|
5 |
-## Folder Layout |
|
5 |
+* [Folder Layout](folder_layout.md) |
|
6 |
+* [Build Prerequisites](build_prerequisites.md) |
|
7 |
+* [Building the ISO](build_the_iso.md) |
|
8 |
+* [Use the Cached Toolchain and RPMS](Use_the_Cached_Toolchain_and_RPMS.md) |
|
9 |
+* [Use Cached Sources](use_cached_sources.md) |
|
10 |
+* [View Build Logs](view_build_logs.md) |
|
6 | 11 |
|
7 |
-Here is the structure of the directories on GitHub that contain the source code for Photon OS: |
|
12 |
+For information on how to install and build a package on Photon OS from the package's source RPM, see the [Photon OS Administration Guide](photon_admin/building-a-package-from-a-source-rpm.md). |
|
8 | 13 |
|
9 |
-``` |
|
10 |
-photon/ |
|
11 |
-├── Makefile |
|
12 |
-├── README |
|
13 |
-├── Dockerfile |
|
14 |
-├── Vagrantfile |
|
15 |
-├── SPECS # RPM SPEC files |
|
16 |
-├── common # Build, packaging config |
|
17 |
-├── docs # Documentation |
|
18 |
-├── installer # Installer used at runtime |
|
19 |
-├── support # Build scripts |
|
20 |
-└── tools |
|
21 |
-``` |
|
22 |
- |
|
23 |
-## How to Build the ISO |
|
24 |
- |
|
25 |
-The following process for building the ISO assumes that the following prerequisites are in place: |
|
26 |
- |
|
27 |
-* A build operating system running the 64-bit version of Ubuntu 14.04 or later |
|
28 |
-* Packages: bison, gawk, g++, createrepo, python-aptdaemon, genisoimage, texinfo, python-requests |
|
29 |
-* Docker |
|
30 |
-* Downloaded the source code from the Photon OS repository on GitHub into `$HOME/workspaces/photon`. |
|
31 |
- |
|
32 |
-Here's how to install the packages on Ubuntu: |
|
33 |
- |
|
34 |
-``` |
|
35 |
-sudo apt-get -y install bison gawk g++ createrepo python-aptdaemon genisoimage texinfo python-requests libfuse-dev libssl-dev uuid-dev libreadline-dev kpartx git bc |
|
36 |
-``` |
|
37 |
-Here's how to get Docker: |
|
38 |
-``` |
|
39 |
-wget -qO- https://get.docker.com/ | sh |
|
40 |
-``` |
|
41 |
- |
|
42 |
-Here's how to make the ISO, assuming you checked out the workspace under `$HOME/workspaces/photon`: |
|
43 |
-``` |
|
44 |
-cd $HOME/workspaces/photon |
|
45 |
-sudo make iso |
|
46 |
-``` |
|
47 |
-The ISO is created at `$HOME/workspaces/photon/stage/photon.iso` |
|
48 |
- |
|
49 |
- |
|
50 |
-## How to Use the Cached Toolchain and RPMS |
|
51 |
-``` |
|
52 |
-mkdir $HOME/photon-cache |
|
53 |
-sudo make iso PHOTON_CACHE_PATH=$HOME/photon-cache |
|
54 |
-``` |
|
55 |
-Directory format of `PHOTON_CACHE_PATH` is as follows. |
|
56 |
-``` |
|
57 |
-photon-cache/ |
|
58 |
-├──tools-build.tar.gz |
|
59 |
-├──RPMS/x86-64/*.rpm |
|
60 |
-└──RPMX/noarch/*.rpm |
|
61 |
-``` |
|
62 |
-## How to Use Cached Sources |
|
63 |
-``` |
|
64 |
-mkdir $HOME/photon-sources |
|
65 |
-sudo make iso PHOTON_SOURCES_PATH=$HOME/photon-sources |
|
66 |
-``` |
|
67 |
-Directory format of `PHOTON_SOURCES_PATH` is as follows. |
|
68 |
-``` |
|
69 |
-photon-sources/ |
|
70 |
-├──src1.tar.gz |
|
71 |
-├──src2.tar.gz |
|
72 |
-└──... |
|
73 |
-``` |
|
74 |
- |
|
75 |
-## Where are the Build Logs? |
|
76 |
-``` |
|
77 |
-$HOME/workspaces/photon/stage/LOGS |
|
78 |
-``` |
|
79 |
- |
|
80 |
-## Building RPMs from their Source RPMs |
|
81 |
- |
|
82 |
-For instructions on how to install and build a package on Photon OS from the package's source RPM, see the [Photon OS Administration Guide](https://github.com/vmware/photon/blob/master/docs/photon-admin-guide.md#building-a-package-from-a-source-rpm). |
|
83 |
- |
|
84 |
-## Complete Build Environment Using Vagrant |
|
85 |
-A `Vagrantfile` is available to ensure a quick standup of a development or build environment for Photon. This Vagrantfile uses a box called `photon-build-machine` that is created through a [Packer](http://packer.io) template available under `support/packer-templates`; see the [README.md](https://github.com/vmware/photon/blob/master/support/packer-templates/README.md) for more information on how to build `photon-build-machine`. |
|
86 |
- |
|
87 |
-## Photon Vagrant Box |
|
88 |
-As with the build-machine a Packer template is available under `support/packer-templates` to build a Photon based Vagrant box running Docker, see the [README.md](https://github.com/vmware/photon/blob/master/support/packer-templates/README.md) for more information on how to build it. |
|
89 |
- |
|
90 |
-## Automated Build Environment and Vagrant Boxes |
|
91 |
-Convenience `make` targets also exist to build both the `photon-build-machine` and the `photon` Packer templates as well as building a fresh ISO using the `photon-build-machine`. See the [README.md](https://github.com/vmware/photon/blob/master/support/packer-templates/README.md) for details. |
92 | 14 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,10 @@ |
0 |
+# Build Prerequisites |
|
1 |
+ |
|
2 |
+Before you build the ISO, verify that you have the performed the following tasks: |
|
3 |
+ |
|
4 |
+* Installed a build operating system running the 64-bit version of Ubuntu 14.04 or later version. |
|
5 |
+* Downloaded and installed the following packages: `bison`, `gawk`, `g++`, `createrepo`, `python-aptdaemon`, `genisoimage`, `texinfo`, `python-requests` |
|
6 |
+* Installed Docker |
|
7 |
+* Downloaded the source code from the Photon OS repository on GitHub into `$HOME/workspaces/photon`. |
|
8 |
+ |
|
9 |
+ |
0 | 10 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,26 @@ |
0 |
+# Building the ISO |
|
1 |
+ |
|
2 |
+Perform the following steps to install the packages on Ubuntu: |
|
3 |
+ |
|
4 |
+1. Install the packages: |
|
5 |
+ |
|
6 |
+ ``` |
|
7 |
+ sudo apt-get -y install bison gawk g++ createrepo python-aptdaemon genisoimage texinfo python-requests libfuse-dev libssl-dev uuid-dev libreadline-dev kpartx git bc |
|
8 |
+ ``` |
|
9 |
+ |
|
10 |
+ |
|
11 |
+1. Get Docker: |
|
12 |
+ |
|
13 |
+ ``` |
|
14 |
+ wget -qO- https://get.docker.com/ | sh |
|
15 |
+ ``` |
|
16 |
+ |
|
17 |
+1. Make the ISO. The example below assumes that you checked out the workspace under `$HOME/workspaces/photon`: |
|
18 |
+ ``` |
|
19 |
+ cd $HOME/workspaces/photon |
|
20 |
+ sudo make iso |
|
21 |
+ ``` |
|
22 |
+ |
|
23 |
+**Result** |
|
24 |
+ |
|
25 |
+The ISO is created at `$HOME/workspaces/photon/stage/photon.iso`. |
|
0 | 26 |
\ No newline at end of file |
1 | 27 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,39 @@ |
0 |
+# Deploy a Containerized Application in Photon OS |
|
1 |
+ |
|
2 |
+Connect to the Photon instance by using SSH and to launch a web server by running it in Docker. |
|
3 |
+ |
|
4 |
+1. Connect with SSH |
|
5 |
+ |
|
6 |
+ Connect to the instance over SSH by specifying the private key (.pem) file and the user name for the Photon machine, which is `root`: |
|
7 |
+ |
|
8 |
+ ssh -i ~/.ssh/mykeypair root@<public-ip-address-of-instance> |
|
9 |
+ |
|
10 |
+ For complete instructions, see [Connecting to Your Linux Instance Using SSH](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html). |
|
11 |
+ |
|
12 |
+1. Run Docker |
|
13 |
+ |
|
14 |
+ On the minimal version of Photon OS, the docker engine is enabled and running by default, which you can see by running the following command: |
|
15 |
+ |
|
16 |
+ systemctl status docker |
|
17 |
+ |
|
18 |
+1. Start the web server |
|
19 |
+ |
|
20 |
+ **Note**: Please make sure that the proper security policies have been enabled on the Amazon AWS side to enable traffic to port 80 on the VM. |
|
21 |
+ |
|
22 |
+ Since Docker is running, you can run an application in a container--for example, the Nginx Web Server. This example uses the popular open source web server Nginx. The Nginx application has a customized VMware package that the Docker engine can download directly from the Docker Hub. |
|
23 |
+ |
|
24 |
+ To pull Nginx from its Docker Hub and start it, run the following command: |
|
25 |
+ |
|
26 |
+ docker run -p 80:80 vmwarecna/nginx |
|
27 |
+ |
|
28 |
+ The Nginx web server should be bound to the public DNS value for the instance of Photon OS, that is, the same address with which you connected over SSH. |
|
29 |
+ |
|
30 |
+1. Test the web server |
|
31 |
+ |
|
32 |
+ On your local workstation, open a web browser and go to the the public address of the Photon OS instance running Docker. The following screen should appear, showing that the web server is active: |
|
33 |
+ |
|
34 |
+ ![Nginx](images/Nginx.jpg) |
|
35 |
+ |
|
36 |
+ Stop the Docker container by typing `Ctrl+c` in the SSH console through which you are connected to EC2. |
|
37 |
+ |
|
38 |
+You can now run other containerized applications from the Docker Hub or your own containerized application on Photon OS in the Amazon cloud. |
0 | 39 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,40 @@ |
0 |
+# Deploying a Containerized Application in Photon OS |
|
1 |
+ |
|
2 |
+Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub. |
|
3 |
+ |
|
4 |
+1. Run Docker |
|
5 |
+ |
|
6 |
+ To run Docker from the command prompt, enter the following command, which initializes the docker engine: |
|
7 |
+ |
|
8 |
+ systemctl start docker |
|
9 |
+ |
|
10 |
+ To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command: |
|
11 |
+ |
|
12 |
+ systemctl enable docker |
|
13 |
+ |
|
14 |
+1. Run the Nginx Web Server |
|
15 |
+ |
|
16 |
+ Now the Docker daemon service is running, it is a simple task to "pull" and start the Nginx Web Server container from Docker Hub. To do this, type the following command: |
|
17 |
+ |
|
18 |
+ docker run -d -p 80:80 vmwarecna/nginx |
|
19 |
+ |
|
20 |
+ This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run. |
|
21 |
+ |
|
22 |
+ ![Docker run](images/vs-docker-run.png) |
|
23 |
+ |
|
24 |
+ After the **docker run** process completes, you return to the command prompt. You now have a fully active website up and running in a container! |
|
25 |
+ |
|
26 |
+1. Test the Web Server |
|
27 |
+ |
|
28 |
+ To test that your Web Server is active, run the ifconfig command to get the IP address of the Photon OS Virtual Machine. |
|
29 |
+ |
|
30 |
+ ![IP address](images/vs-docker-ifconfig.png) |
|
31 |
+ |
|
32 |
+ The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on **eth0**. |
|
33 |
+ |
|
34 |
+ Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine. You should see a screen similar to the following example as confirmation that your web server is active. |
|
35 |
+ |
|
36 |
+ ![Docker confirmation](images/vs-docker-confirm.png) |
|
37 |
+ |
|
38 |
+ You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS. |
|
39 |
+ |
0 | 40 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,17 @@ |
0 |
+# Folder Layout |
|
1 |
+ |
|
2 |
+The structure of the directories on GitHub that contain the source code for Photon OS is as follows: |
|
3 |
+ |
|
4 |
+``` |
|
5 |
+photon/ |
|
6 |
+├── Makefile |
|
7 |
+├── README |
|
8 |
+├── Dockerfile |
|
9 |
+├── Vagrantfile |
|
10 |
+├── SPECS # RPM SPEC files |
|
11 |
+├── common # Build, packaging config |
|
12 |
+├── docs # Documentation |
|
13 |
+├── installer # Installer used at runtime |
|
14 |
+├── support # Build scripts |
|
15 |
+└── tools |
|
16 |
+``` |
0 | 17 |
deleted file mode 100644 |
... | ... |
@@ -1,151 +0,0 @@ |
1 |
-# Photon OS on GCE |
|
2 |
- |
|
3 |
-## Google Compute Engine (GCE) Image background |
|
4 |
-GCE is a service that lets you run virtual machines on Google's infrastructure. You can customize the virtual machine as much as you want, and you can even install your own custom operating system image. Or, you can adopt one of the public [images](https://cloud.google.com/compute/docs/operating-systems/) provided by Google. For any operating system to work with GCE, it must match Google's infrastructure needs. |
|
5 |
-Google provides tools that VM instances require to work correctly on GCE: |
|
6 |
- |
|
7 |
- * __[Google startup scripts](https://cloud.google.com/compute/docs/startupscript)__: User can provide some startup script to configure their instances at startup. |
|
8 |
- * __[Google Daemon](https://cloud.google.com/compute/docs/metadata)__: Google Daemon creates new accounts and configures ssh to accept public keys using the metadata server. |
|
9 |
- * __[Google Cloud SDK](https://cloud.google.com/sdk/)__: Command line tools to manage your images, instances and other objects on GCE. |
|
10 |
- |
|
11 |
-Following is the list (extracted from [this link](https://cloud.google.com/compute/docs/tutorials/building-images)) of items that must be done to make Photon OS work on GCE: |
|
12 |
- |
|
13 |
- * Install Google Compute Engine Image packages |
|
14 |
- * Install Google Cloud SDK |
|
15 |
- * Change GPT partition table to MBR |
|
16 |
- * Update the Grub config for new MBR and serial console output |
|
17 |
- * Update ssh configuration |
|
18 |
- * Delete ssh host keys |
|
19 |
- * Set the time zone to UTC |
|
20 |
- * Use the Google NTP server |
|
21 |
- * Delete the hostname file. |
|
22 |
- * Add Google hosts /etc/hosts |
|
23 |
- * Set MTU to 1460. SSH will not work without it. |
|
24 |
- * Create /etc/ssh/sshd_not_to_be_run with just the contents “GOOGLE\n”. |
|
25 |
- |
|
26 |
-## The GCE-Ready Image of Photon OS |
|
27 |
- |
|
28 |
-The latest version of Photon OS does all of this for you. It bundles the Google startup scripts, daemon, and cloud SDK into a GCE-ready image that has been modified to meet the configuration requirements of GCE. To download the GCE-ready image of Photon OS for free, go to [Bintray](https://bintray.com/vmware/photon/). To use Photon OS with GCE, you do not need to perform the following steps unless you want to go through the exercise of customizing Photon OS to work with GCE. The Photon OS team has already done it for you. For more information, see [Running Photon OS on Google Compute Engine](Running-Photon-OS-on-Google-Compute-Engine.md). |
|
29 |
- |
|
30 |
-## Creating Photon image for GCE |
|
31 |
-### 1. Prepare Photon Disk |
|
32 |
-#### Install Photon Minimal on Fusion/Workstation and install some required packages. |
|
33 |
- mount /dev/cdrom /media/cdrom |
|
34 |
- tdnf install yum |
|
35 |
- tdnf install python2-libs |
|
36 |
- yum install ntp sudo wget tar which gptfdisk sed findutils grep gzip --nogpgcheck -y |
|
37 |
- |
|
38 |
-#### Photon installer installs GPT partition table by default but GCE only accepts MBR(msdos) type partition table. We need to convert GPT to MBR and update the grub. Following are commands to do that. |
|
39 |
- |
|
40 |
- # Change partition table to MBR from GPT |
|
41 |
- sgdisk -m 1:2 /dev/sda |
|
42 |
- grub2-install /dev/sda |
|
43 |
- |
|
44 |
- # Enable serial console on grub for GCE. |
|
45 |
- cat << EOF >> /etc/default/grub |
|
46 |
- GRUB_CMDLINE_LINUX="console=ttyS0,38400n8" |
|
47 |
- GRUB_TERMINAL=serial |
|
48 |
- GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1" |
|
49 |
- EOF |
|
50 |
- |
|
51 |
- # Create new grub.cfg based on the settings in /etc/default/grub |
|
52 |
- grub2-mkconfig -o /boot/grub2/grub.cfg |
|
53 |
- |
|
54 |
-### 2. Install Google Cloud SDK and GCE Packages |
|
55 |
- yum install google-daemon google-startup-scripts |
|
56 |
- cp /usr/lib/systemd/system/google* /lib/systemd/system/ |
|
57 |
- cd /lib/systemd/system/multi-user.target.wants/ |
|
58 |
- |
|
59 |
- # Create links in multi-user.target to auto-start these scripts and services. |
|
60 |
- for i in ../google*; do ln -s $i `basename $i`; done |
|
61 |
- |
|
62 |
- cd /tmp/; wget https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz --no-check-certificate |
|
63 |
- tar -xf google-cloud-sdk.tar.gz |
|
64 |
- cd google-cloud-sdk |
|
65 |
- ./install.sh |
|
66 |
-### 3. Update /etc/hosts file with GCE values |
|
67 |
- echo "169.254.169.254 metadata.google.internal metadata" >> /etc/hosts |
|
68 |
-### 4. Remove all servers from ntp.conf and add Google's ntp server. |
|
69 |
- sed -i -e "/server/d" /etc/ntp.conf |
|
70 |
- cat /etc/ntp.conf |
|
71 |
- echo "server 169.254.169.254" >> /etc/ntp.conf |
|
72 |
- # Create ntpd.service to auto starting ntp server. |
|
73 |
- cat << EOF >> /lib/systemd/system/ntpd.service |
|
74 |
- [Unit] |
|
75 |
- Description=Network Time Service |
|
76 |
- After=network.target nss-lookup.target |
|
77 |
- |
|
78 |
- [Service] |
|
79 |
- Type=forking |
|
80 |
- PrivateTmp=true |
|
81 |
- ExecStart=/usr/sbin/ntpd -g -u ntp:ntp |
|
82 |
- Restart=always |
|
83 |
- |
|
84 |
- [Install] |
|
85 |
- WantedBy=multi-user.target |
|
86 |
- EOF |
|
87 |
- |
|
88 |
- # Add link in multi-user.target.wants to auto start this service. |
|
89 |
- cd /lib/systemd/system/multi-user.target.wants/ |
|
90 |
- ln -s ../ntpd.service ntpd.service |
|
91 |
- |
|
92 |
-### 5. Set UTC timezone |
|
93 |
- ln -sf /usr/share/zoneinfo/UTC /etc/localtime |
|
94 |
- |
|
95 |
-### 6. Update /etc/resolv.conf |
|
96 |
- echo "nameserver 8.8.8.8" >> /etc/resolv.conf |
|
97 |
- |
|
98 |
-### 7. Remove ssh host keys and add script to regenerate them at boot time. |
|
99 |
- rm /etc/ssh/ssh_host_* |
|
100 |
- # Depending on the installation, you may need to purge the following keys |
|
101 |
- rm /etc/ssh/ssh_host_rsa_key* |
|
102 |
- rm /etc/ssh/ssh_host_dsa_key* |
|
103 |
- rm /etc/ssh/ssh_host_ecdsa_key* |
|
104 |
- |
|
105 |
- sed -i -e "/exit 0/d" /etc/rc.local |
|
106 |
- echo "[ -f /etc/ssh/ssh_host_key ] && echo 'Keys found.' || ssh-keygen -A" >> /etc/rc.local |
|
107 |
- echo "exit 0" >> /etc/rc.local |
|
108 |
- printf "GOOGLE\n" > /etc/ssh/sshd_not_to_be_run |
|
109 |
- |
|
110 |
- # Edit sshd_config and ssh_config as per instructions on [this link](https://cloud.google.com/compute/docs/tutorials/building-images). |
|
111 |
- |
|
112 |
-### 8. Change MTU to 1460 for network interface. |
|
113 |
- # Create a startup service in systemd that will change MTU and exits |
|
114 |
- cat << EOF >> /lib/systemd/system/eth0.service |
|
115 |
- [Unit] |
|
116 |
- Description=Network interface initialization |
|
117 |
- After=local-fs.target network-online.target network.target |
|
118 |
- Wants=local-fs.target network-online.target network.target |
|
119 |
- |
|
120 |
- [Service] |
|
121 |
- ExecStart=/bin/ifconfig eth0 mtu 1460 up |
|
122 |
- Type=oneshot |
|
123 |
- |
|
124 |
- [Install] |
|
125 |
- WantedBy=multi-user.target |
|
126 |
- EOF |
|
127 |
- # Make this service auto-start at boot. |
|
128 |
- cd /lib/systemd/system/multi-user.target.wants/ |
|
129 |
- ln -s ../eth0.service eth0.service |
|
130 |
- |
|
131 |
-### 9. Pack and Upload to GCE. |
|
132 |
-#### Shutdown the Photon VM and copy its disk to tmp folder. |
|
133 |
- # You will need to install Google Cloud SDK on host machine to upload the image and play with GCE. |
|
134 |
- cp Virtual\ Machines.localized/photon.vmwarevm/Virtual\ Disk.vmdk /tmp/disk.vmdk |
|
135 |
- cd /tmp |
|
136 |
- # GCE needs disk to be named as disk.raw with raw format. |
|
137 |
- qemu-img convert -f vmdk -O raw disk.vmdk disk.raw |
|
138 |
- |
|
139 |
- # ONLY GNU tar will work to create acceptable tar.gz file for GCE. MAC's default tar is BSDTar which will not work. |
|
140 |
- # On Mac OS X ensure that you have gtar "GNU Tar" installed. exmaple: gtar -Szcf photon.tar.gz disk.raw |
|
141 |
- |
|
142 |
- gtar -Szcf photon.tar.gz disk.raw |
|
143 |
- |
|
144 |
- # Upload |
|
145 |
- gsutil cp photon.tar.gz gs://photon-bucket |
|
146 |
- |
|
147 |
- # Create image |
|
148 |
- gcloud compute --project "<project name>" images create "photon-beta-vYYYYMMDD" --description "Photon Beta" --source-uri https://storage.googleapis.com/photon-bucket/photon032315.tar.gz |
|
149 |
- |
|
150 |
- # Create instance on GCE of photon image |
|
151 |
- gcloud compute --project "photon" instances create "photon" --zone "us-central1-f" --machine-type "n1-standard-1" --network "default" --maintenance-policy "MIGRATE" --scopes "https://www.googleapis.com/auth/devstorage.read_only" "https://www.googleapis.com/auth/logging.write" --image "https://www.googleapis.com/compute/v1/projects/photon/global/images/photon" --boot-disk-type "pd-standard" --boot-disk-device-name "photon" |
414 | 263 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,74 @@ |
0 |
+# Importing the OVA for Photon OS 3.0 |
|
1 |
+ |
|
2 |
+Using the OVA is a fast and easy way to create a Photon OS VM on Fusion. |
|
3 |
+ |
|
4 |
+After you have downloaded the Photon OS OVA image (OVA with Hardware Version 11) into a folder of your choice, open VMware Fusion and perform the following steps: |
|
5 |
+ |
|
6 |
+1. Start the Import Process |
|
7 |
+ |
|
8 |
+ From the File menu, choose **Import …**. Fusion prompts you to choose an existing virtual machine. |
|
9 |
+ |
|
10 |
+ ![Import process](images/fs-ova-import.png) |
|
11 |
+ |
|
12 |
+ Choose the **Choose File …** button to locate and select the Photon OS OVA, then choose **Continue**. |
|
13 |
+ |
|
14 |
+ ![Select OVA ](images/fs-ova-selected.png) |
|
15 |
+ |
|
16 |
+1. Specify the Name and Storage Location |
|
17 |
+ |
|
18 |
+ Provide the name and storage location for your Photon OS VM, then choose **Save**. |
|
19 |
+ |
|
20 |
+ ![Name and storage location](images/fs-ova-name.png) |
|
21 |
+ |
|
22 |
+ Review the Photon OS License Agreement, then choose **Accept** to start the import process. |
|
23 |
+ |
|
24 |
+ ![License](images/fs-ova-license.png) |
|
25 |
+ |
|
26 |
+1. Configure VM Settings |
|
27 |
+ |
|
28 |
+ After the OVA is imported, Fusion displays a confirmation that the import has completed and a summary of the settings for your Photon OS VM. The following screen shot is an example (your settings may vary). |
|
29 |
+ |
|
30 |
+ ![VM settings](images/fs-ova-finish.png) |
|
31 |
+ |
|
32 |
+ **Important:** Choose **Customize Settings** to change the operating system (as recognized by the hypervisor) for the newly imported VM. |
|
33 |
+ |
|
34 |
+ ![Custom settings](images/fs-ova-settings.png) |
|
35 |
+ |
|
36 |
+ Choose **General**. |
|
37 |
+ |
|
38 |
+ Click the selection box next to **OS**, select **Linux** , and then select **VMware Photon 64-bit**. |
|
39 |
+ |
|
40 |
+ ![Operating system](images/fs-ova-os.png) |
|
41 |
+ |
|
42 |
+ Close the settings window. Fusion prompts you to verify that you want to change the operating system. |
|
43 |
+ |
|
44 |
+ ![Confirm settings](images/fs-ova-os-confirm.png) |
|
45 |
+ |
|
46 |
+ Click **Change**. Your Photon OS VM is ready to power on. |
|
47 |
+ |
|
48 |
+1. Power on the VM |
|
49 |
+ |
|
50 |
+ Power on the Photon OS VM. Fusion may ask you whether you want to upgrade this VM. |
|
51 |
+ |
|
52 |
+ ![Upgrade VM](images/fs-ova-upgrade.png) |
|
53 |
+ |
|
54 |
+ How you respond depends on which hardware version (13 or 11) that you want to use. Upgrade if you need to use devices supported only in hardware version 13. Don't upgrade if you want to be compatible with older tools that are supported in hardware version 11. |
|
55 |
+ |
|
56 |
+1. Update Login Credentials |
|
57 |
+ |
|
58 |
+ ![Splash screen](images/fs-ova-splash.png) |
|
59 |
+ |
|
60 |
+ After the VM is booted, Fusion prompts you to log in. |
|
61 |
+ |
|
62 |
+ **Note** : Because of limitations within OVA support on Fusion, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are: |
|
63 |
+ |
|
64 |
+ | **Setting** | **Value** | |
|
65 |
+ | --- | --- | |
|
66 |
+ | Username | ``root`` | |
|
67 |
+ | Password | ``changeme`` | |
|
68 |
+ |
|
69 |
+ After you provide these credentials, Fusion prompts you to create a new password and type it a second time to verify it. For security, Photon OS forbids common dictionary words for the root password. Once logged in, you will see the shell prompt. |
|
70 |
+ |
|
71 |
+ ![Login](images/fs-ova-login.png) |
|
72 |
+ |
|
73 |
+Once complete, proceed to [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os-fusion.md). |
|
0 | 74 |
\ No newline at end of file |
1 | 75 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,73 @@ |
0 |
+# Importing the OVA for Photon OS 3.0 |
|
1 |
+ |
|
2 |
+Using the OVA is the easiest way to create a Photon OS VM on VMware Workstation. |
|
3 |
+ |
|
4 |
+After you have downloaded the the OVA file (OVA with Hardware Version 11), perform the following steps: |
|
5 |
+ |
|
6 |
+1. Start the Import Process |
|
7 |
+ |
|
8 |
+ - Double-click it to start the import process, or |
|
9 |
+ - Start VMware Workstation and, from the File menu, choose **Open**. |
|
10 |
+ |
|
11 |
+ ![OVA file](images/ws-ova-import.png) |
|
12 |
+ |
|
13 |
+1. Specify the Name and Storage Location |
|
14 |
+ |
|
15 |
+ Change the name and storage location, if you want. |
|
16 |
+ |
|
17 |
+ ![Name and Storage Location](images/ws-ova-path.png) |
|
18 |
+ |
|
19 |
+ Choose **Import**. |
|
20 |
+ |
|
21 |
+ ![License](images/ws-ova-license.png) |
|
22 |
+ |
|
23 |
+ Review the License Agreement and choose **Accept**. |
|
24 |
+ |
|
25 |
+1. Configure VM Settings |
|
26 |
+ |
|
27 |
+ Once the OVA is imported, Workstation displays a summary of the settings for your Photon OS VM. |
|
28 |
+ |
|
29 |
+ ![Settings](images/ws-ova-settings.png) |
|
30 |
+ |
|
31 |
+ Choose **Edit virtual machine settings**. Workstation displays the Virtual Machine settings. You can either accept the defaults or change settings as needed. |
|
32 |
+ |
|
33 |
+ ![OVA settings](images/ws-ova-settings-edit.png) |
|
34 |
+ |
|
35 |
+ Select the Options tab. |
|
36 |
+ |
|
37 |
+ ![Options](images/ws-ova-settings-options.png) |
|
38 |
+ |
|
39 |
+ Under Guest operating system, select **Linux**. |
|
40 |
+ |
|
41 |
+ For Version, click the list and select **VMWare Photon 64-bit**. |
|
42 |
+ |
|
43 |
+ ![Version](images/ws-ova-os.png) |
|
44 |
+ |
|
45 |
+ **Note:** If you want to configure a secure boot for the Photon OS VM, select **Advanced** and select (check) **Boot with EFI instead of BIOS**. The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure. |
|
46 |
+ |
|
47 |
+ ![EFI boot](images/ws-ova-settings-efi.png) |
|
48 |
+ |
|
49 |
+ Choose **OK**. |
|
50 |
+ |
|
51 |
+1. Power on the VM |
|
52 |
+ |
|
53 |
+ From the tab, choose **Power on this virtual machine**. |
|
54 |
+ |
|
55 |
+ ![OVA splash](images/ws-ova-splash.png) |
|
56 |
+ |
|
57 |
+ After the splash screen, Workstation will prompt you to log in. |
|
58 |
+ |
|
59 |
+1. Update Login Credentials |
|
60 |
+ |
|
61 |
+ **Note** : Because of limitations within OVA support on Workstation, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are: |
|
62 |
+ |
|
63 |
+ | **Setting** | **Value** | |
|
64 |
+ | --- | --- | |
|
65 |
+ | Username | ``root`` | |
|
66 |
+ | Password | ``changeme`` | |
|
67 |
+ |
|
68 |
+ After you provide these credentials, Workstation prompts you to create a new password and type it a second time to verify it. For security, Photon OS forbids common dictionary words for the root password. Once logged in, you will see the shell prompt. |
|
69 |
+ |
|
70 |
+ ![OVA password](images/ws-ova-password.png) |
|
71 |
+ |
|
72 |
+ Once complete, proceed to [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os.md). |
|
0 | 73 |
\ No newline at end of file |
1 | 74 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,87 @@ |
0 |
+# Importing the OVA for Photon OS 3.0 |
|
1 |
+ |
|
2 |
+Using the OVA is a fast and easy way to create a Photon OS VM on VMware vSphere. |
|
3 |
+ |
|
4 |
+After you have downloaded the OVA, log in to your vSphere environment and perform the following steps: |
|
5 |
+ |
|
6 |
+1. Start the Import Process |
|
7 |
+ |
|
8 |
+ From the Actions pull-down menu, choose **Create/Register VM**. |
|
9 |
+ |
|
10 |
+ ![Create/Register VM](images/vs-ova-new-vm.png) |
|
11 |
+ |
|
12 |
+ In the Select creation type window, choose **Deploy a virtual machine from an OVF or OVA file**. |
|
13 |
+ |
|
14 |
+ (images/vs-ova-new-vm-ova.png) |
|
15 |
+ |
|
16 |
+ Choose **Next**. |
|
17 |
+ |
|
18 |
+1. Select the OVA File |
|
19 |
+ |
|
20 |
+ Enter a name for the virtual machine, and select the OVA file. |
|
21 |
+ |
|
22 |
+ ![OVA file](images/vs-ova-name-selected.png) |
|
23 |
+ |
|
24 |
+ Choose **Next**. |
|
25 |
+ |
|
26 |
+1. Specify the Target Datastore |
|
27 |
+ |
|
28 |
+ From the Select storage screen, select the target datastore for your VM. |
|
29 |
+ |
|
30 |
+ ![Target datastore](images/vs-ova-storage.png) |
|
31 |
+ |
|
32 |
+ Choose **Next**. |
|
33 |
+ |
|
34 |
+1. Accept the License Agreement |
|
35 |
+ |
|
36 |
+ Read through the Photon OS License Agreement, and then choose **I Agree**. |
|
37 |
+ |
|
38 |
+ ![License](images/vs-ova-license.png) |
|
39 |
+ |
|
40 |
+ Choose **Next**. |
|
41 |
+ |
|
42 |
+1. Select Deployment Options |
|
43 |
+ |
|
44 |
+ Photon OS is provisioned with a maximum disk size. By default, Photon OS uses only the portion of disk space that it needs, usually much less that the entire disk size ( **Thin** client). If you want to pre-allocate the entire disk size (reserving it entirely for Photon OS instead), select **Thick** instead. |
|
45 |
+ |
|
46 |
+ ![Deployment Options](images/vs-ova-deployment-options.png) |
|
47 |
+ |
|
48 |
+ Choose **Next**. |
|
49 |
+ |
|
50 |
+1. Verify Deployment Settings |
|
51 |
+ |
|
52 |
+ |
|
53 |
+ ![Deployment settings](images/vs-ova-settings.png) |
|
54 |
+ |
|
55 |
+ Click **Finish**. vSphere uploads and validates your OVA. Depending on bandwidth, this operation might take a while. |
|
56 |
+ |
|
57 |
+ When finished, vShield powers up a new VM based on your selections. |
|
58 |
+ |
|
59 |
+1. Change Login Settings |
|
60 |
+ |
|
61 |
+ ![Login settings](images/vs-ova-splash.png) |
|
62 |
+ |
|
63 |
+ After the VM is booted, open the command window. vSphere prompts you to log in. |
|
64 |
+ |
|
65 |
+ **Note**: Because of limitations within OVA support on vSphere, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA require an immediate password change upon login. The default account credentials are: |
|
66 |
+ |
|
67 |
+ | **Setting** | **Value** | |
|
68 |
+ | --- | --- | |
|
69 |
+ | Username | ``root`` | |
|
70 |
+ | Password | ``changeme`` | |
|
71 |
+ |
|
72 |
+ After you provide these credentials, vSphere prompts you to create a new password and type it a second time to verify it. |
|
73 |
+ |
|
74 |
+ **Note:** For security, Photon OS forbids common dictionary words for the root password. |
|
75 |
+ |
|
76 |
+ Once logged in, you will see the shell prompt. |
|
77 |
+ |
|
78 |
+ ![Shell prompt](images/vs-ova-login.png) |
|
79 |
+ |
|
80 |
+ Once complete, proceed to [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os.md). |
|
81 |
+ |
|
82 |
+1. Export the VM as a Template (Optional) |
|
83 |
+ |
|
84 |
+ Consider converting this imported VM into a template (from the Actions menu, choose **Export** ) so that you have a master Photon OS instance that can be combined with vSphere Guest Customization to enable rapid provisioning of Photon OS instances. |
|
85 |
+ |
|
86 |
+ |
|
0 | 87 |
\ No newline at end of file |
1 | 88 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,45 @@ |
0 |
+# Installing Photon OS on Google Compute Engine |
|
1 |
+ |
|
2 |
+After you download the Photon OS image for GCE, log into GCE and install Photon OS. |
|
3 |
+ |
|
4 |
+Perform the following steps: |
|
5 |
+ |
|
6 |
+1. Create a New Bucket |
|
7 |
+ |
|
8 |
+Create a new bucket to store your Photon OS image for GCE. |
|
9 |
+ |
|
10 |
+![gce1](images/gce1.jpg) |
|
11 |
+ |
|
12 |
+1. Upload the Photon OS Image |
|
13 |
+ |
|
14 |
+While viewing the bucket that created, click the `Upload files` button, navigate to your Photon OS image and click the `Choose` button. |
|
15 |
+ |
|
16 |
+When the upload finishes, you can see the Photon OS compressed image in the file list for the bucket that you created. |
|
17 |
+ |
|
18 |
+![gce2](images/gce2.jpg) |
|
19 |
+ |
|
20 |
+1. Create a New Image |
|
21 |
+ |
|
22 |
+To create a new image, click on `Images` in the `Compute` category in the left panel and then click on the `New Image` button. |
|
23 |
+ |
|
24 |
+Enter a name for the image in the `Name` field and change the `Source` to `Cloud Storage file` using the pull-down menu. Then, in the `Cloud Storage file` field, enter the bucket name and filename as the path to the Photon OS image for GCE. In this example, where the bucket was named `photon_storage,` the path is as follows: |
|
25 |
+ |
|
26 |
+ `photon_storage/photon-gce-2.0-tar.gz` |
|
27 |
+ |
|
28 |
+The new image form autopopulates the `gs://` file path prefix.* |
|
29 |
+ |
|
30 |
+Click the `Create` button to create your image. You must be able to see the Images catalog and your Photon OS image at the top of the list. |
|
31 |
+ |
|
32 |
+1. Create a New Instance |
|
33 |
+ |
|
34 |
+To create an instance, check the box next to the Photon OS image and click the `Create Instance` button. |
|
35 |
+ |
|
36 |
+On the `Create a new instance` form, provide a name for this instance, confirm the zone into which this instance is to be deployed and, before clicking `Create,` check the `Allow HTTP traffic` and `Allow HTTPS traffic` options. |
|
37 |
+ |
|
38 |
+**Note**: The firewall rules in this example are optional. You can configure the ports according to your requirements. |
|
39 |
+ |
|
40 |
+![gce4](images/gce4.jpg) |
|
41 |
+ |
|
42 |
+When the instance is created you will be returned to your list of VM instances. If you click on the instance, the status page for the instance will allow you to SSH into your Photon OS environment using the SSH button at the top of the panel. |
|
43 |
+ |
|
44 |
+At this point, your instance is running and you are ready to start the Docker engine and run a container workload. For more information, see [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os.md). |
|
0 | 45 |
\ No newline at end of file |
1 | 46 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,191 @@ |
0 |
+# Installing the ISO Image for Photon OS 3.0 |
|
1 |
+ |
|
2 |
+After you have downloaded the latest Photon OS ISO image into a folder of your choice, open VMware Fusion. |
|
3 |
+ |
|
4 |
+1. Start the Installation Process |
|
5 |
+ |
|
6 |
+ From the File menu, choose **New**. |
|
7 |
+ |
|
8 |
+ ![Installation](images/fs-iso-new.png) |
|
9 |
+ |
|
10 |
+ From the Select the Installation Method dialog, select **Install from disc or image**, and then choose **Continue**. |
|
11 |
+ |
|
12 |
+ ![Installation method](images/fs-iso-new-prompt.png) |
|
13 |
+ |
|
14 |
+1. Select the ISO Image |
|
15 |
+ |
|
16 |
+ Drag a disc image onto the window or choose **Use another disc or disc image...**, choose the ISO file you want, and then choose **Continue**. |
|
17 |
+ |
|
18 |
+ ![ISO image](images/fs-iso-new-selected.png) |
|
19 |
+ |
|
20 |
+1. Select the Operating System |
|
21 |
+ |
|
22 |
+ On the Choose Operating System dialog, select **Linux** in the left-hand column and **VMware Photon 64-bit** in the right-hand column. |
|
23 |
+ |
|
24 |
+ ![Operating system](images/fs-iso-os.png) |
|
25 |
+ |
|
26 |
+ Choose **Continue**. |
|
27 |
+ |
|
28 |
+1. Select the Virtual Disk (Optional) |
|
29 |
+ |
|
30 |
+ If you are using a Fusion version that is older than Fusion 8, you might see the following dialog. |
|
31 |
+ |
|
32 |
+ ![Virtual disk](images/fs-iso-virtual-disk.png) |
|
33 |
+ |
|
34 |
+ If you see this dialog, unless you're installing into an existing machine, choose **Create a new virtual disk** from the Choose a Virtual Disk dialog, and then choose **Continue**. |
|
35 |
+ |
|
36 |
+ **Note:** Fusion v8 and later automatically defaults to creating a new 8GB disk and formats it automatically. If you want to use an existing disk, or if you want to pre-allocate all 8GB, go into VM Settings, choose **Add Device**, and choose either **New Hard Disk** or **Existing Hard Disk**. Expand **Advanced options** and configure whether you want to pre-allocate disk space (disabled by default) or split into multiple files (enabled by default). |
|
37 |
+ |
|
38 |
+1. Configure VM Settings |
|
39 |
+ |
|
40 |
+ **Important:** Before you finish creating the Photon OS Virtual Machine, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container run-time environment. |
|
41 |
+ |
|
42 |
+ ![VM settings](images/fs-iso-finish.png) |
|
43 |
+ |
|
44 |
+ To remove unnecessary devices, choose **Customize Settings**. |
|
45 |
+ |
|
46 |
+ First, choose a name for your Virtual Machine, along with the folder into which you create the Virtual Machine (or accept the default folder). |
|
47 |
+ |
|
48 |
+ ![Custom settings](images/fs-iso-name.png) |
|
49 |
+ |
|
50 |
+ Choose **Save**. The virtual machine will be created. The Settings screen allows you to customize virtual hardware for the new virtual machine. If it does not automatically appear, open **Settings** from the Virtual Machine menu bar. |
|
51 |
+ |
|
52 |
+ ![Settings](images/fs-iso-settings.png) |
|
53 |
+ |
|
54 |
+ You can remove (recommended) the following components that are not used by Photon OS: |
|
55 |
+ |
|
56 |
+ - Select **Display** and ensure that the **Accelerate 3D Graphics** option is unchecked (it should be unchecked, by default). Select **Show All** to return to the VM Settings. |
|
57 |
+ - Select **CD/DVD (IDE)** and ensure that the **Connect CD/DVD Drive** box is checked (it should be checked by default). Select **Show All** to return to the VM Settings. |
|
58 |
+ - Select **Sound Card**, un-check the **Connect Sound Card** Option, and click **Remove Sound Card.** Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings. |
|
59 |
+ - Select **USB & Bluetooth** and uncheck the **Share Bluetooth devices with Linux** setting. Select **Show All** to return to the VM Settings. |
|
60 |
+ - Select **Printer** and press the **Remove Printer Port** button in the bottom left hand corner. Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings. |
|
61 |
+ - Select **Camera** and press the **Remove Camera** button in the bottom left hand corner. Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings. |
|
62 |
+ - Select **Advanced** and ensure that the **Pass Power Status to VM** option is unchecked (it should be unchecked, by default). Select **Show All,** but do not close the VM Settings window. |
|
63 |
+ |
|
64 |
+ By default, Photon OS is configured with a disk size of 8GB. However, Photon OS uses only the portion of disk space it needs, usually much less that the entire disk size. If you want to pre-allocate the entire disk size (reserving it entirely for Photon OS instead), select **Hard Disk**, expand **Advanced options**, and check **Pre-allocate disk space** (by default, it is unchecked). Select **Show All** to return to the VM Settings. |
|
65 |
+ |
|
66 |
+1. Configure a Secure Boot (Optional) |
|
67 |
+ |
|
68 |
+ **Note:** If you want to configure a secure boot for the Photon OS VM you created, edit its .vmx file and add the following line: |
|
69 |
+ |
|
70 |
+ **firmware = "efi"** |
|
71 |
+ |
|
72 |
+ The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure. |
|
73 |
+ |
|
74 |
+ After you have made the customizations you want, close the Virtual Machine Settings window. You are now ready to boot and begin the installation process. |
|
75 |
+ |
|
76 |
+1. Power On the VM |
|
77 |
+ |
|
78 |
+ Return to the Fusion main menu, select the Photon OS Virtual Machine, and click **Start Up** (you can also choose **Start Up** from the Virtual Machine menu). |
|
79 |
+ |
|
80 |
+ Fusion powers on the host and starts the installation. Within a few seconds, Fusion displays the Photon OS installer boot menu. |
|
81 |
+ |
|
82 |
+ ![Photon OS installer](images/fs-iso-install.png) |
|
83 |
+ |
|
84 |
+ Press the Enter key on your keyboard to start installing. |
|
85 |
+ |
|
86 |
+ ![License](images/fs-iso-license.png) |
|
87 |
+ |
|
88 |
+ Read the License Agreement and press the Enter key to accept. |
|
89 |
+ |
|
90 |
+1. Configure the Partition |
|
91 |
+ |
|
92 |
+ The Installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation. |
|
93 |
+ |
|
94 |
+ ![Partition](images/fs-iso-partition.png) |
|
95 |
+ |
|
96 |
+ Choose **Auto** to have the installer automatically allocate the partition, or choose **Custom** if you want to configure individual partitions, and then press the Enter key. |
|
97 |
+ |
|
98 |
+ **Note:** If you choose **Custom**, the installer displays the following screen. |
|
99 |
+ |
|
100 |
+ ![Custom partition](images/fs-iso-partition-custom.png) |
|
101 |
+ |
|
102 |
+ For each custom partition, choose **Create New** and specify the following information: |
|
103 |
+ |
|
104 |
+ ![New partition](images/fs-iso-partition-new.png) |
|
105 |
+ |
|
106 |
+ **Size** - Preallocated size of this partition, in MB. |
|
107 |
+ |
|
108 |
+ **Type** - One of the following options: |
|
109 |
+ |
|
110 |
+ - **ext3** - ext3 file system |
|
111 |
+ - **ext4** - ext4 file system |
|
112 |
+ - **swap** - swap partition |
|
113 |
+ |
|
114 |
+ **Mountpoint** - Mount point for this partition. |
|
115 |
+ |
|
116 |
+ Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key. |
|
117 |
+ |
|
118 |
+ The installer prompts you to confirm that you want to erase the entire disk. |
|
119 |
+ |
|
120 |
+ ![Disk erase](images/fs-iso-disk-erase.png) |
|
121 |
+ |
|
122 |
+ Choose **Yes** and press the Enter key to accept and proceed with the installation. |
|
123 |
+ |
|
124 |
+1. Select an Installation Option |
|
125 |
+ |
|
126 |
+ After partitioning, the installer prompts you to select one of three installation options: |
|
127 |
+ |
|
128 |
+ ![Installation options](images/fs-iso-install-option.png) |
|
129 |
+ |
|
130 |
+ Each install option provides a different run-time environment. Select the option that best meets your requirements. |
|
131 |
+ |
|
132 |
+ | **Option** | **Description** | |
|
133 |
+ | --- | --- | |
|
134 |
+ | **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. | |
|
135 |
+ | **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. | |
|
136 |
+ | **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. | |
|
137 |
+ |
|
138 |
+ **Note:** The option you choose determines the disk and memory resources required for your installation. |
|
139 |
+ |
|
140 |
+ Select the option you want and press the Enter key. |
|
141 |
+ |
|
142 |
+1. Select the Linux Kernel |
|
143 |
+ |
|
144 |
+ The installer prompts you to select the Linux kernel to install: |
|
145 |
+ |
|
146 |
+ ![Linux kernel](images/fs-iso-kernel.png) |
|
147 |
+ |
|
148 |
+ - **Hypervisor optimized** means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times. |
|
149 |
+ - **Generic** means that all components are included. |
|
150 |
+ |
|
151 |
+1. Specify the Hostname |
|
152 |
+ |
|
153 |
+ The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want. |
|
154 |
+ |
|
155 |
+ ![Hostname](images/fs-iso-hostname.png) |
|
156 |
+ |
|
157 |
+ Press the Enter key. |
|
158 |
+ |
|
159 |
+1. Specify the System root Password |
|
160 |
+ |
|
161 |
+ _Note: Photon OS will not permit commonly used dictionary words to be set as a root password._ |
|
162 |
+ |
|
163 |
+ The installer prompts you to enter the system root password. Type the password, and then press the Enter key. |
|
164 |
+ |
|
165 |
+ ![Password](images/fs-iso-root-password.png) |
|
166 |
+ |
|
167 |
+ Confirm the root password by typing it a second time. |
|
168 |
+ |
|
169 |
+ ![Password confirmation](images/fs-iso-root-password-confirm.png) |
|
170 |
+ |
|
171 |
+ Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute. |
|
172 |
+ |
|
173 |
+ Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM. |
|
174 |
+ |
|
175 |
+ ![Confirmation](images/fs-iso-installed.png) |
|
176 |
+ |
|
177 |
+1. Reboot the VM and Log In |
|
178 |
+ |
|
179 |
+ Press any key on the keyboard and the virtual machine will reboot into Photon OS. |
|
180 |
+ |
|
181 |
+ ![Reboot](images/fs-iso-splash.png) |
|
182 |
+ |
|
183 |
+ As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt. |
|
184 |
+ |
|
185 |
+ At the login prompt, enter **root** as the username and provide the password chosen during the installation. |
|
186 |
+ |
|
187 |
+ ![Password](images/fs-iso-login.png) |
|
188 |
+ |
|
189 |
+You can now use your container runtime environment and deploy a containerized application. |
|
190 |
+ |
0 | 191 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,189 @@ |
0 |
+# Installing the ISO Image for Photon OS 3.0 |
|
1 |
+ |
|
2 |
+After you have downloaded the latest Photon OS ISO image into a folder of your choice, open VMware Workstation. |
|
3 |
+ |
|
4 |
+1. Start the Installation Process |
|
5 |
+ |
|
6 |
+ From the File menu, choose **New Virtual Machine** to create a new virtual machine. |
|
7 |
+ |
|
8 |
+ ![New virtural machine](images/ws-iso-new.png) |
|
9 |
+ |
|
10 |
+ Select **Typical** or **Custom**, and then choose **Next**. These instructions refer to a Typical installation. |
|
11 |
+ |
|
12 |
+ ![Typical installation](images/ws-iso-typical.png) |
|
13 |
+ |
|
14 |
+1. Select the ISO Image |
|
15 |
+ |
|
16 |
+ Select **Installer disc image file (iso)**, choose **Browse** and select the Photon OS ISO file. |
|
17 |
+ |
|
18 |
+ ![Photon ISO file](images/ws-iso-selected.png) |
|
19 |
+ |
|
20 |
+1. Select the Operating System |
|
21 |
+ |
|
22 |
+ Choose **Next**. Select the Guest operating system. |
|
23 |
+ |
|
24 |
+ For the Guest operating system, select **Linux**. |
|
25 |
+ |
|
26 |
+ Click the Version dropdown and select **VMware Photon 64-bit** from the list. |
|
27 |
+ |
|
28 |
+ ![Operating System](images/ws-iso-os.png) |
|
29 |
+ |
|
30 |
+1. Specify the VM Name and Location |
|
31 |
+ |
|
32 |
+ Choose **Next**. Specify a virtual machine name and location. |
|
33 |
+ |
|
34 |
+ ![VM Name and Location](images/ws-iso-name.png) |
|
35 |
+ |
|
36 |
+1. Specify Disk Options |
|
37 |
+ |
|
38 |
+ Choose **Next**. Specify the maximum disk size and whether you want to split the virtual disk into multiple files or store it as a single file. |
|
39 |
+ |
|
40 |
+ ![Disk options](images/ws-iso-disk.png) |
|
41 |
+ |
|
42 |
+1. Configure VM Settings |
|
43 |
+ |
|
44 |
+ Choose **Next**. Workstation displays a summary of your selections. |
|
45 |
+ |
|
46 |
+ ![Workstation settings](images/ws-iso-summary.png) |
|
47 |
+ |
|
48 |
+ **Important** : _Before_ you finish creating the Photon OS Virtual Machine, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container run-time environment. To remove unnecessary devices, choose **Customize hardware**. |
|
49 |
+ |
|
50 |
+ ![Customize hardware](images/ws-iso-customize.png) |
|
51 |
+ |
|
52 |
+ Consider removing the following components, which are not used by Photon OS: |
|
53 |
+ |
|
54 |
+ - Select **Sound Card**, un-tick the **Connect at power on** option. Confirm your action and choose **Close** to return to the VM Settings by . |
|
55 |
+ - Select **USB Controller** and ensure that the **Share Bluetooth devices with the virtual machine** setting is unchecked (it should be unchecked, by default) and then choose **Close**. |
|
56 |
+ - Select **Display** and ensure that the **Accelerate 3D Graphics** option is unchecked (it should be unchecked, by default) and then choose **Close**. |
|
57 |
+ - At this stage we have now made all the necessary customizations and you are ready to select the Photon OS ISO image to boot and begin the installation process. |
|
58 |
+ - Choose **Finish**. |
|
59 |
+ |
|
60 |
+ In Workstation, choose **Edit virtual machine settings**, select **CD/DVD (IDE)**, and verify that **Connect at power on** is selected. |
|
61 |
+ |
|
62 |
+ ![CD/DVD](images/ws-iso-cd.png) |
|
63 |
+ |
|
64 |
+1. Configure a Secure Boot (Optional) |
|
65 |
+ |
|
66 |
+ **Note:** If you want to configure a secure boot for the Photon OS VM, in Workstation, choose **Edit virtual machine settings**, select **Options**, choose **Advanced**, and select **Boot with EFI instead of BIOS**. |
|
67 |
+ |
|
68 |
+ ![Boot with EFI](images/ws-iso-efi.png) |
|
69 |
+ |
|
70 |
+ The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure. |
|
71 |
+ |
|
72 |
+ Choose **OK**. |
|
73 |
+ |
|
74 |
+ ![ISO settings](images/ws-iso-settings.png) |
|
75 |
+ |
|
76 |
+1. Power On the VM |
|
77 |
+ |
|
78 |
+ Choose **Power on this virtual machine**. |
|
79 |
+ |
|
80 |
+ When you see the Photon Installer boot menu, press Enter on your keyboard to start installing. |
|
81 |
+ |
|
82 |
+ ![Installer](images/ws-iso-installer.png) |
|
83 |
+ |
|
84 |
+ Review the license agreement. |
|
85 |
+ |
|
86 |
+ ![License agreement](images/ws-iso-license.png) |
|
87 |
+ |
|
88 |
+ Choose **Accept** and press Enter. |
|
89 |
+ |
|
90 |
+1. Configure the Partition |
|
91 |
+ |
|
92 |
+ The installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation. Choose **Auto** to have the installer automatically allocate the partition, or choose **Custom** if you want to configure individual partitions, and then press the Enter key. |
|
93 |
+ |
|
94 |
+ ![Partition](images/ws-iso-disk-partition.png) |
|
95 |
+ |
|
96 |
+ **Note:** If you choose Custom, the installer displays the following screen. |
|
97 |
+ |
|
98 |
+ ![Custom partition](images/ws-iso-disk-partition-custom.png) |
|
99 |
+ |
|
100 |
+ For each custom partition, choose **Create New** and specify the following information: |
|
101 |
+ |
|
102 |
+ ![New partition](images/ws-iso-disk-partition-new.png) |
|
103 |
+ |
|
104 |
+ **Size** - Preallocated size of this partition, in MB. |
|
105 |
+ |
|
106 |
+ **Type** - One of the following options: |
|
107 |
+ |
|
108 |
+ - **ext3** - ext3 file system |
|
109 |
+ - **ext4** - ext4 file system |
|
110 |
+ - **swap** - swap partition |
|
111 |
+ |
|
112 |
+ **Mountpoint** - Mount point for this partition. |
|
113 |
+ |
|
114 |
+ Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key. |
|
115 |
+ |
|
116 |
+ The installer prompts you to confirm that you want to erase the entire disk. Choose **Yes** and press the Enter key. |
|
117 |
+ |
|
118 |
+ ![Disk erase](images/ws-iso-disk-erase.png) |
|
119 |
+ |
|
120 |
+1. Select an Installation Option |
|
121 |
+ |
|
122 |
+ After partitioning the disk, the installer will prompt you to select an installation option. |
|
123 |
+ |
|
124 |
+ ![installation option](images/ws-iso-install-option.png) |
|
125 |
+ |
|
126 |
+ Each installation option provides a different run-time environment, depending on your requirements. |
|
127 |
+ |
|
128 |
+ | **Option** | **Description** | |
|
129 |
+ | --- | --- | |
|
130 |
+ | **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. | |
|
131 |
+ | **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. | |
|
132 |
+ | **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. | |
|
133 |
+ |
|
134 |
+ **Note:** The option you choose determines the disk and memory resources required for your installation. |
|
135 |
+ |
|
136 |
+ Select the option you want and press the Enter key. |
|
137 |
+ |
|
138 |
+1. Select the Linux Kernel |
|
139 |
+ |
|
140 |
+ Select a Linux kernel to install. |
|
141 |
+ |
|
142 |
+ ![Kernel](images/ws-iso-kernel.png) |
|
143 |
+ |
|
144 |
+ - **Hypervisor optimized** means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times. |
|
145 |
+ - **Generic** means that all components are included. |
|
146 |
+ |
|
147 |
+ Choose **Next** and press the Enter key. |
|
148 |
+ |
|
149 |
+1. Specify the Hostname |
|
150 |
+ |
|
151 |
+ The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want. |
|
152 |
+ |
|
153 |
+ ![Hostname](images/ws-iso-hostname.png) |
|
154 |
+ |
|
155 |
+ Press the Enter key. |
|
156 |
+ |
|
157 |
+1. Specify the System root Password |
|
158 |
+ |
|
159 |
+ **_Note_** _: Photon OS will not permit commonly used dictionary words to be set as a root password._ |
|
160 |
+ |
|
161 |
+ The installer prompts you to enter the system root password. Type the password and press the Enter key. |
|
162 |
+ |
|
163 |
+ ![Password](images/ws-iso-root-password.png) |
|
164 |
+ |
|
165 |
+ The installer prompts you to confirm the root password by typing it a second time. |
|
166 |
+ |
|
167 |
+ ![Confirm password](images/ws-iso-root-password-confirm.png) |
|
168 |
+ |
|
169 |
+ Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute. |
|
170 |
+ |
|
171 |
+1. Reboot the VM and Log In |
|
172 |
+ |
|
173 |
+ Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM. |
|
174 |
+ |
|
175 |
+ ![confirmation message](images/ws-iso-installed.png) |
|
176 |
+ |
|
177 |
+ Press any key on the keyboard and the virtual machine will reboot into Photon OS. |
|
178 |
+ |
|
179 |
+ As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt. |
|
180 |
+ |
|
181 |
+ ![Splash screen](images/ws-iso-splash.png) |
|
182 |
+ |
|
183 |
+ At the login prompt, type **root** as the username and provide the password chosen during the installation. |
|
184 |
+ |
|
185 |
+ ![Password](images/ws-iso-login.png) |
|
186 |
+ |
|
187 |
+You can now use your container runtime environment and deploy a containerized application. |
|
188 |
+ |
0 | 189 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,183 @@ |
0 |
+# Installing the ISO Image for Photon OS 3.0 |
|
1 |
+ |
|
2 |
+After you download the Photon OS ISO image into a folder of your choice, complete the following steps. |
|
3 |
+ |
|
4 |
+1. Upload the ISO Image |
|
5 |
+ |
|
6 |
+ Upload the ISO image to a datastore that is attached to the host on which you'll create the Photon OS virtual machine. |
|
7 |
+ |
|
8 |
+1. Create a new VM |
|
9 |
+ |
|
10 |
+ Log in to your vSphere environment. In the Virtual Machines window, choose **Create/Register VM**. |
|
11 |
+ |
|
12 |
+ On the Select creation type screen, select **Create a new virtual machine**. |
|
13 |
+ |
|
14 |
+ ![Create new virtual machine](images/vs-iso-new.png) |
|
15 |
+ |
|
16 |
+ Choose **Next**. |
|
17 |
+ |
|
18 |
+1. Configure VM Settings |
|
19 |
+ |
|
20 |
+ Specify a VM name. |
|
21 |
+ |
|
22 |
+ ![VM name](images/vs-iso-name.png) |
|
23 |
+ |
|
24 |
+ Specify a guest operating system. |
|
25 |
+ |
|
26 |
+ - For Compatibility, select **ESXi 6.5**. |
|
27 |
+ - For Guest OS family, select **Linux**. |
|
28 |
+ - For Guest OS version, select **VMware Photon OS (64-bit)**. |
|
29 |
+ |
|
30 |
+ ![Guest operating system](images/vs-iso-os.png) |
|
31 |
+ |
|
32 |
+ Choose **Next**. |
|
33 |
+ |
|
34 |
+1. Select the Target Datastore |
|
35 |
+ |
|
36 |
+ Select the datastore where you want to store the VM. |
|
37 |
+ |
|
38 |
+ ![Target datastore](images/vs-iso-datastore.png) |
|
39 |
+ |
|
40 |
+ Click **Next**. |
|
41 |
+ |
|
42 |
+1. Customize VM Settings |
|
43 |
+ |
|
44 |
+ Customize the virtual machine settings. |
|
45 |
+ |
|
46 |
+ ![Settings](images/vs-iso-customize.png) |
|
47 |
+ |
|
48 |
+ For CD/DVD Drive 1, click the drop-down and select **Datastore ISO file**. |
|
49 |
+ |
|
50 |
+ In the Datastore browser, select the ISO that you want to import. |
|
51 |
+ |
|
52 |
+ Change other settings as applicable. |
|
53 |
+ |
|
54 |
+ - The recommended virtual hardware settings for your Photon VM are heavily dependent upon the container load you intend to run within Photon OS – more containers or more intensive containers will require you to adjust these settings for your application load. VMware suggests 2 vCPU, 1024MB memory, 20GB hard disk. Any unwanted devices should be removed. Be sure to mount the Photon OS ISO on the CD/DVD Drive and put a check in the box next to, Connect At Power On. |
|
55 |
+ - If you want to configure a secure boot for the Photon OS VM you created, choose the VM Options tab, expand Boot Options, and select EFI from the firmware drop-down. An EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure. |
|
56 |
+ |
|
57 |
+ Choose **Next**. |
|
58 |
+ |
|
59 |
+1. Verify VM Settings |
|
60 |
+ |
|
61 |
+ The installer displays a summary of your selected settings. |
|
62 |
+ |
|
63 |
+ ![Summary](images/vs-iso-ready.png) |
|
64 |
+ |
|
65 |
+ Click **Finish**. vSphere creates the VM. |
|
66 |
+ |
|
67 |
+1. Power on the VM |
|
68 |
+ |
|
69 |
+ Select the VM and power it on. |
|
70 |
+ |
|
71 |
+ ![Power on VM](images/vs-iso-install.png) |
|
72 |
+ |
|
73 |
+ When you see the Photon Installer boot menu, press Enter on your keyboard to start installing. |
|
74 |
+ |
|
75 |
+1. Accept the License Agreement |
|
76 |
+ |
|
77 |
+ Read the License Agreement and press the Enter key to accept. |
|
78 |
+ |
|
79 |
+ ![License Agreement](images/vs-iso-license.png) |
|
80 |
+ |
|
81 |
+1. Configure the Partition |
|
82 |
+ |
|
83 |
+ The installer detects one disk, which should be the 16GB volume configured as part of the virtual machine creation. Choose **Auto** to have the installer automatically allocate the partition, or choose **Custom** if you want to configure individual partitions, and then press the Enter key. |
|
84 |
+ |
|
85 |
+ ![Partition](images/vs-iso-partition.png) |
|
86 |
+ |
|
87 |
+ **Note:** If you choose Custom, the installer displays the following screen. |
|
88 |
+ |
|
89 |
+ ![Custom Partition](images/vs-iso-partition-custom.png) |
|
90 |
+ |
|
91 |
+ For each custom partition, choose **Create New** and specify the following information: |
|
92 |
+ |
|
93 |
+ ![New Partition](images/vs-iso-partition-new.png) |
|
94 |
+ |
|
95 |
+ **Size** - Preallocated size of this partition, in MB. |
|
96 |
+ |
|
97 |
+ **Type** - One of the following options: |
|
98 |
+ |
|
99 |
+ - **ext3** - ext3 file system |
|
100 |
+ - **ext4** - ext4 file system |
|
101 |
+ - **swap** - swap partition |
|
102 |
+ |
|
103 |
+ **Mountpoint** - Mount point for this partition. |
|
104 |
+ |
|
105 |
+ Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key. |
|
106 |
+ |
|
107 |
+ The installer prompts you to confirm that you want to erase the entire disk. |
|
108 |
+ |
|
109 |
+ ![Erase disk](images/vs-iso-erase.png) |
|
110 |
+ |
|
111 |
+ Choose **Yes** and press the Enter key. |
|
112 |
+ |
|
113 |
+ 1. Select an Installation Option |
|
114 |
+ |
|
115 |
+ After partitioning the disk, the installer prompts you to select an installation option. |
|
116 |
+ |
|
117 |
+ ![Installation Option](images/vs-iso-install-option.png) |
|
118 |
+ |
|
119 |
+ Each install option provides a different run-time environment, depending on your requirements. |
|
120 |
+ |
|
121 |
+ | **Option** | **Description** | |
|
122 |
+ | --- | --- | |
|
123 |
+ | **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. | |
|
124 |
+ | **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. | |
|
125 |
+ | **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. | |
|
126 |
+ |
|
127 |
+ **Note:** The option you choose determines the disk and memory resources required for your installation. |
|
128 |
+ |
|
129 |
+ Select the option you want and press the Enter key. |
|
130 |
+ |
|
131 |
+1. Select the Linux Kernel |
|
132 |
+ |
|
133 |
+ Select a Linux kernel to install. |
|
134 |
+ |
|
135 |
+ ![Linux Kernel](images/vs-iso-kernel.png) |
|
136 |
+ |
|
137 |
+ - **Hypervisor** optimized means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times. |
|
138 |
+ - **Generic** means that all components are included. |
|
139 |
+ |
|
140 |
+ Choose **Next** and press the Enter key. |
|
141 |
+ |
|
142 |
+1. Specify the Hostname |
|
143 |
+ |
|
144 |
+ The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want. |
|
145 |
+ |
|
146 |
+ ![Hostname](images/vs-iso-hostname.png) |
|
147 |
+ |
|
148 |
+ Press the Enter key. |
|
149 |
+ |
|
150 |
+1. Specify the System root Password |
|
151 |
+ |
|
152 |
+ The installer prompts you to enter the system root password. |
|
153 |
+ |
|
154 |
+ _Note: Photon OS will not permit commonly used dictionary words to be set as a root password._ |
|
155 |
+ |
|
156 |
+ ![Root password](images/vs-iso-root-password.png) |
|
157 |
+ |
|
158 |
+ Type a password and press the Enter key. |
|
159 |
+ |
|
160 |
+ The installer prompts you to confirm your root password by typing it a second time. |
|
161 |
+ |
|
162 |
+ ![Password confirmation](images/vs-iso-root-password-confirm.png) |
|
163 |
+ |
|
164 |
+ **Note:** If you have trouble with unintentional repeated characters in the Remote Console, follow VMware KB 196 ( [http://kb.vmware.com/kb/196](http://kb.vmware.com/kb/196)) for a setting to apply to the virtual machine. |
|
165 |
+ |
|
166 |
+ Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute. |
|
167 |
+ |
|
168 |
+1. Reboot the VM and Log In |
|
169 |
+ |
|
170 |
+ Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM. |
|
171 |
+ |
|
172 |
+ ![Boot VM](images/vs-iso-installed.png) |
|
173 |
+ |
|
174 |
+ As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt. |
|
175 |
+ |
|
176 |
+ ![Login prompt](images/vs-iso-splash.png) |
|
177 |
+ |
|
178 |
+ At the login prompt, type **root** as the username and provide the password chosen during the installation. |
|
179 |
+ |
|
180 |
+ ![Password](images/vs-iso-login.png) |
|
181 |
+ |
|
182 |
+You can now use your container runtime environment and deploy a containerized application. |
|
0 | 183 |
\ No newline at end of file |
1 | 184 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,28 @@ |
0 |
+# Launch the Web Server with Cloud-Init |
|
1 |
+ |
|
2 |
+To eliminate the manual effort of running Docker, you can add `docker run` and its arguments to the cloud-init user data file by using `runcmd`: |
|
3 |
+ |
|
4 |
+ #cloud-config |
|
5 |
+ hostname: photon-on-01 |
|
6 |
+ groups: |
|
7 |
+ - cloud-admins |
|
8 |
+ - cloud-users |
|
9 |
+ users: |
|
10 |
+ - default |
|
11 |
+ - name: photonadmin |
|
12 |
+ gecos: photon test admin user |
|
13 |
+ primary-group: cloud-admins |
|
14 |
+ groups: cloud-users |
|
15 |
+ lock-passwd: false |
|
16 |
+ passwd: vmware |
|
17 |
+ - name: photonuser |
|
18 |
+ gecos: photon test user |
|
19 |
+ primary-group: cloud-users |
|
20 |
+ groups: users |
|
21 |
+ passwd: vmware |
|
22 |
+ packages: |
|
23 |
+ - vim |
|
24 |
+ runcmd: |
|
25 |
+ - docker run -p 80:80 vmwarecna/nginx |
|
26 |
+ |
|
27 |
+To try this addition, run another instance with the new cloud-init data source and then get the public IP address of the instance to check that the Nginx web server is running. |
|
0 | 28 |
\ No newline at end of file |
1 | 29 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,13 @@ |
0 |
+# Prerequisites |
|
1 |
+ |
|
2 |
+Before you use Photon OS with Microsoft Azure, perform the following prerequisite tasks: |
|
3 |
+ |
|
4 |
+1. Verify that you have a Microsoft Azure account. To create an account, see [https://azure.microsoft.com](https://azure.microsoft.com) |
|
5 |
+ |
|
6 |
+1. Install the latest version of Azure CLI. See [Install Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) and [Get started with Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/get-started-with-azure-cli?view=azure-cli-latest). |
|
7 |
+ |
|
8 |
+1. Verify that that you have a pair of SSH public and private keys. |
|
9 |
+ |
|
10 |
+1. Download and extract the Photon OS VHD file. |
|
11 |
+ |
|
12 |
+ VMware packages Photon OS as a cloud-ready virtual hard disk (VHD file) that you can download for free from [Bintray](https://bintray.com/vmware/photon). This VHD file is a virtual appliance with the information and packages that Azure needs to launch an instance of Photon in the cloud. After you have downloaded the distribution archive, extract the VHD file from it. You will later need to upload this VHD file to Azure, where it will be stored in an Azure storage account. For more information, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
0 | 13 |
\ No newline at end of file |
1 | 14 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,51 @@ |
0 |
+# Prerequisites |
|
1 |
+ |
|
2 |
+Before you use Photon OS within VMware Fusion, perform the following prerequisite tasks: |
|
3 |
+ |
|
4 |
+1. Verify that you have the following resources: |
|
5 |
+ |
|
6 |
+ <table style="height: 170px;" border="1" width="157" cellspacing="0" cellpadding="10"> |
|
7 |
+ <tbody> |
|
8 |
+ <tr> |
|
9 |
+ <td><b>Resource</b></td> |
|
10 |
+ <td><b>Description</b></td> |
|
11 |
+ </tr> |
|
12 |
+ <tr> |
|
13 |
+ <td> VMware Fusion</td> |
|
14 |
+ <td>VMware Fusion (v7.0 or higher) must be installed. The latest version is recommended.</p></td> |
|
15 |
+ </tr> |
|
16 |
+ <tr> |
|
17 |
+ <td>Memory</td> |
|
18 |
+ <td> 2GB of free RAM (recommended) </td> |
|
19 |
+ </tr> |
|
20 |
+ <tr> |
|
21 |
+ <td>Storage</td> |
|
22 |
+ <td><b>Minimal Photon install</b>: 512MB of free space (minimum); <b>Full Photon install</b>: 4GB of free space (minimum); 8GB is recommended.</td> |
|
23 |
+ </tr> |
|
24 |
+ <tr> |
|
25 |
+ <td>Distribution File</td> |
|
26 |
+ <td>Photon OS ISO or OVA file downloaded from bintray (<a href="https://bintray.com/vmware/photon/">https://bintray.com/vmware/photon/</a>).</td> |
|
27 |
+ </tr> |
|
28 |
+ </tbody> |
|
29 |
+ </table> |
|
30 |
+ |
|
31 |
+ Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware vSphere and VMware Fusion), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation). |
|
32 |
+ |
|
33 |
+ **Note:** The setup instructions in this guide use VMware Fusion Professional version 8.5.8, as per the following screenshot. |
|
34 |
+ |
|
35 |
+ ![Fusion version](images/fs_version.png) |
|
36 |
+ |
|
37 |
+1. Decide whether to use the OVA or ISO distribution to set up Photon OS. |
|
38 |
+ |
|
39 |
+ - **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf. |
|
40 |
+ - **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart. |
|
41 |
+ |
|
42 |
+ To get Photon OS up and running quickly, use the OVA. |
|
43 |
+ |
|
44 |
+1. Download Photon OS. Go to the following Bintray URL and download the latest release of Photon OS: |
|
45 |
+ |
|
46 |
+ [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/) |
|
47 |
+ |
|
48 |
+ For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
49 |
+ |
|
50 |
+ **Note:** For ISO installation, you must upload to a datashare that is attached to the ESXi host, or mount the file share where the ISO resides as a data store. |
0 | 51 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,207 @@ |
0 |
+# Prerequisites |
|
1 |
+ |
|
2 |
+Before you use Photon OS within GCE, verify that you have the following resources: |
|
3 |
+ |
|
4 |
+1. [Google Compute Engine account](#google-compute-engine-account) |
|
5 |
+1. [GCE tools](#gce-tools) |
|
6 |
+1. [Photon OS Image](#photon-os-image) |
|
7 |
+ |
|
8 |
+## Google Compute Engine Account |
|
9 |
+ |
|
10 |
+Working with GCE requires a Google Compute Engine account with valid payment information. Keep in mind that, if you try the examples in this document, you will be charged by Google. The GCE-ready version of Photon OS is free to use. |
|
11 |
+ |
|
12 |
+## GCE Tools |
|
13 |
+ |
|
14 |
+GCE is a service that lets you run virtual machines on Google's infrastructure. You can customize the virtual machine as much as you want, and you can even install your own custom operating system image. Or, you can adopt one of the public [images](https://cloud.google.com/compute/docs/operating-systems/) provided by Google. For any operating system to work with GCE, it must match Google's infrastructure needs. Google provides tools that VM instances require to work correctly on GCE: |
|
15 |
+ |
|
16 |
+ * __[Google startup scripts](https://cloud.google.com/compute/docs/startupscript)__: You can provide some startup script to configure your instances at startup. |
|
17 |
+ * __[Google Daemon](https://cloud.google.com/compute/docs/metadata)__: Google Daemon creates new accounts and configures ssh to accept public keys using the metadata server. |
|
18 |
+ * __[Google Cloud SDK](https://cloud.google.com/sdk/)__: Command line tools to manage your images, instances and other objects on GCE. |
|
19 |
+ |
|
20 |
+Perform the following tasks to make Photon OS work on GCE: |
|
21 |
+ |
|
22 |
+ 1. Install Google Compute Engine Image packages |
|
23 |
+ 1. Install Google Cloud SDK |
|
24 |
+ 1. Change GPT partition table to MBR |
|
25 |
+ 1. Update the Grub config for new MBR and serial console output |
|
26 |
+ 1. Update ssh configuration |
|
27 |
+ 1. Delete ssh host keys |
|
28 |
+ 1. Set the time zone to UTC |
|
29 |
+ 1. Use the Google NTP server |
|
30 |
+ 1. Delete the hostname file. |
|
31 |
+ 1. Add Google hosts /etc/hosts |
|
32 |
+ 1. Set MTU to 1460. SSH will not work without it. |
|
33 |
+ 1. Create `/etc/ssh/sshd_not_to_be_run` with just the contents “GOOGLE\n”. |
|
34 |
+ |
|
35 |
+ For more information see [Importing Boot Disk Images to Compute Engine](https://cloud.google.com/compute/docs/tutorials/building-images). |
|
36 |
+ |
|
37 |
+## Photon OS Image |
|
38 |
+ |
|
39 |
+VMware recommends that administrators use the Photon OS image for Google Compute Engine (GCE) to create Photon OS instances on GCE. Photon OS bundles the Google startup scripts, daemon, and cloud SDK into a GCE-ready image that has been modified to meet the configuration requirements of GCE. You can download the Photon OS image for GCE from the following URL: |
|
40 |
+[https://bintray.com/vmware/photon](https://bintray.com/vmware/photon) |
|
41 |
+ |
|
42 |
+For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
43 |
+ |
|
44 |
+Optionally you can customize Photon OS to work with GCE. |
|
45 |
+ |
|
46 |
+### Creating Photon image for GCE |
|
47 |
+ |
|
48 |
+Perform the following tasks: |
|
49 |
+ |
|
50 |
+1. Prepare Photon Disk |
|
51 |
+ |
|
52 |
+ 1. Install Photon Minimal on Fusion/Workstation and install some required packages. |
|
53 |
+ |
|
54 |
+ ``` |
|
55 |
+ mount /dev/cdrom /media/cdrom |
|
56 |
+ tdnf install yum |
|
57 |
+ tdnf install python2-libs |
|
58 |
+ yum install ntp sudo wget tar which gptfdisk sed findutils grep gzip --nogpgcheck -y |
|
59 |
+ ``` |
|
60 |
+ |
|
61 |
+ 1. Convert GPT to MBR and update the grub |
|
62 |
+ |
|
63 |
+ Photon installer installs GPT partition table by default but GCE only accepts an MBR (msdos) type partition table. So, you must convert GPT to MBR and update the grub. USe the following commands to update the grub: |
|
64 |
+ |
|
65 |
+ ``` |
|
66 |
+ # Change partition table to MBR from GPT |
|
67 |
+ sgdisk -m 1:2 /dev/sda |
|
68 |
+ grub2-install /dev/sda |
|
69 |
+ |
|
70 |
+ # Enable serial console on grub for GCE. |
|
71 |
+ cat << EOF >> /etc/default/grub |
|
72 |
+ GRUB_CMDLINE_LINUX="console=ttyS0,38400n8" |
|
73 |
+ GRUB_TERMINAL=serial |
|
74 |
+ GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1" |
|
75 |
+ EOF |
|
76 |
+ |
|
77 |
+ # Create new grub.cfg based on the settings in /etc/default/grub |
|
78 |
+ grub2-mkconfig -o /boot/grub2/grub.cfg |
|
79 |
+ ``` |
|
80 |
+ |
|
81 |
+1. Install Google Cloud SDK and GCE Packages |
|
82 |
+ |
|
83 |
+ ``` |
|
84 |
+ yum install google-daemon google-startup-scripts |
|
85 |
+ cp /usr/lib/systemd/system/google* /lib/systemd/system/ |
|
86 |
+ cd /lib/systemd/system/multi-user.target.wants/ |
|
87 |
+ |
|
88 |
+ # Create links in multi-user.target to auto-start these scripts and services. |
|
89 |
+ for i in ../google*; do ln -s $i `basename $i`; done |
|
90 |
+ |
|
91 |
+ cd /tmp/; wget https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz --no-check-certificate |
|
92 |
+ tar -xf google-cloud-sdk.tar.gz |
|
93 |
+ cd google-cloud-sdk |
|
94 |
+ ./install.sh |
|
95 |
+ ``` |
|
96 |
+ |
|
97 |
+1. Update /etc/hosts file with GCE values as follows: |
|
98 |
+ |
|
99 |
+ ``` |
|
100 |
+ echo "169.254.169.254 metadata.google.internal metadata" >> /etc/hosts |
|
101 |
+ ``` |
|
102 |
+ |
|
103 |
+1. Remove all servers from ntp.conf and add Google's ntp server. |
|
104 |
+ |
|
105 |
+ ``` |
|
106 |
+ sed -i -e "/server/d" /etc/ntp.conf |
|
107 |
+ cat /etc/ntp.conf |
|
108 |
+ echo "server 169.254.169.254" >> /etc/ntp.conf |
|
109 |
+ # Create ntpd.service to auto starting ntp server. |
|
110 |
+ cat << EOF >> /lib/systemd/system/ntpd.service |
|
111 |
+ [Unit] |
|
112 |
+ Description=Network Time Service |
|
113 |
+ After=network.target nss-lookup.target |
|
114 |
+ |
|
115 |
+ [Service] |
|
116 |
+ Type=forking |
|
117 |
+ PrivateTmp=true |
|
118 |
+ ExecStart=/usr/sbin/ntpd -g -u ntp:ntp |
|
119 |
+ Restart=always |
|
120 |
+ |
|
121 |
+ [Install] |
|
122 |
+ WantedBy=multi-user.target |
|
123 |
+ EOF |
|
124 |
+ |
|
125 |
+ # Add link in multi-user.target.wants to auto start this service. |
|
126 |
+ cd /lib/systemd/system/multi-user.target.wants/ |
|
127 |
+ ln -s ../ntpd.service ntpd.service |
|
128 |
+ ``` |
|
129 |
+ |
|
130 |
+1. Set UTC timezone |
|
131 |
+ |
|
132 |
+ ``` |
|
133 |
+ ln -sf /usr/share/zoneinfo/UTC /etc/localtime |
|
134 |
+ ``` |
|
135 |
+ |
|
136 |
+1. Update /etc/resolv.conf |
|
137 |
+ |
|
138 |
+ ``` |
|
139 |
+ echo "nameserver 8.8.8.8" >> /etc/resolv.conf |
|
140 |
+ ``` |
|
141 |
+ |
|
142 |
+1. Remove ssh host keys and add script to regenerate them at boot time. |
|
143 |
+ |
|
144 |
+ ``` |
|
145 |
+ rm /etc/ssh/ssh_host_* |
|
146 |
+ # Depending on the installation, you may need to purge the following keys |
|
147 |
+ rm /etc/ssh/ssh_host_rsa_key* |
|
148 |
+ rm /etc/ssh/ssh_host_dsa_key* |
|
149 |
+ rm /etc/ssh/ssh_host_ecdsa_key* |
|
150 |
+ |
|
151 |
+ sed -i -e "/exit 0/d" /etc/rc.local |
|
152 |
+ echo "[ -f /etc/ssh/ssh_host_key ] && echo 'Keys found.' || ssh-keygen -A" >> /etc/rc.local |
|
153 |
+ echo "exit 0" >> /etc/rc.local |
|
154 |
+ printf "GOOGLE\n" > /etc/ssh/sshd_not_to_be_run |
|
155 |
+ |
|
156 |
+ # Edit sshd_config and ssh_config as per instructions on [this link](https://cloud.google.com/compute/docs/tutorials/building-images). |
|
157 |
+ ``` |
|
158 |
+ |
|
159 |
+1. Change MTU to 1460 for network interface. |
|
160 |
+ |
|
161 |
+ ``` |
|
162 |
+ # Create a startup service in systemd that will change MTU and exits |
|
163 |
+ cat << EOF >> /lib/systemd/system/eth0.service |
|
164 |
+ [Unit] |
|
165 |
+ Description=Network interface initialization |
|
166 |
+ After=local-fs.target network-online.target network.target |
|
167 |
+ Wants=local-fs.target network-online.target network.target |
|
168 |
+ |
|
169 |
+ [Service] |
|
170 |
+ ExecStart=/bin/ifconfig eth0 mtu 1460 up |
|
171 |
+ Type=oneshot |
|
172 |
+ |
|
173 |
+ [Install] |
|
174 |
+ WantedBy=multi-user.target |
|
175 |
+ EOF |
|
176 |
+ # Make this service auto-start at boot. |
|
177 |
+ cd /lib/systemd/system/multi-user.target.wants/ |
|
178 |
+ ln -s ../eth0.service eth0.service |
|
179 |
+ ``` |
|
180 |
+ |
|
181 |
+1. Pack and upload to GCE. |
|
182 |
+ |
|
183 |
+Shut down the Photon VM and copy its disk to THE `tmp` folder. |
|
184 |
+ |
|
185 |
+ ``` |
|
186 |
+ # You will need to install Google Cloud SDK on host machine to upload the image and play with GCE. |
|
187 |
+ cp Virtual\ Machines.localized/photon.vmwarevm/Virtual\ Disk.vmdk /tmp/disk.vmdk |
|
188 |
+ cd /tmp |
|
189 |
+ # GCE needs disk to be named as disk.raw with raw format. |
|
190 |
+ qemu-img convert -f vmdk -O raw disk.vmdk disk.raw |
|
191 |
+ |
|
192 |
+ # ONLY GNU tar will work to create acceptable tar.gz file for GCE. MAC's default tar is BSDTar which will not work. |
|
193 |
+ # On Mac OS X ensure that you have gtar "GNU Tar" installed. exmaple: gtar -Szcf photon.tar.gz disk.raw |
|
194 |
+ |
|
195 |
+ gtar -Szcf photon.tar.gz disk.raw |
|
196 |
+ |
|
197 |
+ # Upload |
|
198 |
+ gsutil cp photon.tar.gz gs://photon-bucket |
|
199 |
+ |
|
200 |
+ # Create image |
|
201 |
+ gcloud compute --project "<project name>" images create "photon-beta-vYYYYMMDD" --description "Photon Beta" --source-uri https://storage.googleapis.com/photon-bucket/photon032315.tar.gz |
|
202 |
+ |
|
203 |
+ # Create instance on GCE of photon image |
|
204 |
+ gcloud compute --project "photon" instances create "photon" --zone "us-central1-f" --machine-type "n1-standard-1" --network "default" --maintenance-policy "MIGRATE" --scopes "https://www.googleapis.com/auth/devstorage.read_only" "https://www.googleapis.com/auth/logging.write" --image "https://www.googleapis.com/compute/v1/projects/photon/global/images/photon" --boot-disk-type "pd-standard" --boot-disk-device-name "photon" |
|
205 |
+ |
|
206 |
+ ``` |
0 | 207 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,20 @@ |
0 |
+# Prerequisites |
|
1 |
+ |
|
2 |
+Before you use Photon OS with Amazon Elastic Cloud Compute, perform the following prerequisite tasks: |
|
3 |
+ |
|
4 |
+1. Verify that you have the following resources: |
|
5 |
+ |
|
6 |
+ - **AWS account**. Working with EC2 requires an Amazon account for AWS with valid payment information. Keep in mind that, if you try the examples in this document, you will be charged by Amazon. See [Setting Up with Amazon EC2](#http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html). |
|
7 |
+ - **Amazon tools**. The following examples also assume that you have installed and configured the Amazon AWS CLI and the EC2 CLI and AMI tools, including ec2-ami-tools. |
|
8 |
+ |
|
9 |
+ For more information, see [Installing the AWS Command Line Interface](#http://docs.aws.amazon.com/cli/latest/userguide/installing.html), [Setting Up the Amazon EC2 Command Line Interface Tools on Linux](#http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html), and [Configuring AWS Command-Line Interface](#http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html). Also see [Setting Up the AMI Tools](#http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html). |
|
10 |
+ |
|
11 |
+ The procedure in this section uses an Ubuntu 14.04 workstation to generate the keys and certificates that AWS requires. |
|
12 |
+ |
|
13 |
+1. Download the Photon OS image for Amazon. |
|
14 |
+ |
|
15 |
+ VMware packages Photon OS as a cloud-ready Amazon machine image (AMI) that you can download for free from [Bintray](https://bintray.com/vmware/photon). |
|
16 |
+ |
|
17 |
+ Download the Photon OS AMI and save it on your workstation. For more infromation, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
18 |
+ |
|
19 |
+ **Note**: The AMI version of Photon is a virtual appliance with the information and packages that Amazon needs to launch an instance of Photon in the cloud. To build the AMI version, VMware starts with the minimal version of Photon OS and adds the sudo and tar packages to it. |
|
0 | 20 |
\ No newline at end of file |
1 | 21 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,50 @@ |
0 |
+# Prerequisites |
|
1 |
+ |
|
2 |
+Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware Fusion and VMware vSphere), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation). |
|
3 |
+ |
|
4 |
+Before you use Photon OS within Fusion, perform the following prerequisite tasks: |
|
5 |
+ |
|
6 |
+1. Verify that you have the following resources: |
|
7 |
+ |
|
8 |
+ <table style="height: 170px;" border="1" width="157" cellspacing="0" cellpadding="10"> |
|
9 |
+ <tbody> |
|
10 |
+ <tr> |
|
11 |
+ <td><b>Resource</b></td> |
|
12 |
+ <td><b>Description</b></td> |
|
13 |
+ </tr> |
|
14 |
+ <tr> |
|
15 |
+ <td>VMware Fusion</td> |
|
16 |
+ <td>VMware Fusion (v7.0 or higher) must be installed. The latest version is recommended.</td> |
|
17 |
+ </tr> |
|
18 |
+ <tr> |
|
19 |
+ <td>Memory</td> |
|
20 |
+ <td>2GB of free RAM (recommended)</td> |
|
21 |
+ </tr> |
|
22 |
+ <tr> |
|
23 |
+ <td>Storage</td> |
|
24 |
+ <td><b>Minimal Photon install</b> : 512MB of free space (minimum); <b>Full Photon install</b> : 4GB of free space (minimum); 8GB recommended.</td> |
|
25 |
+ </tr> |
|
26 |
+ <tr> |
|
27 |
+ <td>Distribution File</td> |
|
28 |
+ <td>Photon OS ISO or OVA file downloaded from bintray (<a href="https://bintray.com/vmware/photon/">https://bintray.com/vmware/photon/</a>).</td> |
|
29 |
+ </tr> |
|
30 |
+ </tbody> |
|
31 |
+ </table> |
|
32 |
+ |
|
33 |
+ |
|
34 |
+ **Note:** The setup instructions in this guide use VMware Fusion Professional version 8.5.8, as per the following screenshot. |
|
35 |
+ |
|
36 |
+ ![Fusion version](images/fs-version.png) |
|
37 |
+ |
|
38 |
+2. Decide whether to use the OVA or ISO distribution to set up Photon OS. |
|
39 |
+ |
|
40 |
+ - **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf. |
|
41 |
+ - **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart. |
|
42 |
+ |
|
43 |
+ To get Photon OS up and running quickly, use the OVA. |
|
44 |
+ |
|
45 |
+1. Download Photon OS. Go to the following Bintray URL and download the latest release of Photon OS: |
|
46 |
+ |
|
47 |
+ [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/) |
|
48 |
+ |
|
49 |
+ For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
0 | 50 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,49 @@ |
0 |
+# Prerequisites |
|
1 |
+ |
|
2 |
+Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware vSphere and VMware Fusion), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation). |
|
3 |
+ |
|
4 |
+Before you use Photon OS within VMware vSphere, perform the following prerequisite tasks: |
|
5 |
+ |
|
6 |
+1. Verify that you have the following resources: |
|
7 |
+ |
|
8 |
+ <table style="height: 170px;" border="1" width="157" cellspacing="0" cellpadding="10"> |
|
9 |
+ <tbody> |
|
10 |
+ <tr> |
|
11 |
+ <td><b>Resource</b></td> |
|
12 |
+ <td><b>Description</b></td> |
|
13 |
+ </tr> |
|
14 |
+ <tr> |
|
15 |
+ <td> VMware vSphere installed</td> |
|
16 |
+ <td>VMware web client (v6.5) for ESXi hosts (recommended) <p><b>Note</b>: vSphere 6 and vSphere 5.5 (these clients provide limited support; Not all features are available).</p></td> |
|
17 |
+ </tr> |
|
18 |
+ <tr> |
|
19 |
+ <td>Memory</td> |
|
20 |
+ <td>ESXi host with 2GB of free RAM (recommended)</td> |
|
21 |
+ </tr> |
|
22 |
+ <tr> |
|
23 |
+ <td>Storage</td> |
|
24 |
+ <td><b>Minimal Photon install</b>: ESXi host with at least 512MB of free space (minimum); <b>Full Photon install</b>: ESXi host with at least 4GB of free space (minimum); 16GB is recommended; 16GB recommended.</td> |
|
25 |
+ </tr> |
|
26 |
+ <tr> |
|
27 |
+ <td>Distribution File</td> |
|
28 |
+ <td>Photon OS ISO or OVA file downloaded from bintray (<a href="https://bintray.com/vmware/photon/">https://bintray.com/vmware/photon/</a>).</td> |
|
29 |
+ </tr> |
|
30 |
+ </tbody> |
|
31 |
+ </table> |
|
32 |
+ |
|
33 |
+ **Note:** The setup instructions in this guide use VMware vSphere 6 and the vSphere web client. |
|
34 |
+ |
|
35 |
+1. Decide whether to use the OVA or ISO distribution to set up Photon OS. |
|
36 |
+ |
|
37 |
+ - **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf. |
|
38 |
+ - **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart. |
|
39 |
+ |
|
40 |
+ To get Photon OS up and running quickly, use the OVA. |
|
41 |
+ |
|
42 |
+1. Download Photon OS. Go to the following Bintray URL and download the latest release of Photon OS: |
|
43 |
+ |
|
44 |
+ [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/) |
|
45 |
+ |
|
46 |
+ For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
|
47 |
+ |
|
48 |
+ **Note:** For ISO installation, you must upload to a datashare that is attached to the ESXi host, or mount the file share where the ISO resides as a data store. |
0 | 49 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,50 @@ |
0 |
+# Prerequisites |
|
1 |
+ |
|
2 |
+Before you use Photon OS within Workstation, perform the following prerequisite tasks: |
|
3 |
+ |
|
4 |
+1. Verify that you have the following resources: |
|
5 |
+ |
|
6 |
+ <table style="height: 170px;" border="1" width="157" cellspacing="0" cellpadding="10"> |
|
7 |
+ <tbody> |
|
8 |
+ <tr> |
|
9 |
+ <td><b>Resource</b></td> |
|
10 |
+ <td><b>Description</b></td> |
|
11 |
+ </tr> |
|
12 |
+ <tr> |
|
13 |
+ <td> VMware Workstation</td> |
|
14 |
+ <td>VMware Workstation must be installed (Workstation 10 or higher). The latest version is recommended.</p></td> |
|
15 |
+ </tr> |
|
16 |
+ <tr> |
|
17 |
+ <td>Memory</td> |
|
18 |
+ <td> 2GB of free RAM (recommended) </td> |
|
19 |
+ </tr> |
|
20 |
+ <tr> |
|
21 |
+ <td>Storage</td> |
|
22 |
+ <td><b>Minimal Photon install</b>: 512MB of free space (minimum); <b>Full Photon install</b>: 4GB of free space (minimum); 8GB is recommended.</td> |
|
23 |
+ </tr> |
|
24 |
+ <tr> |
|
25 |
+ <td>Distribution File</td> |
|
26 |
+ <td>Photon OS ISO or OVA file downloaded from bintray (<a href="https://bintray.com/vmware/photon/">https://bintray.com/vmware/photon/</a>).</td> |
|
27 |
+ </tr> |
|
28 |
+ </tbody> |
|
29 |
+ </table> |
|
30 |
+ |
|
31 |
+ |
|
32 |
+ Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware Workstation and VMware vSphere), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation). |
|
33 |
+ |
|
34 |
+ **Note:** The setup instructions in this guide use VMware Workstation Professional version 12.5.7. |
|
35 |
+ |
|
36 |
+ ![Workstation version](images/ws_version.png) |
|
37 |
+ |
|
38 |
+1. Decide whether to use the OVA or ISO distribution to set up Photon OS. |
|
39 |
+ |
|
40 |
+ - **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf. |
|
41 |
+ - **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart. |
|
42 |
+ |
|
43 |
+ To get Photon OS up and running quickly, use the OVA. |
|
44 |
+ |
|
45 |
+1. Download Photon OS. Go to the following Bintray URL and download the latest release of Photon OS: |
|
46 |
+ |
|
47 |
+ [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/) |
|
48 |
+ |
|
49 |
+ For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md). |
0 | 50 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,60 @@ |
0 |
+# Remove Photon OS From Azure |
|
1 |
+ |
|
2 |
+You can use the following delete.sh script to programmatically and silently remove the VM instance, VHD file, and container. |
|
3 |
+ |
|
4 |
+Consider deleting idle VMs so that you are not charged when not in use. |
|
5 |
+ |
|
6 |
+Before you run it, specify the following settings: |
|
7 |
+ |
|
8 |
+- resource_group name (from step 1, above) |
|
9 |
+- account_name (from step 2, above) |
|
10 |
+- account_key (public or private) (from step 3, above) |
|
11 |
+- container_name (from step 4, above) |
|
12 |
+- public_key_file |
|
13 |
+- vm_name of the Photon OS VHD distribution file |
|
14 |
+ |
|
15 |
+**delete.sh** |
|
16 |
+ |
|
17 |
+```` |
|
18 |
+#!/bin/bash |
|
19 |
+vm_name=$1 |
|
20 |
+resource_group="" |
|
21 |
+account_name="" |
|
22 |
+account_key="" |
|
23 |
+container_name="mydisks" |
|
24 |
+url="https://${account_name}.blob.core.windows.net/${container_name}/${vm_name}.vhd" |
|
25 |
+public_key_file="/root/azure_new/jenkins.pub" |
|
26 |
+exit_code=0 |
|
27 |
+echo "##################" |
|
28 |
+echo "# Delete vm #" |
|
29 |
+echo "##################" |
|
30 |
+echo "az vm list --resource-group ${resource_group} ... ..." |
|
31 |
+/root/azure_new/bin/az vm list --resource-group ${resource_group} |
|
32 |
+echo "az vm delete --resource-group ${resource_group} --name ${vm_name} --yes ... ..." |
|
33 |
+/root/azure_new/bin/az vm delete --resource-group ${resource_group} --name ${vm_name} --yes |
|
34 |
+if [$? -ne 0];then |
|
35 |
+ exit_code=1 |
|
36 |
+fi |
|
37 |
+echo "az vm list --resource-group ${resource_group} ... ..." |
|
38 |
+/root/azure_new/bin/az vm list --resource-group ${resource_group} |
|
39 |
+echo "##############$####" |
|
40 |
+echo "# Delete vhd #" |
|
41 |
+echo "###############$###" |
|
42 |
+echo "az storage blob list --account-name ${account_name} --container-name ${container_name} ... ..." |
|
43 |
+/root/azure_new/bin/az storage blob list --account-name ${account_name} --container-name ${container_name} |
|
44 |
+echo "az storage blob delete --account-name ${account_name} --container-name ${container_name} --name ${vm_name}.vhd ... ..." |
|
45 |
+/root/azure_new/bin/az storage blob delete --account-name ${account_name} --container-name ${container_name} --name ${vm_name}.vhd |
|
46 |
+if [$? -ne 0];then |
|
47 |
+ exit_code=1 |
|
48 |
+fi |
|
49 |
+echo "az storage blob list --account-name ${account_name} --container-name ${container_name} ... ..." |
|
50 |
+/root/azure_new/bin/az storage blob list --account-name ${account_name} --container-name ${container_name} |
|
51 |
+echo "########################" |
|
52 |
+echo "# Delete container #" |
|
53 |
+echo "########################" |
|
54 |
+/root/azure_new/bin/az storage container delete --account-name ${account_name} --name ${container_name} |
|
55 |
+/root/azure_new/bin/az storage container delete --account-name ${account_name} --name vhds |
|
56 |
+exit ${exit_code} |
|
57 |
+```` |
|
58 |
+ |
|
59 |
+You can now proceed to [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os-fusion.md). |
|
0 | 60 |
\ No newline at end of file |
1 | 61 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,166 @@ |
0 |
+# Set Up Photon OS on EC2 |
|
1 |
+ |
|
2 |
+To run Photon OS on EC2, you must use cloud-init with an EC2 data source. The cloud-init service configures the cloud instance of a Linux image. An _instance_ is a virtual server in the Amazon cloud. |
|
3 |
+ |
|
4 |
+The examples in this section show how to generate SSH and RSA keys for your Photon instance, upload the Photon OS `.ami` image to the Amazon cloud, and configure it with cloud-init. In the examples, replace information with your own paths, account details, or other information from Amazon. |
|
5 |
+ |
|
6 |
+Perform the following steps to set up Photon OS on EC2 |
|
7 |
+ |
|
8 |
+1. Create a key pair. |
|
9 |
+ |
|
10 |
+ Generate SSH keys on, for instance, an Ubuntu workstation: |
|
11 |
+ |
|
12 |
+ ``` |
|
13 |
+ ssh-keygen -f ~/.ssh/mykeypair |
|
14 |
+ ``` |
|
15 |
+ |
|
16 |
+ The command generates a public key in the file with a `.pub` extension and a private key in a file with no extension. Keep the private key file and remember the name of your key pair. The name is the file name of the two files without an extension. You will need the name later to connect to the Photon instance. |
|
17 |
+ |
|
18 |
+ Change the mode bits of the public key pair file to protect its security. In the command, include the path to the file if you need to. |
|
19 |
+ |
|
20 |
+ ``` |
|
21 |
+ chown 600 mykeypair.pub |
|
22 |
+ ``` |
|
23 |
+ |
|
24 |
+ Change the mode bits on your private key pair file so that only you can view it: |
|
25 |
+ |
|
26 |
+ ``` |
|
27 |
+ chmod 400 mykeypair |
|
28 |
+ ``` |
|
29 |
+ |
|
30 |
+ To import your public key pair file, but not your private key pair file, connect to the EC2 console at https://console.aws.amazon.com/ec2/ and select the region for the key pair. A key pair works only in one region, and the instance of Photon OS that will be uploaded later must be in the same region as the key pair. Select `key pairs` under `Network & Security`, and then import the public key pair file that you generated earlier. |
|
31 |
+ |
|
32 |
+ For more information, see [Importing Your Own Key Pair to Amazon EC2](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws). |
|
33 |
+ |
|
34 |
+1. Generate a certificate. |
|
35 |
+ |
|
36 |
+ When you bundle up an image for EC2, Amazon requires an RSA user signing certificate. You create the certificate by using openssl to first generate a private RSA key and then to generate the RSA certificate that references the private RSA key. Amazon uses the pairing of the private key and the user signing certificate for handshake verification. |
|
37 |
+ |
|
38 |
+ 1. On Ubuntu 14.04 or another workstation that includes `openssl`, run the following command to generate a private key. If you change the name of the key, keep in mind that you will need to include the name of the key in the next command, which generates the certificate. |
|
39 |
+ |
|
40 |
+ ``` |
|
41 |
+ openssl genrsa 2048 > myprivatersakey.pem |
|
42 |
+ ``` |
|
43 |
+ |
|
44 |
+ Make a note of your private key as you will need it again later. |
|
45 |
+ |
|
46 |
+ 1. Run the following command to generate the certificate. The command prompts you to provide more information, but because you are generating a user signing certificate, not a server certificate, you can just type `Enter` for each prompt to leave all the fields blank. |
|
47 |
+ |
|
48 |
+ ``` |
|
49 |
+openssl req -new -x509 -nodes -sha256 -days 365 -key myprivatersakey.pem -outform PEM -out certificate.pem |
|
50 |
+``` |
|
51 |
+ |
|
52 |
+ For more information, see the Create a Private Key and the Create the User Signing Certificate sections of [Setting Up the AMI Tools](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html#ami-upload-bundle). |
|
53 |
+ |
|
54 |
+ 1. Upload to AWS the certificate value from the `certificate.pem` file that you created in the previous command. Go to the Identity and Access Management console at https://console.aws.amazon.com/iam/, navigate to the name of your user, open the `Security Credentials` section, click `Manage Signing Certificates`, and then click `Upload Signing Certificate`. Open `certificate.pem` in a text editor, copy and paste the contents of the file into the `Certificate Body` field, and then click `Upload Signing Certificate`. |
|
55 |
+ |
|
56 |
+ For more information, see the Upload the User Signing Certificate section of [Setting Up the AMI Tools](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html#ami-upload-bundle). |
|
57 |
+ |
|
58 |
+1. Create a security group. |
|
59 |
+ |
|
60 |
+ Create a security group and set it to allow SSH, HTTP, and HTTPS connections over ports 22, 80, and 443, respectively. |
|
61 |
+ Connect to the EC2 command-line interface and run the following commands: |
|
62 |
+ |
|
63 |
+ aws ec2 create-security-group --group-name photon-sg --description "My Photon security group" |
|
64 |
+ { |
|
65 |
+ "GroupId": "sg-d027efb4" |
|
66 |
+ } |
|
67 |
+ aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 22 --cidr 0.0.0.0/0 |
|
68 |
+ |
|
69 |
+ Make a note of the `GroupId` that is returned by EC2 as you will need it again later. |
|
70 |
+ |
|
71 |
+ By using `0.0.0.0/0` for SSH ingress on Port 22, you open the port to all IP addresses--which is not a security best practice but a convenience for the examples in this article. For a production instance or other instances that are anything more than temporary machines, you must authorize only a specific IP address or range of addresses. For more information, see [Authorizing Inbound Traffic for Linux Instances](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html). |
|
72 |
+ |
|
73 |
+ Repeat the command to allow incoming traffic on Port 80 and on Port 443: |
|
74 |
+ |
|
75 |
+ aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 80 --cidr 0.0.0.0/0 |
|
76 |
+ |
|
77 |
+ aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 443 --cidr 0.0.0.0/0 |
|
78 |
+ |
|
79 |
+ Check your update: |
|
80 |
+ |
|
81 |
+ aws ec2 describe-security-groups --group-names photon-sg |
|
82 |
+ |
|
83 |
+1. Extract the tarball. |
|
84 |
+ |
|
85 |
+ Make a directory to store the image and then extract the Photon OS image from its archive by running the following `tar` command. If required, change the file name to match the version you have. |
|
86 |
+ |
|
87 |
+ mkdir bundled |
|
88 |
+ tar -zxvf ./photon-ami.tar.gz |
|
89 |
+ |
|
90 |
+1. Bundle the image. |
|
91 |
+ |
|
92 |
+ Run the `ec2-bundle-image` command to create an instance store-backed Linux AMI from the Photon OS image that you extracted in the previous step. The result of the `ec2-bundle-image` command is a manifest that describes the machine in an XML file. |
|
93 |
+ |
|
94 |
+ The command uses the certificate path to your PEM-encoded RSA public key certificate file, the path to your PEM-encoded RSA private key file, your EC2 user account ID; the correct architecture for Photon OS, the path to the Photon OS AMI image extracted from its tar file, and the `bundled` directory from the previous step. |
|
95 |
+ |
|
96 |
+ Replace the values of the certificate path, the private key, and the user account with your own values. |
|
97 |
+ |
|
98 |
+ $ ec2-bundle-image --cert certificate.pem --privatekey myprivatersakey.pem --user <EC2 account id> --arch x86_64 --image photon-ami.raw --destination ./bundled/ |
|
99 |
+ |
|
100 |
+1. Put the bundle in a bucket. |
|
101 |
+ |
|
102 |
+ Make an S3 bucket, replacing `<bucket-name>` with the name that you want. The command creates the bucket in the region specified in your Amazon configuration file, which should be the same region in which you are using your key pair file: |
|
103 |
+ |
|
104 |
+ $ aws s3 mb s3://<bucket-name> |
|
105 |
+ |
|
106 |
+ Upload the bundle to the Amazon S3 cloud. The following command includes the path to the XML file containing the manifest for the Photon OS machine created during the previous step, though you might have to change the file name to match the version you have. The manifest file is typically located in the same directory as the bundle. |
|
107 |
+ |
|
108 |
+ The command also includes the name of the Amazon S3 bucket in which the bundle is to be stored; your AWS access key ID; and your AWS secret access key. |
|
109 |
+ |
|
110 |
+ $ ec2-upload-bundle --manifest ./bundled/photon-ami.manifest.xml --bucket <bucket-name> --access-key <Account Access Key> --secret-key <Account Secret key> |
|
111 |
+ |
|
112 |
+1. Register the Image |
|
113 |
+ |
|
114 |
+ Run the following command to register the image. The command includes a name for the AMI, its architecture, and its virtualization type. The virtualization type for Photon OS is `hvm`. |
|
115 |
+ |
|
116 |
+ $ ec2-register <bucket-name>/photon-ami.manifest.xml --name photon-ami --architecture x86_64 --virtualization-type hvm |
|
117 |
+ |
|
118 |
+ Once the image is registered, you can launch as many new instances as you require. |
|
119 |
+ |
|
120 |
+1. Run an instance of the image with Cloud-Init. |
|
121 |
+ |
|
122 |
+ In the below command, the `user-data-file` option instructs cloud-init to import the cloud-config data in `user-data.txt`. |
|
123 |
+ |
|
124 |
+ Before you run the command, change directories to the directory containing the `mykeypair` file and add the path to the `user-data.txt`. |
|
125 |
+ |
|
126 |
+ $ ec2-run-instances <ami-ID> --instance-type m3.medium -g photon-sg --key mykeypair --user-data-file user-data.txt |
|
127 |
+ |
|
128 |
+ The command also includes the ID of the AMI, which you can obtain by running `ec2-describe-images`. Replace the instance type of `m3.medium` and the name of key pair with your own values to be able to connect to the instance. |
|
129 |
+ |
|
130 |
+ The following are the contents of the `user-data.txt` file that `cloud-init` applies to the machine the first time it boots up in the cloud. |
|
131 |
+ |
|
132 |
+ #cloud-config |
|
133 |
+ hostname: photon-on-01 |
|
134 |
+ groups: |
|
135 |
+ - cloud-admins |
|
136 |
+ - cloud-users |
|
137 |
+ users: |
|
138 |
+ - default |
|
139 |
+ - name: photonadmin |
|
140 |
+ gecos: photon test admin user |
|
141 |
+ primary-group: cloud-admins |
|
142 |
+ groups: cloud-users |
|
143 |
+ lock-passwd: false |
|
144 |
+ passwd: vmware |
|
145 |
+ - name: photonuser |
|
146 |
+ gecos: photon test user |
|
147 |
+ primary-group: cloud-users |
|
148 |
+ groups: users |
|
149 |
+ passwd: vmware |
|
150 |
+ packages: |
|
151 |
+ - vim |
|
152 |
+ |
|
153 |
+1. Get the IP address of your image. |
|
154 |
+ |
|
155 |
+ Run the following command to check on the state of the instance that you launched: |
|
156 |
+ |
|
157 |
+ $ ec2-describe-instances |
|
158 |
+ |
|
159 |
+ Obtain the external IP address of the instance by running the following query: |
|
160 |
+ |
|
161 |
+ $ aws ec2 describe-instances --instance-ids <instance-id> --query 'Reservations[*].Instances[*].PublicIpAddress' --output=text |
|
162 |
+ |
|
163 |
+Optionally, check the cloud-init output log file on EC2 at `/var/log/cloud-init-output.log` to see how EC2 handles the settings in the cloud-init data file. |
|
164 |
+ |
|
165 |
+For more information on using cloud-init user data on EC2, see [Running Commands on Your Linux Instance at Launch](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html). |
|
0 | 166 |
\ No newline at end of file |
1 | 167 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,126 @@ |
0 |
+# Set Up Azure Storage and Uploading the VHD |
|
1 |
+ |
|
2 |
+You can use either the Azure Portal or the Azure CLI to set up your Azure storage space, upload the Photon OS VHD file, and create the Photon OS VM. |
|
3 |
+ |
|
4 |
+## Setting Up Using the Azure Portal |
|
5 |
+ |
|
6 |
+You can use the Azure portal to set up Photon OS 2.0 in the Azure cloud. The following instructions are brief. Refer to the Azure documentation for details. |
|
7 |
+ |
|
8 |
+1. Log in to the Azure portal at [http://portal.azure.com](http://portal.azure.com/). |
|
9 |
+2. Create a resource group. In the toolbar, choose Resource Groups, click **+Add** , fill in the resource group fields, and choose **Create**. |
|
10 |
+3. Create a storage account. In the toolbar, choose Storage Accounts, click **+Add** , fill in the storage account fields (and the resource group you just created), and choose **Create**. |
|
11 |
+4. Select the storage account. |
|
12 |
+5. Scroll down the storage account control bar, click Containers (below BLOB SERVICE), click **+Container** , fill in the container fields, and choose **Create**. |
|
13 |
+6. Select the container you just created. |
|
14 |
+7. Click **Upload** and upload the Photon OS VHD image file to this container. |
|
15 |
+8. Once the VHD file is uploaded, refer to the Azure documentation for instructions on how to create and manage your Photon OS VM. |
|
16 |
+ |
|
17 |
+## Setting Up Using the Azure CLI |
|
18 |
+ |
|
19 |
+You can use the Azure CLI 2.0 to set up Photon OS. |
|
20 |
+ |
|
21 |
+**Note:** Except where overridden with parameter values, these commands create objects with default settings. |
|
22 |
+ |
|
23 |
+1. Create a resource group. |
|
24 |
+ |
|
25 |
+ From the Azure CLI, create a resource group. |
|
26 |
+ ```` |
|
27 |
+ az group create \ |
|
28 |
+ --name <your_resource_group> \ |
|
29 |
+ --location westus |
|
30 |
+ ```` |
|
31 |
+ |
|
32 |
+1. Create a storage account |
|
33 |
+ |
|
34 |
+ Create a storage account associated with this resource group. |
|
35 |
+ ```` |
|
36 |
+ az storage account create \ |
|
37 |
+ --resource-group <your_resource_group> \ |
|
38 |
+ --location westus \ |
|
39 |
+ --name <your_account_name> \ |
|
40 |
+ --kind Storage \ |
|
41 |
+ --sku Standard_LRS |
|
42 |
+ ```` |
|
43 |
+ |
|
44 |
+1. List the Keys for the Storage Account |
|
45 |
+ |
|
46 |
+ Retrieve the keys associated with your newly created storage account. |
|
47 |
+ ```` |
|
48 |
+ az storage account keys list \ |
|
49 |
+ --resource-group <your_resource_group> \ |
|
50 |
+ --account-name <your_account_name> |
|
51 |
+ ```` |
|
52 |
+ |
|
53 |
+1. Create the Storage Container |
|
54 |
+ |
|
55 |
+ Create a storage container associated with your newly created storage account. |
|
56 |
+ |
|
57 |
+ **Note:** The sample create.sh script, described below, does this for you programmatically. |
|
58 |
+ ```` |
|
59 |
+ az storage container create \ |
|
60 |
+ --account-name <your_account_name> \ |
|
61 |
+ --name <your_container_name> |
|
62 |
+ ```` |
|
63 |
+1. Verify Your Setup in the Azure Portal |
|
64 |
+ |
|
65 |
+ 1. Log into the Azure portal using your account credentials. |
|
66 |
+ 2. From the left toolbar, click **Storage Accounts**. You should see your storage accounts. |
|
67 |
+ 3. Select the storage account. |
|
68 |
+ 4. Scroll down the storage account control bar and click **Containers** (below BLOB SERVICE). You should see the container you created. |
|
69 |
+ |
|
70 |
+1. Upload the Photon OS Distribution to Your Storage Container |
|
71 |
+ |
|
72 |
+ The Photon OS distribution for Azure is 16GB. You can download it locally or to a mounted, shared location. |
|
73 |
+ ```` |
|
74 |
+ az storage blob upload \ |
|
75 |
+ --account-name <your_account_name> \ |
|
76 |
+ --account-key <your_account_key> \ |
|
77 |
+ --container-name <your_container_name> \ |
|
78 |
+ --type page \ |
|
79 |
+ --file <vhd_path> \ |
|
80 |
+ --name <vm_name>.vhd |
|
81 |
+ ```` |
|
82 |
+ |
|
83 |
+### Example Setup Script |
|
84 |
+ |
|
85 |
+You can use the following script (create.sh) to upload your VHD file programmatically and create the VM. Before you run it, specify the following settings: |
|
86 |
+ |
|
87 |
+- resource_group name |
|
88 |
+- account_name |
|
89 |
+- account_key (public or private) |
|
90 |
+- container_name |
|
91 |
+- public_key_file |
|
92 |
+- vhd_path and and vm_name of the Photon OS VHD distribution file |
|
93 |
+ |
|
94 |
+The following script returns the complete IP address of the newly created VM. |
|
95 |
+```` |
|
96 |
+#!/bin/bash |
|
97 |
+vhd_path=$1 |
|
98 |
+vm_name=$2 |
|
99 |
+export PATH=$PATH:/root/azure_new/bin/az |
|
100 |
+echo PATH=$PATH |
|
101 |
+resource_group="" |
|
102 |
+account_name="" |
|
103 |
+account_key="" |
|
104 |
+container_name="mydisks" |
|
105 |
+url="https://${account_name}.blob.core.windows.net/${container_name}/${vm_name}.vhd" |
|
106 |
+public_key_file="/root/azure_new/jenkins.pub" |
|
107 |
+echo "########################" |
|
108 |
+echo "# Create container #" |
|
109 |
+echo "########################" |
|
110 |
+/root/azure_new/bin/az storage container create --account-name ${account_name} --name ${container_name} |
|
111 |
+echo "##################" |
|
112 |
+echo "# Upload vhd #" |
|
113 |
+echo "##################" |
|
114 |
+/root/azure_new/bin/az storage blob upload --account-name ${account_name} \ |
|
115 |
+ --account-key ${account_key} \ |
|
116 |
+ --container-name ${container_name} \ |
|
117 |
+ --type page \ |
|
118 |
+ --file ${vhd_path} \ |
|
119 |
+ --name ${vm_name}.vhd |
|
120 |
+echo "##################" |
|
121 |
+echo "# Create vm #" |
|
122 |
+echo "##################" |
|
123 |
+echo "az vm create --resource-group ${resource_group} --location westus --name ${vm_name} --storage-account ${account_name} --os-type linux --admin-username michellew --ssh-key-value ${public_key_file} --image ${url} --use-unmanaged-disk ... ..." |
|
124 |
+/root/azure_new/bin/az vm create --resource-group ${resource_group} --location westus --name ${vm_name} --storage-account ${account_name} --os-type linux --admin-username michellew --ssh-key-value ${public_key_file} --image ${url} --use-unmanaged-disk |
|
125 |
+```` |
0 | 126 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,17 @@ |
0 |
+# Terminate the AMI Instance |
|
1 |
+ |
|
2 |
+Because Amazon charges you while the instance is running, you must shut it down when you have finsihed using it. |
|
3 |
+ |
|
4 |
+1. Get the ID of the AMI so you can terminate it: |
|
5 |
+ |
|
6 |
+ ``` |
|
7 |
+$ ec2-describe-instances |
|
8 |
+``` |
|
9 |
+ |
|
10 |
+1. Terminate the Photon OS instance by running the following command: |
|
11 |
+ |
|
12 |
+ ``` |
|
13 |
+$ ec2-terminate-instances <instance-id> |
|
14 |
+``` |
|
15 |
+ |
|
16 |
+ Replace the placeholder with the ID that the `ec2-describe-images` command returned. If you ran a second instance of Photon OS with the cloud-init file that runs docker, terminate that instance as well. |
|
0 | 17 |
\ No newline at end of file |
1 | 18 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,16 @@ |
0 |
+# Use Cached Sources |
|
1 |
+ |
|
2 |
+To use the cached sources, run the following command: |
|
3 |
+ |
|
4 |
+``` |
|
5 |
+mkdir $HOME/photon-sources |
|
6 |
+sudo make iso PHOTON_SOURCES_PATH=$HOME/photon-sources |
|
7 |
+``` |
|
8 |
+The directory format of `PHOTON_SOURCES_PATH` is as follows: |
|
9 |
+ |
|
10 |
+``` |
|
11 |
+photon-sources/ |
|
12 |
+├──src1.tar.gz |
|
13 |
+├──src2.tar.gz |
|
14 |
+└──... |
|
15 |
+``` |