Membuat penyebaran pada AKS di Azure Stack HCI dan Windows Server

Penyebaran mengacu pada objek Kubernetes yang mengelola performa dan menentukan perilaku pod yang diinginkan. Penyebaran menentukan siklus hidup aplikasi, termasuk pod yang ditugaskan ke aplikasi. Ini menyediakan cara untuk mengkomunikasikan keadaan yang Anda inginkan untuk aplikasi Anda, dan pengontrol bekerja untuk mengubah keadaan saat ini menjadi keadaan yang Anda inginkan.

Penyebaran mengotomatiskan proses untuk meluncurkan instans pod dan memastikan mereka berjalan sebagaimana didefinisikan di semua node dalam kluster. Administrator dan profesional IT menggunakan penyebaran untuk mengkomunikasikan apa yang mereka inginkan dari aplikasi, dan kemudian, Kubernetes mengambil semua langkah yang diperlukan untuk menciptakan keadaan aplikasi yang diinginkan.

Sementara penyebaran menentukan bagaimana aplikasi Anda berjalan, mereka tidak menjamin di mana aplikasi Anda berada dalam kluster Anda. Misalnya, jika aplikasi Anda memerlukan instans pod di setiap node, Anda akan ingin menggunakan DaemonSet. Untuk aplikasi yang berstatus, StatefulSet menyediakan pengidentifikasi jaringan yang unik, penyimpanan persisten, dan penyebaran/penskalaan yang dipesan.

Objek penyebaran Kubernetes memungkinkan Anda:

  • sebarkan satu set replika atau pod
  • Skalakan jumlah instans aplikasi ke atas atau ke bawah
  • Memperbarui setiap contoh aplikasi yang berjalan
  • Memutar kembali semua instans aplikasi yang sedang berjalan ke versi lain
  • Menjeda atau melanjutkan penyebaran

Untuk informasi selengkapnya, lihat Penyebaran Kubernetes.

Membuat penyebaran

Anda dapat menggunakan perintah kubectl apply atau kubectl create untuk membuat penyebaran. Karena jumlah pod yang diperlukan dipertahankan dan dipantau, mereka berjalan dan tersedia setelah penyebaran dibuat. Jika pod gagal, Kubernetes segera meluncurkan replika pod untuk menggantikan tempatnya di kluster.

Contoh berikut menjelaskan fitur file manifes penyebaran dalam format YAML.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - image: nginx
          name: nginx
          ports:
            - containerPort: 80

Untuk melihat penyebaran, set replika, dan pod, jalankan perintah berikut:

kubectl get deployment, replicaset, pod

Memperbarui penyebaran

Keuntungan utama dari penyebaran adalah untuk secara otomatis memperbarui program Kubernetes Anda. Tanpa penyebaran, Anda harus secara manual mengakhiri semua pod lama, memulai pod versi baru, dan menjalankan pemeriksaan untuk melihat apakah ada masalah saat membuat pod. Anda dapat menjalankan kubectl describe deployment untuk melihat urutan di mana pod dibesarkan dan dihapus.

Penyebaran mengotomatiskan proses pembaruan karena Anda cukup memperbarui templat pod atau kondisi yang diinginkan. Penyebaran mengubah status program di latar belakang dengan tindakan, seperti membuat pod baru atau mengalokasikan lebih banyak sumber daya, sampai pembaruan yang dipilih ada.

Jika ada masalah dalam penyebaran, Kubernetes secara otomatis kembali ke versi sebelumnya. Anda juga dapat secara eksplisit memutar kembali ke versi tertentu menggunakan perintah kubectl rollout undo, atau Anda dapat menggunakan kubectl rollout pause untuk menghentikan sementara penyebaran.

Strategi untuk memperbarui penyebaran

Kubernetes menyediakan beberapa strategi penyebaran sehingga Anda dapat memperbarui dengan berbagai cara agar sesuai dengan kebutuhan lingkungan Anda. Tiga strategi pembaruan yang paling umum adalah:

  • Pembaruan bergulir: Pembaruan ini adalah proses bertahap yang memungkinkan Anda memperbarui sistem Kubernetes hanya dengan efek kecil pada performa dan tanpa waktu berhenti. Ini meminimalkan waktu berhenti dengan mengorbankan kecepatan pembaruan.
  • Rekreasi: Strategi ini adalah proses semua atau tidak sama sekali yang memungkinkan Anda memperbarui semua aspek sistem sekaligus dengan periode waktu berhenti singkat. Ini memperbarui dengan cepat tetapi menyebabkan waktu berhenti.
  • Kenari: Strategi ini adalah proses pembaruan parsial yang memungkinkan Anda menguji versi program baru Anda pada pengguna nyata tanpa komitmen untuk peluncuran penuh. Ini dengan cepat memperbarui untuk beberapa pengguna terpilih dengan peluncuran penuh nanti.

Langkah berikutnya