


Cara menggunakan statefulset untuk membina kluster MySQL dalam kubernetes
Langkah pelaksanaan
Buat objek StatefulSet dalam gugusan Kubernetes.
Buat perkhidmatan tanpa kepala untuk menyediakan penemuan perkhidmatan dan pengimbangan beban untuk StatefulSet.
Tentukan tiga bekas MySQL dalam StatefulSet dan konfigurasikannya dalam mod replikasi induk-hamba.
Gunakan Kubernetes ConfigMap dan Secret untuk menyimpan maklumat konfigurasi dan maklumat pengesahan bekas.
Semak sama ada kluster berfungsi dengan betul.
Kod khusus
Mula-mula, buat ruang nama bernama mysql
dalam kelompok Kubernetes:
kubectl create namespace mysql
Kemudian, cipta Peta Konfig untuk Menyimpan konfigurasi maklumat bekas MySQL, seperti fail konfigurasi MySQL my.cnf
:
apiVersion: v1 kind: ConfigMap metadata: name: mysql-config namespace: mysql data: my.cnf: | [mysqld] server-id=1 log-bin=mysql-bin binlog_format=row innodb_flush_log_at_trx_commit=1
Seterusnya, cipta Rahsia untuk menyimpan maklumat pengesahan bekas MySQL, seperti nama pengguna dan kata laluan:
apiVersion: v1 kind: Secret metadata: name: mysql-secret namespace: mysql type: Opaque data: username: dXNlcm5hbWU= password: cGFzc3dvcmQ=
di mana, username
dan password
ialah nama pengguna dan kata laluan berkod base64 masing-masing.
Buat objek StatefulSet untuk mentakrif MySQL
Kemudian, cipta objek StatefulSet untuk menentukan konfigurasi dan bilangan replika bekas MySQL:
apiVersion: apps/v1 kind: StatefulSet metadata: name: mysql namespace: mysql spec: replicas: 3 serviceName: mysql-headless selector: matchLabels: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:5.7 ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: mysql-secret key: password volumeMounts: - name: mysql-data mountPath: /var/lib/mysql - name: mysql-config mountPath: /etc/mysql/conf.d/my.cnf subPath: my.cnf volumes: - name: mysql-data persistentVolumeClaim: claimName: mysql-data - name: mysql-config configMap: name: mysql-config volumeClaimTemplates: - metadata: name: mysql-data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 10Gi
Dalam fail YAML di atas , kami Objek StatefulSet bernama mysql
ditakrifkan, yang mengandungi tiga bekas MySQL. Setiap bekas mempunyai volum yang berterusan untuk menyimpan data MySQL dan memasang fail konfigurasi MySQL yang disimpan oleh ConfigMap.
Buat perkhidmatan tanpa kepala
Seterusnya, kita perlu mencipta perkhidmatan tanpa kepala Perkhidmatan ini tidak akan menetapkan ClusterIP, tetapi akan mencipta berbilang Titik Akhir, setiap Titik Akhir sepadan dengan alamat IP Pod , boleh digunakan untuk mengakses Pod secara terus:
apiVersion: v1 kind: Service metadata: name: mysql-headless namespace: mysql spec: ports: - name: mysql port: 3306 clusterIP: None selector: app: mysql
Akhir sekali, kita perlu menyemak sama ada replikasi tuan-hamba MySQL berfungsi dengan betul. Gunakan alat baris arahan kubectl untuk memasukkan bekas dalam Kubernetes dan laksanakan arahan yang sepadan. Jika anda ingin pergi ke pod dan menyambung ke nod induk bekas MySQL untuk mencipta jadual, anda boleh melakukan ini dengan menjalankan arahan berikut:
kubectl exec -it mysql-0 --namespace=mysql -- /bin/bash mysql -u root -p create database testdb; use testdb; create table testtable (id int, name varchar(255)); insert into testtable values (1, 'test'); exit;
Atas ialah kandungan terperinci Cara menggunakan statefulset untuk membina kluster MySQL dalam kubernetes. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

Navicat sendiri tidak menyimpan kata laluan pangkalan data, dan hanya boleh mengambil kata laluan yang disulitkan. Penyelesaian: 1. Periksa Pengurus Kata Laluan; 2. Semak fungsi "Ingat Kata Laluan" Navicat; 3. Tetapkan semula kata laluan pangkalan data; 4. Hubungi pentadbir pangkalan data.

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Menyalin jadual di MySQL memerlukan membuat jadual baru, memasukkan data, menetapkan kunci asing, menyalin indeks, pencetus, prosedur tersimpan, dan fungsi. Langkah -langkah khusus termasuk: mewujudkan jadual baru dengan struktur yang sama. Masukkan data dari jadual asal ke dalam jadual baru. Tetapkan kekangan utama asing yang sama (jika jadual asal mempunyai satu). Buat indeks yang sama. Buat pencetus yang sama (jika jadual asal mempunyai satu). Buat prosedur atau fungsi yang disimpan yang sama (jika jadual asal digunakan).

Navicat untuk MariaDB tidak dapat melihat kata laluan pangkalan data secara langsung kerana kata laluan disimpan dalam bentuk yang disulitkan. Untuk memastikan keselamatan pangkalan data, terdapat tiga cara untuk menetapkan semula kata laluan anda: Tetapkan semula kata laluan anda melalui Navicat dan tetapkan kata laluan yang kompleks. Lihat fail konfigurasi (tidak disyorkan, risiko tinggi). Gunakan alat baris perintah sistem (tidak disyorkan, anda perlu mahir dalam alat baris arahan).

Anda boleh membuat sambungan MySQL baru di Navicat dengan mengikuti langkah -langkah: Buka aplikasi dan pilih Sambungan Baru (Ctrl N). Pilih "MySQL" sebagai jenis sambungan. Masukkan nama host/alamat IP, port, nama pengguna, dan kata laluan. (Pilihan) Konfigurasikan pilihan lanjutan. Simpan sambungan dan masukkan nama sambungan.

Langkah -langkah untuk melaksanakan SQL di Navicat: Sambungkan ke pangkalan data. Buat tetingkap editor SQL. Tulis pertanyaan SQL atau skrip. Klik butang Run untuk melaksanakan pertanyaan atau skrip. Lihat hasilnya (jika pertanyaan dilaksanakan).

MySQL adalah sistem pengurusan pangkalan data sumber terbuka. 1) Buat Pangkalan Data dan Jadual: Gunakan perintah Createdatabase dan Createtable. 2) Operasi Asas: Masukkan, Kemas kini, Padam dan Pilih. 3) Operasi lanjutan: Sertai, subquery dan pemprosesan transaksi. 4) Kemahiran Debugging: Semak sintaks, jenis data dan keizinan. 5) Cadangan Pengoptimuman: Gunakan indeks, elakkan pilih* dan gunakan transaksi.
