Membuat DaemonSet Kubernetes
Berlaku untuk: AKS di Azure Stack HCI 22H2, AKS di Windows Server
Artikel ini menjelaskan cara membuat dan menggunakan Kubernetes DaemonSet di AKS yang diaktifkan oleh Azure Arc untuk memastikan bahwa salinan pod selalu tersedia pada setiap simpul pekerja dalam kluster. Anda dapat menggunakan DaemonSet untuk meningkatkan performa kluster dengan memastikan bahwa aplikasi berjalan pada semua simpul pekerja, dan untuk menyebarkan pod yang melakukan pemeliharaan dan menyediakan layanan dukungan untuk simpul.
Gambaran Umum DaemonSets
DaemonSet adalah objek Kubernetes yang memastikan salinan pod yang didefinisikan dalam konfigurasi selalu tersedia di setiap node pekerja dalam kluster. Ketika node baru ditambahkan ke kluster, DaemonSet secara otomatis mengalokasikan pod pada node tersebut.
Demikian pula, ketika node dihapus, pod yang berjalan pada node juga dihapus dan tidak dijadwalkan ulang pada node lain (misalnya, seperti yang terjadi pada ReplicaSets). Ini memungkinkan Anda untuk mengatasi batasan penjadwalan Kube dan memastikan aplikasi tertentu disebarkan pada semua simpul dalam kluster.
DaemonSets dapat meningkatkan performa kluster secara keseluruhan. Misalnya, Anda dapat menggunakannya untuk menyebarkan pod untuk melakukan tugas pemeliharaan dan layanan dukungan ke setiap node:
- Jalankan daemon pengumpulan log, seperti
Fluentd
danLogstash
. - Jalankan daemon pemantauan simpul, seperti
Prometheus
. - Jalankan daemon penyimpanan kluster, seperti
glusterd
atauceph
.
Meskipun DaemonSets membuat pod pada setiap node secara default, Anda dapat membatasi jumlah node yang dapat diterima dengan menentukan bidang pemilih node dalam file YAML. Pengontrol DaemonSet hanya membuat pod pada simpul yang cocok dengan pemilih simpul.
Biasanya, satu DaemonSet menyebarkan satu jenis daemon di semua node, tetapi dimungkinkan untuk memiliki beberapa DaemonSets myang engontrol satu jenis daemon dengan menggunakan label yang berbeda. Label Kubernetes menentukan aturan penyebaran berdasarkan karakteristik masing-masing node.
Untuk informasi selengkapnya tentang cara menggunakan DaemonSets, lihat Kubernetes DaemonSets.
Membuat DaemonSet
Anda menjelaskan DaemonSet dengan menggunakan file YAML, lalu membuatnya menggunakan perintah kubectl create
atau kubectl apply
(misalnya, kubectl create –f example-daemon.yaml
).
Contoh berikut menjelaskan fitur file konfigurasi DaemonSet menggunakan gambar nginx:
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app: nginx
name: example-daemon
spec:
template:
metadata:
labels:
app: nginx
spec:
containers:
-name: nginx
image: nginx
Untuk melihat status DaemonSet saat ini, gunakan perintah kubectl describe
(misalnya, kubectl describe daemonset example-daemon
).
Membatasi DaemonSet ke node tertentu
Secara default, DaemonSets membuat pod pada semua node dalam kluster, tetapi dengan pemilih node, Anda dapat mengonfigurasinya untuk membuat pod hanya di node tertentu. Jika Anda ingin membatasi DaemonSet ke node tertentu, gunakan perintah kubectl label
.
Memperbarui DaemonSet
Anda dapat memperbarui DaemonSet menggunakan perintah kubectl edit ds<NAME>
. Namun, disarankan agar Anda mengedit file konfigurasi asli, lalu menggunakan kubectl apply
perintah saat awalnya dibuat. Setelah menerapkan pembaruan, Anda dapat melihat status pembaruan menggunakan kubectl rollout status ds <daemonset-name>
perintah .
Menghapus DaemonSet
Untuk menghapus DaemonSet, gunakan perintah kubectl delete
(misalnya, kubectl delete –f example-daemon.yaml -n monitoring
). Anda harus berhati-hati saat menentukan nama file DaemonSet saat menghapus DaemonSet membersihkan semua pod yang disebarkannya.
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk