Docker dan Kubernetes untuk Pembangun · Pelajaran

Tanpa Pelayan dengan Kubernetes (Knative)

Terokai cara platform seperti Knative membolehkan fungsi tanpa pelayan dan seni bina dipacu peristiwa di atas Kubernetes.

Pelajaran 3 daripada 411 langkah

Tanpa Pelayan dengan Kubernetes (Knative) ialah pelajaran Docker dan Kubernetes untuk Pembangun percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Docker dan Kubernetes untuk Pembangun, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Docker dan Kubernetes untuk Pembangun merangkumi sejumlah 4 pelajaran.

Tanpa Pelayan & Kubernetes

Selamat datang ke dunia tanpa pelayan di Kubernetes! Pengkomputeran tanpa pelayan membolehkan anda menjalankan kod tanpa menyediakan atau mengurus pelayan, dengan menumpukan sepenuhnya pada logik aplikasi anda.

Dengan menggabungkan tanpa pelayan dengan Kubernetes, anda mendapat manfaat kedua-duanya: ketangkasan dan kecekapan kos tanpa pelayan, disokong oleh pengurusan infrastruktur Kubernetes yang kukuh, boleh diskala dan mudah alih.

Knative: Tanpa Pelayan K8s

Knative ialah platform sumber terbuka yang melanjutkan Kubernetes untuk menyediakan komponen bagi menggunakan, menjalankan dan mengurus beban kerja tanpa pelayan. Knative memudahkan kerumitan menjalankan aplikasi tanpa pelayan.

Knative mempunyai dua komponen utama: Knative Serving, yang mengendalikan perkhidmatan dipacu permintaan, dan Knative Eventing, untuk seni bina dipacu peristiwa.

Asas Knative Serving

Knative Serving direka untuk menggunakan dan mengurus perkhidmatan tanpa keadaan. Knative Serving mengendalikan perkara berikut:

  • Penggunaan Pantas: Menggunakan imej bekas dengan cepat.
  • Penskalaan Automatik: Menaikkan dan menurunkan skala perkhidmatan berdasarkan permintaan, malah sehingga sifar tika apabila tidak aktif.
  • Pengurusan Semakan: Menyediakan semakan tidak berubah untuk pemulihan mudah dan pembahagian trafik.

Knative Serving amat sesuai untuk aplikasi web, API dan perkhidmatan mikro.

Serving: Perkhidmatan & Semakan

Konsep utama dalam Knative Serving:

  • Perkhidmatan: Sumber peringkat tertinggi yang mentakrifkan keadaan dikehendaki aplikasi anda.
  • Semakan: Gambaran tidak berubah bagi kod dan konfigurasi perkhidmatan anda pada titik masa tertentu. Penggunaan baharu mencipta semakan baharu.
  • Laluan: Mengurus trafik rangkaian kepada satu atau lebih semakan, serta membolehkan ciri seperti ujian A/B atau pelancaran berperingkat.

Komponen ini bekerjasama untuk menyediakan mekanisme penggunaan dan penskalaan yang kukuh.

Mentakrifkan Perkhidmatan Knative

Perkhidmatan Knative ditakrifkan menggunakan manifes YAML, sama seperti sumber Kubernetes yang lain. Contoh ini mentakrifkan perkhidmatan 'hello-knative' yang mudah menggunakan imej siap bina.

Perhatikan versi API serving.knative.dev/v1 dan kind: Service.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: hello-knative
spec:
  template:
    spec:
      containers:
        - image: docker.io/knative/helloworld-go
          env:
            - name: TARGET
              value: "Knative"

Aplikasi Tanpa Pelayan Mudah

Ini ialah aplikasi Python Flask asas yang akan digunakan oleh Knative. Aplikasi ini mendengar permintaan HTTP dan membalas dengan ucapan, menggunakan pemboleh ubah persekitaran untuk penyesuaian. Knative mengendalikan pembentukan bekas, penggunaan dan penskalaan aplikasi ini.

from flask import Flask
import os

app = Flask(__name__)

