mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-09-30 20:46:32 +00:00
Add ability to create clusters
This commit is contained in:
@@ -108,6 +108,9 @@ class Bootnode(object):
|
||||
print(pod.block_number())
|
||||
|
||||
# Cluster
|
||||
def create_cluster(self, chain, network):
|
||||
print(self.gcloud.create_cluster("{}-{}".format(chain, network)))
|
||||
|
||||
def list_clusters(self):
|
||||
table(self.gcloud.list_clusters(), 'name', 'status', 'ip',
|
||||
'node_count', 'version')
|
||||
|
||||
@@ -275,6 +275,57 @@ class Gcloud(object):
|
||||
name = "{0}-{1}-{2}".format(pod.client, pod.network, pod.block_number())
|
||||
return self.snapshot_disk(pod.disk, name, pod_name=pod.name)
|
||||
|
||||
def create_cluster(self, name, zone=None, retry=None, timeout=None):
|
||||
"""
|
||||
Creates a new GKE cluster using NEG.
|
||||
"""
|
||||
# gcloud container clusters create neg-demo-cluster \
|
||||
# --enable-ip-alias \
|
||||
# --create-subnetwork="" \
|
||||
# --network=default \
|
||||
# --zone=us-central1-a
|
||||
if not zone:
|
||||
zone = self.zone
|
||||
|
||||
cluster = {
|
||||
"name": name,
|
||||
# "description": description,
|
||||
"initial_node_count": 1,
|
||||
"node_config": {
|
||||
"machine_type": "n1-standard-2",
|
||||
"disk_size_gb": 100,
|
||||
"disk_type": "pd-ssd",
|
||||
"min_cpu_platform": "Intel Skylake",
|
||||
"oauth_scopes": [
|
||||
"https://www.googleapis.com/auth/compute",
|
||||
"https://www.googleapis.com/auth/devstorage.read_only",
|
||||
],
|
||||
},
|
||||
"logging_service": "logging.googleapis.com",
|
||||
"monitoring_service": "monitoring.googleapis.com",
|
||||
"ip_allocation_policy": {
|
||||
"use_ip_aliases": True,
|
||||
"create_subnetwork": True,
|
||||
},
|
||||
# "node_pool_autoscaling": {
|
||||
# "enabled": True,
|
||||
# "min_node_count: 1,
|
||||
# "max_node_count: 10,
|
||||
# },
|
||||
"addons_config": {
|
||||
"horizontal_pod_autoscaling": {
|
||||
"disabled": False,
|
||||
},
|
||||
"http_load_balancing": {
|
||||
"disabled": False,
|
||||
},
|
||||
"kubernetes_dashboard": {
|
||||
"disabled": False,
|
||||
},
|
||||
},
|
||||
}
|
||||
return self.gke_api.create_cluster(self.project, zone, cluster)
|
||||
|
||||
# Clusters
|
||||
def list_clusters(self, project=None, zone=None, retry=None, timeout=None):
|
||||
"""
|
||||
|
||||
@@ -94,6 +94,11 @@ def parser():
|
||||
get_block_number.set_defaults(command='get_block_number')
|
||||
|
||||
# Clusters
|
||||
create_cluster = subparsers.add_parser('create-cluster', help='Create a new cluster')
|
||||
create_cluster.add_argument('chain', help='Chain used by this cluster')
|
||||
create_cluster.add_argument('network', help='Network used by this cluster')
|
||||
create_cluster.set_defaults(command='create_cluster')
|
||||
|
||||
list_clusters = subparsers.add_parser('clusters', help='List clusters')
|
||||
list_clusters.set_defaults(command='list_clusters')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user