Cloud-init dosyaları her açılıştan önce çalışan ve diğerlerinin yanı sıra dosyaları değiştirebilecek, hizmetleri ayarlayabilecek, kullanıcılar yaratabilecek vb. Temel olarak önyükleme kodlarıdır.
Her tür damlacık türü tüm cloud-init işlevlerini desteklemez, örneğin CoreOS, kendi uygulamalarını kullanır ve çok sınırlı bir geçerli değerler kümesiyle kullanır.
Terraform'da kullanmak için, damlacık oluşturma sırasında cloud-init dosyasını sağlamanız yeterlidir:
main.tf
:
resource "digitalocean_droplet" "web" {
image = "coreos-stable"
name = "web"
region = "lon1"
size = "2gb"
private_networking = true
ssh_keys = ["${digitalocean_ssh_key.dodemo.id}"]
user_data = "${file("web.conf")}"
}
web.conf
:
#cloud-config
coreos:
units:
- name: "etcd2.service"
command: "start"
- name: "fleet.service"
command: "start"
Bu, örneğin, CoreOS'un başlatma sırasında etcd2 ve filosunu çalıştıracağı bir damlacık oluşturacaktır.
CoreOS'ta bazı basit liman işçisi hizmetlerini kurmak için bu yapılandırma seçeneklerini nasıl kullanabileceğimi gösterdiğim bu depoda bazı örnekler bulabilirsiniz.