クラウド コンピューティング テクノロジの継続的な開発により、Kubernetes はコンテナ化されたアプリケーションを管理するための標準プラットフォームになりました。 Kubernetes を使用すると、アプリケーションの管理と拡張が簡単に行え、このプラットフォームの信頼性とセキュリティは広く知られています。 PHP 開発者にとって、Kubernetes 上で PHP アプリケーションを実行することは避けられない傾向になっています。この記事では、PHP で Kubernetes の機能を使用する方法を紹介します。
1. Kubernetes 関数とは何ですか?
Kubernetes 関数は、アプリケーションの開発とデプロイメントを簡素化する Kubernetes クラスター内の抽象的な構造です。 Kubernetes の関数は、サーバーサイドの AWS Lambda 関数と同様に動作します。関数が必要な場合、Kubernetes は自動的に関数のスケジュールを設定し、関数のインスタンスを作成します。このインスタンスは Kubernetes クラスター内で実行され、必要に応じて自動的にスケールアップまたはスケールダウンされます。
Kubernetes 機能を使用すると、開発者はリソースの構成やデプロイメントではなく、ビジネス ロジックの実装に集中できるようになります。したがって、Kubernetes 機能により、開発およびデプロイメント中の時間と労力が大幅に節約されます。
2. PHP で Kubernetes 関数を使用する手順
Kubernetes SDK は、Kubernetes 関数を使用するために不可欠なツールです。他の PHP パッケージをインストールするのと同じ方法で PHP にインストールできます。
composer require kubernetes/client-php
PHP で Kubernetes 関数を使用するには、Kubernetes A クライアント オブジェクトが必要です。 API サーバーを使用して Kubernetes クラスターに接続できます。 PHP で Kubernetes クライアントを作成する方法は次のとおりです。
require __DIR__ . '/vendor/autoload.php'; use KubernetesClientClient; $client = Client::createFromConfigFile('/path/to/your/kubeconfig');
上記のコードでは、kubeconfig は Kubernetes クラスターの構成ファイルが保存される場所です。
Kubernetes クライアントを入手したので、それを使用してアプリケーションを作成およびデプロイできます。次のコードは、Kubernetes 関数を使用してクラスターに PHP アプリケーションをデプロイする方法を示しています。
require __DIR__ . '/vendor/autoload.php'; use KubernetesClientClient; use KubernetesClientObjectDefinition; use KubernetesClientPods; use KubernetesClientContainers; $client = Client::createFromConfigFile('/path/to/your/kubeconfig'); $objectDefinition = new ObjectDefinition('php-app', 'Pod'); $container = new Containers(); $container->setName('php-container'); $container->setImage('php:7.4'); $container->setCommand(['php', '-S', 'localhost:8080']); $objectDefinition->setContainers([$container]); $pods = new Pods($client); $result = $pods->create($objectDefinition);
上記のコードでは、Kubernetes 関数を使用してポッドを作成し、「php-container」コンテナーという名前のポッドを作成します。コンテナーは公式の PHP イメージを使用し、簡単なコマンドを実行して PHP サーバーを起動します。最後に、Pod クラスの create() メソッドを使用して、Pod 説明オブジェクトを Kubernetes クラスターに送信し、作成結果を取得します。
Kubernetes 関数は、Kubernetes クラスター内のリソースをクエリおよび監視するためのいくつかのインターフェイスも提供します。たとえば、Pod クラスの getList() メソッドを使用して、実行中のすべての Pod のリストを取得できます。
$pods = new Pods($client); $result = $pods->getList();
または、Pod クラスの watch() メソッドを使用して、リアルタイムのポッドを取得できます。ポッドのステータス:
$pods = new Pods($client); $watcher = $pods->watch(); foreach ($watcher as $event) { // 处理事件 }
このメソッドは、foreach ループを使用してリアルタイム イベントを取得できる EventStream オブジェクトを返します。 Podの状態変化をイベントの種類を判断して処理できます。
Kubernetes 関数を使用して Pod を削除することも簡単です:
$pods = new Pods($client); $result = $pods->deleteByName('php-app');
この例では、次の deleteByName() メソッドを使用します。 Name delete Pod を渡す Pods クラス。
3. 結論
この記事では、PHP アプリケーションで Kubernetes 関数を使用する方法を紹介します。 Kubernetes 機能を使用すると、アプリケーションの管理と拡張をより簡単かつ効率的に行うことができるため、開発者は基盤となる機能の管理ではなく、ビジネス ロジックの実装に集中できるようになります。
以上がPHP で Kubernetes 関数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。