Heim > Artikel > Backend-Entwicklung > Informationen zur k8s-Bereitstellung der PHP-Spiegelinstanz
Ich habe zuvor über die Erstellung eines PHP+Nginx-Umgebungsimages geschrieben und ein PHP-Image erstellt. In diesem Artikel werden hauptsächlich einige Beispiele für die k8s-Bereitstellung der PHP-Spiegelung vorgestellt, in der Hoffnung, Ihnen dabei zu helfen.
Wie nutzt man dieses Bild?
1. Sie können Docker direkt verwenden, um diesen Container auszuführen
docker run --rm -d --name php -p 80:80 -v /tmp:/app
Docker-Befehlserklärung:
–rm: Verhindern Sie, dass Docker Tags generiert of none Mirror
-d: Lassen Sie den generierten Container im Hintergrund laufen
–name: Geben Sie den Containernamen als PHP an, um nachfolgende Vorgänge zu erleichtern
-p: Geben Sie an Portnummer Eine 80 ist die Portnummer des Hosts und die zweite 80 ist die Portnummer des Containers
Die erste Portnummer kann ein beliebiger verfügbarer Port auf Ihrem Host-Computer sein, auf den über „localhost:port number“ zugegriffen werden kann.
-v: v ist die Abkürzung für „Volume“, mit der das Host-Volume im Container bereitgestellt wird
Das erste /tmp bezieht sich auf den Pfad im Host-Computer
Das zweite /app ist der Pfad des Containers
Da der im Basisbild webdevops/php-nginx:centos-7-php56 konfigurierte Nginx-Root-Pfad /app ist, wird er hier als /app angegeben
Fügen Sie die Datei index.php
in /tmp mit dem Inhalt hinzu:
<? phpinfo() ?>
Nach dem Starten des Containers können Sie auf die Hostadresse + Portnummer zugreifen, zum Beispiel curl localhost:port Zahl gibt phpinfo zurück
Sie können den Pfad der Konfigurationsdatei im Bilddokument webdevops/php-nginx sehen
Der hier gültige Pfad der Nginx-Konfigurationsdatei ist: /opt/docker/etc/nginx/ vhost.conf
In dieser Konfigurationsdatei können Sie sehen, dass der konfigurierte Root-Pfad zum Abhören von Port 80 /app ist
Sie können den Pfad ändern
2. Verwenden Sie die k8s-Bereitstellung
um das Bild in das Warehouse hochzuladen
docker push image_name
Erstellen Sie eine neue Bereitstellungskonfigurationsdatei: php-deployment.yaml
deployment.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: php spec: replicas: 1 template: metadata: labels: app: php spec: containers: - name: php image: image_address ports: - containerPort: 80 volumeMounts: - mountPath: /app name: php-volume volumes: - name: php-volume hostPath: path: /tmp
Erstellen Sie ein neues PHP -service.yaml-Datei
kind: Service apiVersion: v1 metadata: name: php-service namespace: default labels: app: php spec: ports: - name: listener protocol: TCP port: 80 targetPort: 80 selector: app: php type: LoadBalancer externalIPs: - your ip address
Führen Sie den Befehl aus:
kubectl apply -f php-deployment.yaml kubectl apply -f php-service.yaml
Sie können es mit dem folgenden Befehl anzeigen
kubectl get deployment kubectl get service
Sie können dann phpinfo von abrufen Zugriff auf Ihre Host-IP
Natürlich muss der / des PHP-Containerknotens, der in Ihrem k8s-Cluster läuft, die Datei index.php im tmp-Pfad sein
Was den Knoten betrifft, auf dem dieser Container ausgeführt wird, können Sie überprüfen kubecel get pods php
Ich habe es vorher geschrieben und ein PHP+Nginx-Umgebungsbild erstellt
Ich habe einen PHP-Spiegel erstellt.
Wie nutzt man dieses Bild?
1. Sie können Docker direkt verwenden, um diesen Container auszuführen
docker run --rm -d --name php -p 80:80 -v /tmp:/app
Docker-Befehlserklärung:
–rm: Verhindern Sie, dass Docker Tags generiert of none Mirror
-d: Lassen Sie den generierten Container im Hintergrund laufen
–name: Geben Sie den Containernamen als PHP an, um nachfolgende Vorgänge zu erleichtern
-p: Geben Sie an Portnummer Eine 80 ist die Portnummer des Hosts und die zweite 80 ist die Portnummer des Containers
Die erste Portnummer kann ein beliebiger verfügbarer Port auf Ihrem Host-Computer sein, auf den über „localhost:port number“ zugegriffen werden kann.
-v: v ist die Abkürzung für „Volume“, mit der das Host-Volume im Container bereitgestellt wird
Das erste /tmp bezieht sich auf den Pfad im Host-Computer
Das zweite /app ist der Pfad des Containers
Da der im Basisbild webdevops/php-nginx:centos-7-php56 konfigurierte Nginx-Root-Pfad /app ist, wird er hier als /app angegeben
Fügen Sie die Datei index.php
in /tmp mit dem Inhalt hinzu:
<? phpinfo() ?>
Nach dem Starten des Containers können Sie auf die Hostadresse + Portnummer zugreifen, z. B. curl localhost:port Zahl gibt phpinfo zurück
Sie können den Pfad der Konfigurationsdatei im Bilddokument webdevops/php-nginx sehen
Der hier gültige Pfad der Nginx-Konfigurationsdatei ist: /opt/docker/etc/nginx/ vhost.conf
In dieser Konfigurationsdatei können Sie sehen, dass der konfigurierte Root-Pfad zum Abhören von Port 80 /app ist
Sie können den Pfad ändern
2. Verwenden Sie die k8s-Bereitstellung
um das Bild in das Warehouse hochzuladen
docker push image_name
Erstellen Sie eine neue Bereitstellungskonfigurationsdatei: php-deployment.yaml
deployment.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: php spec: replicas: 1 template: metadata: labels: app: php spec: containers: - name: php image: image_address ports: - containerPort: 80 volumeMounts: - mountPath: /app name: php-volume volumes: - name: php-volume hostPath: path: /tmp
Erstellen Sie eine neue PHP-Datei -service.yaml-Datei
kind: Service apiVersion: v1 metadata: name: php-service namespace: default labels: app: php spec: ports: - name: listener protocol: TCP port: 80 targetPort: 80 selector: app: php type: LoadBalancer externalIPs: - your ip address
Führen Sie den Befehl aus:
kubectl apply -f php-deployment.yaml kubectl apply -f php-service.yaml
Sie können es mit dem folgenden Befehl anzeigen
kubectl get deployment kubectl get service
Sie können dann phpinfo von abrufen Zugriff auf Ihre Host-IP
Natürlich / des PHP-Container-Knotens, der in Ihrem k8s-Cluster läuft. Die Datei index.php muss sich im tmp-Pfad befinden
Welcher Knoten diesen Container ausführt, können Sie überprüfen Kubecel erhält Pods PHP.
Verwandte Empfehlungen:
Wie verwende ich Docker, um eine PHP-Entwicklungsumgebung bereitzustellen
Wie stelle ich ein PHP-Projekt unter Linux bereit?
Stellen Sie mehrere Versionen von PHP bereit, um unter Linux koexistieren zu können
Das obige ist der detaillierte Inhalt vonInformationen zur k8s-Bereitstellung der PHP-Spiegelinstanz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!