Kubernetes

Tutorial Operator Kubernetes

Tutorial Operator Kubernetes
Operator Kubernetes adalah konsep yang diperkenalkan oleh proyek CoreOS untuk memperluas kemampuan Kubernetes, khususnya pengelolaan aplikasi Stateful. Seharusnya menyederhanakan seluruh siklus hidup sumber daya stateful mulai dari mengemas aplikasi dan menyebarkannya ke kluster Kubernetes hingga mengelola dan menskalakan aplikasi.

Sebagai contoh, beberapa komponen inti Kubernetes seperti etcd memiliki Operator yang sesuai yang disediakan oleh proyek CoreOs. Etcd adalah penyimpanan nilai kunci terdistribusi yang mencerminkan status berjalan dari seluruh cluster Kubernetes pada saat tertentu. Secara alami, ini adalah aplikasi stateful dan berbagai pengontrol Kubernetes merujuk ke etcd untuk mencari tahu apa langkah mereka selanjutnya. Misalnya, pengontrol ReplicaSet akan melihat jumlah pod yang berjalan di bawah pemilih yang diberikan dan mencoba membuat jumlah instance yang berjalan sama dengan jumlah yang ditentukan oleh ReplicaSet atau YAML Deployment Anda. ReplicaSet mengacu pada etcd yang melacak jumlah pod yang berjalan dan setelah jumlah pod diubah ke nilai yang diinginkan, etcd akan memperbarui catatannya juga.

Tetapi ketika menyangkut aplikasi Stateful, seperti etcd itu sendiri, kami tidak dapat memutar lebih banyak pod di node yang berbeda tanpa intervensi serius. Karena semua instance yang berjalan harus memiliki data yang konsisten satu sama lain setiap saat. Di sinilah Operator berguna.

Prasyarat

Jika Anda ingin mengikuti tutorial ini, Anda dapat memulai dengan sesuatu yang kecil seperti Minikube yang terinstal di laptop Anda, atau distribusi Kubernetes yang disertakan dengan Docker untuk desktop.

Yang penting adalah memiliki pemahaman tentang ide-ide dasar Kubernetes untuk memulai.

dll

Mari buat Operator yang akan mengelola etcd di seluruh cluster Kubernetes kami. Kami tidak akan menginstal etcd sebagai komponen Kubernetes (yaitu di namespace sistem kube) tetapi sebagai aplikasi biasa. Karena melakukan itu akan menempatkan seluruh cluster dalam bahaya. Namun, setelah Anda merasa nyaman dengan Operator, Anda dapat menggunakannya untuk menyebarkan etcd di sistem kube saat Anda mem-bootstrap sebuah cluster baru.

Saya akan menggunakan Katacoda Playground di sini, dan pemeriksaan lebih dekat dari namespace sistem kube akan menunjukkan kepada Anda bahwa kami memiliki satu pod yang menjalankan etcd untuk kami. Tapi itu bukan sesuatu yang akan kita mainkan. Kami akan menginstal etcd di namespace default yang dikelola oleh etcd-operator

Memulai namespace default tidak memiliki pod yang berjalan, kami memiliki yang bersih.

$ kubectl dapatkan pod

Tidak ada sumber daya yang ditemukan.

Sekarang mari kita instal instance etcd baru di namespace ini. Kita mulai dengan mengkloning repositori diikuti dengan perintah kubectl sederhana.

$ git klon https://github.com/coreos/etcd-operator.git
$cd etd-operator

Membuat Operator Dll

Dalam repo, ada beberapa contoh untuk dioperasikan, yang pertama akan membuat operator etcd sederhana menggunakan penyebaran.yaml mengajukan. Sebelum kita menggunakannya, pertama-tama kita perlu membuat Role untuk operator yang dapat mengelola dan menskalakan cluster etcd. Anda dapat membuat Peran itu menggunakan skrip shell.

$ /contoh/rbac/create_role.SH
$ kubectl buat -f ./contoh/penyebaran.yaml

Objek operator akan dibuat dengan perintah terakhir meskipun tidak akan ada yang beroperasi. Kami belum memiliki cluster etcd. Jadi mari kita buat satu.

$ kubectl buat -f ./contoh/contoh-etcd-cluster.yaml

Ini menciptakan sekelompok pod etcd. Anda dapat melihatnya menggunakan:

$ kubectl dapatkan pod
 
NAMA                           SIAP     STATUS    MULAI ULANG   USIA
etcd-operator-69b559656f-495vg    1/1      Berlari   0         9m
example-etcd-cluster-9bxfh657qq   1/1       Berjalan   0         23 detik
example-etcd-cluster-ntzp4hrw79   1/1       Berjalan   0         8m
example-etcd-cluster-xwlpqrzj2q   1/1      Berlari   0         9m

Yang pertama dalam daftar ini adalah pod operator yang akan memastikan bahwa cluster etcd mempertahankan status tertentu, seperti yang dinyatakan dalam file yaml yang kita gunakan sebelumnya. Jika Anda mencoba menghapus salah satu pod contoh-etcd-cluster, yang lain akan dibuat untuk menggantikannya. Itu sangat mirip dengan apa yang dilakukan ReplicaSet tetapi di sini podnya stateful!

Operator pada umumnya

Seperti disebutkan sebelumnya, Operator adalah kerangka kerja umum di mana seseorang dapat menyebarkan dan mengelola aplikasi yang kompleks. Kerangka itu sendiri adalah apa yang membuatnya berguna dan contoh-contoh khusus seperti operator etcd atau operator Prometheus yang disediakan CoreOS dimaksudkan untuk bertindak sebagai panduan bagi Anda untuk mengembangkan aplikasi Anda sendiri dengan cara yang sama.

Beberapa aspek penting dari Operator Kubernetes adalah SDK digunakan untuk menulis, membangun, dan menguji operator kustom Anda sendiri, yang kedua adalah ide Manajer Siklus Hidup Operator di mana Anda dapat memikirkan berbagai tahapan yang dapat dilalui oleh operator Anda serta layanan yang ditawarkannya.

Tahap siklus hidup mungkin mencakup berbagai pembaruan, mencari tahu operator apa yang berjalan di ruang nama mana dan juga memperbarui operator ketika versi baru datang.

Referensi

Anda dapat membaca lebih banyak tentang teknologi ini di:

  1. Postingan asli CoreOS, dan
  2. Operator etcd dapat dijelajahi di sini
Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...
Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...
Cara Mengganti Tombol Kiri & Kanan Mouse di PC Windows 10
Sudah menjadi hal biasa bahwa semua perangkat mouse komputer dirancang secara ergonomis untuk pengguna yang tidak kidal. Tetapi ada perangkat mouse ya...