PHP プログラムのコンテナ化されたパッケージ化とデプロイメントに Kubernetes を使用するにはどうすればよいですか?
Kubernetes は、コンテナのデプロイ、拡張、管理を自動化できるオープンソースのコンテナ オーケストレーション エンジンです。優れたコンテナ オーケストレーション機能を提供し、アプリケーションの構築とデプロイを容易にします。この記事では、PHP プログラムのコンテナ化されたパッケージ化とデプロイメントに Kubernetes を使用する方法を紹介し、対応するコード例を示します。
1. 準備
2. Docker イメージを構築する
Docker イメージを構築する前に、まず Dockerfile を作成する必要があります。 Dockerfile は、Docker イメージを構築するために使用されるスクリプトであり、イメージの構築と実行に必要なさまざまな命令が含まれています。以下は簡単な Dockerfile の例です:
FROM php:7.4-apache COPY . /var/www/html RUN chown -R www-data:www-data /var/www/html
上記の Dockerfile は、公式に提供されている PHP 7.4-apache イメージをベース イメージとして使用し、現在のディレクトリ内のすべてのファイルをコンテナの /var/www/html ディレクトリにコピーします。 . を選択し、適切な権限を設定します。
Dockerfile を保存した後、次のコマンドを実行して Docker イメージをビルドします。
docker build -t my-php-app:v1 .
このうち、-t パラメーターはイメージの名前とラベルを指定するために使用されます。実行後、次のコマンドを使用してビルドされたイメージを表示できます:
docker images
3. Kubernetes デプロイメントの作成
Kubernetes では、デプロイメントを使用してアプリケーションのレプリカ セットを定義および管理します。以下は簡単なデプロイメントの例です:
apiVersion: apps/v1 kind: Deployment metadata: name: my-php-app spec: replicas: 3 selector: matchLabels: app: my-php-app template: metadata: labels: app: my-php-app spec: containers: - name: my-php-app image: my-php-app:v1 ports: - containerPort: 80
上記のデプロイメントは、3 つのレプリカを含む my-php-app という名前のコンテナー化されたアプリケーションを定義します。前の手順で構築した my-php-app:v1 イメージを使用し、コンテナーのポート 80 をホストのポート 80 にマップします。
デプロイメント定義ファイルを保存した後、次のコマンドを実行してデプロイメントを作成します:
kubectl apply -f my-php-app-deployment.yaml
次のコマンドを使用して、作成されたデプロイメントを表示できます:
kubectl get deployments
4. Kubernetes Service の作成
Kubernetes Service は、外部リクエストがアプリケーションにアクセスできるように、アプリケーションのポートを公開するために使用されます。以下は簡単なサービスの例です:
apiVersion: v1 kind: Service metadata: name: my-php-app-service spec: selector: app: my-php-app ports: - protocol: TCP port: 80 targetPort: 80 type: LoadBalancer
上記のサービスは、my-php-app-service という名前のサービスを定義し、セレクターを通じてそれに関連付けられたデプロイメントを選択します。ホストのポート 80 からコンテナーのポート 80 にリクエストを転送し、サービス タイプを LoadBalancer として指定します。
サービス定義ファイルを保存した後、次のコマンドを実行してサービスを作成します。
kubectl apply -f my-php-app-service.yaml
次のコマンドを使用して、作成されたサービスを表示できます。
kubectl get services
5.アプリケーションにアクセスします。
上記の手順を実行すると、Kubernetes が PHP アプリケーションを自動的にデプロイして管理します。次のコマンドを使用して、作成されたポッドを表示できます:
kubectl get pods
いずれかのポッドの名前を見つけ、次のコマンドを使用してポッドのログを表示できます:
kubectl logs <pod名称>
次のコマンドを使用して、サービス アドレスへの外部アクセスを取得します。
minikube service my-php-app-service --url
出力アドレスをコピーし、ブラウザで開き、PHP アプリケーションにアクセスします。
6. 概要
この記事では、PHP プログラムのコンテナ化されたパッケージ化とデプロイに Kubernetes を使用する方法を紹介します。 Docker イメージを構築し、Kubernetes デプロイメントとサービスを作成することで、PHP アプリケーションを簡単にデプロイおよび管理できます。実際の使用では、実際のニーズに合わせて、必要に応じてさらに構成と最適化を実行できます。
以上がKubernetes を使用して PHP プログラムのコンテナ化されたパッケージ化とデプロイメントを行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。