@app.route('/')
def hello():
    target = os.environ.get('TARGET', 'World')
    return f'Hello {target}!\n'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

Knative Eventing

Knative Eventing membolehkan seni bina dipacu peristiwa di Kubernetes. Ia membolehkan perkhidmatan berkomunikasi secara tak segerak dengan menghantar dan menerima peristiwa, serta memisahkan penghasil peristiwa daripada pengguna.

Ini penting untuk membina sistem reaktif yang bertindak balas terhadap pelbagai perubahan, seperti kemas kini data, muat naik fail atau tugasan berjadual.

Eventing: Sumber & Broker

Komponen utama dalam Knative Eventing:

  • Sumber Peristiwa: Menjana peristiwa daripada pelbagai sistem (contohnya, Kafka, GitHub, CronJob, S3).
  • Broker: Hab pemesejan pusat tempat sumber peristiwa menghantar peristiwa. Broker mengabstrakkan sistem pemesejan asas.
  • Pencetus: Menapis peristiwa daripada Broker berdasarkan atribut dan menghalakannya kepada pengguna peristiwa tertentu (selalunya Perkhidmatan Knative).

Aliran ini membolehkan pemprosesan peristiwa yang fleksibel dan boleh diskala.

Contoh Aliran Peristiwa

Bayangkan anda mempunyai perkhidmatan yang memproses imej baharu. Anda boleh menyediakan Sumber Peristiwa yang memantau baldi S3 untuk muat naik imej baharu.

Apabila imej dimuat naik, sumber tersebut menghantar peristiwa kepada Broker. Pencetus yang dikonfigurasi untuk menapis peristiwa 'imej S3 baharu' kemudiannya memajukan peristiwa itu kepada Perkhidmatan Knative pemprosesan imej anda.

Perkhidmatan anda memproses imej, menurunkan skala apabila tidak aktif, dan anda hanya membayar pengkomputeran yang digunakan semasa pemprosesan.

Semakan Pengetahuan Knative

Komponen Knative manakah yang bertanggungjawab terutamanya untuk menaikkan atau menurunkan skala perkhidmatan secara automatik berdasarkan permintaan masuk, termasuk menskalakan kepada sifar apabila tidak aktif?

Ringkasan Knative

Dalam pelajaran ini, Anda telah meneroka cara Knative membawa keupayaan tanpa pelayan kepada Kubernetes. Anda telah mempelajari perkara berikut:

  • Knative Serving: Untuk melancarkan dan menskalakan perkhidmatan berasaskan permintaan secara automatik.
  • Knative Eventing: Untuk membina seni bina dipacu peristiwa dengan sumber, broker dan pencetus.

Knative membolehkan pembangun membina dan menjalankan aplikasi tanpa pelayan dengan kawalan serta fleksibiliti Kubernetes.

Percuma untuk bermula

Pelajari Docker dan Kubernetes untuk Pembangun dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Tanpa Pelayan dengan Kubernetes (Knative)” percuma?

Ya — teks penuh “Tanpa Pelayan dengan Kubernetes (Knative)” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Docker dan Kubernetes untuk Pembangun, tingkat taraf kepada CoddyKit PRO. Kursus Docker dan Kubernetes untuk Pembangun merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Tanpa Pelayan dengan Kubernetes (Knative)”?

Terokai cara platform seperti Knative membolehkan fungsi tanpa pelayan dan seni bina dipacu peristiwa di atas Kubernetes. Anda berlatih Docker dan Kubernetes untuk Pembangun menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Docker dan Kubernetes untuk Pembangun?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Docker dan Kubernetes untuk Pembangun di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Tanpa Pelayan dengan Kubernetes (Knative)” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Docker dan Kubernetes untuk Pembangun ini?

Ya. Setiap pelajaran Docker dan Kubernetes untuk Pembangun menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Takrifan Sumber Tersuai (CRD)
  2. Corak Operator dalam Kubernetes
  3. Tanpa Pelayan dengan Kubernetes (Knative)
  4. Melanjutkan Pelayan API dengan Webhook Kemasukan
← Kembali ke Docker dan Kubernetes untuk Pembangun