Cara menginstal OpenfaaS pada Ubuntu 16.04 - MastahTeknik

Breaking

Sabtu, 20 Oktober 2018

Cara menginstal OpenfaaS pada Ubuntu 16.04

Arsitektur serverless menyembunyikan instance server dari pengembang dan biasanya memaparkan API yang memungkinkan pengembang untuk menjalankan aplikasi mereka di cloud. Pendekatan ini membantu pengembang menyebarkan aplikasi dengan cepat, karena mereka dapat meninggalkan penyediaan dan mempertahankan instance ke tim DevOps yang sesuai. Ini juga mengurangi biaya infrastruktur, karena dengan perkakas yang tepat Anda dapat menskalakan instance Anda per permintaan. Aplikasi yang berjalan di platform tanpa server disebut fungsi tanpa server . Fungsi adalah kemas, kode yang dapat dieksekusi yang digunakan untuk melakukan operasi tertentu. Aplikasi pemaketan memastikan bahwa Anda dapat mereproduksi lingkungan yang konsisten pada banyak mesin, memungkinkan pembaruan dan penskalaan.

OpenFaaS adalah framework gratis dan open-source untuk membangun dan menjalankan fungsi serverless. Dengan dukungan resmi untuk kedua Docker Swarm dan Kubernetes, Anda dapat menerapkan aplikasi menggunakan API yang kuat, antarmuka baris perintah, atau UI Web. Muncul dengan metrik built-in yang disediakan oleh Prometheus dan mendukung penskalaan otomatis sesuai permintaan, serta penskalaan dari nol. Dalam tutorial ini, Anda akan mengatur dan menggunakan OpenFaaS dengan Docker Swarm berjalan di Ubuntu 16.04, dan mengamankan UI Web dan API dengan mengatur Traefik dengan Let's Encypt. Ini memastikan komunikasi yang aman antara node di dalam cluster, serta antara OpenFaaS dan operatornya.


Langkah 1 - Mengunduh OpenFaaS dan Menginstal OpenFaaS CLI

Untuk menerapkan OpenFaaS ke Docker Swarm Anda, Anda harus mengunduh manifes penyebaran dan skrip. Cara termudah untuk mendapatkannya adalah dengan menggandakan repositori resmi OpenFaas dan memeriksa tag yang sesuai, yang mewakili rilis OpenFaaS.
Untuk tutorial ini, Anda akan menggunakan OpenFaaS v 0.8.9 . Meskipun langkah-langkah untuk menerapkan versi lain harus serupa, pastikan untuk memeriksa perubahan aturan proyek untuk memastikan tidak ada perubahan yang terjadi.
Pertama, arahkan ke direktori home Anda dan jalankan perintah berikut untuk mengkloning repositori ke direktori ~/faas :
Arahkan ke direktori ~/faas baru dibuat:
Ketika Anda mengkloning repositori, Anda akan mendapatkan file dari cabang master yang berisi perubahan terbaru. Karena perubahan melanggar bisa masuk ke cabang master, itu tidak disarankan untuk digunakan dalam produksi. Sebagai gantinya, mari kita periksa tag 0.8.9 :
Output berisi pesan tentang checkout yang berhasil dan peringatan tentang melakukan perubahan ke cabang ini:
Jika Anda melihat kesalahan apa pun, pastikan untuk menyelesaikannya dengan mengikuti petunjuk di layar sebelum melanjutkan.
Dengan repositori OpenFaaS yang diunduh, lengkap dengan file manifes yang diperlukan, mari kita lanjutkan untuk menginstal CLI FaaS.
Cara termudah untuk menginstal FaaS CLI adalah dengan menggunakan skrip resmi. Di terminal Anda, arahkan ke direktori home Anda dan unduh skrip menggunakan perintah berikut:
Ini akan mengunduh skrip faas-cli.sh ke direktori home Anda. Sebelum mengeksekusi skrip, ada baiknya untuk memeriksa isinya:
Anda dapat keluar dari pratinjau dengan menekan q . Setelah Anda memverifikasi konten skrip, Anda dapat melanjutkan dengan pemasangan dengan memberikan izin yang dapat dijalankan ke skrip dan menjalankannya. Jalankan skrip sebagai root sehingga secara otomatis akan menyalin ke PATH Anda:
Output berisi informasi tentang kemajuan instalasi dan versi CLI yang telah Anda instal:
Jika Anda melihat kesalahan, pastikan untuk menyelesaikannya dengan mengikuti petunjuk di layar sebelum melanjutkan dengan tutorial.
Pada titik ini, Anda telah menginstal CLI FaaS. Untuk mempelajari lebih lanjut tentang perintah yang dapat Anda gunakan, jalankan CLI tanpa argumen:
Output menunjukkan perintah dan bendera yang tersedia:
Anda sekarang telah berhasil memperoleh manifes OpenFaaS dan menginstal FaaS CLI, yang dapat Anda gunakan untuk mengelola instance OpenFaaS dari terminal Anda.
Direktori ~/faas berisi file dari rilis 0.8.9 , yang berarti Anda sekarang dapat menggunakan OpenFaaS ke Docker Swarm Anda. Sebelum melakukannya, mari kita memodifikasi file manifest penyebaran untuk memasukkan Traefik, yang akan mengamankan pengaturan OpenFaaS Anda dengan mengatur Let's Encrypt.

