Mengambil Kawalan Pangkalan Data Anda dengan Operator Kubernetes

Bersambung selepas iklan..

Menguruskan aplikasi stateful seperti pangkalan data dalam Kubernetes boleh mencabar. Operator mengumpulkan pengetahuan praktikal ke dalam penyelesaian yang mengautomasikan tugas pengurusan.

Menggunakan pengendali MySQL memudahkan penggunaan dan pengembangan kluster MySQL sedia pengeluaran. Ia juga membolehkan ketersediaan tinggi dengan mereplikasi pod yang menjadi hos pangkalan data dan membolehkan sandaran dan pemulihan.

Kluster InnoDB

Bersambung selepas iklan..

Haroon Khan ialah seorang profesional data yang mencipta dan menyelenggara pangkalan data yang menyokong aplikasi berprestasi tinggi. Beliau mempunyai lebih sedekad pengalaman dengan pelbagai teknologi, termasuk MySQL, Microsoft SQL Server, DB2, dan alatan sumber terbuka.

Dia bersemangat untuk membantu syarikat menggunakan seni bina data moden yang boleh mengendalikan keperluan data yang luas. Kluster InnoDB ialah komponen penting dalam usaha ini, menawarkan kebolehskalaan penulisan yang dipertingkatkan. Walau bagaimanapun, melaksanakannya boleh menjadi mencabar jika anda perlu membiasakan diri dengan pelbagai komponennya.

Bersambung selepas iklan..

Selain itu, ia mungkin memerlukan berbilang alat untuk mengurus topologi. Penyelesaian ini mungkin tidak sesuai untuk aplikasi anda jika anda tidak mahu melabur dalam pembangunan / penyepaduan / masa ujian untuk setiap teknologi. Di sinilah kompas Kubernetes Haroon bersinar.

Beliau percaya bahawa penskalaan MySQL anda dengan InnoDB Cluster harus berasingan daripada skala kerumitannya. Itulah sebabnya dia menyokong integrasi dengan MySQL Operator Kubernetes. Gabungan hebat ini menggabungkan kuasa Kluster InnoDB dengan keanggunan Kubernetes, memudahkan pengurusan dan orkestrasi dalam satu gerakan.

Pengumuman

Jika kejadian dimulakan semula, ia meninggalkan kumpulan dan perlu menyertai semula kumpulan untuk ditambahkan kembali ke set replika lalai. Untuk menyertai semula contoh, anda boleh menggunakan perintah cluster.rejoinInstance(), yang mengambil URI sebagai parameter. Perintah ini memastikan bahawa contoh adalah DALAM TALIAN dan boleh ditambahkan pada kumpulan.

Ia juga menyemak bahawa anda bukan Split Brain (membandingkan GTID anda yang dilaksanakan dengan GTID yang dilaksanakan/dihapuskan ahli DALAM TALIAN lain). Perintah mungkin gagal jika contoh tidak dapat dicapai, tetapi anda boleh mencuba lagi kemudian.

PodDisruptionBudget

Bersambung selepas iklan..

Belanjawan gangguan pod (PDB) menentukan bilangan atau peratusan minimum pod dalam koleksi yang mesti sentiasa aktif. Ia adalah alat yang berharga apabila berurusan dengan aplikasi yang memerlukan ketersediaan tinggi, seperti aplikasi berasaskan kuorum atau bahagian hadapan web.

Belanjawan gangguan pod membantu memastikan bahawa operasi nod hanya akan mengurangkan perkhidmatan anda dengan menguras beberapa kejadian pod secara serentak. Mereka bekerja bersama-sama dengan Horizontal Pod Autoscaler untuk melindungi daripada masa henti penggunaan yang tidak perlu.

Untuk menggunakan PDB, anda perlu mencipta fail YAML yang mentakrifkan ketersediaan yang diingini untuk aplikasi anda. Anda juga boleh menentukan objek PodDisruptionBudgetStatus untuk menjejak status semasa PDB anda. Ini boleh berguna apabila berhadapan dengan situasi yang berubah-ubah, kerana status PDB anda mungkin ketinggalan daripada keadaan sebenar.

Belanjawan gangguan pod berguna untuk aplikasi yang perlu mengekalkan ketersediaannya semasa peningkatan kluster berlaku. Sebagai contoh, syarikat telekomunikasi mungkin ingin memastikan perkhidmatan VoIPnya kekal tersedia semasa penyelenggaraan atau penampalan sistem.

