Ini adalah command chake yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
chake - konfigurasi tanpa server dengan chef
PENGANTAR
chake adalah alat yang membantu Anda mengelola banyak host, tanpa perlu koki
server. Konfigurasi dikelola di direktori lokal, yang mungkin seharusnya berada di bawah
kontrol versi dengan git(1) atau sesuatu yang lain. Konfigurasi biasanya digunakan melalui rsync
melalui SSH, dan diterapkan dengan memanggil koki-solo(1) melalui SSH pada setiap host.
MENCIPTAKAN THE GUDANG
$ kocok init
[buat] node.yaml
[ mkdir] node.d/
[buat] config.rb
[ mkdir] konfigurasi/peran
[ mkdir] buku masak/dasar/resep/
[buat] buku masak/dasar/resep/default.rb
[buat] Rakefile
Penjelasan singkat tentang file yang dibuat:
· node.yaml: di mana Anda akan mencantumkan host yang akan Anda kelola, dan resep apa yang harus Anda gunakan
berlaku untuk masing-masing.
· node.d: direktori dengan banyak file dalam format yang sama dengan node.yaml. Semua data
pencocokan *.yaml di dalamnya akan ditambahkan ke daftar node.
· config.rb: berisi konfigurasi chef-solo. Anda dapat memodifikasinya, tetapi biasanya Anda
tidak perlu.
· config/roles: direktori adalah tempat Anda dapat meletakkan definisi peran Anda.
· buku masak: direktori di mana Anda akan menyimpan buku masak Anda. Contoh buku masak berjudul
"dasar" dibuat, tetapi jangan ragu untuk menghapusnya dan menambahkan buku masak yang sebenarnya.
· Rakefile: Hanya berisi baris 'chake' yang dibutuhkan. Anda dapat menambahnya dengan tugas lain
khusus untuk intrastruktur Anda.
Setelah repositori dibuat, Anda dapat memanggil chake atau rake, karena semuanya benar
setara.
MENGELOLA NODA
Tepat setelah Anda membuat repositori, isi node.yaml adalah sebagai berikut:
host1.perusahaansaya.com:
jalankan_daftar:
- resep[dasar]
Anda dapat membuat daftar host Anda dengan rake node:
$ menyapu node
host1.perusahaansaya.com ssh
Untuk menambahkan lebih banyak node, cukup tambahkan ke node.yaml:
host1.perusahaansaya.com:
jalankan_daftar:
- resep[dasar]
host2.perusahaansaya.com:
jalankan_daftar:
- resep[dasar]
Dan chake sekarang tahu tentang simpul baru Anda:
$ menyapu node
host1.perusahaansaya.com ssh
host2.perusahaansaya.com ssh
PERSIAPAN NODA UNTUK BE Dikelola
Node memiliki sedikit persyaratan awal untuk dikelola dengan chake:
· Node harus dapat diakses melalui SSH.
· Pengguna yang Anda hubungkan ke node harus root, atau diizinkan untuk menjalankan sudo (dalam
kasus mana sudo harus diinstal).
A mencatat on kata sandi meminta: setiap kali chake memanggil ssh pada sebuah node, Anda mungkin diminta untuk
ketik kata sandi Anda; setiap kali chake memanggil sudo di node, Anda mungkin perlu mengetik
di kata sandi Anda. Untuk mengelola satu atau dua node, ini mungkin baik-baik saja, tetapi untuk yang lebih besar
jumlah node itu tidak praktis. Untuk menghindari permintaan kata sandi, Anda dapat:
· Konfigurasikan otentikasi berbasis kunci SSH. Ini lebih aman daripada menggunakan kata sandi.
Saat Anda melakukannya, Anda mungkin juga ingin menonaktifkan otentikasi kata sandi
sepenuhnya, dan hanya mengizinkan otentikasi berbasis kunci
· Konfigurasikan akses sudo tanpa kata sandi untuk pengguna yang Anda gunakan untuk terhubung ke node Anda.
MEMERIKSA CONNECTIVITY DAN AWAL HOST SETUP
Untuk memeriksa apakah host dikonfigurasi dengan benar, Anda dapat menggunakan tugas pemeriksaan:
$ menyapu cek
Itu akan menjalankan perintah sudo true di setiap host. Jika itu berlalu tanpa Anda harus
kata sandi, Anda yakin itu
· Anda memiliki akses SSH ke setiap host; dan
· pengguna yang Anda hubungkan memiliki sudo tanpa kata sandi yang diatur dengan benar.
$ menyapu cek
BERLAKU BUKU MASAK
Untuk menerapkan konfigurasi ke semua node, jalankan
$ menyapu konvergen
Untuk menerapkan konfigurasi ke satu node, jalankan
$ menyapu konvergen:$NODE
Untuk menerapkan satu resep di semua node, jalankan
$ menyapu berlaku[myrecipe]
Untuk menerapkan satu resep pada node tertentu, jalankan
$ rake berlaku:$NODE[myrecipe]
Jika Anda tidak menginformasikan resep di baris perintah, Anda akan dimintai resep.
Untuk menjalankan perintah shell di semua node, jalankan
$ rake run[perintah]
Jika perintah yang ingin Anda jalankan berisi spasi, atau karakter lain yang khusus lakukan
shell, Anda harus mengutipnya.
Untuk menjalankan perintah shell pada node tertentu, jalankan
$ rake run:$NODE[perintah]
Jika Anda tidak menginformasikan perintah di baris perintah, Anda akan diminta untuk itu.
Untuk memeriksa tugas yang ada, jalankan
$ menyapu -T
PENULISAN BUKU MASAK
Karena chake sebenarnya adalah pembungkus untuk Chef Solo, Anda harus membaca [dokumentasi chef](
).
Secara khusus, lihat [Dokumentasi Chef Solo](
chef_solo.html>).
THE SIMPUL BOOTTRAPPING PROSES
Ketika chake bekerja pada sebuah node untuk pertama kalinya, ia harus mem-bootstrapnya. bootstrap
proses termasuk melakukan hal berikut:
· menginstal chef dan rsync
· menonaktifkan daemon klien koki
· mengatur nama host
SIMPUL URL
Kunci dalam hash yang direpresentasikan dalam node.yaml adalah URL node. Semua komponen dari
URL tetapi nama host bersifat opsional, jadi hanya mencantumkan nama host adalah bentuk paling sederhana dari
menentukan node Anda. Berikut adalah semua komponen dari URL node:
[backend://][namapengguna@]namahost[:port][/jalur]
· backend: backend yang digunakan untuk terhubung ke host. ssh atau lokal (default: ssh)
· nama pengguna: nama pengguna untuk terhubung (default: nama pengguna di stasiun kerja lokal Anda)
· hostname: nama host untuk terhubung (default: tak satupun)
· port: nomor port untuk terhubung (default: 22)
· /path: tempat menyimpan buku masak di node (default: /var/tmp/chef.$USERNAME)
EXTRA FITUR
# KAIT
Anda dapat menentukan tugas rake yang akan dijalankan sebelum node bootstrap, sebelumnya
mengunggah konten manajemen konfigurasi ke node, dan sebelum konvergen. Untuk melakukan ini,
Anda hanya perlu meningkatkan tugas yang sesuai:
· bootstrap_common: dieksekusi sebelum node bootstrap (bahkan jika node sudah ada
bootstrap)
· upload_common: dieksekusi sebelum mengunggah konten ke node
· konvergen_common: dieksekusi sebelum konvergen (yaitu menjalankan chef)
Contoh:
tugas : bootstrap_common do
sh './scripts/pre-bootstrap-checks'
akhir
# TERENKRIPSI FILE
Semua file yang berakhiran cocok .gpg dan .asc akan didekripsi dengan GnuPG sebelum dikirim ke
simpul. Anda dapat menggunakannya untuk menyimpan kata sandi dan informasi sensitif lainnya (kunci SSL,
dll) dalam repositori bersama dengan sisa konfigurasi.
# REPOSITORY-LOKAL SSH KONFIGURASI
Jika Anda memerlukan parameter konfigurasi SSH khusus, Anda dapat membuat file bernama .ssh_config
(atau nama file apa pun yang Anda miliki di variabel lingkungan $CHAKE_SSH_CONFIG, lihat di bawah
untuk detailnya) di root repositori Anda, dan chake akan menggunakannya saat memanggil ssh.
# masuk IN UNTUK A HOST
Untuk login dengan mudah ke salah satu host Anda, jalankan rake login:$HOSTNAME. Ini akan
secara otomatis menggunakan konfigurasi SSH repositori-lokal seperti di atas sehingga Anda tidak perlu
ketik -F .ssh_config sepanjang waktu.
# RUNNING SEMUA SSH INVOKASI DENGAN BEBERAPA AWALAN COMMAND
Terkadang, Anda juga ingin atau perlu mengawali permintaan SSH Anda dengan beberapa awalan
perintah untuk misalnya terowongan melalui beberapa node keluar pusat. Anda dapat melakukannya dengan
pengaturan $CHAKE_SSH_PREFIX di lingkungan Anda. Contoh:
CHAKE_SSH_PREFIX=tsocks menyapu konvergen
Di atas akan membuat semua pemanggilan SSH ke semua host disebut sebagai tsocks ssh [...]
# KONVERSI LOKAL HOST
Jika Anda ingin mengelola workstation lokal Anda dengan chake, Anda dapat mendeklarasikan node lokal seperti
ini di node.yaml:
lokal://petir:
jalankan_daftar:
- peran[stasiun kerja]
Untuk menerapkan konfigurasi ke host lokal, Anda dapat menggunakan penggaruk konvensional
converse:thunderbolt, atau penggaruk target khusus lokal.
Saat menyatukan semua node, chake akan melewatkan node yang dideklarasikan dengan local://
backend dan yang nama hostnya tidak cocok dengan nama host dalam deklarasi. Sebagai contoh:
lokal://desktop:
jalankan_daftar:
- peran[stasiun kerja]
lokal://laptop:
jalankan_daftar:
- peran[stasiun kerja]
Ketika Anda menjalankan rake berkumpul di desktop, laptop akan dilewati, dan sebaliknya.
LINGKUNGAN VARIABEL
· $CHAKE_SSH_CONFIG: File konfigurasi SSH lokal. Default ke .ssh_config.
· $CHAKE_SSH_PREFIX: Perintah untuk mengawali panggilan SSH (dan rsync over SSH).
· $CHAKE_RSYNC_OPTIONS: opsi tambahan untuk diteruskan ke rsync. Berguna untuk misalnya mengecualikan besar
file dari yang meng-upload ke setiap server.
· $CHAKE_NODES: File yang berisi daftar server yang akan dikelola. Bawaan: node.yaml.
· $CHAKE_NODES_D: Direktori yang berisi server file definisi node yang akan dikelola.
Default: node.d.
· $CHAKE_TMPDIR: Direktori yang digunakan untuk menyimpan file cache sementara. Bawaan: tmp/chake.
· $CHAKE_CHEF_CONFIG: File konfigurasi Chef, relatif terhadap root repositori.
Standar: config.rb.
Gunakan chake online menggunakan layanan onworks.net