Langkah 2 - Mengkonfigurasi Traefik
Traefik adalah proksi balik sadar Docker-sadar yang datang dengan dukungan SSL yang disediakan oleh Let's Encrypt. Protokol SSL memastikan bahwa Anda berkomunikasi dengan cluster Swarm secara aman dengan mengenkripsi data yang Anda kirim dan terima di antara node.
Untuk menggunakan Traefik dengan OpenFaaS, Anda perlu memodifikasi manifestasi penerapan OpenFaaS untuk menyertakan Traefik dan memberi tahu OpenFaaS untuk menggunakan Traefik daripada langsung membuka layanannya ke internet.
Navigasi kembali ke direktori ~/faas dan buka manifes penyebaran OpenFaaS di editor teks:
Catatan : Docker Tulis file manifes menggunakan format YAML yang secara ketat melarang tab dan membutuhkan dua spasi untuk indentasi
manifes tidak akan berfungsi jika file salah di format.

Penyebaran OpenFaaS terdiri dari beberapa layanan, yang didefinisikan di bawah arahan services, yang menyediakan dependensi yang dibutuhkan untuk menjalankan OpenFaaS, OpenFaaS API dan Web UI, dan Prometheus dan AlertManager (untuk menangani metrik).
Di bagian awal services , tambahkan layanan baru bernama traefik , yang menggunakan traefik:v1.6 gambar untuk penyebaran:
Gambar Traefik berasal dari repositori trafik docker hub, di mana Anda dapat menemukan daftar semua gambar yang tersedia.
Selanjutnya, mari instruksikan Docker untuk menjalankan Traefik menggunakan command perintah. Ini akan menjalankan Traefik, mengkonfigurasinya untuk bekerja dengan Docker Swarm, dan menyediakan SSL menggunakan Let's Encrypt. Bendera berikut akan mengkonfigurasi Traefik:
  • --docker.* : Bendera ini memberitahu Traefik untuk menggunakan Docker dan menentukan bahwa itu berjalan di cluster Docker Swarm.
  • --web=true : Bendera ini memungkinkan Web UI Traefik.
  • --defaultEntryPoints dan --entryPoints : Flag-flag ini mendefinisikan entry point dan protokol yang digunakan. Dalam kasus kami ini termasuk HTTP pada port 80 dan HTTPS pada port 443 .
  • --acme.* : Bendera ini memberi tahu Traefik agar menggunakan ACME untuk membuat sertifikat Let's Encrypt untuk mengamankan cluster OpenFaaS Anda dengan SSL.
