Heim  >  Artikel  >  Datenbank  >  Was ist Kubernetes? So stellen Sie eine darauf basierende MySQL-Datenbank bereit

Was ist Kubernetes? So stellen Sie eine darauf basierende MySQL-Datenbank bereit

藏色散人
藏色散人nach vorne
2021-11-03 16:30:551948Durchsuche

Kubernetes ist eine Open-Source-Container-Orchestrierungs-Engine von Google. Sie unterstützt die automatisierte Bereitstellung, Skalierbarkeit in großem Maßstab und die Verwaltung von Anwendungscontainern. Wenn Sie eine Anwendung in einer Produktionsumgebung bereitstellen, stellen Sie normalerweise mehrere Instanzen der Anwendung bereit, um die Anwendungsanforderungen auszugleichen.

In Kubernetes können wir mehrere Container erstellen, jeder Container führt eine Anwendungsinstanz aus und verwendet dann die integrierte Lastausgleichsstrategie, um diese Gruppe von Anwendungsinstanzen zu verwalten, zu erkennen und darauf zuzugreifen. Diese Details sind nicht erforderlich. Betrieb und Wartung Das Personal muss komplexe manuelle Konfigurationen und Verarbeitungen durchführen.

In diesem Artikel erfahren Sie, wie Sie eine MySQL-Datenbank auf Basis von Kubernetes bereitstellen.

Dienstdienst erstellen

Erstellen Sie einen Dienst, um die IP der Verbindung für die bereitzustellende MySQL-Datenbank festzulegen und den Lastausgleich bereitzustellen. Das Folgende ist der Inhalt der Datei mysql-service.yaml:

apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  selector:
    app: mysql
  ports:
    - port: 3306

Das Obige Durch die Konfiguration wird ein Dienst mit dem Namen „mysql“ erstellt. Ein Dienstobjekt, das Anforderungen an einen Pod weiterleitet, indem es den TCP-Port 3306 und die Bezeichnung „app=mysql“ verwendet.

Ressourcen erstellen:

kubectl create -f mysql-service.yaml

Persistentes Volume PV erstellen

Erstellen Sie ein persistentes MySQL-Volume mysql-pv.yaml (Kubernetes zerstört auch das temporäre Volume, wenn der Pod nicht mehr existiert; Kubernetes zerstört jedoch nicht das persistente Volume .):

apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 20Gi
  accessModes:
    - ReadWriteOnce # 卷可以被一个节点以读写方式挂载
  hostPath:
    path: "/mnt/data"

Ressourcen erstellen:

kubectl create -f mysql-pv.yaml

Persistente Volume-Ansprüche erstellen (PVC) Nachfolgend erstellen wir eine persistente Volume-Deklaration mysql-pvc.yaml mit dem Namen mysql-pvc:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pvc
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi

Ressourcen erstellen:

kubectl create -f mysql-pvc.yaml

MySQL bereitstellen

Erstellen Sie einen Pod mit dem MySQL 5.7-Image auf 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

Ressourcen erstellen:

kubectl create -f mysql-deployment.yaml

Mit MySQL verbinden

kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -hmysql -ppassword
Empfohlenes Lernen: „MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist Kubernetes? So stellen Sie eine darauf basierende MySQL-Datenbank bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen