7.10. fabric:container-create-cloud
Abstract
Synopsis
fabric:container-create-cloud
[
--help
] [
--name contextName
] [
--provider cloudProvider
] [
--api cloudAPI
] [
--identity cloudIdentity
] [
--credential loginCredential
] [
--imageId imageID
] [
--os-family osFamily
] [
--os-version osVersion
] [
--hardwareId hardwareID
] [
--instanceType instanceType
] [
--locationId location
] [
--user userAcc
] [
--password userPass
] [
--public-key-file file
] [
--owner owner
] [
--group group
] [
--proxy-uri URI
] [
--ensemble-server
] [
--new-user jaasUser
] [
--new-user-password jaasUserPass
] [
--new-user-role jaasUserRole
] [
-b, --bind-address bindAddress
] [
--datastore-type storeType
] [
--datastore-option storeOption
] [
--zookeeper-password zooPass
] [
--resolver policy
] [
-m, --manual-ip IPAddr
] [
--env key=value
] [
--min-port minPort
] [
--max-port maxPort
] [
--profile profileID
] [
--version version
] [
--jvm-opts jvmOpts
] [
--add-option key=value
] [
--no-admin-access
] [
--path installPath
] {
Name
} [
Number
]
Description
fabric-jclouds
feature. To install the fabric-jclouds
feature, enter the following console command:
features:install fabric-jclouds
fabric:container-create-cloud
command provisions the container as follows:
- Creates a new node on the cloud provider. The node is created using a JClouds compute service: either by lookup in the service registry (using the provider ID as a property) or by instantiating a new node, by specifying the identity and credential of the provider.
- Connects to the created node, using the authentication metadata returned upon the node creation (this is usually a username and private key, where the username can be overridden by the
--user
option). After it connects to the node, it executes a script, which downloads the fabric distribution from the Maven proxy and untars the distribution.By default, the script uses the oldest Maven proxy server in the current ensemble (every ensemble server has a Maven proxy server deployed in it). You can optionally override the default Maven proxy by specifying the--proxy-uri
option. The script would then use the specified Maven proxy server to download the container runtime.NoteThe ability to override the Maven proxy is important in certain cases (for example, in a cloud deployment) where the remote host might not be able to access the default Maven proxy server. - Starts up the newly installed container (or containers) and installs the specified fabric profile (or profiles).
- When creating multiple containers using this command (by adding the
Number
argument), multiple nodes will be created and a root container will be installed on each node.
fabric:container-create-cloud
command with the --ensemble-server
flag, which makes the newly created container (or containers) an ensemble server, with its own fabric registry agent. The newly created ensemble server on the cloud does not join the current ensemble: it belongs to an independent ensemble (a new fabric).
Arguments
Argument | Interpretation |
---|---|
--help | Displays the online help for this command |
--name | (Required) JClouds service context name. |
--provider | JClouds provider name. |
--api | The cloud API name. |
--identity | The identity used to access the cloud service. |
--credential | The credential used to access the cloud service. |
--imageId | The image ID to use for the new node(s). Alternatively, the image can be specified indirectly using the --os-family and --os-version options. Defaults to an instance of the latest version of Ubuntu. |
--os-family | Specify the image by requesting a particular kind of operating system—for example, ubuntu or redhat . To see which O/S families are available, type Tab while entering this option. Defaults to ubuntu . |
--os-version | Specifies the version of the O/S family. The version number need not be exact (it will be rounded up to the latest available patch version). Defaults to the latest version available. |
--hardwareId | Kind of hardware to use. |
--instanceType | Type of instance required. |
--locationId | The location used to create the new node(s). |
--user | Specifies the O/S user account to run on the new nodes. If the user account does not already exist on the new nodes, it will automatically be created. Defaults to the username that matches the current user. |
--password | Specifies the password associated with the O/S user account defined by the --user option. |
--public-key-file | An option to specify a public key file to copy to the created node. Copying a public key file to a node can be used for SSH access using public key authentication. If no key file is specified, Fabric attempts to auto-detect the user's public key and, if found, this key will be used by default. |
--owner | Optional owner of images; only really used for EC2, and will be deprecated in future. |
--group | Group tag to use on the new node(s). Defaults to fabric . |
--proxy-uri | URL of the Maven proxy server used to download the container runtime. |
--ensemble-server | Whether the new container should be a Fabric Server (effectively creates a new fabric). |
--new-user |
Used in combination with the
--ensemble-server option to ensure that at least one user exists in the JAAS realm of the Zookeeper login module for the new fabric (otherwise it would be impossible to connect to the newly created Fabric Server).
When using this option, you must also specify a password using the
--new-user-password option.
|
--new-user-password | Used in combination with the --new-user option and the --ensemble-server option to specify the new user's password. No default value. |
--new-user-role | Used in combination with the --new-user option and the --ensemble-server to specify the new user's role. Default is admin . |
-b, --bind-address | Specifies the default bind address. |
--datastore-type | Specifies the datastore type. |
--datastore-option | Options to pass to the container's datastore. To specify multiple options, use this flag multiple times. |
--zookeeper-password |
Used in combination with the
--ensemble-server option. Specifies the Zookeeper password, which is used to access the Zookeeper nodes under the /fabric/ path. Defaults to the password of the current session user.
If you subsequently try to join the current container to the newly-created Fabric Server (ensemble server) using the
fabric:join command, you will be prompted to enter the Zookeeper password.
|
--resolver | Specifies how the container will report its address to other containers. Valid values are localip , localhostname , publicip , publichostname , manualip . For more information see Section 7.20, “fabric:container-resolver-set”. |
-m, --manual-ip | The IP address to use, when using the manualip resolver. Used in combination with the --resolver option. |
--env | Sets an environment variable. To specify multiple environment variables, use this flag multiple times. |
--min-port | Specifies the minimum port number of the allowed IP port range. Default is 0 . |
--max-port | Specifies the maximum port number of the allowed IP port range. Default is 65535 . |
--profile | A list of profile IDs to associate with the new container. |
--version | Specifies the version of the new container (the version must be created in advance using fabric:version-create ). Defaults to the current default version (use version-list to find the current default). |
--jvm-opts | Specify options to pass to the container's JVM. |
--add-option | Specifies generic JCloud properties or provider-specify properties. For example, when using Amazon with Amazon VPC to create a container inside a VPN, you can specify --option subnetId=yoursubnetId to define the VPC subnet where you want the node to be created. If you want to specify more than one option, specify this option multiple times. |
--no-admin-access | Disables admin access, as it might not be feasible on all images. |
--path | Path on the remote filesystem where the container is to be installed. |
Name | (Required) The name of the container to create. When creating multiple containers, it serves as a prefix. |
Number | The number of containers that should be created. |