|
|
(73 intermediate revisions by 12 users not shown) |
Line 1: |
Line 1: |
− | = Installing StarlingX with containers: All in One Duplex configuration = | + | {{Warning|header='''Warning - Deprecated'''|body='''This wiki page is out of date and now deprecated. For the current and upcoming versions, see [https://docs.starlingx.io/deploy_install_guides/index.html StarlingX Installation and Deployment guides]'''}} |
| | | |
− | == History == | + | = Documentation Contribution = |
| | | |
− | '''January 24, 2019:''' Initial draft
| + | You might consider contributing to StarlingX documentation if you find a bug or have a suggestions for improvement. |
| + | To get started: |
| | | |
− | == Introduction == | + | * Please use "[https://docs.starlingx.io/contributor/index.html Contribute]" guides. |
| + | * Launch a bug in [https://bugs.launchpad.net/starlingx/+bugs?field.tag=stx.docs StarlingX Launchpad] with the tag ''stx.docs''. |
| | | |
− | These instructions are for an All-in-one duplex system in VirtualBox. Other configurations are in development.
| + | = History = |
| | | |
− | Installing on bare metal is also possible, however the the process would have to be adapted for the specific hardware configuration.
| + | Go to [https://wiki.openstack.org/w/index.php?title=StarlingX/Containers/InstallationOnAIODX&action=history Page > History] link if you want to: |
| | | |
− | '''Note''': These instructions are valid for a load built on '''January 24, 2019''' or later.
| + | * See the old content of this page |
− | | + | * Compare revisions |
− | == Building the Software ==
| |
− | | |
− | Follow the standard build process in the [https://docs.starlingx.io/developer_guide/index.html StarlingX Developer Guide].
| |
− | | |
− | Alternatively a prebuilt iso can be used, all required packages are provided by the [http://mirror.starlingx.cengn.ca/mirror/starlingx/ StarlingX CENGN mirror]
| |
− | | |
− | == Setup the VirtualBox VM ==
| |
− | | |
− | Refer to these instructions on the AIO SX page [[StarlingX/Containers/Installation#Setup_the_VirtualBox_VM| Setup_the_VirtualBox_VM]]
| |
− | | |
− | Remember to setup TWO VMs.
| |
− | | |
− | == VirtualBox Nat Networking ==
| |
− | | |
− | Refer to these instructions on the AIO SX page [[StarlingX/Containers/Installation#VirtualBox_Nat_Networking| VirtualBox_Nat_Networking]]
| |
− | | |
− | == Install StarlingX ==
| |
− | | |
− | Boot the VM from the ISO media. Select the following options for installation:
| |
− | *All-in-one Controller
| |
− | *Graphical Console
| |
− | *Standard Security Profile | |
− | | |
− | Once booted, log into Controller-0 as user wrsroot, with password wrsroot. The first time you log in as wrsroot, you are required to change your password. Enter the current password (wrsroot):
| |
− | | |
− | <pre>
| |
− | Changing password for wrsroot.
| |
− | (current) UNIX Password: wrsroot
| |
− | </pre>
| |
− | | |
− | Enter a new password for the wrsroot account and confirm it.
| |
− | | |
− | == Initial Configuration ==
| |
− | | |
− | Run config_controller
| |
− | | |
− | <code>sudo config_controller --kubernetes</code>
| |
− | | |
− | Use default settings during config_controller, except for the following
| |
− | System mode: '''duplex'''
| |
− | | |
− | If you do not have direct access to the google DNS nameserver(s) 8.8.8.8 , 8.8.4.4 you will need to configure that when prompted.
| |
− | Press Enter to choose the default, or type a new entry.
| |
− | | |
− | If you do not have direct access to the public docker registry (https://hub.docker.com/u/starlingx) and instead use a proxy for internet access, you will need to add proxy information
| |
− | when prompted.
| |
− | | |
− | | |
− | The system configuration should look like this:
| |
− | <pre>
| |
− | System Configuration
| |
− | ====================
| |
− | Enter Q at any prompt to abort...
| |
− | | |
− | System date and time:
| |
− | ---------------------
| |
− | | |
− | The system date and time must be set now. Note that UTC time must be used and
| |
− | that the date and time must be set as accurately as possible, even if NTP/PTP is
| |
− | to be configured later.
| |
− | | |
− | Current system date and time (UTC): 2019-01-24 19:53:50
| |
− | | |
− | Is the current date and time correct? [y/n]: y
| |
− | Current system date and time will be used.
| |
− | | |
− | System timezone:
| |
− | ----------------
| |
− | | |
− | The system timezone must be set now. The timezone must be a valid timezone from
| |
− | /usr/share/zoneinfo (e.g. UTC, Asia/Hong_Kong, etc...)
| |
− | | |
− | Please input the timezone[UTC]:
| |
− | | |
− | System Configuration:
| |
− | ---------------------
| |
− | | |
− | System mode. Available options are:
| |
− | | |
− | 1) duplex-direct - two node redundant configuration. Management and
| |
− | infrastructure networks are directly connected to peer ports
| |
− | 2) duplex - two node redundant configuration.
| |
− | 3) simplex - single node non-redundant configuration.
| |
− | System mode [duplex-direct]: 2
| |
− | Warning: Root Disk /dev/sda size is less than 500 GiB. Please consult the
| |
− | Software Installation Guide for details.
| |
− | | |
− | | |
− | PXEBoot Network:
| |
− | ----------------
| |
− | | |
− | The PXEBoot network is used for initial booting and installation of each node.
| |
− | IP addresses on this network are reachable only within the data center.
| |
− | | |
− | The default configuration combines the PXEBoot network and the management
| |
− | network. If a separate PXEBoot network is used, it will share the management
| |
− | interface, which requires the management network to be placed on a VLAN.
| |
− | | |
− | Configure a separate PXEBoot network [y/N]:
| |
− | | |
− | Management Network:
| |
− | -------------------
| |
− | | |
− | The management network is used for internal communication between platform
| |
− | components. IP addresses on this network are reachable only within the data
| |
− | center.
| |
− | | |
− | A management bond interface provides redundant connections for the management
| |
− | network.
| |
− | | |
− | Management interface link aggregation [y/N]:
| |
− | Management interface [enp0s8]:
| |
− | Management interface MTU [1500]:
| |
− | Management subnet [192.168.204.0/24]:
| |
− | Use entire management subnet [Y/n]:
| |
− | | |
− | IP addresses can be assigned to hosts dynamically or a static IP address can be
| |
− | specified for each host. This choice applies to both the management network and
| |
− | cluster-host network.
| |
− | Warning: Selecting 'N', or static IP address allocation, disables automatic
| |
− | provisioning of new hosts in System Inventory, requiring the user to manually
| |
− | provision using the 'system host-add' command.
| |
− | Dynamic IP address allocation [Y/n]:
| |
− | Management Network Multicast subnet [239.1.1.0/28]:
| |
− | | |
− | Cluster Host Network:
| |
− | -----------------------
| |
− | | |
− | The cluster host network is used for internal communication between Kubernetes
| |
− | clusters. IP addresses on this network are reachable only within the data
| |
− | center.
| |
− | | |
− | If a separate cluster host interface is not configured the management network
| |
− | will be used.
| |
− | | |
− | | |
− | An cluster host bond interface provides redundant connections for the cluster
| |
− | host network.
| |
− | | |
− | Cluster host interface link aggregation [y/N]:
| |
− | Cluster host interface [enp0s8]:
| |
− | Configure an cluster host VLAN [y/N]:
| |
− | Cluster subnet [192.168.206.0/24]:
| |
− | | |
− | External OAM Network:
| |
− | ---------------------
| |
− | | |
− | The external OAM network is used for management of the cloud. It also provides
| |
− | access to the platform APIs. IP addresses on this network are reachable outside
| |
− | the data center.
| |
− | | |
− | An external OAM bond interface provides redundant connections for the OAM
| |
− | network.
| |
− | | |
− | External OAM interface link aggregation [y/N]:
| |
− | External OAM interface [enp0s3]:
| |
− | Configure an external OAM VLAN [y/N]:
| |
− | External OAM interface MTU [1500]:
| |
− | External OAM subnet [10.10.10.0/24]:
| |
− | External OAM gateway address [10.10.10.1]:
| |
− | External OAM floating address [10.10.10.2]:
| |
− | External OAM address for first controller node [10.10.10.3]:
| |
− | External OAM address for second controller node [10.10.10.4]:
| |
− | | |
− | Domain Name System (DNS):
| |
− | -------------------------
| |
− | | |
− | Configuring DNS servers accessible through the external OAM network allows
| |
− | domain names to be mapped to IP addresses.
| |
− | The configuration of at least one DNS server is mandatory. To skip the
| |
− | configuration of one or more nameservers (1 to 3 are allowed), enter C to
| |
− | continue to the next configuration item.
| |
− | | |
− | Nameserver 1 [8.8.8.8]:
| |
− | Nameserver 2 [8.8.4.4]: C
| |
− | | |
− | Cloud Authentication:
| |
− | -------------------------------
| |
− | | |
− | Configure a password for the Cloud admin user The Password must have a minimum
| |
− | length of 7 character, and conform to password complexity rules
| |
− | Create admin user password:
| |
− | Repeat admin user password:
| |
− | | |
− | | |
− | | |
− | The following configuration will be applied:
| |
− | | |
− | System Configuration
| |
− | --------------------
| |
− | Time Zone: UTC
| |
− | System mode: duplex
| |
− | | |
− | PXEBoot Network Configuration
| |
− | -----------------------------
| |
− | Separate PXEBoot network not configured
| |
− | PXEBoot Controller floating hostname: pxecontroller
| |
− | | |
− | Management Network Configuration
| |
− | --------------------------------
| |
− | Management interface name: enp0s8
| |
− | Management interface: enp0s8
| |
− | Management interface MTU: 1500
| |
− | Management subnet: 192.168.204.0/24
| |
− | Controller floating address: 192.168.204.2
| |
− | Controller 0 address: 192.168.204.3
| |
− | Controller 1 address: 192.168.204.4
| |
− | NFS Management Address 1: 192.168.204.5
| |
− | NFS Management Address 2: 192.168.204.6
| |
− | Controller floating hostname: controller
| |
− | Controller hostname prefix: controller-
| |
− | OAM Controller floating hostname: oamcontroller
| |
− | Dynamic IP address allocation is selected
| |
− | Management multicast subnet: 239.1.1.0/28
| |
− | | |
− | Infrastructure Network Configuration
| |
− | ------------------------------------
| |
− | Infrastructure interface not configured
| |
− | | |
− | Kubernetes Cluster Network Configuration
| |
− | ----------------------------------------
| |
− | Cluster pod network subnet: 172.16.0.0/16
| |
− | Cluster service network subnet: 10.96.0.0/12
| |
− | Cluster host interface name: enp0s8
| |
− | Cluster host interface: enp0s8
| |
− | Cluster host interface MTU: 1500
| |
− | Cluster host subnet: 192.168.206.0/24
| |
− | | |
− | External OAM Network Configuration
| |
− | ----------------------------------
| |
− | External OAM interface name: enp0s3
| |
− | External OAM interface: enp0s3
| |
− | External OAM interface MTU: 1500
| |
− | External OAM subnet: 10.10.10.0/24
| |
− | External OAM gateway address: 10.10.10.1
| |
− | External OAM floating address: 10.10.10.2
| |
− | External OAM 0 address: 10.10.10.3
| |
− | External OAM 1 address: 10.10.10.4
| |
− | | |
− | DNS Configuration
| |
− | -----------------
| |
− | Nameserver 1: 8.8.8.8
| |
− | | |
− | Apply the above configuration? [y/n]: y
| |
− | | |
− | Applying configuration (this will take several minutes):
| |
− | | |
− | 01/08: Creating bootstrap configuration ... DONE
| |
− | 02/08: Applying bootstrap manifest ... DONE
| |
− | 03/08: Persisting local configuration ... DONE
| |
− | 04/08: Populating initial system inventory ... DONE
| |
− | 05/08: Creating system configuration ... DONE
| |
− | 06/08: Applying controller manifest ...
| |
− | | |
− | </pre>
| |
− | | |
− | == Provisioning the platform ==
| |
− | | |
− | TO DO
| |
− | | |
− | == Boot the second AIO controller ==
| |
− | | |
− | Boot the second VM (without an ISO media mounted)
| |
− | Hit F12 immediately when the VM starts to select a different boot option - select the "lan" option to force a network boot.
| |
− | | |
− | At the controller-1 console, you will see a message instructing you to configure the personality of the node. Do this from a shell on controller-0 as follows:
| |
− | | |
− | <pre>
| |
− | source /etc/platform/openrc
| |
− | system host-list
| |
− | +----+--------------+-------------+----------------+-------------+--------------+
| |
− | | id | hostname | personality | administrative | operational | availability |
| |
− | +----+--------------+-------------+----------------+-------------+--------------+
| |
− | | 1 | controller-0 | controller | unlocked | enabled | available |
| |
− | | 2 | None | None | locked | disabled | offline |
| |
− | +----+--------------+-------------+----------------+-------------+--------------+
| |
− | [wrsroot@controller-0 ~(keystone_admin)]# system host-update 2 personality=controller
| |
− | </pre>
| |
− | | |
− | The packages will install and the controller will reboot.
| |
− | | |
− | TO DO: add output from host-update step
| |
− | | |
− | == Provisioning the second AIO controller ==
| |
− | | |
− | TO DO
| |
− | | |
− | == Prepare the host for running the containerized services ==
| |
− | | |
− | TO DO
| |
− | | |
− | == Using sysinv to bring up/down the containerized services ==
| |
− | | |
− | Refer to these instructions on the AIO SX page [[StarlingX/Containers/Installation#Using_sysinv_to_bring_up.2Fdown_the_containerized_services| here ]]
| |
− | | |
− | == Verify the cluster endpoints ==
| |
− | | |
− | Refer to these instructions on the AIO SX page [[StarlingX/Containers/Installation#Verify_the_cluster_endpoints| here ]]
| |
− | | |
− | == Provider/tenant networking setup ==
| |
− | | |
− | Refer to these instructions on the AIO SX page [[StarlingX/Containers/Installation#Provider.2Ftenant_networking_setup| here ]]
| |
− | | |
− | == Horizon access ==
| |
− | | |
− | Refer to these instructions on the AIO SX page [[StarlingX/Containers/Installation#Horizon_access| here ]]
| |
− | | |
− | == Known Issues and Troubleshooting ==
| |
− | | |
− | None
| |
You might consider contributing to StarlingX documentation if you find a bug or have a suggestions for improvement.
To get started: