У нас есть требование настроить несколько экземпляров jenkins на ограниченном количестве хост-машин.
Для этого я настроил Docker Swarm на двух серверах.
На «master»узел, я использую terraform для создания и управления сервисами докера.
Когда я создаю сервисы вручную, контейнер автоматически появляется на рабочем узле.Когда я создаю сервис с 2 репликами, контейнеры создаются на обоих узлах, как и должно быть.
Однако, когда я использую код terraform для создания и управления сервисом, контейнеры никогда не создаются на рабочем узле.Даже когда я настраиваю 2 реплики, обе создаются на главном узле.
Здесь представлен файл main.tf, используемый для создания службы.
resource "docker_service" "jenkins_service" {
name = var.project_name
task_spec {
container_spec {
image = docker_image.jenkins_image.name
mounts {
target = "/var/jenkins_name"
source = docker_volume.jenkins_volume.name
type = "volume"
}
mounts {
source = "/var/run/docker.sock"
target = "/var/run/docker.sock"
type = "bind"
}
}
networks = ["${docker_network.jenkins_network.name}"]
}
endpoint_spec {
ports {
target_port = "8080"
published_port = var.web_interface_port
publish_mode = "ingress"
name = "WEB_INTERFACE"
}
ports {
target_port = "50000"
published_port = var.api_interface_port
publish_mode = "ingress"
name = "API_INTERFACE"
}
}
}
Я не знаю, чтоЯ делаю неправильно здесь.Любая помощь будет высоко ценится
С уважением.