Langkah pertama dalam mengautomasikan setiap kitaran hidup operasi aplikasi adalah mengautomasikan penyediaan infrastruktur. Penyediaan adalah proses menjengkelkan konfigurasi, memperuntukkan memori, ruang cakera, dan lain-lain, sebelum benar-benar menggunakannya. Mari lihat bagaimana Penyediaan Ansible menjadikan ini lebih mudah dan pantas.
Sebilangan besar penyebaran berskala besar mengharuskan anda melakukan penyediaan persekitaran yang sama pada pelbagai sistem.Jadi, bagaimana anda melakukannya? Jalankan set perintah yang sama pada seratus sistem secara manual ?? Nahh .. Itu sekolah lama. Ini adalah sesuatu yang baik pada mesin, bukan manusia. Bagaimana jika saya memberitahu anda bahawa proses yang panjang dan membosankan ini dapat dilakukan dengan hanya menjalankan satu buku main Ansible?Itulah yang akan kita bincangkan dalam blog ini - Ansible Provisioning.
Topik yang dibincangkan adalah:
- Apa yang boleh dinafikan
- Apa yang boleh Automible Ansible?
- Keperluan untuk penyediaan Ansible
- Demo: Cara Menyediakan Persekitaran untuk Menyebarkan Laman Web
Sekiranya anda ingin menguasai DevOps, ' kursus harus menjadi pilihan anda.
Apa itu Ansible?
DevOps adalah budaya di mana automasi diberi keutamaan yang sangat tinggi. Bila ada alat untuk mengotomatisasi penyebaran dan proses pengujian, mengapa tidak memiliki alat untuk pengelolaan dan penyediaan konfigurasi. Terdapat sejuta cara untuk menjadi lebih pintar dan menggunakan Ansible adalah salah satunya. Ini adalah salah satu alat yang paling banyak digunakan.
Ansible menggunakan buku main berasaskan YAML yang bahkan dapat difahami oleh seorang pemula. Ia menggunakan seni bina tanpa agen untuk berkomunikasi dengan pelanggannya yang tidak melibatkan alat pihak ketiga untuk dipasang di mesin pelanggan, dan sebaliknya menggunakan sambungan berasaskan SSH. Boleh dikatakan sebagai alat automasi, mari kita cari tahu apa yang boleh automatik.
Apa yang boleh Automible Ansible?
Namakan satu tahap dalam kitaran pengembangan dan Ansible akan menolong anda, baik itu konfigurasi pengurusan, penyediaan, orkestrasi, penyampaian berterusan, keselamatan atau bahkan penggunaan aplikasi. Ansible menyatukan aliran kerja kitaran pembangunan menjadi platform ejen tunggal tanpa automasi.
- Penyediaan: Perlu mewujudkan persekitaran yang sesuai untuk aplikasi / perisian untuk hidup. Ansible menyediakan cara untuk mengotomatisasi persekitaran yang dibuat untuk keberadaan aplikasi.
- Pengurusan Konfigurasi: Lakukan pelbagai tugas konfigurasi, seperti perkhidmatan mula / henti, ubah konfigurasi sistem, peranti atau aplikasi, dll.
- Penerapan Aplikasi: Automatikkan definisi penyebaran dengan Ansible dan uruskan penyebaran menggunakan Menara yang boleh dibaca . Ini menjadikan keseluruhan kitaran aplikasi dari pengeluaran hingga penyebaran efisien dan terkawal.
- Penghantaran berterusan: Membuat dan mengurus saluran penyepaduan / penyampaian berterusan secara berterusan boleh membebankan. Di situlah Ansible masuk dan menjadikan kehidupan pemaju lebih mudah.
- Keselamatan dan pematuhan: Bekerja dengan projek, sentiasa menetapkan batas dan disatukan dengan dasar keselamatan syarikat. Memastikan dasar keselamatan disatukan secara automatik dengan penyebaran dapat menjadikan pematuhan terhadap polisi lebih mudah.
- Orkestrasi: Keseluruhan projek adalah sekumpulan pelbagai contoh yang mempunyai konfigurasi yang berbeza. Ansible menggabungkan dan menguruskan keadaan yang berbeza ini secara keseluruhan.
Keperluan untuk Penyediaan yang Tidak Boleh Dibaca
Seperti yang disebutkan sebelumnya, langkah pertama untukmengautomasikan kitaran hayat operasi aplikasimenyiapkan persekitaran, iaitu penyediaan. Penyebaran besar memerlukan banyak hos yang mempunyai konfigurasi yang sama. Setelah menyediakan satu hos, apakah kemungkinan anda akan mendapat 10 hos berikutnya untuk mempunyai konfigurasi yang sama jika dilakukan secara manual? Berapa banyak masa yang akan anda habiskan untuk melakukan tugas berulang yang sama? Di sinilah Ansible datang ke perkhidmatan kami. Anda boleh menyediakan beratus-ratus hos hanya dengan melaksanakan satu buku permainan. Sihir? Haha! Tidak, hanya evolusi dalam automasi.
Demo: Buat Tumpukan LAMP dan Terapkan Laman Web
Andaikan anda berusaha menyebarkan laman web pada 30 sistem, setiap penyebaran laman web memerlukan OS dasar, pelayan web, Pangkalan Data, dan PHP. Kami menggunakan buku main yang tidak boleh digunakan untuk memasang pra-syarat ini pada semua 30 sistem sekaligus.
Dalam demo penyediaan Ansible ini, saya akan menunjukkan kepada anda cara menyediakan persekitaran hosting laman web menggunakan Ansible. Kami memasang timbunan LAMP (Linux, Apache, MySQL, dan PHP) dan kemudian menyebarkan laman web.
Untuk demo ini, saya telah menggunakan Linux VirtualBox yang mempunyai Ubuntu versi 17.04. Saya telah menggunakan dua mesin maya, satu sebagai pelayan saya di mana Ansible dipasang dan mesin yang lain berfungsi sebagai hos jauh saya. Mari kita mulakan dengan menetapkan Ansible di pelayan.
Saya telah membuat laman web statik sederhana yang disimpan dalam folder indeks yang mempunyai dua fail, index.html, dan style.css.
index.html:
Laman web menggunakan HTML dan CSSRumah Mengenai Keturunan Adopsi Hubungi Mengadopsi Sekarang
gaya.css
* { margin: 0 pembalut: 0 } kepala { latar belakang-gambar: linear-kecerunan (rgba (0,0,0,0.5), rgba (0,0,0,0.5)), url ('puppie.jpg') tinggi: 100vh ukuran latar: penutup latar-kedudukan: tengah } .nav-menu { apungan: betul gaya senarai: tiada margin-top: 30 piksel } .nav-menu li { paparan: blok sebaris } .nav-menu li a { warna: pirus hiasan teks: tiada pembalut: 5px 20px font-keluarga: 'Verdana', 'sans-serif' saiz fon: 20 piksel } .homebtn a { sempadan: 1px kelabu padat latar belakang-warna: putih } .nav-menu li a: arahkan { sempadan: 1px kelabu padat latar belakang-warna: putih } .tagline { kedudukan: mutlak lebar: 1200px margin-kiri: 0 margin atas: 0 } h1 { warna: putih saiz fon: 50 piksel font-keluarga: 'Verdana', 'sans-serif' text-align: tengah margin-top: 275 piksel } .mengguna pakai { margin-top: 30 piksel margin-kiri: 540 piksel } .bttn { sempadan: putih pekat 1px pelapik: 10px 30px warna: kuning font-keluarga: 'Verdana', 'sans-serif' saiz fon: 22 piksel hiasan teks: tiada } .guna pakai: arahkan { latar belakang-warna: burwood }
Langkah 1: Laksanakan perintah berikut untuk mengemas kini repositori, menambahkan repositori yang diperlukan dan mengkonfigurasi PPA pada mesin anda untuk pemasangan Ansible:
$ sudo apt-get kemas kini $ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa: ansible / ansible
Tekan enter untuk menerima penambahan PPA dan akhirnya pasang Ansible setelah mengemas kini repositori.
$ sudo apt-get kemas kini $ sudo apt-get install ansible
Langkah 2: Pergi ke fail pelayan / etc / host anda dan tambahkan nama host dan alamat IP host.
Gambarajah 1 - Tambahkan Host jauh ke / etc / host File - Ansible Provisioning
Langkah 3: Oleh kerana Ansible menggunakan seni bina tanpa agen menggunakan SSH untuk berkomunikasi dengan hosnya, siapkan kunci ssh. Pada asasnya, kami mempunyai satu pelayan dan satu hos. Kami mengawal hos dengan pelayan kami dan oleh itu kami membuat kunci ssh awam di pelayan dan menyalinnya di mesin hos. Jalankan arahan berikut di pelayan:
$ ssh-keygen
Anda akan diminta memasukkan nama faildi mana sayaanda ingin menyimpan kunci anda dan juga meminta anda membuat kata laluan untuk mengakses kunci yang dihasilkan yang menjadi pilihan. Secara lalai, kunci awam disimpan dalam fail .ssh / id_rsa.pub dan kunci peribadi disimpan di .ssh / id_rsa.
Rajah 2 - Buat Kekunci ssh - Penyediaan yang Tidak Boleh Dibaca
Sekarang kunci yang dihasilkan ini perlu ada di host anda. Menyalin kunci ke host boleh dilakukan dengan dua cara, sama ada menyalin secara manual ke host atau menggunakan perintah ssh-copy-id. Dalam kes ini, saya akan menyalinnya menggunakan perintah ssh-copy-id root @ IP_of_host.
$ ssh-copy-id root@192.168.56.104
Catatan- Pastikan anda dapat memasukkan host anda sebelum melaksanakan perintah ini.
Langkah 4: Konfigurasi hos Ansible. Pergi ke / etc / ansible / host file dan tambahkan nama host. Ini akan berbeza mengikut jumlah host dan pelayan yang anda miliki. Anda juga boleh mempunyai lebih daripadasatu pelayandi sini.
Rajah 3 - Tambahkan Host Jauh dalam Fail Inventori - Penyediaan Ansible
Langkah 5: Periksa sama ada tuan rumah anda sudah siap. Jalankan perintah ini, anda akan mendapat output yang serupa.
$ ansible -m ping semua
Rajah 4 - Periksa Status Host Jauh - Penyediaan Ansible
Langkah 6: Sekarang Ansible kami sudah siap, mari kita membuat persekitaran siap menyebarkan laman web. Kami akan menggunakan satu buku main Ansible untuk memasang Apache, MySql, dan PHP. Mari kita lihat.
Catatan: Sekiranya anda seorang pemula, lihatlah ini blog yang menerangkan cara menulis buku main.
--- # Setup LAMP Stack - host: host1 task: - name: Tambahkan ppa repositori menjadi: yes apt_repository: repo = ppa: ondrej / php - name: Pasang lampin lampin menjadi: ya apt: pkg: - apache2 - mysql-server - php7.0 - keadaan php7.0-mysql: cache kemas kini sekarang: ya - nama: mulakan pelayan apache menjadi: perkhidmatan ya: nama: keadaan apache2: mula diaktifkan: ya - nama: mulakan perkhidmatan mysql menjadi: perkhidmatan ya: nama: keadaan mysql: mula diaktifkan: ya - nama: buat fail direktori sasaran: path = / var / www / html state = mode direktori = 0755 - name: deploy index.html menjadi: yes copy: src: / etc / ansible / index / index.html dest: var / www / html / index / index.html
Di sini seperti yang anda lihat, kami mempunyai 6 tugas, setiap tugas melakukan fungsi tertentu.
- Tugas pertama menambahkan repositori yang diperlukan untuk memasang MySQL dan PHP.
- Tugas kedua memasang apache2, MySQL-server, PHP, dan PHP-MySQL.
- Tugas ketiga dan keempat memulakan perkhidmatan Apache dan MySQL.
- Tugas kelima membuat direktori sasaran di mesin host dan
- Akhirnya, tugas keenam melaksanakan file index.html, ia mengambil fail dari mesin pelayan dan menyalinnya ke mesin host.
Laksanakan buku main ini dengan arahan berikut:
$ ansible-playbook lamp.yml -K
Garisan menjadi: ya dalam buku main memberitahu bahawa ia perlu dijalankan sebagai root dan oleh itu ketika anda menjalankan perintah, ia akan meminta kata sandi sudo.
cara menukar jalan java
Rajah 5 - Laksanakan Buku Mainan Ansible - Penyediaan Ansible
Sekarang anda boleh masuk ke mesin host dan periksa sama ada laman web telah dihoskan.
Rajah 6 - Hoskan Laman Web di Localhost - Penyediaan Ansible
Sekarang ini adalah laman web yang akan digunakan di semua host yang berinteraksi dengan pelayan (dalam kes kami, kami hanya mempunyai satu host) tetapi perkara yang sama mungkin berlaku walaupun untuk 100 host jauh.
Ini membawa kita ke akhir blog Ansible Provisioning. Sekiranya artikel ini berguna, periksa ' ditawarkan oleh Edureka. Ini merangkumi semua alat yang menjadikan industri IT lebih pintar.
Ada soalan untuk kami? Sila hantar di dan kami akan menghubungi anda.