Contoh 1: Menginstal Paket - AWS OpsWorks

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh 1: Menginstal Paket

penting

AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Support Tim di AWS re:Post atau melalui AWS Dukungan Premium.

Instalasi paket adalah salah satu penggunaan resep yang lebih umum dan bisa sangat sederhana, tergantung pada paketnya. Misalnya, resep berikut menginstal Git pada sistem Linux.

package 'git' do action :install end

Sumber packagedaya menangani instalasi paket. Untuk contoh ini, Anda tidak perlu menentukan atribut apa pun. Nama sumber daya adalah nilai default untuk package_name atribut, yang mengidentifikasi paket. installTindakan mengarahkan penyedia untuk menginstal paket. Anda dapat membuat kode lebih sederhana dengan melewatkaninstall; itu adalah tindakan default package sumber daya. Ketika Anda menjalankan resep, Chef menggunakan penyedia yang sesuai untuk menginstal paket. Pada sistem Ubuntu yang akan Anda gunakan sebagai contoh, penyedia menginstal Git dengan meneleponapt-get.

catatan

Menginstal perangkat lunak pada sistem Windows memerlukan prosedur yang agak berbeda. Untuk informasi selengkapnya, lihat Menginstal Perangkat Lunak Windows.

Untuk menggunakan Test Kitchen untuk menjalankan resep ini di Vagrant, Anda harus terlebih dahulu menyiapkan buku masak dan menginisialisasi dan mengkonfigurasi Test Kitchen. Berikut ini adalah untuk sistem Linux, tetapi prosedurnya pada dasarnya serupa untuk sistem Windows dan Macintosh. Mulailah dengan membuka jendela Terminal; semua contoh dalam Bab ini menggunakan alat baris perintah.

Untuk menyiapkan buku masak
  1. Di direktori home Anda, buat subdirektori bernamaopsworks_cookbooks, yang akan berisi semua buku masak untuk chapter ini. Kemudian buat subdirektori untuk buku masak ini bernama installpkg dan arahkan ke sana.

  2. Diinstallpkg, buat file bernama metadata.rb yang berisi kode berikut.

    name "installpkg" version "0.1.0"

    Untuk mempermudah, contoh dalam Bab ini hanya menentukan nama buku masak dan versi, tetapi metadata.rb dapat berisi berbagai metadata buku masak. Untuk informasi lebih lanjut, lihat Tentang Metadata Buku Masak.

    catatan

    Pastikan untuk membuat metadata.rb sebelum Anda menginisialisasi Test Kitchen; itu menggunakan data untuk membuat file konfigurasi default.

  3. Diinstallpkg, jalankankitchen init, yang menginisialisasi Test Kitchen dan menginstal driver Vagrant default.

  4. kitchen initPerintah membuat file konfigurasi YAMB dalam installpkg nama.kitchen.yml. Buka file dalam editor teks favorit Anda. .kitchen.ymlFile tersebut menyertakan platforms bagian yang menentukan sistem mana yang akan menjalankan resep. Test Kitchen membuat instance dan menjalankan resep yang ditentukan pada setiap platform.

    catatan

    Secara default, Test Kitchen menjalankan resep satu platform pada satu waktu. Jika Anda menambahkan -p argumen ke perintah apa pun yang membuat instance, Test Kitchen akan menjalankan resep di setiap platform, secara paralel.

    Satu platform sudah cukup untuk contoh ini, jadi edit .kitchen.yml untuk menghapus centos-6.4 platform. .kitchen.ymlFile Anda sekarang akan terlihat seperti ini:

    --- driver: name: vagrant provisioner: name: chef_solo platforms: - name: ubuntu-12.04 suites: - name: default run_list: - recipe[installpkg::default] attributes:

    Test Kitchen hanya menjalankan resep-resep yang ada dalam daftar .kitchen.yml run. Anda mengidentifikasi resep dengan menggunakan [cookbook_name::recipe_name] format, di mana recipe_name menghilangkan ekstensi. .rb Awalnya, daftar .kitchen.yml run berisi resep default buku masak,installpkg::default. Itulah resep yang akan Anda terapkan, jadi Anda tidak perlu memodifikasi daftar run.

  5. Buat subdirektori installpkg bernamarecipes.

    Jika buku masak berisi resep—kebanyakan melakukannya—mereka harus ada di subdirektori. recipes

Anda sekarang dapat menambahkan resep ke buku masak dan menggunakan Test Kitchen untuk menjalankannya pada sebuah instance.

Untuk menjalankan resep
  1. Buat file bernama default.rb yang berisi kode contoh instalasi Git dari awal bagian dan simpan ke recipes subdirektori.

  2. Di installpkg direktori, jalankankitchen converge. Perintah ini memulai instance Ubuntu baru di Vagrant, menyalin buku masak Anda ke instance, dan memulai Chef run untuk mengeksekusi resep dalam daftar run. .kitchen.yml

  3. Untuk memverifikasi bahwa resep berhasil, jalankankitchen login, yang membuka koneksi SSH ke instance. Kemudian jalankan git --version untuk memverifikasi bahwa Git berhasil diinstal. Untuk kembali ke workstation Anda, jalankanexit.

  4. Setelah selesai, jalankan kitchen destroy untuk mematikan instance. Contoh selanjutnya menggunakan buku masak yang berbeda.

Contoh ini adalah cara yang baik untuk memulai, tetapi sangat sederhana. Paket lain bisa lebih rumit untuk diinstal; Anda mungkin perlu melakukan salah satu atau semua hal berikut:

  • Buat dan konfigurasikan pengguna.

  • Buat satu atau lebih direktori untuk data, log, dan sebagainya.

  • Instal satu atau lebih file konfigurasi.

  • Tentukan nama paket atau nilai atribut yang berbeda untuk sistem operasi yang berbeda.

  • Mulai layanan dan kemudian restart sesuai kebutuhan.

Contoh berikut menjelaskan cara mengatasi masalah ini, bersama dengan beberapa operasi berguna lainnya.