Heim  >  Artikel  >  Backend-Entwicklung  >  Informationen zur k8s-Bereitstellung der PHP-Spiegelinstanz

Informationen zur k8s-Bereitstellung der PHP-Spiegelinstanz

小云云
小云云Original
2018-03-09 13:57:424248Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn