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 서비스 생성
Kubernetes 서비스는 외부 요청이 애플리케이션에 액세스할 수 있도록 애플리케이션의 포트입니다. 다음은 간단한 서비스 예입니다.
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 애플리케이션을 자동으로 배포하고 관리합니다. 다음 명령을 사용하여 생성된 Pod를 볼 수 있습니다.
kubectl get pods
Pod 중 하나의 이름을 찾고 다음 명령을 사용하여 Pod의 로그를 볼 수 있습니다.
kubectl logs <pod名称>
다음 명령을 사용하여 외부 로그를 가져올 수 있습니다. 서비스 액세스 주소:
minikube service my-php-app-service --url
출력 주소를 복사하고 브라우저에서 열어 PHP 애플리케이션에 액세스하세요.
6. 요약
이 기사에서는 PHP 프로그램의 컨테이너화된 패키징 및 배포에 Kubernetes를 사용하는 방법을 소개합니다. Docker 이미지를 구축하고 Kubernetes 배포 및 서비스를 생성함으로써 PHP 애플리케이션을 쉽게 배포하고 관리할 수 있습니다. 실제 사용에서는 실제 요구 사항을 충족하기 위해 필요에 따라 추가 구성 및 최적화를 수행할 수 있습니다.
위 내용은 PHP 프로그램의 컨테이너화된 패키징 및 배포에 Kubernetes를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!