npm install coreos-clusterCreate a fully functional CoreOs Cluster on Rackspace Cloud from any node.js application. A command-line version of coreos-cluster is available on npm as coreos-cluster-cli.
#### Quick Example
``javascript
var cluster = require('coreos-cluster');
cluster.createCluster({
numNodes: 10,
type: 'performance',
release: 'beta',
keyname: 'my-ssh-keyname',
credentials: {
username: 'your-user-name',
apiKey: 'some-key-here',
region: 'iad'
}
}, function(err, results) {
// will callback with a functional cluster
});
`
- numNodes - required. Number of nodes. Clusters must have at least 3 nodestype
- - Optional. performance or onMetal servers, defaults to performance vmsrelease
- - Optional. coreos release: stable (default), beta or alphakeyname
- - Optional. Rackspace Cloud Servers SSH keyname. If not provided, will create a new ssh key and include in the resultsflavor
- - Optional. The Rackspace Cloud Servers flavor. Defaults to performance1-1 flavor for performance and onmetal-compute1 for onMetalprivateNetwork
- - Optional. Guid for a rackspace private network. Will configure etcd to use the private network.monitoringToken
- - Optional. Will configure the nodes for Rackspace cloud monitoring.discoveryServiceUrl
- - Optional. Url for an existing cluster's discovery service. Will add numNodes to current cluster instead of create a new cluster.update
- - Optional. Update strategies.group
- - The update group, can be "master", "stable", "alpha", "beta", or a UUID for a custom CoreUpdate group.server
- - Server to get updates from, e.g. https://public.update.core-os.net or https://customer.update.core-os.netrebootStrategy
- - When to reboot after an update. E.g. best-effort, etcd-lock, reboot, off.credentials
- - Required. The credentials for the create cluster callusername
- - Username for your rackspace accountapiKey
- - Api key for your rackspace accountregion
- - Region to create the cluster inuseInternal
- - Optional, use local service net interface if calling from Rackspace Cloud machines
javascript
var cluster = require('coreos-cluster');cluster.createCluster({
numNodes: 10,
type: 'performance',
release: 'beta',
keyname: 'my-ssh-keyname',
discoveryServiceUrl: 'https://discovery.etcd.io/some-guid-here',
privateNetwork: '4c371711-44ae-15ab-86af-45438fb96a15',
monitoringToken: 'your-monitoring-token',
update: {
group: '0a809ab1-c01c-4a6b-8ac8-6b17cb9bae09',
server: 'https://customer.update.core-os.net/v1/update/',
rebootStrategy: 'best-effort'
},
credentials: {
username: 'your-user-name',
apiKey: 'some-key-here',
region: 'iad'
}
}, function(err, results) {
// will callback with a details of the added nodes
});
`$3
`
npm install coreos-cluster
`$3
As coreos-cluster is built on pkgcloud, the next step is to add a provider option that allows you to use different compute providers within pkgcloud`.