k8sを使ってPHPプロジェクトをデプロイするには

Kubernetes上にPHPプロジェクトをデプロイするには、以下の手順に従います:

  1. PHP と関連する依存関係をインストールする手順を含む Dockerfile を使用して、このイメージを定義できます。たとえば、次のような内容の Dockerfile を使用できます。
FROM php:7.4-apache
COPY . /var/www/html
  1. このイメージを構築して、Docker Hubなどの Docker イメージ レジストリにプッシュします。
  2. KubernetesのDeploymentオブジェクトを作成し、デプロイするPodを定義します。このDeploymentオブジェクトでは、前の手順でビルドしたDockerイメージを使用し、Podのレプリカ数、コンテナーのポートなど、関連する他の設定を行います。以下にDeployment設定の例を示します。
apiVersion: apps/v1
kind: Deployment
metadata:
  name: php-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: php-app
  template:
    metadata:
      labels:
        app: php-app
    spec:
      containers:
        - name: php-container
          image: <your-docker-image>:<tag>
          ports:
            - containerPort: 80

imageフィールドには、ステップ2でDockerイメージレジストリにプッシュしたイメージ名とタグを指定することにご注意ください。

  1. 创建一个Kubernetes Service对象来公开部署的Pod。这样可以让其他服务或用户通过该Service访问PHP应用程序。以下是一个示例Service配置:
apiVersion: v1
kind: Service
metadata:
  name: php-service
spec:
  selector:
    app: php-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer

这将创建一个类型为LoadBalancer的Service,将外部流量转发到Pod的80端口。

  1. 上述の設定ファイルをKubernetesクラスタにデプロイするには、kubectlコマンドを使用します。
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

本物の設定ファイルの名称を deployment.yaml と service.yaml に置き換えてください。

  1. しばらく待って、ポッドが運用状態で、サービスが外部IPアドレスを取得するまで待つ。
  2. その外部 IP アドレスを使用すると、ウェブブラウザやその他の HTTP クライアントからデプロイされた PHP アプリケーションにアクセスできます。

なお、記載の手順は基本的なデプロイの例です。ニーズに合わせて、DeploymentとServiceの設定の更なる調整と最適化が必要になる場合があります。

bannerAds