>CMS 튜토리얼 >Word누르다 >공식 예: k8s는 WordPress를 쉽게 실행합니다.

공식 예: k8s는 WordPress를 쉽게 실행합니다.

藏色散人
藏色散人앞으로
2021-11-24 16:02:533544검색

다음 WordPress Tutorial 칼럼에서는 k8s에서 WordPress를 배포하는 공식적인 예제 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

k8s 공식 WordPress 배포 방법

k8s를 사용하여 WordPress를 실행하는 것은 말처럼 쉽지만, Service, PersistentVolumeClaim, Volumes 등 기본 요구 사항이 상대적으로 높다고 말하기도 어렵습니다

공식 Ready-made 예제(https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-pertant-volume/)에 용이성이 있습니다.

튜토리얼을 따르세요. 코드 몇 줄만 있으면 됩니다. to get it done

먼저 kustomization을 생성합니다. yaml 파일의 내용은 다음과 같습니다

secretGenerator:
  - name: mysql-pass
    literals:
      - password=123456
resources:
  - mysql-deployment.yaml
  - wordpress-deployment.yaml
# 下载两个配置文件
curl -LO https://k8s.io/examples/application/wordpress/mysql-deployment.yaml
curl -LO https://k8s.io/examples/application/wordpress/wordpress-deployment.yaml
# 最后运行
kubectl apply -k .
# 查看暴露出来的IP
kubectl get services wordpress

kustomize에 대하여

간단히 여러 환경에서 yaml을 유지하는 작업량을 줄여주는 도구에 대해 이야기해 보세요

Pain points kustomize로 해결

일반 애플리케이션에는 개발 환경, 테스트 환경, 프로덕션 환경 등 여러 배포 환경이 있습니다. 여러 환경은 K8S 애플리케이션 리소스 YAML의 여러 세트가 있음을 의미합니다. 서로 다른 이미지 버전, 서로 다른 레이블 등 수많은 YAML 세트 간에는 사소한 구성 차이만 있습니다. 이러한 서로 다른 환경의 YAML은 종종 사람의 부주의로 인해 구성 오류로 이어집니다. 또한 여러 환경에서 YAML 유지 관리는 일반적으로 한 환경에서 YAML을 복사하고 차이점을 수정하여 수행됩니다. Helm과 같은 일부 애플리케이션 관리 도구에는 DSL 구문에 대한 추가 학습이 필요합니다. 위 내용을 요약하면 k8s 환경에서 여러 환경을 가진 애플리케이션은 종종 다음과 같은 문제에 직면합니다.

다른 환경이나 다른 팀에서 애플리케이션의 Kubernetes YAML 리소스를 관리하는 방법 다양한 환경의 약간의 차이를 특정 방식으로 관리하는 방법, 리소스 구성을 재사용하여 복사 및 변경 작업량을 줄이는 방법 Kustomize는 다음과 같은 방법으로 위의 문제를 해결합니다.

kustomize는 Base & Overlays 방법을 사용합니다. (아래 설명) kustomize는 patch 방식을 사용하여 다양한 환경에서 애플리케이션 구성을 유지하고, patch 방식을 사용하여 Base 구성을 재사용하고, Overlay 설명과 Base 애플리케이션 구성의 차이점에서 리소스 재사용을 실현합니다. 모든 kustomize가 관리하는 것은 Kubernetes입니다. 기본 YAML 파일이므로 추가 DSL 구문을 배울 필요가 없습니다

Note

공식 서비스 유형이 LoadBalancer이므로 퍼블릭 클라우드에 배포하는 경우에만 유효합니다. NodePort의 서비스를 사용하여 참조 예제를 제공하세요

apiVersion: v1
kind: Service
metadata:
  name: service-wordpress
  labels:
    app: wordpress
spec:
  selector:
    app: wordpress
    tier: frontend
  type: NodePort # service类型
  ports:
    - port: 80 # 默认情况下,为了方便起见,`targetPort` 被设置为与 `port` 字段相同的值。
      nodePort: 30012 # 指定绑定的node的端口(默认的取值范围是:30000-32767), 如果不指定,会默认分配
      targetPort: 80

위 내용은 공식 예: k8s는 WordPress를 쉽게 실행합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.im에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제