본문으로 건너뛰기

param-batch-job

Ung약 2 분NomadSampleJobparambatch

param-batch-job

  • parameter를 받아와서 해당 값을 이용하여 다음으로 실행될 job의 값을 다이나믹하게 넣어 만드는 샘플
    • meta_required에 원하는 값을 넣고 template에 env "NOMAD_META_메타명(key)"와 같이 넣어주면 된다.
job "24-paramete" {
  datacenters = ["dc1"]
  type = "batch"

  parameterized {
    payload       = "forbidden"
    meta_required = ["room_num"]
  }

  group "run-main-job" {

    task "run-main-job" {
      driver = "raw_exec"

      config {
        command = "nomad"
        # arguments
        args = ["job", "run", "${NOMAD_TASK_DIR}/room.job" ]
      }
      template {
        data = <<EOH

#####################

job "{{ env "NOMAD_META_room_num" }}" {
    datacenters = ["dc1"]

    group "jboss" {

        network {
            port "http" {
                to = "8080"
            }
        }
        service {
            port = "http"
            provider = "nomad"
            name = "{{ env "NOMAD_META_room_num" }}"
            check {
                type     = "tcp"
                interval = "10s"
                timeout  = "2s"
            }
        }
        task "http" {
            driver = "docker"
            config {
                image = "jboss/wildfly"
                ports = ["http"]
            }
            resources {
                cpu    = 500
                memory = 282
            }
        }
    }
}

EOH
    destination = "local/room.job"
      }
    }
  }
}