Pastikan untuk mengganti placeholder domain example.com di --acme.domains dan --acme.email dengan domain yang akan Anda gunakan untuk mengakses OpenFaaS. Anda dapat menentukan beberapa domain dengan memisahkannya dengan koma dan spasi. Alamat email untuk pemberitahuan dan pemberitahuan SSL, termasuk peringatan kedaluwarsa sertifikat. Dalam hal ini, Traefik akan menangani pembaruan sertifikat secara otomatis, sehingga Anda dapat mengabaikan peringatan kedaluwarsa.
Tambahkan blok kode berikut di bawah petunjuk image , dan di atas gateway :
Dengan command perintah di tempat, mari kita ceritakan pada Traefik port apa yang akan diekspos ke internet. Traefik menggunakan port 8080 untuk operasinya, sementara OpenFaaS akan menggunakan port 80 untuk komunikasi tidak aman dan port 443 untuk komunikasi yang aman.
Tambahkan perintah berikut di bawah arahan command . port-internet : port-docker notasi port-internet : port-docker memastikan bahwa port di sisi kiri diekspos oleh Traefik ke internet dan memetakan ke port kontainer di sisi kanan:
Selanjutnya, dengan menggunakan direktif volumes , pasang file socket Docker dari host yang menjalankan Docker ke Traefik. File soket Docker berkomunikasi dengan API Docker untuk mengelola penampung Anda dan mendapatkan detail tentangnya, seperti jumlah kontainer dan alamat IP mereka. Anda juga akan memasang volume yang disebut acme , yang akan kita definisikan nanti dalam langkah ini.
Arahan networks menginstruksikan Traefik untuk menggunakan jaringan functions , yang digunakan bersama dengan OpenFaaS. Jaringan ini memastikan bahwa fungsi dapat berkomunikasi dengan bagian lain dari sistem, termasuk API.
Arahan deploy menginstruksikan Docker untuk menjalankan Traefik hanya pada node manajer Docker Swarm.
Tambahkan arahan berikut di bawah direktif ports :
Pada titik ini, blok layanan traefik akan terlihat seperti ini:
Sementara konfigurasi ini memastikan bahwa Traefik akan digunakan dengan OpenFaaS, Anda juga perlu mengkonfigurasi OpenFaaS untuk bekerja dengan Traefik. Secara default, layanan gateway dikonfigurasi untuk berjalan pada port 8080 , yang tumpang tindih dengan Traefik.
Layanan gateway menyediakan gateway API yang dapat Anda gunakan untuk menyebarkan, menjalankan, dan mengelola fungsi Anda. Ini menangani metrik (melalui Prometheus) dan penskalaan otomatis, dan menghosting UI Web.
Tujuan kami adalah untuk mengekspos layanan gateway menggunakan Traefik daripada mengeksposnya langsung ke internet.
Cari layanan gateway , yang seharusnya terlihat seperti ini:
Hapus petunjuk ports dari layanan untuk menghindari memaparkan layanan gateway secara langsung.
Selanjutnya, tambahkan petunjuk lables berikut ke bagian deploy dari layanan gateway . Arahan ini mengekspos /ui , /system , dan /function titik akhir pada port 8080 melalui Traefik:
Endpoint /ui mengekspos OpenFaaS Web UI, yang tercakup dalam langkah 6 dari tutorial ini. Endpoint /system adalah titik akhir API yang digunakan untuk mengelola OpenFaaS, sedangkan endpoint /function mengekspos titik akhir API untuk mengelola dan menjalankan fungsi. Langkah 5 dari tutorial ini mencakup API OpenFaaS secara detail.
Setelah modifikasi, layanan gateway Anda akan terlihat seperti ini:
Terakhir, mari kita tentukan volume acme digunakan untuk menyimpan sertifikat Let's Encrypt. Kami dapat menentukan volume kosong, artinya data tidak akan bertahan jika Anda menghancurkan penampung. Jika Anda menghancurkan kontainer, sertifikat akan diregenerasi saat Anda memulai Traefik berikutnya.
Tambahkan arahan volumes berikut pada baris terakhir file:

Setelah selesai, simpan file dan tutup editor teks Anda. Pada titik ini, Anda telah mengkonfigurasi Traefik untuk melindungi penyebaran OpenFaaS Anda dan Docker Swarm. Sekarang Anda siap untuk menerapkannya bersama dengan OpenFaaS di cluster Swarm Anda.

