Ein kleines Highlight in dieser Woche: Vor zwei Wochen hatte ich bei Jorge Marey - dem Entwickler des Nomad nova autoscaler plugins - nachgefragt, ob es nicht möglich wäre, optional neuen - vom Autoscaler erzeugten - Instanzen gleich eine Floating IP-Adresse zuzuweisen.
Er wollte sich die Sache ansehen und hat sich gestern zurückgemeldet. Nach kurzem Austausch hat der die Funktion dann eingebaut.
In meiner Testumgebung für den Autoscaler habe ich einfach die neue Option floatingip_pool_name
hinzugefügt:
scaling "worker_pool_policy" {
enabled = true
min = 2
max = 5
policy {
cooldown = "2m"
evaluation_interval = "1m"
check "cpu_allocated_percentage" {
source = "nomad-apm"
query = "percentage-allocated_cpu"
strategy "target-value" {
target = 40
}
}
check "mem_allocated_percentage" {
source = "nomad-apm"
query = "percentage-allocated_memory"
strategy "target-value" {
target = 20
}
}
target "os-nova" {
dry-run = false
# evenly_split_azs = true
stop_first = true
image_id = "efb0d9ac-2d17-4e5c-8ee6-5b2ec7af9c9d"
flavor_name = "2C-2GB-20GB"
pool_name = "nom-pool"
name_prefix = "nom-"
network_id = "9e7bd5ca-eba3-49b6-a522-9d2ea6cc52a5"
# user_data_template = "user-data.gotxt"
security_groups = "default"
floatingip_pool_name = "ext01"
availability_zones = "az1"
tags = "nom-pool,ubuntu-minimal"
node_class = "nom-pool"
node_drain_deadline = "1h"
node_drain_ignore_system_jobs = false
node_purge = true
node_selector_strategy = "least_busy"
}
}
}
So sieht das dann im Log aus (genau wie vorher):
2024-06-27T12:42:11.166Z [INFO] policy_eval.worker: scaling target: id=bcad7594-51f0-93dd-4d52-a465980e464f policy_id=3f30b57b-7267-0206-739a-f7cf75173d60 queue=cluster target=os-nova from=1 to=2 reason="scaling up because current count 1 is lower than policy min value of 2" meta=map[]
2024-06-27T12:42:23.706Z [INFO] external_plugin.os-nova: successfully performed and verified scaling out: action=scale_out desired_count=1 pool_name=nom-pool timestamp=2024-06-27T12:42:23.705Z
Neu erzeugte Instanzen bekommen jetzt automatisch eine Floating IP-Adresse zugewiesen.