Kubernetes ialah enjin orkestrasi kontena sumber terbuka oleh Google. Ia menyokong penggunaan automatik, kebolehskalaan berskala besar dan pengurusan kontena aplikasi. Apabila anda menggunakan aplikasi dalam persekitaran pengeluaran, anda biasanya menggunakan berbilang contoh aplikasi untuk memuatkan permintaan aplikasi baki.
Dalam Kubernetes, kita boleh mencipta berbilang bekas, setiap bekas menjalankan contoh aplikasi, dan kemudian menggunakan strategi pengimbangan beban terbina dalam untuk mengurus, menemui dan mengakses kumpulan contoh aplikasi ini, dan Butiran ini tidak memerlukan kakitangan operasi dan penyelenggaraan untuk melaksanakan konfigurasi dan pemprosesan manual yang kompleks.
Artikel ini akan memperkenalkan cara menggunakan pangkalan data MySQL berdasarkan Kubernetes.
Buat Perkhidmatan
Buat Perkhidmatan untuk menetapkan IP sambungan untuk pangkalan data MySQL untuk digunakan dan menyediakan pengimbangan beban Berikut ialah kandungan fail mysql-service.yaml :
apiVersion: v1 kind: Service metadata: name: mysql spec: selector: app: mysql ports: - port: 3306
Konfigurasi di atas mencipta objek Perkhidmatan bernama mysql, yang akan memproksi permintaan kepada Pod menggunakan port TCP 3306 dan mempunyai label app=mysql.
Buat sumber:
kubectl create -f mysql-service.yaml
Buat PV volum berterusan
Buat volum tetap MySQL mysql-pv.yaml (apabila Pod tiada Kubernetes yang lebih panjang juga memusnahkan volum sementara apabila wujud; walau bagaimanapun, Kubernetes tidak memusnahkan volum berterusan ):
apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv labels: type: local spec: storageClassName: manual capacity: storage: 20Gi accessModes: - ReadWriteOnce # 卷可以被一个节点以读写方式挂载 hostPath: path: "/mnt/data"
Buat sumber:
kubectl create -f mysql-pv.yaml
Buat tuntutan volum berterusan PVC< . 🎜>
Jumlah berterusan ialah sumber dalam gugusan, dan tuntutan volum berterusan ialah permintaan untuk sumber ini dan juga digunakan untuk melakukan semakan tuntutan pada sumber. Di bawah ini kami akan mencipta perisytiharan volum berterusan mysql-pvc.yaml bernama mysql-pvc:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 20Gi
kubectl create -f mysql-pvc.yaml
Gunakan MySQL
Buat Pod menggunakan imej MySQL 5.7 pada port 3306, mysql-deployment.yaml:apiVersion: apps/v1 kind: Deployment metadata: name: mysql spec: selector: matchLabels: app: mysql strategy: type: Recreate template: metadata: labels: app: mysql spec: containers: - image: mysql:5.7 name: mysql env: - name: MYSQL_ROOT_PASSWORD # 生产环境中请使用 secret value: password ports: - containerPort: 3306 name: mysql volumeMounts: - name: mysql-data mountPath: /var/lib/mysql volumes: - name: mysql-data persistentVolumeClaim: claimName: mysql-pvc
kubectl create -f mysql-deployment.yaml
Sambung ke MySQL
kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -hmysql -ppassword
tutorial video mysql"
Atas ialah kandungan terperinci Apa itu Kubernetes? Bagaimana untuk menggunakan pangkalan data MySQL berdasarkannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!