Langkah 3 - Menyebarkan OpenFaaS
Sekarang setelah Anda menyiapkan manifestasi penerapan OpenFaaS, Anda siap untuk menerapkannya dan mulai menggunakan OpenFaaS. Untuk menerapkan, Anda akan menggunakan skrip deploy_stack.sh . Skrip ini dimaksudkan untuk digunakan pada sistem operasi Linux dan macOS, tetapi di direktori OpenFaaS Anda juga dapat menemukan skrip yang sesuai untuk sistem windows dan ARM.

Sebelum menggunakan OpenFaaS, Anda perlu menginstruksikan docker-machine untuk menjalankan perintah Docker dari skrip pada salah satu mesin di Swarm. Untuk tutorial ini, mari gunakan manager swarm.
Jika Anda memiliki perintah docker-machine use dikonfigurasi, Anda dapat menggunakannya:
Jika tidak, gunakan perintah berikut:
Skrip deploy_stack.sh menyebarkan semua sumber daya yang diperlukan untuk OpenFaaS agar berfungsi seperti yang diharapkan, termasuk file konfigurasi, pengaturan jaringan, layanan, dan kredensial untuk otorisasi dengan server OpenFaaS.
Mari jalankan skrip, yang akan memakan waktu beberapa menit untuk menyelesaikan penerapan:
Output menunjukkan daftar sumber daya yang dibuat dalam proses penyebaran, serta kredensial yang akan Anda gunakan untuk mengakses server OpenFaaS dan perintah FaaS CLI.
Tulis kredensial ini, karena Anda akan membutuhkannya sepanjang tutorial untuk mengakses UI Web dan API:
Jika Anda melihat kesalahan apa pun, ikuti petunjuk di layar untuk mengatasinya sebelum melanjutkan tutorial.
Sebelum melanjutkan, mari mengautentikasi CLI FaaS dengan server OpenFaaS menggunakan perintah yang disediakan oleh skrip penerapan.
Skrip mengeluarkan bendera yang perlu Anda berikan kepada perintah, tetapi Anda perlu menambahkan bendera tambahan, --gateway , dengan alamat server OpenFaaS Anda, karena CLI FaaS mengasumsikan server gateway berjalan di localhost :
Output berisi pesan tentang otorisasi yang sukses:
Pada titik ini, Anda memiliki server OpenFaaS yang berfungsi penuh yang ditempatkan di cluster Docker Swarm Anda, serta FaaS CLI yang dikonfigurasi untuk menggunakan server yang baru Anda terapkan. Sebelum menguji cara menggunakan OpenFaaS, mari gunakan beberapa fungsi sampel untuk memulai.

Langkah 4 - Menyebarkan Fungsi Sampel OpenFaaS
Awalnya, OpenFaaS hadir tanpa fungsi yang digunakan. Untuk memulai pengujian dan menggunakannya, Anda memerlukan beberapa fungsi.
Proyek OpenFaaS menjadi tuan rumah beberapa fungsi sampel, dan Anda dapat menemukan daftar fungsi yang tersedia bersama dengan manifes penyebarannya di repositori OpenFaaS. Beberapa fungsi contoh termasuk nodeinfo , untuk menampilkan informasi tentang node di mana fungsi sedang berjalan, penghitungan wordcount , untuk menghitung jumlah kata dalam permintaan yang diteruskan, dan markdown , untuk mengonversi masukan markdown yang diteruskan ke keluaran HTML.
Manifestasi stack.yml di direktori ~/faas menyebarkan beberapa fungsi sampel bersama dengan fungsi-fungsi yang disebutkan di atas. Anda dapat menerapkannya menggunakan CLI FaaS.
Jalankan perintah faas-cli berikut, yang mengambil jalur ke manifes tumpukan dan alamat server OpenFaaS Anda:
Output berisi kode status dan pesan yang mengindikasikan berhasil atau tidaknya penempatan:
Jika Anda melihat kesalahan apa pun, pastikan untuk menyelesaikannya dengan mengikuti petunjuk di layar.
Setelah penyebaran tumpukan selesai, buat daftar semua fungsi untuk memastikan penyebarannya dan siap digunakan:
Output berisi daftar fungsi, bersama dengan nomor replika dan jumlah panggilan:
Jika Anda tidak melihat fungsi Anda di sini, pastikan perintah faas-cli deploy berhasil dijalankan.
Anda sekarang dapat menggunakan contoh fungsi OpenFaaS untuk menguji dan menunjukkan cara menggunakan API, UI Web, dan CLI. Pada langkah berikutnya, Anda akan mulai dengan menggunakan API OpenFaaS untuk daftar dan menjalankan fungsi.