Ini membolehkan syarikat telekomunikasi melaksanakan ciri yang boleh meningkatkan pengalaman pengguna akhir tanpa mengorbankan ketersediaan. PodDisruptionBudget juga berguna untuk penyedia perisian-sebagai-perkhidmatan (SaaS) yang mesti mengimbangi ketersediaan dengan peningkatan dan penyelenggaraan sistem. Ini benar terutamanya apabila penyedia SaaS perlu mengekalkan ketersediaan semasa mengeluarkan ciri baharu atau menggunakan kemas kini pada perkhidmatan mereka.

Set Replika

ReplicationSets ialah objek kawalan Kubernetes yang memegang bilangan replika pod tertentu. Mereka sangat baik dalam mengendalikan keperluan berskala mudah dan boleh membantu memastikan ketersediaan dan daya tahan yang tinggi.

ReplicaSets juga boleh mengendalikan perubahan kepada keadaan yang diingini, seperti pod gagal atau memadam pod secara manual, mencipta pod baharu untuk menggantikannya atau menamatkan replika berlebihan untuk mengembalikan sistem kepada keadaan yang diingini.

ReplicaSets dikonfigurasikan dalam fail manifes YAML, termasuk spesifikasi untuk bilangan replika dan model pod. Mereka juga menyokong penggunaan label pod untuk mengenal pasti dan memilih pod yang mereka urus.

Sebagai contoh, ReplicationSet boleh memperoleh semua pod dengan lapisan label dalam (depan) dan persekitaran dalam (prod). ReplicationSet juga boleh menjejaki perubahan kepada keadaan yang diingini dengan melihat log kebimbangan oplog atau penulisan utama.

Apabila primer gagal dalam set replika, sekunder yang memilih untuk menjadi utama baharu mengemas kini sendiri dengan menggunakan operasi log pada set datanya. Selain itu, ReplicaSet boleh memanaskan semula cache replika sekunder yang layak dengan mencerminkan pertanyaan baca.

Ini mengurangkan kesan pilihan raya utama selepas gangguan utama atau semasa penyelenggaraan yang dirancang. ReplicaSets juga boleh digunakan merentas berbilang nod dan zon ketersediaan untuk menambah baik redundansi.

Sandaran

Terdapat banyak penyelesaian untuk menjalankan pangkalan data stateful dalam Kubernetes, tetapi kebanyakannya memerlukan ciri hari kedua seperti sandaran dan naik taraf.

Pengendali Kubernetes merapatkan jurang ini dengan mengautomasikan dan memudahkan operasi khusus domain yang kompleks, termasuk menggunakan, menskala dan mengemas kini pangkalan data.

Pengendali MySQL terbaik direka bentuk untuk disepadukan rapat dengan alatan infrastruktur-sebagai-kod sedia ada dan saluran paip CI/CD untuk membolehkan penggunaan pangkalan data berskala, selamat dan sedia pengeluaran.

Operator MySQL Oracle ialah penyelesaian penyembuhan diri yang menyokong kluster MySQL InnoDB pada Kubernetes. Ia menggunakan Kubernetes StatefulSet untuk mengurus kejadian pelayan MySQL dan memberikan mereka PersistentVolumeChain untuk penyimpanan.

Pengendali juga menggunakan pod penghala MySQL untuk mengarahkan pertanyaan melalui kluster. Pengendali kini tersedia secara amnya dan diedarkan di bawah lesen permisif universal yang hampir dengan lesen MIT.

Operator MySQL Bitpoke ialah operator MySQL sumber terbuka yang mudah digunakan untuk Kubernetes yang memasang hanya Helm dan Kubectl. Ia direka bentuk untuk menjadi penyelesaian yang mudah, stabil dan sedia pengeluaran untuk Kubernetes yang menyediakan pemantauan, replikasi, sandaran, pengemaskinian dan ciri lain. Operator menggunakan fail YAML perisytiharan untuk menggunakan dan menskalakan kluster MySQL pada Kubernetes.

Tidak seperti prosedur tersimpan tradisional, abstraksi Nova-konduktor menghalang akses pangkalan data langsung. Ini mengurangkan risiko serangan data. Walau bagaimanapun, ia masih boleh menyerang pangkalan data melalui limpahan penimbal, kebocoran memori dan program perisian berniat jahat.

Rolar para cima