ホームページ  >  記事  >  バックエンド開発  >  PHP の Kubernetes

PHP の Kubernetes

王林
王林オリジナル
2023-05-26 22:10:341436ブラウズ

Kubernetes は、近年非常に人気のあるコンテナ オーケストレーションおよび管理ツールです。非常に人気のある Web 開発言語である PHP も、この傾向に適応し、Kubernetes を通じて独自のアプリケーションを管理する必要があります。この記事では、PHP アプリケーションで Kubernetes を使用する方法を説明します。

1. Kubernetes の概要

Kubernetes は、コンテナ化されたアプリケーションを管理するために Google によって開発されたコンテナ オーケストレーションおよび管理ツールです。 Kubernetes は、コンテナのデプロイ、スケーリング、管理を自動化でき、コンテナ化されたアプリケーションを迅速かつ確実に処理できる拡張性の高いプラットフォームを提供します。

Kubernetes には次の主な概念があります:

  1. ポッド: 1 つ以上のコンテナーを含む、ネットワークとストレージ リソースを共有する Kubernetes の最小のデプロイメント単位。
  2. サービス: アプリケーション サービスを自動的に検出して負荷分散できる同時エンティティ。
  3. レプリケーション コントローラー: ロード バランシングと障害回復を実現するために、一連のポッドのコピー数を維持するために使用されます。
  4. 展開: アプリケーションのリリース プロセスを管理するために使用され、アプリケーションの展開、拡張、アップグレード、ロールバックを制御できます。

2. Kubernetes を使用した PHP アプリケーションのデプロイ

  1. Dockerfile の作成

まず、イメージを作成するための Dockerfile ファイルを作成する必要があります。 PHP アプリケーション。簡単な例を次に示します。

FROM php:7.2-apache
COPY app/ /var/www/html/

この Dockerfile は、公式の PHP 7.2-apache イメージをベース イメージとして使用し、アプリケーションを /var/www/html ディレクトリにコピーします。

  1. Docker イメージを構築し、Docker Hub にアップロードします。

次のコマンドを使用して Docker イメージを構築します:

$ docker build -t username/appname:version .

ユーザー名は Docker です。 Hub username 、appname はアプリケーション名、version はアプリケーションのバージョン番号、最後のドットは Dockerfile が配置されている現在のディレクトリを示します。

次に、Docker イメージを Docker Hub にアップロードします。

$ docker push username/appname:version

ここでは、最初に Docker Hub 上にリポジトリを作成し、ログイン資格情報を設定する必要があります。

  1. Kubernetes デプロイメントの作成

Kubernetes では、アプリケーションのリリース プロセスを管理するためにデプロイメントが使用されます。デプロイメントを作成するには、デプロイメントの構成を記述する YAML ファイルが必要です。以下は簡単な例です:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: appname
spec:
  replicas: 3
  selector:
    matchLabels:
      app: appname
  template:
    metadata:
      labels:
        app: appname
    spec:
      containers:
      - name: appname
        image: username/appname:version

このデプロイメント構成ファイルは、replicas=3 ポッドのデプロイに使用されます。各ポッドには、以前に Docker Hub にアップロードされた Docker イメージを使用する、appname という名前のコンテナーが含まれています。

ここで、次のコマンドを使用してデプロイメントを作成します。

$ kubectl apply -f deployment.yaml
  1. Kubernetes サービスの作成

Kubernetes では、サービスはアプリケーション サービスを公開するために使用されます。 ClusterIP、NodePort、LoadBalancer など、多くのサービス タイプがあります。簡単にするために、ここでは ClusterIP タイプのサービスを使用します。以下は簡単な例です:

apiVersion: v1
kind: Service
metadata:
  name: appname
spec:
  selector:
    app: appname
  ports:
  - name: http
    protocol: TCP
    port: 80
    targetPort: 80

このサービスの構成ファイルは、ClusterIP タイプのサービスを使用してアプリケーション サービスを公開し、appname という名前のセレクターを使用して対応するポッドを見つけ、それを 80 ポートにバインドします。コンテナです。

ここで、次のコマンドを使用してサービスを作成します。

$ kubectl apply -f service.yaml
  1. アプリケーション サービスの表示

最後に、次のコマンドを使用して、 application service:

$ kubectl get service

このコマンドは、すべてのサービスをリストし、その ClusterIP とポートを表示します。

この時点で、Kubernetes を使用して PHP アプリケーションを正常にデプロイできました。

3. 概要

この記事では、Dockerfile の作成、Docker イメージの構築、Docker Hub へのアップロード、Kubernetes デプロイメントとサービスの作成など、PHP アプリケーションで Kubernetes を使用するプロセスを紹介します。 Kubernetes を使用すると、アプリケーションの管理と拡張がより簡単になります。

以上がPHP の Kubernetesの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。