Langkah 5 - Menggunakan API OpenFaaS
OpenFaaS dilengkapi dengan API yang kuat yang dapat Anda gunakan untuk mengelola dan menjalankan fungsi serverless Anda. Mari kita gunakan Swagger, alat untuk membuat, menguji, dan mendokumentasikan API, untuk menelusuri dokumentasi API, dan kemudian menggunakan API untuk daftar dan menjalankan fungsi.
Dengan kesombongan, Anda dapat memeriksa dokumentasi API untuk mencari tahu apa endpoint yang tersedia dan bagaimana Anda dapat menggunakannya. Di repositori OpenFaaS, Anda dapat menemukan spesifikasi swagger API, yang dapat digunakan dengan editor Swagger untuk mengubah spesifikasi menjadi bentuk yang dapat dibaca manusia.
Navigasikan browser web Anda ke http://editor.swagger.io/ . Anda harus disambut dengan layar berikut:
Di sini Anda akan menemukan editor teks yang berisi kode sumber untuk contoh spesifikasi angkuh, dan dokumentasi API yang dapat dibaca manusia di sebelah kanan.
Mari impor spesifikasi OpenFaaS Swagger. Di menu atas, klik tombol File , lalu di URL Impor :
Anda akan melihat pop-up, di mana Anda perlu memasukkan alamat spesifikasi Swagger API. Jika Anda tidak melihat munculan, pastikan munculan diaktifkan untuk browser web Anda.
Di lapangan, masukkan tautan ke spesifikasi API Swagger OpenFaaS: https://raw.githubusercontent.com/openfaas/faas/master/api-docs/swagger.yml

Setelah mengklik tombol OK , editor Swagger akan menunjukkan referensi API untuk OpenFaaS, yang seharusnya terlihat seperti ini:
Di sisi kiri Anda dapat melihat sumber file referensi API, sementara di sisi kanan Anda dapat melihat daftar titik akhir, bersama dengan deskripsi singkat. Mengeklik titik akhir menunjukkan lebih banyak detail tentangnya, termasuk parameter apa yang diperlukan, metode apa yang digunakan, dan kemungkinan tanggapannya:
Setelah Anda tahu apa endpoint yang tersedia dan parameter apa yang mereka harapkan, Anda dapat menggunakannya untuk mengelola fungsi Anda.
Selanjutnya, Anda akan menggunakan perintah curl untuk berkomunikasi dengan API, jadi arahkan kembali ke terminal Anda. Dengan tanda -u , Anda akan dapat meneruskan admin:your_openfaas_password pasangan admin:your_openfaas_password yang Anda dapatkan di Langkah 3, sementara tanda -X akan menentukan metode permintaan. Anda juga akan melewati URL titik akhir Anda, https:// example.com /system/functions :
Anda dapat melihat metode yang diperlukan untuk setiap titik akhir di dokumen API.
Di Langkah 4, Anda menerapkan beberapa fungsi contoh, yang seharusnya muncul di output:
Jika Anda tidak melihat keluaran yang tampak seperti ini, atau jika Anda melihat kesalahan, ikuti petunjuk di layar untuk menyelesaikan masalah sebelum melanjutkan dengan tutorial. Pastikan Anda mengirim permintaan ke titik akhir yang benar menggunakan metode yang disarankan dan kredensial yang tepat. Anda juga dapat memeriksa log untuk layanan gateway menggunakan perintah berikut:
Secara default, respons API ke panggilan curl mengembalikan JSON mentah tanpa baris baru, yang tidak dapat dibaca manusia. Untuk menguraikannya, respons pipe curl terhadap utilitas jq , yang akan mengonversi JSON menjadi bentuk yang dapat dibaca manusia:
Hasilnya sekarang dalam bentuk yang dapat dibaca manusia. Anda dapat melihat nama fungsi, yang dapat Anda gunakan untuk mengelola dan menjalankan fungsi dengan API, jumlah panggilan, serta informasi seperti label dan jumlah replika, yang relevan dengan Docker:
Mari kita ambil salah satu fungsi ini dan jalankan, menggunakan titik akhir API /function/ function-name . Titik akhir ini tersedia melalui metode POST, di mana tanda -d memungkinkan Anda untuk mengirim data ke fungsi.
Sebagai contoh, mari jalankan perintah curl berikut untuk menjalankan fungsi echoit , yang datang dengan OpenFaaS di luar kotak dan menghasilkan string yang Anda kirim sebagai permintaan. Anda dapat menggunakan string "Sammy The Shark" untuk menunjukkan:
Outputnya akan menunjukkan Anda Sammy The Shark :
Jika Anda melihat kesalahan, ikuti log di layar untuk menyelesaikan masalah sebelum melanjutkan dengan tutorial. Anda juga dapat memeriksa log layanan gateway .
Pada titik ini, Anda telah menggunakan API OpenFaaS untuk mengelola dan menjalankan fungsi Anda. Sekarang mari kita lihat UI Web OpenFaaS.

