Home > CMS Tutorial > WordPress > Official example: k8s easily runs a wordpress

Official example: k8s easily runs a wordpress

藏色散人
Release: 2021-11-24 16:02:53
forward
3537 people have browsed it

The following column WordPress Tutorial will introduce to you the official example method of deploying wordpress in k8s. I hope it will be helpful to friends in need!

k8s official example method of deploying wordpress

It is easier said than done to use k8s to run a wordpress, but it is also difficult to say that the difficulty is that the basic requirements are relatively high, involving Service, persistentVolumeClaim, volumes

The easy thing is that there are official ready-made examples (https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/)

Follow the tutorial, it only takes a few lines of code to get it done

First, create a kustomization.yaml file with the following content

secretGenerator:
  - name: mysql-pass
    literals:
      - password=123456
resources:
  - mysql-deployment.yaml
  - wordpress-deployment.yaml
Copy after login
# 下载两个配置文件
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
Copy after login

About kustomize

Simple Talk about a tool that reduces the workload of maintaining multiple environment yaml

Pain points solved by kustomize

General applications will have multiple deployment environments: development environment, test environment, Production environment, multiple environments means there are multiple sets of K8S application resource YAML. There are only minor configuration differences between so many sets of YAML, such as different image versions, different labels, etc. YAML in these different environments often leads to configuration errors due to human negligence. Furthermore, YAML maintenance in multiple environments is usually done by copying the YAML in one environment and modifying the differences. Some application management tools such as Helm require additional learning of DSL syntax. To summarize the above, there are multiple environments for applications in the k8s environment, and we often encounter the following problems:

How to manage the Kubernetes YAML resources of applications in different environments or different teams How to manage the Kubernetes YAML resources of different environments in a certain way Small differences allow resource configurations to be reused, reducing the workload of copy and change. How to simplify the process of maintaining applications without additional learning of template syntax. Kustomize solves the above problems in the following ways:

kustomize through Base & Overlays method (explained below) maintains application configurations in different environments. kustomize uses the patch method to reuse the Base configuration, and realizes resource reuse in the difference between the Overlay description and the Base application configuration. kustomize manages all Kubernetes native YAML files. There is no need to learn additional DSL syntax

Note

Since the official service type is LoadBalancer, this is only valid when deployed on the public cloud. If you build it yourself For k8s, you can use NodePort's service to provide a reference example

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
Copy after login

The above is the detailed content of Official example: k8s easily runs a wordpress. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:juejin.im
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template