>  기사  >  백엔드 개발  >  PHP의 쿠버네티스

PHP의 쿠버네티스

王林
王林원래의
2023-05-26 22:10:341436검색

Kubernetes는 최근 몇 년 동안 매우 인기 있는 컨테이너 오케스트레이션 및 관리 도구입니다. 매우 인기 있는 웹 개발 언어인 PHP도 이러한 추세에 적응하고 Kubernetes를 통해 자체 애플리케이션을 관리해야 합니다. 이 기사에서는 PHP 애플리케이션과 함께 Kubernetes를 사용하는 방법을 살펴보겠습니다.

1. Kubernetes 개요

Kubernetes는 컨테이너화된 애플리케이션 관리를 위해 Google에서 개발한 컨테이너 조정 및 관리 도구입니다. Kubernetes는 컨테이너의 배포, 확장, 관리를 자동화하고 컨테이너화된 애플리케이션을 빠르고 안정적으로 처리할 수 있는 확장성이 뛰어난 플랫폼을 제공합니다.

Kubernetes에는 다음과 같은 주요 개념이 있습니다.

  1. Pod: 하나 이상의 컨테이너를 포함하고 네트워크 및 스토리지 리소스를 공유하는 Kubernetes의 가장 작은 배포 단위입니다.
  2. 서비스: 애플리케이션 서비스를 자동으로 검색하고 로드 밸런싱할 수 있는 동시 엔터티입니다.
  3. Replication Controller: 로드 밸런싱 및 오류 복구를 달성하기 위해 Pod 세트의 복사본 수를 유지하는 데 사용됩니다.
  4. 배포: 애플리케이션의 릴리스 프로세스를 관리하는 데 사용되며 애플리케이션의 배포, 확장, 업그레이드 및 롤백을 제어할 수 있습니다.

2. Kubernetes를 사용하여 PHP 애플리케이션 배포

  1. Dockerfile 작성

먼저 PHP 애플리케이션의 이미지를 생성하기 위해 Dockerfile 파일을 작성해야 합니다. 다음은 간단한 예입니다.

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 .

여기서 username은 Docker Hub 사용자 이름이고, 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

이 배포 구성 파일은 Replica=3 Pod를 배포하는 데 사용됩니다. 각 Pod에는 이전에 Docker Hub에 업로드된 Docker 이미지를 사용하는 appname이라는 컨테이너가 포함되어 있습니다.

이제 다음 명령을 사용하여 배포를 생성합니다.

$ kubectl apply -f deployment.yaml
  1. Create Kubernetes Service

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이라는 Selector를 사용하여 해당 Pod를 찾아 컨테이너의 포트 80에 바인딩합니다.

이제 다음 명령을 사용하여 서비스를 생성합니다.

$ kubectl apply -f service.yaml
  1. View application services

마지막으로 다음 명령을 사용하여 애플리케이션 서비스를 볼 수 있습니다.

$ kubectl get service

이 명령은 모든 서비스를 나열하고 ClusterIP 및 ClusterIP를 표시합니다. 포트.

이 시점에서 우리는 Kubernetes를 사용하여 PHP 애플리케이션을 성공적으로 배포했습니다.

3. 요약

이 글에서는 Dockerfile 생성, Docker 이미지 구축, Docker Hub에 업로드, Kubernetes 배포 및 서비스 생성 등을 포함하여 PHP 애플리케이션에서 Kubernetes를 사용하는 프로세스를 소개합니다. Kubernetes를 사용하면 애플리케이션을 더 쉽게 관리하고 확장할 수 있습니다.

위 내용은 PHP의 쿠버네티스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.