Langkah 6 - Menggunakan UI Web OpenFaaS
OpenFaaS dilengkapi dengan UI Web yang dapat Anda gunakan untuk menambah fungsi baru dan menjalankan yang terinstal. Pada langkah ini, Anda akan menginstal fungsi untuk menghasilkan QR Codes dari FaaS Store dan menghasilkan kode contoh.
Untuk memulai, arahkan browser web Anda ke https:// example.com /ui/ . Perhatikan bahwa trailing slash diperlukan untuk menghindari kesalahan "tidak ditemukan".
Di kotak dialog otentikasi HTTP, masukkan nama pengguna dan kata sandi yang Anda dapatkan saat menerapkan OpenFaaS di Langkah 3.
Setelah masuk, Anda akan melihat fungsi yang tersedia di sisi kiri layar, bersama dengan tombol Deploy New Functions yang digunakan untuk menginstal fungsi baru.
Klik pada Menyebarkan Fungsi Baru untuk menyebarkan fungsi baru. Anda akan melihat jendela FaaS Store, yang menyediakan fungsi-fungsi yang telah teruji oleh komunitas yang dapat Anda instal dengan satu klik:
Selain fungsi-fungsi ini, Anda juga dapat menerapkan fungsi secara manual dari gambar Docker.
Untuk tutorial ini, Anda akan menerapkan fungsi Generator Kode QR dari FaaS Store. Cari Penghasil Kode QR - Buka item dalam daftar, klik di atasnya, lalu klik tombol Terapkan di bagian bawah jendela:

Setelah mengklik Deploy , jendela Deploy A New Function akan menutup dan fungsi akan digunakan. Dalam daftar di sisi kiri jendela Anda akan melihat daftar fungsi qrcode-go . Klik pada entri ini untuk memilihnya. Jendela fungsi utama akan menampilkan nama fungsi, jumlah replika, jumlah panggilan, dan gambar, bersama dengan opsi untuk menjalankan fungsi:

