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
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
kubectl create -f mysql-deployment.yaml
Mit MySQL verbinden
kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -hmysql -ppassword
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!