Kubernetes

Tutorial Operator Kubernetes

Tutorial Operator Kubernetes
Kubernetes Operators adalah konsep yang diperkenalkan oleh projek CoreOS untuk memperluas kemampuan Kubernetes, terutama pengurusan aplikasi Stateful. Seharusnya mempermudah seluruh kitaran hidup sumber-sumber bernegara dari mengemas aplikasi dan menyebarkannya ke kluster Kubernetes hingga menguruskan dan menskalakan aplikasi.

Sebagai contoh, beberapa komponen inti Kubernetes seperti etcd mempunyai Operator yang sesuai yang disediakan oleh projek CoreOs. Etcd adalah kedai nilai kunci yang diedarkan yang mencerminkan keadaan berjalan seluruh kluster Kubernetes pada waktu tertentu. Secara semula jadi, ia adalah aplikasi bernegara dan pelbagai pengawal Kubernetes merujuk kepada etcd untuk mengetahui langkah seterusnya. Sebagai contoh, pengawal ReplicaSet akan melihat bilangan pod yang berjalan di bawah pemilih tertentu dan cuba menjadikan jumlah contoh berjalan sama dengan nombor yang ditentukan oleh ReplicaSet atau Deployment YAML anda. ReplicaSet merujuk kepada etcd yang memantau jumlah pod yang sedang berjalan dan setelah jumlah pod diubah menjadi nilai yang diinginkan, etcd akan mengemas kini rekodnya juga.

Tetapi apabila berkaitan dengan aplikasi Stateful, seperti etcd sendiri, kita tidak dapat menjana lebih banyak pod di nod yang berlainan tanpa campur tangan yang serius. Kerana semua keadaan berjalan mesti mempunyai data yang konsisten antara satu sama lain setiap masa. Di sinilah pengendali sangat berguna.

Prasyarat

Sekiranya anda ingin mengikuti tutorial ini, anda boleh memulakan dengan sesuatu yang kecil seperti Minikube yang dipasang di komputer riba anda, atau pengedaran Kubernetes yang disertakan dengan Docker untuk desktop.

Yang penting adalah mempunyai pemahaman mengenai idea asas Kubernetes sejak awal.

Dll

Mari buat Operator yang akan menguruskan etcd di kluster Kubernetes kami. Kami tidak akan memasang etcd sebagai komponen Kubernetes (maksudnya di ruang nama sistem kube) tetapi sebagai aplikasi biasa. Kerana melakukan itu akan membahayakan seluruh kelompok. Walau bagaimanapun, setelah anda selesa dengan Operator, anda boleh menggunakannya untuk menyebarkan etcd dalam sistem kube semasa anda bootstrap cluster baru.

Saya akan menggunakan Katacoda Playground di sini, dan pemeriksaan lebih dekat pada ruang nama sistem kube akan menunjukkan kepada anda bahawa kami mempunyai satu pod yang menjalankan dll untuk kami. Tetapi itu bukan sesuatu yang akan kita mainkan. Kami akan memasang etcd di ruang nama lalai yang dikendalikan oleh etcd-operator

Memulakan ruang nama lalai tidak mempunyai pod yang berjalan, kami mempunyai papan tulis yang bersih.

$ kubectl dapatkan pod

Tiada sumber dijumpai.

Sekarang mari kita pasang contoh etcd baru di ruang nama ini. Kita mulakan dengan mengklon repositori diikuti dengan perintah kubectl sederhana.

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

Membuat Pengendali Dll

Di repo, ada beberapa contoh untuk beroperasi, yang pertama akan membuat operator dll yang mudah menggunakan penyebaran.keladi fail. Sebelum menggunakannya, pertama-tama kita perlu membuat Peranan untuk pengendali yang boleh mengurus dan menskala kluster etcd. Anda boleh membuat Peranan itu menggunakan skrip shell.

$ / contoh / rbac / create_role.sh
$ kubectl buat -f ./ contoh / penyebaran.keladi

Objek pengendali akan dibuat oleh arahan terakhir walaupun tidak ada yang boleh beroperasi. Kami belum mempunyai kelompok dll. Oleh itu mari kita buat satu.

$ kubectl buat -f ./ contoh / contoh-etcd-kluster.keladi

Ini membuat sekumpulan pod etcd. Anda dapat melihatnya menggunakan:

$ kubectl dapatkan pod
 
NAMA READY STATUS RESTARTS UMUR
etcd-operator-69b559656f-495vg 1/1 Berlari 0 9m
contoh-etcd-kluster-9bxfh657qq 1/1 Berlari 0 23s
contoh-etcd-cluster-ntzp4hrw79 1/1 Berlari 0 8m
contoh-etcd-kluster-xwlpqrzj2q 1/1 Berlari 0 9m

Yang pertama dalam senarai ini adalah pod operator yang akan memastikan bahawa kluster etcd mengekalkan keadaan tertentu, seperti yang dinyatakan dalam fail yaml yang kami gunakan sebelumnya. Sekiranya anda cuba memadamkan salah satu pod contoh-etcd-cluster, yang lain akan dibuat untuk menggantikannya. Itu sangat serupa dengan apa yang dilakukan oleh ReplicaSet tetapi di sini bahawa pod adalah keadaan yang baik!

Pengendali Secara Umum

Seperti disebutkan sebelumnya, Operator adalah kerangka umum di mana seseorang dapat menyebarkan dan mengelola aplikasi yang kompleks. Rangka kerja itu sendiri adalah yang menjadikannya berguna dan contoh-contoh tertentu seperti operator etcd atau Prometheus operator yang disediakan CoreOS bertujuan untuk bertindak sebagai panduan bagi anda untuk mengembangkan aplikasi anda sendiri dengan cara yang serupa.

Beberapa aspek penting dari Kubernetes Operator adalah SDK digunakan untuk menulis, membina dan menguji pengendali tersuai anda sendiri, yang kedua adalah idea Pengurus Kitaran Hayat Pengendali di mana anda boleh memikirkan semua peringkat yang boleh dilalui oleh pengendali anda dan juga perkhidmatan yang ditawarkannya.

Tahap kitaran hidup mungkin merangkumi pelbagai kemas kini, mengetahui pengendali apa yang sedang berjalan di ruang nama dan juga mengemas kini pengendali ketika versi baru hadir.

Rujukan

Anda boleh membaca lebih banyak mengenai teknologi ini di:

  1. Jawatan asal CoreOS, dan
  2. Pengendali etcd boleh meneroka di sini
Kursor melompat atau bergerak secara rawak semasa menaip di Windows 10
Sekiranya anda mendapati kursor tetikus anda melompat atau bergerak sendiri, secara automatik, secara rawak semasa menaip komputer riba atau komputer ...
Cara membalikkan arah tatal Tetikus dan Pad Sentuh pada Windows 10
Tetikus dan Pad sentuhs bukan sahaja menjadikan pengkomputeran mudah, tetapi lebih cekap dan kurang memakan masa. Kami tidak dapat membayangkan kehidu...
Cara menukar saiz, warna & skema penunjuk dan kursor tetikus pada Windows 10
Penunjuk dan kursor tetikus di Windows 10 adalah aspek yang sangat penting dalam sistem operasi. Ini boleh dikatakan untuk sistem operasi lain juga, j...