Mari hasilkan kode QR yang berisi URL dengan domain Anda. Di bidang isi permintaan , ketik konten kode QR yang ingin Anda buat; dalam kasus kami, ini akan menjadi "example.com" . Setelah selesai, klik tombol Invoke .
Saat Anda memilih opsi output Teks atau JSON , fungsi tersebut akan menampilkan konten file, yang tidak dapat digunakan atau dapat dibaca manusia:
Anda dapat mengunduh tanggapan. yang dalam kasus kami adalah file PNG dengan kode QR. Untuk melakukan ini, pilih opsi Unduh , lalu klik Panggil sekali lagi. Tak lama setelah itu, Anda harus mengunduh kode QR, yang dapat Anda buka dengan penampil gambar pilihan Anda:
Selain menyebarkan fungsi dari penyimpanan FaaS atau dari gambar Docker, Anda juga dapat membuat fungsi Anda sendiri. Pada langkah berikutnya, Anda akan membuat fungsi Python menggunakan antarmuka baris perintah FaaS.

Langkah 7 - Membuat Fungsi Dengan CLI FaaS
Di langkah sebelumnya, Anda mengonfigurasi FaaS CLI untuk bekerja dengan server OpenFaaS Anda. The FaaS CLI adalah antarmuka baris perintah yang dapat Anda gunakan untuk mengelola OpenFaaS dan menginstal dan menjalankan fungsi, seperti Anda akan melalui API atau menggunakan UI Web.
Dibandingkan dengan UI Web atau API, CLI FaaS memiliki templat untuk banyak bahasa pemrograman yang dapat Anda gunakan untuk membuat fungsi Anda sendiri. Ini juga dapat membangun gambar kontainer berdasarkan kode fungsi Anda dan mendorong gambar ke registri gambar, seperti Docker Hub.
Pada langkah ini, Anda akan membuat fungsi, mempublikasikannya ke Docker Hub, dan kemudian jalankan di server OpenFaaS Anda. Fungsi ini akan mirip dengan echoitfungsi default , yang mengembalikan input yang dikirimkan sebagai permintaan.
Kami akan menggunakan Python untuk menulis fungsi kami. Jika Anda ingin mempelajari lebih lanjut tentang Python, Anda dapat melihat Bagaimana Kode Kami dalam seri tutorial Python 3 dan Kode Carakami dalam e-book Python .
Sebelum membuat fungsi baru, mari buat direktori untuk menyimpan fungsi FaaS dan menavigasi ke sana:
Jalankan perintah berikut untuk membuat fungsi Python baru yang disebut echo-input. Pastikan untuk mengganti your-docker-hub-usernamedengan nama pengguna Docker Hub Anda, karena Anda akan mendorong fungsi ke Docker Hub nanti:
Output berisi konfirmasi tentang penciptaan fungsi yang sukses. Jika Anda tidak memiliki template yang diunduh, CLI akan mengunduh templat di direktori Anda saat ini:
Hasil dari faas-cli newperintah adalah ~/faas-fucntions/echo-inputdirektori yang baru dibuat yang berisi kode fungsi dan echo-input.ymlfile. File ini berisi informasi tentang fungsi Anda: bahasa apa yang ada di dalamnya, namanya, dan server tempat Anda akan menggunakannya.
Arahkan ke ~/faas-fucntions/echo-inputdirektori:
Untuk melihat isi direktori, jalankan:
Direktori berisi dua file handler.py:, yang berisi kode untuk fungsi Anda, dan requirements.txt, yang berisi modul Python yang diperlukan oleh fungsi.
Karena saat ini kami tidak memerlukan modul Python non-default, requirements.txtfile tersebut kosong. Anda dapat memeriksanya dengan menggunakan catperintah:
Selanjutnya, mari tulis fungsi yang akan mengembalikan permintaan sebagai string.
The handler.pyfile sudah memiliki kode handler sampel, yang mengembalikan respon yang diterima sebagai string. Mari kita lihat kode:
Fungsi default dipanggil handledan mengambil satu parameter req,, yang berisi permintaan yang diteruskan ke fungsi saat dipanggil. Fungsi hanya melakukan satu hal, mengembalikan permintaan yang dilewatkan sebagai tanggapan:
Mari kita memodifikasinya untuk menyertakan teks tambahan, mengganti string dalam returndirektif sebagai berikut:
Setelah selesai, simpan file dan tutup editor teks Anda.
Selanjutnya, mari kita membangun gambar Docker dari kode sumber fungsi. Arahkan ke faas-functionsdirektori tempat echo-input.ymlfile berada:
Perintah berikut ini membangun gambar Docker untuk fungsi Anda:
Output berisi informasi tentang perkembangan kemajuan:
Jika Anda mendapatkan kesalahan, pastikan untuk menyelesaikannya dengan mengikuti petunjuk di layar sebelum menerapkan fungsi.
Anda perlu mem-kontainer fungsi OpenFaaS Anda untuk menerapkannya. Aplikasi pemaketan memastikan bahwa lingkungan yang diperlukan untuk menjalankan aplikasi Anda dapat dengan mudah direproduksi, dan aplikasi Anda dapat dengan mudah digunakan, diskalakan, dan diperbarui.
Untuk tutorial ini, kami akan menggunakan Docker Hub, karena ini adalah solusi gratis, tetapi Anda dapat menggunakan registri kontainer apa pun, termasuk registri pribadi Anda sendiri.
Jalankan perintah berikut untuk mendorong gambar yang Anda buat ke repositori yang Anda tentukan di Docker Hub:
Menekan akan memakan waktu beberapa menit, tergantung pada kecepatan koneksi internet Anda.Output berisi kemajuan unggah gambar:
Akhirnya, dengan gambar Anda didorong ke Docker Hub, Anda dapat menggunakannya untuk menyebarkan fungsi ke server OpenFaaS Anda.
Untuk menerapkan fungsi Anda, jalankan deployperintah, yang mengambil jalur ke manifes yang menjelaskan fungsi Anda, serta alamat server OpenFaaS Anda:
Output menunjukkan status penerapan, bersama dengan nama fungsi yang Anda terapkan dan kode status penerapan:
Jika pemasangan berhasil, Anda akan melihat 200kode status. Dalam kasus kesalahan, ikuti petunjuk yang diberikan untuk memperbaiki masalah sebelum melanjutkan.
Pada titik ini fungsi Anda digunakan dan siap digunakan. Anda dapat menguji apakah itu bekerja seperti yang diharapkan dengan memohonnya.
Untuk menjalankan fungsi dengan KLI FaaS, gunakan invokeperintah dengan meneruskan nama fungsi dan alamat OpenFaaS ke situ. Setelah menjalankan perintah, Anda akan diminta untuk memasukkan permintaan yang ingin Anda kirim ke fungsi tersebut.
Jalankan perintah berikut untuk menjalankan echo-inputfungsi:
Anda akan diminta untuk memasukkan permintaan yang ingin Anda kirim ke fungsi:
Masukkan teks yang ingin Anda kirim ke fungsi, seperti:
Setelah selesai, tekan ENTERlalu CTRL + Duntuk menyelesaikan permintaan. The CTRL + Dshortcut di terminal digunakan untuk mendaftar Akhir-of-File (EOF). The OpenFaaS CLI berhenti membaca dari terminal setelah EOF diterima.
Setelah beberapa detik, perintah akan menampilkan respon fungsi:
Jika Anda tidak melihat output atau Anda mendapatkan kesalahan, retrace langkah-langkah sebelumnya untuk memastikan Anda telah menyebarkan fungsi seperti yang dijelaskan dan ikuti petunjuk di layar untuk menyelesaikan masalah.
Pada titik ini, Anda telah berinteraksi dengan fungsi Anda menggunakan tiga metode: UI Web, API, dan CLI. Mampu menjalankan fungsi Anda dengan salah satu metode ini menawarkan Anda fleksibilitas memutuskan bagaimana Anda ingin mengintegrasikan fungsi ke dalam alur kerja yang ada.

Kesimpulan
Dalam tutorial ini, Anda telah menggunakan arsitektur tanpa server dan OpenFaaS untuk menerapkan dan mengelola aplikasi Anda menggunakan API OpenFaaS, UI Web, dan CLI. Anda juga mengamankan infrastruktur Anda dengan memanfaatkan Traefik untuk menyediakan SSL menggunakan Let's Encrypt.

Sumber : (https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-openfaas-using-docker-swarm-on-ubuntu-16-04)

1 komentar:

Post Top Ad

Responsive Ads Here