Rumah > pangkalan data > tutorial mysql > Apa itu Kubernetes? Bagaimana untuk menggunakan pangkalan data MySQL berdasarkannya

Apa itu Kubernetes? Bagaimana untuk menggunakan pangkalan data MySQL berdasarkannya

藏色散人
Lepaskan: 2021-11-03 16:30:55
ke hadapan
1953 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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"
Salin selepas log masuk

Buat sumber:

kubectl create -f mysql-pv.yaml
Salin selepas log masuk

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
Salin selepas log masuk
Cipta sumber:

kubectl create -f mysql-pvc.yaml
Salin selepas log masuk

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
Salin selepas log masuk
Buat sumber:

kubectl create -f mysql-deployment.yaml
Salin selepas log masuk

Sambung ke MySQL

kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -hmysql -ppassword
Salin selepas log masuk
Pembelajaran yang disyorkan: "

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!

Label berkaitan:
sumber:juejin.im
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan