Skip to content

Cum să configurezi worker-i Concourse pe diferite IaaS

DodaTech Updated 2025-01-15 1 min read

In this tutorial, you'll learn about Cum să configurezi worker. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.

Worker-ii Concourse execută sarcinile pipeline-urilor și pot fi implementați pe diverse platforme IaaS (Infrastructure as a Service).

Worker pe AWS EC2

concourse worker \
  --work-dir=/opt/concourse/worker \
  --tsa-host=ci.dodatech.com:2222 \
  --tsa-public-key=/etc/concourse/tsa_host_key.pub \
  --tsa-worker-private-key=/etc/concourse/worker_key \
  --baggageclaim-driver=overlay \
  --ephemeral

Configurare Terraform:

resource "aws_instance" "concourse_worker" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.large"
  
  user_data = <<-EOF
    #!/bin/bash
    docker run -d --name concourse-worker \
      --restart=always \
      -v /opt/concourse/worker:/worker \
      concourse/concourse worker \
      --tsa-host=${var.concourse_server}:2222 \
      --tsa-worker-private-key=/etc/concourse/worker_key
  EOF
}

Worker pe Google Cloud

gcloud compute instances create concourse-worker-1 \
  --image-family=ubuntu-2204-lts \
  --image-project=ubuntu-os-cloud \
  --machine-type=n2-standard-4 \
  --metadata=startup-script='#!/bin/bash
    docker run -d --restart=always \
      concourse/concourse worker \
      --tsa-host=ci.dodatech.com:2222 \
      --tsa-worker-private-key=/path/to/worker_key'

Worker pe Azure

az vm create \
  --resource-group dodatech-devops \
  --name concourse-worker-1 \
  --image Ubuntu2204 \
  --size Standard_D4s_v3 \
  --custom-data worker-cloud-init.yaml

Worker on-premises

# Instalează docker
apt-get install -y docker.io

# Pornește worker-ul
sudo concourse worker \
  --work-dir=/data/concourse-worker \
  --tsa-host=10.0.0.1:2222 \
  --baggageclaim-driver=naive \
  --ephemeral

Prevenire

  • Folosește instanțe ephemeral pentru auto-recuperare
  • Montează volume persistente pentru cache-ul worker-ului
  • Configurează tag-uri de instanță pentru identificare ușoară
  • Implementează auto-scaling pe baza cozii de task-uri

Greșeli comune

  1. Worker fără --ephemeral -- datele se acumulează și umplu discul
  2. Driver baggageclaim greșit -- overlay recomandat, naive doar pentru Linux cu kernel vechi
  3. Lipsa cheilor TSA -- worker-ul nu se poate autentifica la server
Câți worker-i am nevoie?

Depinde de volumul de job-uri. Un starting point: 2-4 worker-i per echipă de dezvoltare.

Worker-ii suportă auto-scaling?

Concourse nu are auto-scaling nativ, dar poți implementa cu scripturi care urmăresc coada de job-uri.

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. DodaTech runs Concourse workers across hybrid cloud infrastructure.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro